Скачать MetaTrader 5

Игнорирует попытку открыть ордер.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Denis Gaynetdinov
232
Denis Gaynetdinov  
if (CountTrades(Magic) == 0)
  {
      ticket = OrderSend(Symbol(),OP_BUY,lot,Ask,Slippage,0,0,NULL,Magic,0,Blue);
     
  }
if (CountTrades(Magic2) == 0)
  {
      ticket = OrderSend(Symbol(),OP_SELL,lot,Bid,Slippage,0,0,NULL,Magic2,0,Red);
 

  }


int CountTrades(int mn)
{
    int count = 0;
    for (int i=OrdersTotal()-1; i>=0; i--)
    {
        if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
           if (OrderSymbol() == Symbol() && OrderMagicNumber() == mn)
               count++;
        }
    }
   return(count);
}


Какого же хрена ему надо?
В таком виде открывает только первый ордер, если удалить первый - откроет второй.

Ihor Herasko
9307
Ihor Herasko  
Pecmop:

Какого же хрена ему надо?

В таком виде открывает только первый ордер, если удалить первый - откроет второй.

По всей видимости, значение Magic равно значению Magic2.

P. S. Для вставки кода пользуйтесь кнопкой SRC. 

Denis Gaynetdinov
232
Denis Gaynetdinov  
не равен(
Ihor Herasko
9307
Ihor Herasko  
Pecmop:
не равен(

Весь код покажите. Проблема не в показанной части кода.
Denis Gaynetdinov
232
Denis Gaynetdinov  
Как и не в другой части кода, после обновления мт4(инстафорексовской версии) перестали работать несколько советников.
В другом терминале все замечательно.
Ihor Herasko
9307
Ihor Herasko  
Возможно, среди рабочих ордеров уже есть ордер с таким магиком... Могу только гадать, т. к. весь код так и не представлен.
_SERG_
88
_SERG_  
Pecmop:
if (CountTrades(Magic) == 0)
  {
      ticket = OrderSend(Symbol(),OP_BUY,lot,Ask,Slippage,0,0,NULL,Magic,0,Blue);
     
  }
if (CountTrades(Magic2) == 0)
  {
      ticket = OrderSend(Symbol(),OP_SELL,lot,Bid,Slippage,0,0,NULL,Magic2,0,Red);
 

  }


int CountTrades(int mn)
{
    int count = 0;
    for (int i=OrdersTotal()-1; i>=0; i--)
    {
        if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
           if (OrderSymbol() == Symbol() && OrderMagicNumber() == mn)
               count++;
        }
    }
   return(count);
}


Какого же хрена ему надо?
В таком виде открывает только первый ордер, если удалить первый - откроет второй.

Запусти в отладчике, и посмотри.   Чё гадать?
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий