设为首页收藏本站

外汇天网_外汇天论坛_元宇宙EA策略_元宇宙神器_汇天神器_财神风暴_稳赚EA_暴利EA_外汇110网_ICMarkets怎么样_代客操盘月赚50%_外汇ea之家_外汇ea编程_外汇ea下载_外汇通_外汇代客操盘协议_趋势EA_点差最低MT4平台_盛宝外汇平台_交易家_zulutrade跟单_MT4商品代码代表什么_剥头皮策略、外汇天眼、外汇换算、外汇论坛排行榜、外汇论坛哪个最好、外汇论坛哪家好、外汇额度、外汇EA、外汇EA策略、外汇EA编程、外汇EA是什么、EA观外汇平仓、外汇MT4摩、外汇平台哪个比较好、

 找回密码
 立即注册
查看: 4213|回复: 0
打印 上一主题 下一主题

MT4的网格交易策略源码[MT4公式]

[复制链接]

1275

主题

30

听众

1069万

积分

管理员

Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29

活跃会员 热心会员 推广达人 宣传达人 突出贡献 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2018-8-3 17:04:00 |只看该作者 |倒序浏览
以下是我在网上看到的一个网格交易法的源码,希望更多的人贴一些网格交易法的源码,大家一起学习提高。




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

//|                                                      Grid1.1.mq4 |

//|                                          Copy* 顺势加码 2006 |

//|                                                |

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

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

#property link      "bonnyshi@gmail.com"

#include <stdlib.mqh>



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<OrdersTotal(); 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<OrdersTotal();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);

}

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

上一篇:《大作手操盘术》图解(上中下全集)
下一篇:根据自己的策略改成的ea[MT4公式]
您需要登录后才可以回帖 登录 | 立即注册
验证问答 换一个

外汇天发布的MT4的网格交易策略源码[MT4公式]帖子由网友提供或转载于网络,若发布的MT4的网格交易策略源码[MT4公式]侵犯了您的权益,请联系我们.

微信扫码加好友
咨询中心
关闭
客服中心
外汇投资交流3群 ——业务合作咨询:QQ:1377422008
QQ:1136145178
电子邮箱:
1377422008@QQ.com
网址:FXwht.com
客服中心

QQ|Archiver|手机版|外汇天网    

GMT+8, 2024-11-24 07:59 , Processed in 0.123056 second(s), 30 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部