请大侠帮我看一这段代码为什么计算不出正确仓位
TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();TurtleUnits = (TotalEquity*RiskRatio/100) /(ContractUnit()*BigPointValue());
TurtleUnits = IntPart(TurtleUnits); // 对小数取整
为什么我要取30%的仓位,但是RiskRatio 设为30,仓位计算不对呢? 果然是个死论坛,根本没有人维护的。 怎么个不对法?请具体一下 RiskRatioy这个变量,我怎么设都不会有变化,30%是两手。10%也是两手。1%也是两手。 dorodo 发表于 2017-8-3 10:44 static/image/common/back.gif
RiskRatioy这个变量,我怎么设都不会有变化,30%是两手。10%也是两手。1%也是两手。 ...
上述算法是totalequity是总资产,其中也包括已占用保证金。确认一下可用保证金是否能开的数量并不大呢? totalequity资金是1万,但是我设1%,结果是开仓2手。设70%也是开仓两手。完全跟RiskRatioy变量无关。
我做的是螺纹。
dorodo 发表于 2017-8-3 14:51 static/image/common/back.gif
totalequity资金是1万,但是我设1%,结果是开仓2手。设70%也是开仓两手。完全跟RiskRatioy变量无关。
...
方便将开仓这一段的代码 ,图表信号,以及全局交易设置的内容截图看一下吧。 //仓位统计
TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();
TurtleUnits = (TotalEquity*RiskRatio/100) /(ContractUnit()*BigPointValue());
TurtleUnits = IntPart(TurtleUnits); // 对小数取整
//开平仓条件
SellEntry = Close<LowerLine;
SellExit = Close>UpperLine ;
//程序主体
If(MarketPosition==0 && SellEntry)
{
SellShort(TurtleUnits,Open);
Commentary("开空");
}
If(MarketPosition==0 && BuyEntry)
{
Buy(TurtleUnits,Open);
Commentary("开多");
} 配图
页:
[1]
2