我的图表信号上仓位是9手,但实际成交了10手,怎么解决这个与图表不匹配的问题?以前两者匹配很好,从没错过,我想是不是程序在计算仓位时,因为四舍五入导致的?
我都是在信号bar结束后,下一根bar开时,以open价计算仓位并开仓,应该不存在计算问题吧?
这是我的计算公式,帮我看看,怎么改?
//获取保证金率
MarginRate rate;
//当前公式应用商品的默认保证金比率
GetMarginRate(rate);
Print("GetMarginRate:" + Text(rate));
//获取动态权益
Capital=Portfolio_CurrentEquity();
lots=IntPart((Capital*Ratio/100) /(ContractUnit()*Open*rate.longMarginRatio));
动态权益也要用上一根的算
Portfolio_CurrentEquity()的问题
这个函数是按收盘价结算的
盘中就是最新价,其实相当于用了close
我建议你用一个序列变量,保存每根bar上的Portfolio_CurrentEquity()
然后调用上一根bar的权益来计算,不要用当根的
这个不会搞,能帮忙写一个我来参照一下吗?
Series<Numeric> Capital;
是不是这样写?
对 然后captial[1]
你这个也是信号闪烁的一种,手数闪烁了,比较少见。
应该是盘中报单的时候,根据当时的数据,计算出来是发10手
而等到bar收盘状态时的数据计算出来时9手
老刘
看看我的帖子
帮忙解决一下
哪个帖子
期权问题还是请教王老师吧,他更专业,研究得比我多
你计算手数的时候是不是用close,low,high这些计算的