Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:止损语句执行不了

1楼
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;

2楼
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个小时转换下。


你代码也不是完整 目前是看到这么多问题了就。

共2 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 2.16406 s, 3 queries.