欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → 【趋势策略范例】日内清仓范例

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3868人关注过本帖树形打印复制链接

主题:【趋势策略范例】日内清仓范例

帅哥哟,离线,有人找我吗?
gxx978
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
【趋势策略范例】日内清仓范例  发帖心情 Post By:2019/11/29 15:24:19 [显示全部帖子]

      在期货日内交易中,有时需求不持仓过夜,在收盘前清空所持有的仓位。下面分别就两种日内平仓的需求进行范例演示:

 

     一 、收盘提前1分钟清仓(在最后一根K线上清仓)。       

        //此范例适用于图表程序化交易,适用于分钟周期

        //该演示模型用于3分钟周期

        //使用固定轮询模式
        //此范例仅供演示,请勿直接使用入市交易。

        N:BARSLAST(DATE<>REF(DATE,1))+1;                                                        //当日K线数量
        CONKD:H>=HHV(H,2) AND C>=HHV(C,2) AND N>=3 AND TIME<=185700;  //开多条件,最后一根K线上不开仓,加上时间控制,避免清仓后又再次开仓
        CONKK:L<=LLV(L,2) AND C<=LLV(C,2) AND N>=3 AND TIME<=185700;      //开空条件
        CONPD:C<REF(L,1);                                                                                   //平多条件
        CONPK:C>REF(H,1); 
                                                                                  //平空条件

 

        SELL(CONPD AND HOLDING>0,HOLDING,MARKET);
        SELLSHORT(CONPK AND HOLDING<0,HOLDING,MARKET);
        BUY(CONKD,1,MARKET);
        BUYSHORT(CONKK,1,MARKET);

 

       IF (ISLASTBAR AND T0TOTIME(TIMETOT0(CLOSETIME(0))-60)<=DYNAINFO(207)) OR (TIME=CLOSETIME(0) AND NOT(ISLASTBAR)) THEN   BEGIN   
            SELL(1,HOLDING,MARKET);            
            SELLSHORT(1,HOLDING,MARKET);                                                          //提前1分钟清仓
            END

 

     二、收盘提前3分钟清仓(不是在最后一根K线上清仓)。  

         //不是最后一根K线上清仓,可以直接用time函数(K线时间)来控制

        //演示范例运行在1分钟K线周期

         N:BARSLAST(DATE<>REF(DATE,1))+1;                                                     //当日K线数量
         CONKD:H>=HHV(H,2) AND C>=HHV(C,2) AND N>=3 AND TIME<185700;  //开多条件,加上时间控制,避免清仓后又再次开仓
         CONKK:L<=LLV(L,2) AND C<=LLV(C,2) AND N>=3 AND TIME<185700;     //开空条件
         CONPD:C<REF(L,1);                                                                               //平多条件
         CONPK:C>REF(H,1);                                                                              //平空条件

 

         SELL(CONPD AND HOLDING>0,HOLDING,MARKET);
         SELLSHORT(CONPK AND HOLDING<0,HOLDING,MARKET);
         BUY(CONKD,1,MARKET);
         BUYSHORT(CONKK,1,MARKET);

 

        IF TIME>185700 AND TIME<190000  THEN BEGIN                                   //提前3分钟清仓
           SELL(1,HOLDING,MARKET);
           SELLSHORT(1,HOLDING,MARKET);
           END

    

[此贴子已经被作者于2020/4/20 16:18:59编辑过]

 回到顶部