我的图表信号上仓位是9手,但实际成交了10手,怎么解决这个两者不匹配问题?
我的图表信号上仓位是9手,但实际成交了10手,怎么解决这个与图表不匹配的问题?以前两者匹配很好,从没错过,我想是不是程序在计算仓位时,因为四舍五入导致的?
我的图表信号上仓位是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手
回复:老刘看看我的帖子帮忙解决一下
回复:哪个帖子
回复:https://bbs.tbquant.net/thread/20250522092619293279
回复:期权问题还是请教王老师吧,他更专业,研究得比我多
你计算手数的时候是不是用close,low,high这些计算的