以open价格开仓,当前K线上的holding显示已经是>0,
但是ENTERPRICE依然是上次开仓的价格,要等到下一根K线出现才变为本次开仓的价格,
这会引起同一根K线内不能及时止损的问题,请高人赐教!
ENTERPRICE的机制是如此的,
谢谢!
如果想实现同一根K线内到价及时止损平仓,有什么其他的办法吗?
辛苦了,感觉好像是代码顺序的问题:
//止损平仓
st5:= holding>0 and L<ENTERPRICE*(1-R);
st6:= holding<0 and H>ENTERPRICE*(1+R);
sell(st5,holding,stopr, ENTERPRICE*(1-R) );
sellshort(st6,holding,stopr, ENTERPRICE*(1+R) );
//开仓
st1:= holding=0 and ref(cross(C, up),1) and time<closetime(0);
st2:= holding=0 and ref(cross(lw, C),1) and time<closetime(0);
buy(st1,volunit,limitr, open);
buyshort(st2,volunit,limitr,open);
如果平仓代码在先,则同一根K线的止损失效;
反之,开仓代码在先,就可以执行。
原本选择的是高频轮询模式运行,还是受代码先后顺序影响;
高频模式下系统不是应该每个tick都执行一遍代码的吗?
还望赐教!谢谢!