if 平空条件 then begin
tsellshort(1,1*x,lmt, EXTGBDATA('开仓价')-aa*MINDIFF);
if TISREMAINEX(4,'','zqrm00')=0 and EXTGBDATA('挂单')=1 then begin
EXTGBDATASET('开仓价',EXTGBDATA('开仓价')-aa*MINDIFF);
end
end
这个公式写法是否错了?
原意是想限价平空,等平空的挂单成交后,“开仓价”才赋值为我指定的价格,但我在测试时发现每次都是只要一平空,马上开仓价就变成指定的那个价了,是否因为交易回报还没回来,所以都认为是没有委托单的缘故,如果是的话应该怎么改?谢谢
我不是这个意思,我在13元开仓,然后赋值“开仓价”为13元,然后我挂了15元平仓的单子,但我是希望当15元的挂单成交了,才把15元赋值到“开仓价”,所以公式里用了
TISREMAINEX =0,才赋值,但问题是公式一发出15元的平仓单,就接着执行下一句,那这时候我肯定没有未成交单的啊,所以就接着把15元赋值到“开仓价”里面了,这样就错了
可以当程序执行完挂单的tsellshort指令后停顿一秒,等有未成交单的回报后再执行下一句吗?还是会有其他的办法?谢谢
我看到sleep好像合适,不过后面解释又说是对其他策略都会停顿,那不是很大影响
sleep所有金字塔程序都会去停顿,就是在sleep期间整个金字塔都不会去运行
是啊,所以sleep可能不行,那有什么办法解决这个问题呢
[此贴子已经被作者于2013/12/13 16:51:48编辑过]
可以发出tsellshort时把currenttime赋值到“开仓时间”,然后开仓时间>开仓时间+1000后再执行
TISREMAINEX 这句吗?