如何更正我的代码以使我的Expectation Advisor进行交易?

时间:2020-05-12 19:42:38

标签: mql4

我的EA一次只对一个货币对进行一次交易,在当前交易结束之前,它不理会其他货币对。我决定修改它。现在完全没有交易了。

   int Hour = TimeHour(TimeCurrent());
   int DayOfWeek = DayOfWeek();
   int total = OrdersTotal();
   int count=0;

   for(int i=0; i<total; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol() == _Symbol && OrderMagicNumber()==MagicNumber)
        {
         Alert("Inside Order Select if");
         // Checking if spread is less than 2.0 pips.
         if(current_spread <= AllowableSpread)
           {
            // Checking for days of the week
            if(DayOfWeek >= 1 && DayOfWeek <= 5)
              {
               // Checking for time of the day
               if(Hour >= 3 && Hour <= 20)
                 {
                  if(ADXValue > 25)
                    {
                     if(RSIValue > 50 || RSIValue < 20)
                       {
                        if(PreviousFast<PreviousSlow && CurrentFast > CurrentSlow)
                           ticket = OrderSend(Symbol(), OP_BUY, LotSize, Ask, Slippage, Ask-(StopLoss*pips), Ask+(TakeProfit*pips), NULL, MagicNumber, 0, Green);
                        if(ticket<0)
                           Print("OrderSend failed with error #",GetLastError());
                        else
                           Print("OrderSend placed successfully");
                       }
                     if(RSIValue < 50 || RSIValue > 70)
                       {
                        if(PreviousFast>PreviousSlow && CurrentFast < CurrentSlow)

                           ticket = OrderSend(Symbol(), OP_SELL, LotSize, Bid, Slippage, Bid+(StopLoss*pips), Bid-(TakeProfit*pips), NULL, MagicNumber, 0, Red);
                        if(ticket<0)
                           Print("OrderSend failed with error #",GetLastError());
                        else
                           Print("OrderSend placed successfully");
                       }
                    }
                 }

0 个答案:

没有答案