加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

网格交易法不爆仓,做到这几点就够了!【含源码】

(2018-01-24 12:19:17)
标签:

外汇

股票

房产

财经

ea

分类: 外汇
首先科普一下网格交易知识,高手请直接移步第二部分(如何避免网格爆仓)。
本交易策略在xm平台下测试 运行稳定,盈利可期。其他平台(延时,滑点问题)不做保证!

xm平台传送门

网格交易是指:
根绝自己的指标判断入场(判断指标并不关键)然后不设置止损,只设置止盈。行情发展后,如果达到止盈我们获利出场。
http://s6/mw690/0073ysc6zy7hCH5EIT3b5&690



如果行情没有按照我们的预期发展,则按照止盈间隔,同向加倍下单。直到行情回调后,加倍单获利。此时平掉所有订单,整体获利出场。http://s12/mw690/0073ysc6zy7hCJRiysXab&690




那么问题来了:无休止的下单会确实会等到行情预期,但是也会造成爆仓。
这也是网格的最致命的缺陷。

那么如何避免网格爆仓呢?做到如下几点就完事无忧:

1.按照最小手操作 0.01手
2.按照最小账户操作 200美金一这个账户,如果您有2000美金 请分成10个账户。
3.按照最高杠杆倍率操作 建议500倍。
4.平台点差要小 笔者亲测xm平台没问题。

所以我们的网格ea会有如下设置:
1.下单手
2.网格密度
3.网格数量
4.运行时间
有了这些设置,才能确保您的网格交易策略不爆仓!

请看我们的网格ea详细解释:
首先我们关注的1分钟行情,为什么选择一分钟行情。因为1小时也好4小时也好都是一分钟一分钟走出来的。
看过行情图的人都知道,行情图可以分为三种。
单边上扬趋势(图c),震荡趋势(图b)及单边下调趋势(图a)。

假设,我们在如图所示的位置下了一个buy单。第一种情况按照c图行情上扬,赚钱出场。第二种情况按照b图行情震动,不赚不赔。直到行情走成a或者c的情况。第三种情况按照a图行情下调。我们亏损,此时我们缩短网格大小(注意是缩短),再次加倍下buy单,等待行情上调,如果失败,继续循环上面的操作(缩小网格加大下单量)。直到行情上调止盈出场。
http://s3/mw690/0073ysc6zy7hCK3ShVwf2&690



具体代码如下:(此代码为Demo版本,正式版清留言或者qq联系我:3276063690)


//+------------------------------------------------------------------+
//|                                              wanggejiamademo.mq4 |
//|                       Copyright ?2018, MetaQuotes Software Corp. |
//|                                http://blog.sina.com.cn/waihui222 |
//|                                                    QQ:3276063690 |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2018, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
double Lots=0.01;
int ying=18;
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
   +"已经到期, 如需继续,请联系QQ: 3276063690");     
   double ma=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,0);
   double map=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,1);
   if((Close[0]>ma)&&(Close[1]
     {
        if(danshu()==0)
          {
             buy(Lots,0,ying,Symbol()+"buy"+Lots,0);
          }
     }
   if((Close[0]map))//价格下穿均线
     {
       if(danshu()==0)
          {
             sell(Lots,0,ying,Symbol()+"sell"+Lots,0);
          }
     }
   if(danshu()>0)
     {
         if(buylastprice()>0)
           {
              if((buylastprice()-Bid)>=(ying*Point))
                {
                    buy(getbuylastLots()*2,0,ying,Symbol()+"buy"+getbuylastLots()*2,0);
                }
           }
         if(selllastprice()>0)
           {
              if((Bid-selllastprice())>=(ying*Point))
                {
                    sell(getselllastLots()*2,0,ying,Symbol()+"sell"+getselllastLots()*2,0);
                }
           }
        double buylastTP=getbuylastTP();
        double selllastTP=getselllastTP();
        for(int i=0;i
               {
                   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                     {
                       if(OrderSymbol()==Symbol())   
                         {
                            if(OrderType()==OP_BUY)
                              {
                                if(buylastTP>0)
                                  {
                                    if(OrderTakeProfit()!=buylastTP)
                                      {
                                         OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),buylastTP,0);
                                      }
                                  }
                              }
                            if(OrderType()==OP_SELL)
                              {
                                if(selllastTP>0)
                                  {
                                    if(OrderTakeProfit()!=selllastTP)
                                      {
                                         OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),selllastTP,0);
                                      }
                                  }
                                                 
                         }
                      }
               }
     }
   return(0);
  }
double getbuylastTP()
  {
     if(buylastticket()!=0)
       {
          if(OrderSelect(buylastticket(),SELECT_BY_TICKET,MODE_TRADES)==true)
            {
               return(OrderTakeProfit());
            }
          else
            {
               return(0);
            }
       }
     else
       {
         return(0);
       }
  }
double getbuylastLots()
  {
     if(buylastticket()!=0)
       {
          if(OrderSelect(buylastticket(),SELECT_BY_TICKET,MODE_TRADES)==true)
            {
               return(OrderLots());
            }
          else
            {
               return(0);
            }
       }
     else
       {
         return(0);
       }
  }
double getselllastTP()
  {
     if(selllastticket()!=0)
       {
          if(OrderSelect(selllastticket(),SELECT_BY_TICKET,MODE_TRADES)==true)
            {
               return(OrderTakeProfit());
            }
          else
            {
               return(0);
            }
       }
     else
       {
         return(0);
       }
  }
double getselllastLots()
  {
     if(selllastticket()!=0)
       {
          if(OrderSelect(selllastticket(),SELECT_BY_TICKET,MODE_TRADES)==true)
            {
               return(OrderLots());
            }
          else
            {
               return(0);
            }
       }
     else
       {
         return(0);
       }
  }
int buylastticket()
  {
     int maxticket=0;
     for(int i=0;i
               {
                   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                     {
                       if(OrderSymbol()==Symbol())   
                         {
                            if(OrderType()==OP_BUY)
                              {
                                 if(maxticket
                                   {
                                      maxticket=OrderTicket();
                                  
                                           
                         }
                      }
               }
      return(maxticket);
  }
double buylastprice()
  {
     if(buylastticket()!=0)
       {
          if(OrderSelect(buylastticket(),SELECT_BY_TICKET,MODE_TRADES)==true)
            {
               return(OrderOpenPrice());
            }
          else
            {
               return(0);
            }
       }
     else
       {
         return(0);
       }
  }
int selllastticket()
  {
     int maxticket=0;
     for(int i=0;i
               {
                   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                     {
                       if(OrderSymbol()==Symbol())   
                         {
                            if(OrderType()==OP_SELL)
                              {
                                 if(maxticket
                                   {
                                      maxticket=OrderTicket();
                                  
                                           
                         }
                      }
               }
      return(maxticket);
  }
double selllastprice()
  {
     if(selllastticket()!=0)
       {
          if(OrderSelect(selllastticket(),SELECT_BY_TICKET,MODE_TRADES)==true)
            {
               return(OrderOpenPrice());
            }
          else
            {
               return(0);
            }
       }
     else
       {
         return(0);
       }
  }
int danshu()
  {
    int a=0;
     for(int i=0;i
               {
                   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                     {
                       if(OrderSymbol()==Symbol())   
                         {
                           a=a+1;                  
                         }
                      }
               }
     return(a);
  }
int buy(double Lots,double sun,double ying,string comment,int magic)
  {
          int kaiguan=0;
            for(int i=0;i
               {
                   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                     {
                       if((OrderComment()==comment)&&(OrderMagicNumber()==magic))   
                         {
                           kaiguan=1;                    
                         }
                      }
               }
            if(kaiguan==0)
              {
                   int ticket=OrderSend(Symbol( ) ,OP_BUY,Lots,Ask,300,0,0,comment,magic,0,White);
                   if(ticket>0)
                   {
                    if(OrderSelect(ticket, SELECT_BY_TICKET)==true)
                      {
                       if((sun!=0)&&(ying!=0))
                        {
                          OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-sun*MarketInfo(Symbol(),MODE_POINT),OrderOpenPrice()+ying*MarketInfo(Symbol(),MODE_POINT),0,Red);
                        }
                       if((sun==0)&&(ying!=0))
                        {
                          OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()+ying*MarketInfo(Symbol(),MODE_POINT),0,Red);
                        }
                       if((sun!=0)&&(ying==0))
                        {
                          OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-sun*MarketInfo(Symbol(),MODE_POINT),0,0,Red);
                        }
                      }
                   }
              return(ticket);
              }
             else
              {
               return(0);
              }
  }
int sell(double Lots,double sun,double ying,string comment,int magic)
    {
               int kaiguan=0;
                 for(int i=0;i
                    {
                        if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                          {
                            if((OrderComment()==comment)&&(OrderMagicNumber()==magic))  
                              {
                                kaiguan=1;                    
                              }
                           }
                    }
                 if(kaiguan==0)
                   {
                        int ticket=OrderSend(Symbol( ) ,OP_SELL,Lots,Bid,300,0,0,comment,magic,0,Red);
                        if(ticket>0)
                        {
                          if(OrderSelect(ticket, SELECT_BY_TICKET)==true)
                           {
                             if((sun!=0)&&(ying!=0))
                              {
                               OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+sun*MarketInfo(Symbol(),MODE_POINT),OrderOpenPrice()-ying*MarketInfo(Symbol(),MODE_POINT),0,Red);
                              }
                             if((sun==0)&&(ying!=0))
                              {
                               OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()-ying*MarketInfo(Symbol(),MODE_POINT),0,Red);
                              }
                             if((sun!=0)&&(ying==0))
                              {
                               OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+sun*MarketInfo(Symbol(),MODE_POINT),0,0,Red);
                              }
                           }
                        }
                        return(ticket);
                   }
                  else
                   {
                    return(0);
                   }
  }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有