8848 发表于 2018-1-16 23:25:31

请高手给完善这个策略的EA,有问题联系我一起探讨

//+------------------------------------------------------------------+
//|                                                      17002.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
extern double Lots=0.07;
extern int sun=320;
extern int ying=8500;
int init()
{
   return(0);
}
int deinit()
{
   return(0);
}
int start()
{
    double ema5=iMA(Symbol(),0,5,0,MODE_EMA,PRICE_CLOSE,0);
    double ema5p=iMA(Symbol(),0,5,0,MODE_EMA,PRICE_CLOSE,1);
    double ema20=iMA(Symbol(),0,20,0,MODE_EMA,PRICE_CLOSE,0);
    double ema20p=iMA(Symbol(),0,20,0,MODE_EMA,PRICE_CLOSE,1);
    double ema30=iMA(Symbol(),0,30,0,MODE_EMA,PRICE_CLOSE,0);
    double ema30p=iMA(Symbol(),0,30,0,MODE_EMA,PRICE_CLOSE,1);
    double ema55=iMA(Symbol(),0,55,0,MODE_EMA,PRICE_CLOSE,0);
    double ema55p=iMA(Symbol(),0,55,0,MODE_EMA,PRICE_CLOSE,1);
    double ema144=iMA(Symbol(),0,144,0,MODE_EMA,PRICE_CLOSE,0);
    double ema144p=iMA(Symbol(),0,144,0,MODE_EMA,PRICE_CLOSE,1);
    double rsi=iRSI(Symbol(),0,8,PRICE_CLOSE,0);
    double rsip=iRSI(Symbol(),0,8,PRICE_CLOSE,1);
    double macd=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
    double macdp=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
    double macd1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
    double macdp1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
    if((ema5>ema5p)&&(ema20>ema20p)&&(ema144>ema144p))//buy
      {
      if((rsi>50)&&(rsip<50))
          {
            if((rsi-rsip)>17)
            {
                if(macd>macd1)
                  {
                  for(int i=0;i<OrdersTotal();i++)
                      {
                        if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                        {
                            if((OrderComment()==(Symbol()+"sell")))   
                              {
                                 OrderClose(OrderTicket(),OrderLots(),Ask,300);   
                              }
                        }
                      }
                  }
            }
          }   
      buy(getlots(),sun,ying,Symbol()+"buy",0);
      }
    if((ema5<ema5p)&&(ema20<ema20p)&&(ema144<ema144p))//sell
      {
      if((rsi<50)&&(rsip>50))
          {
            if((rsip-rsi)>17)
            {
                if(macd<macd1)
                  {
                  for(int i1=0;i1<OrdersTotal();i1++)
                      {
                        if(OrderSelect(i1,SELECT_BY_POS,MODE_TRADES))
                        {
                            if((OrderComment()==(Symbol()+"buy")))   
                              {
                                 OrderClose(OrderTicket(),OrderLots(),Bid,300);
                              }               
                        }
                      }
                  }   
            }
          }
         sell(getlots(),sun,ying,Symbol()+"sell",0);
      }
   return(0);
}

页: [1]
查看完整版本: 请高手给完善这个策略的EA,有问题联系我一起探讨