老师:您好!
在策略测试中,止损语句执行不了,请求帮助解决,只好尾盘平仓。具体代码如下:
//交易系统
IF TIME>=093000 AND TIME<145500 THEN BEGIN
开多:BUY(开多条件,手数,market);
开空:BUYSHORT(开空条件,手数,market);
END
IF 多头止损条件 AND HOLDING>0 THEN BEGIN
多头止损:SELL(1,手数,MARKET);
END
IF 空头止损条件 AND HOLDING<0 THEN BEGIN
空头止损:SELL(1,手数,MARKET);
END
IF TIME>=093000 AND TIME<=145500 THEN BEGIN
平多:SELL(平多条件,手数,market);
平空:SELLSHORT(平空条件,手数,market);
END
收盘平多:SELL(time>=145500 AND HOLDING>0,手数,MARKET);
收盘平空:SELLSHORT(time>=145500 AND HOLDING<0,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
1.IF 空头止损条件 AND HOLDING<0 THEN BEGIN
空头止损:SELLSHORT(1,手数,MARKET);
END
空头平仓语句这里写错了。
2.开仓条件需要有限制。如果不这样的话,可能会多次开仓,除非是你本身就需要这样的。这个你自行考虑下。
开多:BUY(开多条件 and holding=0,手数,market);
开空:BUYSHORT(开空条件 and holding=0,手数,market);
3.TIME>=093000 AND TIME<145500
这个时间不对(如果你时区是默认的没改过的话)。
你看下这个帖子:http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=87464
得加4个小时转换下。
你代码也不是完整 目前是看到这么多问题了就。