交易危机

 找回密码
 快捷注册(禁q号)

QQ登录

只需一步,快速开始

搜索
广告位
查看: 3045|回复: 5
打印 上一主题 下一主题

[ea和相关说明] 网格加码EA适合盘整行情

[复制链接]

1

主题

22

积分

0

精华

外汇入门

金钱
22 美元
权重
0
跳转到指定楼层
楼主
发表于 2016-11-27 01:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
不同的货币对需要优化一下止盈的参数

4F21.tmp.jpg (25.46 KB, 下载次数: 15)

4F21.tmp.jpg

HL_EA.rar

23.64 KB, 下载次数: 41, 下载积分: 金钱 -8

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 保留保留

1

主题

22

积分

0

精华

外汇入门

金钱
22 美元
权重
0
沙发
 楼主| 发表于 2016-11-27 04:39 | 只看该作者
入场方式如下

if(ma30H1>ma50H1 && ma50H1>ma100H1 && Close[0]>ma30 && Close[1]<ma30p)

以下是源码。



#property copyright "Copyright ?2016, MetaQuotes Software Corp."
#property link      "HANLUN"
extern double Lots=0.1;
extern int ying=300;
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
   double ma30=iMA(Symbol(),PERIOD_H1,30,0,MODE_SMA,PRICE_CLOSE,0);
   double ma50=iMA(Symbol(),PERIOD_H1,50,0,MODE_SMA,PRICE_CLOSE,0);
  // double ma80=iMA(Symbol(),0,80,0,MODE_SMA,PRICE_CLOSE,0);
   double ma100=iMA(Symbol(),PERIOD_H1,100,0,MODE_SMA,PRICE_CLOSE,0);
   //double ma13p=iMA(Symbol(),0,13,0,MODE_SMA,PRICE_CLOSE,1);
   //double ma21p=iMA(Symbol(),0,21,0,MODE_SMA,PRICE_CLOSE,1);
   double ma30p=iMA(Symbol(),PERIOD_H1,30,0,MODE_SMA,PRICE_CLOSE,1);
   double ma50p=iMA(Symbol(),PERIOD_H1,50,0,MODE_SMA,PRICE_CLOSE,1);
  // double ma80p=iMA(Symbol(),0,80,0,MODE_SMA,PRICE_CLOSE,1);
   double ma100p=iMA(Symbol(),PERIOD_H1,100,0,MODE_SMA,PRICE_CLOSE,1);
   double ma=iMA(Symbol(),0,30,0,MODE_SMA,PRICE_CLOSE,0);
   double map=iMA(Symbol(),0,30,0,MODE_SMA,PRICE_CLOSE,1);
   //if(((ma30>ma100)&&(ma100>ma50))||((ma30>ma100)&&(ma100>ma50))||((ma50>ma100)&&(ma100>ma30))||((ma50>ma30)&&(ma30>ma100))||((ma50>ma30)&&(ma30>ma100))||((ma50>ma100)&&(ma100>ma30))||((ma100>ma30)&&(ma30>ma50))||((ma100>ma30)&&(ma30>ma50)))
   if((ma30>ma50)&&(ma50>ma100))
     {
      if((Close[0]>ma)&&(Close[1]<map))//价格上穿均线
        {
        if(danshu()==0)
          {
             buy(Lots,0,ying,Symbol()+"buy"+Lots,0);
          }
        }
    }
  //if(((ma30>ma100)&&(ma100>ma50))||((ma30>ma100)&&(ma100>ma50))||((ma50>ma100)&&(ma100>ma30))||((ma50>ma30)&&(ma30>ma100))||((ma50>ma30)&&(ma30>ma100))||((ma50>ma100)&&(ma100>ma30))||((ma100>ma30)&&(ma30>ma50))||((ma100>ma30)&&(ma30>ma50)))
   if((ma30<ma50)&&(ma50<ma100))
    {
     if((Close[0]<ma)&&(Close[1]>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<OrdersTotal();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<OrdersTotal();i++)
               {
                   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                     {
                       if(OrderSymbol()==Symbol())   
                         {
                            if(OrderType()==OP_BUY)
                              {
                                 if(maxticket<OrderTicket())
                                   {
                                      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<OrdersTotal();i++)
               {
                   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                     {
                       if(OrderSymbol()==Symbol())   
                         {
                            if(OrderType()==OP_SELL)
                              {
                                 if(maxticket<OrderTicket())
                                   {
                                      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<OrdersTotal();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<OrdersTotal();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<OrdersTotal();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);
                   }
  }

1

主题

22

积分

0

精华

外汇入门

金钱
22 美元
权重
0
板凳
 楼主| 发表于 2016-11-27 04:45 | 只看该作者
很简单的代码,一看就懂。

0

主题

21

积分

0

精华

外汇入门

金钱
21 美元
权重
0
地板
发表于 2017-1-19 12:54 | 只看该作者
不够详细

0

主题

14

积分

0

精华

见习期-审核

金钱
14 美元
权重
0
5
发表于 2017-1-24 08:59 | 只看该作者
谢谢分享......

0

主题

21

积分

0

精华

外汇入门

金钱
21 美元
权重
0
6
发表于 2017-5-8 16:52 | 只看该作者
这个指标不懂怎么用呢
您需要登录后才可以回帖 登录 | 快捷注册(禁q号)

本版积分规则

QQ|黄金吧|黄金论坛|手机版|指标下载|非农|目录|交易危机

版权所有: ©2014-2021 fx3q.com Powered by Discuz! X3
皖ICP备: 2024050410号-2

风险提示:杠杆风险高,交易要谨慎 声明:坛友发言和回复均为个人观点,不代表论坛立场。
若有侵权请联系fx3q@qq.com删除

快速回复 返回顶部 返回列表