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


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

   

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


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

主题:【趋势策略范例】日内限制交易次数范例

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
【趋势策略范例】日内限制交易次数范例  发帖心情 Post By:2019/12/13 15:03:34 [只看该作者]

      针对限制日内交易次数的需求,可以通过全局变量进行控制。在金字塔中,提供多种全局变量,其作用范围和初始化方式有些许差别,建议初学者掌握后灵活使用。下面就分在图表程序化中和后台程序化中,分别采用不同的全局变量对日内交易次数的限定进行范例演示:

       多种全局变量的区别介绍:http://www.weistock.com/WeisoftHelp/index.html?zbgs003.htm

      

      一、日内限制交易次数范例(图表程序化)    

           //该策略适用于图表程序化交易
           //该策略适用于分钟周期
           //此范例仅供显示,请勿直接用于入市交易

           VARIABLE:NUM=0;                            // 全局变量,来控制当天交易次数
           CS:=3;                                              //限定一天最多交易3次

           MA5:=MA(CLOSE, 5);
           MA20:=MA(CLOSE, 20);

           COND1:=CROSS(MA5,MA20);
           COND2:=CROSS(MA20,MA5);

          

           IF COND2 AND HOLDING>0 THEN SELL(1,1,MARKET);     //平仓

           IF COND1 AND HOLDING=0 AND NUM<CS THEN             //开仓
             BEGIN
             BUY(1,1,MARKET);
             NUM:=NUM+1;
             END

 

           IF TIME=CLOSETIME(0) THEN NUM:=0;             // CLOSETIME(0)是取商品期货最后一节的交易时间,收盘的同时,NUM赋值为0。

 

        二、日内限制交易次数范例(后台程序化)

            点击工具--数据管理--全局变量,创建一个全局变量NUM,初始值设为3,表示交易次数限定为3次。

        
图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

           //该策略适用于图表程序化交易
           //该策略适用于分钟周期
           //使用单值全局变量,来限定一天只交易3次
           CS:=3;//限定一天最多交易3次

           MA5:MA(CLOSE, 5);
           MA20:MA(CLOSE, 20);
           COND1:=CROSS(MA5,MA20);
           COND2:=CROSS(MA20,MA5);

          

           IF COND2 AND THOLDING>0 THEN TSELL(1,1,LMT,CLOSE);       //平仓

           NUM:=EXTGBDATA('NUM');                                                      //获取单值全局变量,来控制当天交易次数
           IF COND1 AND THOLDING=0 AND NUM< CS  THEN                    //开仓

               BEGIN
               TBUY(1,1,LMT,CLOSE);
               EXTGBDATASET('NUM',NUM+1);
               END

 

           IF TIME=CLOSETIME(0) THEN EXTGBDATASET('NUM',0); // CLOSETIME(0)是取商品期货最后一节的交易时间,收盘时,NUM赋值为0。    

[此贴子已经被作者于2020/4/3 13:39:25编辑过]

 回到顶部