以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 止损语句执行不了 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=185199) |
-- 作者:datuanyuan -- 发布时间:2021/4/14 16:43:52 -- 止损语句执行不了 老师: 您好! 在策略测试中,止损语句执行不了,请求帮助解决,只好尾盘平仓。具体代码如下: //交易系统 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; |
-- 作者:FireScript -- 发布时间:2021/4/14 16:49:17 -- 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个小时转换下。 你代码也不是完整 目前是看到这么多问题了就。 |