Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся активность участников MQL5.community на одной странице!
Denis Gaynetdinov
224
Denis Gaynetdinov 2015.06.04 12:18 
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
8470
Ihor Herasko 2015.06.04 12:22  
Pecmop:

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

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

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

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

Denis Gaynetdinov
224
Denis Gaynetdinov 2015.06.04 12:28  
не равен(
Ihor Herasko
8470
Ihor Herasko 2015.06.04 13:49  
Pecmop:
не равен(

Весь код покажите. Проблема не в показанной части кода.
Denis Gaynetdinov
224
Denis Gaynetdinov 2015.06.04 17:20  
Как и не в другой части кода, после обновления мт4(инстафорексовской версии) перестали работать несколько советников.
В другом терминале все замечательно.
Ihor Herasko
8470
Ihor Herasko 2015.06.04 20:28  
Возможно, среди рабочих ордеров уже есть ордер с таким магиком... Могу только гадать, т. к. весь код так и не представлен.
_SERG_
85
_SERG_ 2015.06.09 18:55  
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);
}


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

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