打印本文打印本文 关闭窗口关闭窗口

金字塔日内限制交易次数略源码

作者:金字塔 来源:cxh99.com 发布时间:2020年11月18日

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

       多种全局变量的区别介绍: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赋值为

 

{别忘了将本网告诉您身边的朋友,向朋友传达有用资料,也是一种人情,你朋友会感谢你的。}

 

打印本文打印本文 关闭窗口关闭窗口