Советник работает некорректно на нескольких парах - страница 2

 
Andrey Rakhlin:
Использую несколько графиков, на каждом графике один и тот же советник с разным мэджик намбером

 Попробуйте так

//+------------------------------------------------------------------+
int orderprofit(int MagicNumber /*,string symbol*/)
  {
   double profit=-2147483647;
   int time,latest_time=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         continue;
      if(OrderMagicNumber()!=MagicNumber)
         continue;
      if(OrderType()>OP_SELL)
         continue;
/*
      if(OrderSymbol()!=symbol)      // проверка на символ ордера 
         continue;
*/
      time=(int)OrderOpenTime();
      latest_time=(int)MathMax(time,latest_time);
      if(time==latest_time)
         profit=OrderProfit()+OrderCommission()+OrderSwap();
     }
   if(profit==-2147483647)
      return -1;    // с этим "MagicNumber" нет открытых ордеров, обязательна обработка возвращаемого значения "-1"
   if(profit>=0.0)
      return 1;     // ордер в прибыли или прибыль равна "0.0"
   else
      return 0;     // ордер в убытке 
//---
   return -1;
  }
//+------------------------------------------------------------------+

 Без разъяснения что вы делаете с возвращаемым

int checkforlosses()
  {
   int losses =0;
//--- 
//ваш код  
//---
   return(losses);
  }

не могу ничего посоветовать.

 
Всем выражаю благодарность! Все получилось 
Причина обращения: