龙听期货论坛's Archiver

C
+
+


 微信: QQ:

龙听 发表于 2018-3-9 12:58

网格交易策略源码(MT4.0源码)

MT4的网格交易法源码

[code]
//+------------------------------------------------------------------+

//|                                                      Grid1.1.mq4 |

//|                                          Copy* 顺势加码 2006 |

//|                                                |

//+------------------------------------------------------------------+

#property copy* "Copy* 顺势加码 2006"

#property link      "bonnyshi@gmail.com"

#include



extern double GridStep=50;        //格幅

extern double GridLength=100;   //格长

double PivotPr, Multiple, i, Lots=0.1, STOPLEVEL, TP, ST;

string Text="Grid";

int Magic, j, BuyCount, SellCount, DTS, Ticket;

//+------------------------------------------------------------------+

int init()    //初始化部分将定义参数赋值: 每次在start里面都可能被赋值一次,消耗时间

   

    if (DTS==4)  DTS=2;

       else  DTS=0;

    Magic =105;

    GridStep =GridStep*Point;

    GridLength =GridLength*Point;

    STOPLEVEL =MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;

    return(0);

   



//+------------------------------------------------------------------+

int start()

{

    Multiple =NormalizeDouble((Bid-NormalizeDouble(Bid,DTS))/GridStep, 0); // 评rint 检查这地方出值为0  

    PivotPr =NormalizeDouble(Bid,DTS) +GridStep*Multiple;

    // 下网格布网

    for(i=PivotPr; i>=PivotPr-GridLength; i=i-GridStep)

       {

        BuyCount=0; SellCount=0;

        for(j=0; j

           {

            if(OrderSelect(j,SELECT_BY_POS)==false) return(0);

  

            if(OrderMagicNumber()==Magic && NormalizeDouble(OrderOpenPr(),DTS)==NormalizeDouble(i,DTS) )

              {

               if(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT )    BuyCount++;

               if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP )     SellCount++;

              }

           }

        if(BuyCount==0)

           {

            TP =i+GridStep; ST=0;

            if(Ask-i>=STOPLEVEL)

              {

              Ticket =OrderSend(Symbol(),OP_BUYLIMIT,Lots,i,0,ST,TP,"Grid - BuyLimit",Magic,0,0);

              if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid -   BuyLimit=",i," 开仓成功");

                else Alert( Symbol(),"Grid - BuyLimit=",i," 开仓失败:",ErrorDescription(GetLastError()));

              Sleep(10000);

              }

           if(Ask==i)

              {

               Ticket=OrderSend(Symbol(),OP_BUY,Lots,i,0,ST,TP,"Grid - Buy",Magic,0,0);

               if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid -   Buy=",i," 开仓成功");

               else Alert( Symbol(),"Grid - Buy=",i," 开仓失败:",ErrorDescription(GetLastError()));

               Sleep(10000);

             }

          }

       if(SellCount==0)

          {

           TP=i-GridStep;ST=0;

           if(Bid-i>=STOPLEVEL)

             {

              Ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,i,0,ST,TP,"Grid - SellStop",Magic,0,0);

              if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid -   SellStop=",i," 开仓成功");

              else Alert( Symbol(),"Grid - SellStop=",i," 开仓失败:",ErrorDescription(GetLastError()));

              Sleep(10000);

             }

           if(Bid==i)

             {

              Ticket=OrderSend(Symbol(),OP_SELL,Lots,i,0,ST,TP,"Grid - Sell",Magic,0,0);

              if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid -   BuyLimit=",i," 开仓成功");

              else Alert( Symbol(),"Grid - BuyLimit=",i," 开仓失败:",ErrorDescription(GetLastError()));

              Sleep(10000);

             }

          }

      }   

  

   // 上网格布网

   for(i=PivotPr+GridStep;i<=PivotPr+GridLength;i=i+GridStep)

      {

  

       BuyCount=0;SellCount=0;

       for(j=0;j

          {

           if(OrderSelect(j,SELECT_BY_POS)==false) return(0);

           if(OrderMagicNumber()==Magic && NormalizeDouble(OrderOpenPrice(),DTS)==NormalizeDouble(i,DTS) )

             {

              if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP)    BuyCount++;   

              if(OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT)  SellCount++;

             }

          }

       if(BuyCount==0)

          {

           TP=i+GridStep;ST=0;

           if(i-Ask>=STOPLEVEL)

             {Ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,i,0,ST,TP,"Grid +  BuyStop",Magic,0,0);

              if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid +    BuyStop=",i," 开仓成功");

              else Alert( Symbol(),"Grid +  BuyStop=",i," 开仓失败:",ErrorDescription(GetLastError()));

              Sleep(10000);

             }

           if(i==Ask)

             {

             Ticket=OrderSend(Symbol(),OP_BUY,Lots,i,0,ST,TP,"Grid +  Buy",Magic,0,0);

             if(Ticket>0) Alert(Symbol(),"  ",Ticket,"Grid +   Buy=",i," 开仓成功");

             else Alert( Symbol(),"Grid +  Buy=",i," 开仓失败:",ErrorDescription(GetLastError()));

             Sleep(10000);

            }

         }

     if(SellCount==0)

         {

          TP=i-GridStep;ST=0;

          if(i-Bid>=STOPLEVEL)

            {

            Ticket=OrderSend(Symbol(),OP_SELLLIMIT,Lots,i,0,ST,TP,"Grid +  SellLimit",Magic,0,0);

            if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid +    SellLimit=",i," 开仓成功");

            else Alert( Symbol(),"Grid +  SellLimit=",i," 开仓失败:",ErrorDescription(GetLastError()));

            Sleep(10000);

            }  

          if(i==Bid)

            {

            Ticket=OrderSend(Symbol(),OP_SELL,Lots,i,0,ST,TP,"Grid + Sell",Magic,0,0);

            if(Ticket>0) Alert(Symbol(),"  ",Ticket,"Grid +    Sell=",i," 开仓成功");

            else Alert( Symbol(),"Grid +  Sell=",i," 开仓失败:",ErrorDescription(GetLastError()));

            Sleep(10000);

            }

         }

    }

   

//----

   return(0);

}

//+------------------------------------------------------------------+
[/code]

页: [1]
渠道·推广(20年运营值得信赖!)▼:温馨提示:期货论坛稳定、流畅的访问体验有赖于赞助商的广告支持,赞助商业务内容非本站官方业务,期货、证券及外汇投资均有亏损的风险,访问赞助商广告即代表您已了解其中的风险。欢迎意向赞助商联系客服或管理员咨询相关事宜。
                     
❤️2025年通过期货论坛开户享受如下优惠政策:政策一:手续费最低交易所+1分起,政策二:日内炒单及大资金享更高比率返还,政策三:保证金可申请交易所标准+0,政策四:开户即享有论坛Prime会员资格(价值199元/年);有意开户咨询管理员或右侧客服! 🚀 论坛付费Prime会员(199元/年或800元/永久)免回复查看下载权限255及以下所有文档(包括但不限于策略、公式、源码、杂志); 😋欧美期货杂志购买、下载与中文翻译:/thread-10603-1-1.html |TB/MC开户优惠政策:/thread-5986-1-1.html;2025年最新交易所手续费表/thread-7537-1-1.html 2025年最全的Python编程与程序化(量化)教程、视频、源码、课件、资源汇总贴:/thread-152864-1-1.html 2025年最全的MultiCharts程序化(量化)教程、视频、源码、课件、资源汇总贴:/thread-88129-1-1.html❤️ 期货论坛与mc合作,通过使用期货论坛优惠码在mc官网购买mc的VIP会员享受折扣优惠 (点击获得“Multicharts14专策版软件使用授权年度会员购买优惠码” ) mag.png【1981年-2025年欧美期货、程序化、量化杂志、期货电子书等中文翻译目录汇总!】(注册登录后可看!) C__LOGO1.png2025年最全的C++期货程序化(量化)教程、视频、源码、课件、资源汇总贴:/thread-160231-1-1.html C++程序化交易软件2025年C++程序化推荐:C++积木式程序化交易系统(简洁、高效、绿色、模块化及最低免费使用),策略模块丰富,绿色安全,使用简单,功能丰富,特别适合定制,推荐有成熟交易系统者及希望低成本长时间实盘客户使用(账户政策、程序化设计及电脑配置等欢迎联系管理员或客服咨询!);( 管理员微信号微信号QQ号QQ电话号码电话号码 );