判断是否金叉的代码

楼主  收藏   举报   帖子创建时间:  2019-05-05 12:46 回复:0 关注量:166
//////////////////////////////////////////////////////  
  ///////////下面开始判断是否发生金叉了  
  ///////////////////////////////////////////////////////  
  if ((FasterMANow > SlowerMANow) && (FasterMAPrevious <= SlowerMAPrevious)) {  
      if ((TotalOrders(Magic_Number)==0) && (Time[0]>last_t))  ///如果当前的EA还没有下单  
      {  
        RefreshRates();  ///刷新市场报价  

        ////////////////////////////////////////  
        ///下单都是用OrderSend()函数来进行的,这是个系统函数,详细说明可以在文档里面查到  
        OrderSend(Symbol(), OP_BUY, Lots, NormalizeDouble(Ask,Digits), 30, NormalizeDouble(Ask-StopLoss*Point,Digits),  
            NormalizeDouble(Ask+TakeProfit*Point,Digits), "B MA5Cross10", Magic_Number, 0, Blue);  
        last_t = Time[0];  
        return (0);   
      }         
  }  
  ////////////////////////////////////////////////////////////  
  ///如果没有发生金叉,则下面开始判断是否发生死叉  
  //////////////////////////////////////////////////////////////  
      else if ((FasterMANow < SlowerMANow) && (FasterMAPrevious >= SlowerMAPrevious)) {  
        if ((TotalOrders(Magic_Number)==0) && (Time[0]>last_t))   
        {  
            RefreshRates();  
            OrderSend(Symbol(), OP_SELL, Lots, NormalizeDouble(Bid,Digits), 30, NormalizeDouble(Bid+StopLoss*Point,Digits),  
              NormalizeDouble(Bid-TakeProfit*Point,Digits), "S MA5Cross10", Magic_Number, 0, Red);  
            last_t = Time[0];  
            return (0);   
        }           
      }   
//----  
  return(0);  
  }  
//+------------------------------------------------------------------+  
////////////////////////////////////////////////////////////////////  

打赏