设为首页收藏本站

 找回密码
 注册
查看: 3772|回复: 11
打印 上一主题 下一主题

请大侠帮我看一这段代码为什么计算不出正确仓位 [复制链接]

Rank: 1

精华
0
UID
246765
积分
15
帖子
9
主题
2
阅读权限
10
注册时间
2017-2-5
最后登录
2020-11-20
跳转到指定楼层
1#
发表于 2017-8-1 16:50:37 |只看该作者 |倒序浏览
  TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();
    TurtleUnits = (TotalEquity*RiskRatio/100) /(ContractUnit()*BigPointValue());
    TurtleUnits = IntPart(TurtleUnits); // 对小数取整
为什么我要取30%的仓位,但是RiskRatio 设为30,仓位计算不对呢?

Rank: 1

精华
0
UID
246765
积分
15
帖子
9
主题
2
阅读权限
10
注册时间
2017-2-5
最后登录
2020-11-20
2#
发表于 2017-8-2 22:20:46 |只看该作者
果然是个死论坛,根本没有人维护的。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2017-8-3 09:41:49 |只看该作者
怎么个不对法?请具体一下

使用道具 举报

Rank: 1

精华
0
UID
246765
积分
15
帖子
9
主题
2
阅读权限
10
注册时间
2017-2-5
最后登录
2020-11-20
4#
发表于 2017-8-3 10:44:22 |只看该作者
RiskRatioy这个变量,我怎么设都不会有变化,30%是两手。10%也是两手。1%也是两手。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2017-8-3 14:06:09 |只看该作者
dorodo 发表于 2017-8-3 10:44
RiskRatioy这个变量,我怎么设都不会有变化,30%是两手。10%也是两手。1%也是两手。 ...

上述算法是totalequity是总资产,其中也包括已占用保证金。确认一下可用保证金是否能开的数量并不大呢?

使用道具 举报

Rank: 1

精华
0
UID
246765
积分
15
帖子
9
主题
2
阅读权限
10
注册时间
2017-2-5
最后登录
2020-11-20
6#
发表于 2017-8-3 14:51:03 |只看该作者
totalequity资金是1万,但是我设1%,结果是开仓2手。设70%也是开仓两手。完全跟RiskRatioy变量无关。

使用道具 举报

Rank: 1

精华
0
UID
246765
积分
15
帖子
9
主题
2
阅读权限
10
注册时间
2017-2-5
最后登录
2020-11-20
7#
发表于 2017-8-3 14:51:29 |只看该作者
我做的是螺纹。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2017-8-3 14:53:13 |只看该作者
dorodo 发表于 2017-8-3 14:51
totalequity资金是1万,但是我设1%,结果是开仓2手。设70%也是开仓两手。完全跟RiskRatioy变量无关。
...

方便将开仓这一段的代码 ,图表信号,以及全局交易设置的内容截图看一下吧。

使用道具 举报

Rank: 1

精华
0
UID
246765
积分
15
帖子
9
主题
2
阅读权限
10
注册时间
2017-2-5
最后登录
2020-11-20
9#
发表于 2017-8-3 15:14:56 |只看该作者
    //仓位统计
     TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();
    TurtleUnits = (TotalEquity*RiskRatio/100) /(ContractUnit()*BigPointValue());
    TurtleUnits = IntPart(TurtleUnits); // 对小数取整
               

      //开平仓条件
        SellEntry = Close[1]<LowerLine[1];
        SellExit =  Close[1]>UpperLine[1] ;
        //程序主体
        If(MarketPosition==0 && SellEntry)
        {
                SellShort(TurtleUnits,Open);
                Commentary("开空");               
        }
        If(MarketPosition==0 && BuyEntry)
        {                        
            Buy(TurtleUnits,Open);
                Commentary("开多");
        }       

使用道具 举报

Rank: 1

精华
0
UID
246765
积分
15
帖子
9
主题
2
阅读权限
10
注册时间
2017-2-5
最后登录
2020-11-20
10#
发表于 2017-8-3 15:25:35 |只看该作者
配图
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-26 19:31

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部