//盘中及收盘前5秒下单
ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5)
AND ISLASTBAR AND (TIME=101500 OR TIME=113000 OR TIME=150000)) OR NOT(ISLASTBAR);
//平多
IF 平多条件 AND ABB THEN
SELL(HOLDING>0,0,MARKET);
//平空
IF 平空条件AND ABB THEN
SELLSHORT(HOLDING<0,0,MARKET);
//开多
IF 开多条件AND ABB THEN
BEGIN
SELLSHORT(HOLDING<0,0,MARKET);
BUY(HOLDING>=0,10,MARKET);
END;
//开空
IF 开空条件AND ABB THEN
BEGIN
SELL(HOLDING>0,0,MARKET);
BUYSHORT(HOLDING<=0,10,MARKET);
END;
ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR AND (TIME=101500 OR TIME=113000 OR TIME=150000)) OR NOT(ISLASTBAR); 你的abb 写了只让这三个时间下单啊 ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR ;这样就了呗 |
ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR AND (TIME=101500 OR TIME=113000 OR TIME=150000)) OR NOT(ISLASTBAR); 你的abb 写了只让这三个时间下单啊 ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR ;这样就了呗 |
是的,你的代码里面要求了在这3个时间段,你问的问题很奇怪,是不是代码不是自己写的
倒不是有问题,全平写0会平掉当前账户内当前合约的全部持仓,也就是会把其他合约下的单子给平掉,所以写个holding比较稳妥
ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5)
AND ISLASTBAR
这个公式是任何时间都提前5秒下单
我是希望在10:15,11:30和15:00这三个时间提前下单,其他时间都按信号正常下单,请问该怎么写?
另外,平仓命令里,平仓手数写零,是参照金字塔联机帮助里:
SELLSHORT(COND,V,Type,P);表示当COND条件成立时,空头卖出V股(手)当前品种,为0表示全部(实盘交易时为全部实际持仓)
如果照你说的用零会有问题,能否用省略来表示平仓全部手数?
//平多
IF 平多条件 AND ABB THEN SELL(HOLDING>0,,MARKET);
//平空
IF 平空条件AND ABB THEN SELLSHORT(HOLDING<0,,MARKET);
倒不是有问题,全平写0会平掉当前账户内当前合约的全部持仓,也就是会把其他合约下的单子给平掉,所以写个holding比较稳妥
好像不会把其他合约平掉吧,我实盘上用过这个平仓条件,只平掉当前品种的持仓
写错了,是其他策略的单子给平掉,不是其他合约,不好意思