后台交易中,我想满足条件后买1价格送买单,隔15秒后,撤掉没成交的单,在新的买一继续送单,下面代码和问题:
//buyornot和lasttime是全局变量,希望一个能记录是否满足开始送单,一个记录上次送单的时间;
//cond是选股逻辑,这里和问题无关,省略了
//FLOORCHICANG是已经买入的持仓数量,FLOORNUMBER是需要买入的总量;只要持仓量小于需要买入总量,就不停再买入
if buyornot=0 then LASTTIME:=0;
if (cond=1 AND (TIMETOT0(CURRENTTIME)-TIMETOT0(LASTTIME)>15)) then BEGIN
TCANCEL(1,0);
Tbuy(FLOORCHICANG<FLOORNUMBER,FLOORNUMBER-FLOORCHICANG,LMT,DYNAINFO(28));
buyornot:=1;
LASTTIME:=CURRENTTIME;
end
执行的问题:
1 TIMETOT0(LASTTIME)返回的始终是0,所以第二个if里面每次刷新代码都会执行,而不是我希望的15秒以后。
2 第一次撤单以后,不会再送买单了。 以后无论多少次执行到第二个if,tbuy都不会再有买入委托了。
谢谢。
1.你要设定成15秒间隔
2.因为同一根k线一个开仓语句只能触发一次,你的开仓语句触发过一次再同一根k线就不会再触发了
15秒不行啊,我其他部分还有止损的,15秒间隔就太大了。
一个k线后台要送多次单的怎么办呢?没有办法实现吗?
以下是引用jinzhe在2016-8-16 10:35:18的发言:
你这个15秒撤单追单用系统自带的不就好了
系统自带我,我看见描述是多少价格以内追,我要放在买一;我的资金可能比较多,我不想拉高股票价格,所以要在买一等。
这个是判断开仓价格和当前价格差多少时追单,不是以这个价格去追单。后面的设置才是追单价格,你设置个市价单就可以了
那这个就真难了,你的要求可能会造成同一根k线重复下单,这个在后台里面是处理不了的,用系统自带的可能会比较好