Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Публикуй программы в Маркете. Зарабатывай с помощью своих знаний!
Роман
7939
Роман 2011.03.04 05:05  
skinet21:
Подскажите, пожалуйста, как написать при закрытии ордера, чтобы если пришел сигнал на закрытие, то ордер закрывался до тех пор пока не закроится, даже если условие на закрытие уже не выполняется. вот код условия закрытия ордера for(int i=0;i =Ask){ OrderClose(OrderTicket(),OrderLots(),Ask,proskalse,White); } } } } } странно часть кода обрезали.


В самом внешнем цикле закрытия ордеров укажите условие - пока есть рыночные ордера, т.е. пока их количество не равно нулю, то дальше уже в цикле по живым ордерам производите их закрытие, а вообще гляньте - хотя бы ради прикола учебник, например здесь - функция CloseAll() и отобразите у себя по аналогии, если у Вас не ведутся массивы с характеристиками ордеров, просто выбираете ордера и вперед...

Примечание. В цикле For... ордера необходимо выбирать от последнего к первому при их закрытии.

Например, так

//+------------------------------------------------------------------+
//| Закрытие всех позиций                                            |
//+------------------------------------------------------------------+

void CloseAllOrders(int magic)
{
   for (int orderIndex = (OrdersTotal() - 1); orderIndex >= 0; orderIndex--)
   {
      if (OrderSelect(orderIndex, SELECT_BY_POS))
      {
         if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == magic))
         {
            if ((OrderType() != OP_BUY) && (OrderType() != OP_SELL))
            {
               OrderDelete(OrderTicket());
            }
            else
            {
               ClosePosBySelect();
            }
         }
      }
   }
}
Andrey Alehin
192
Andrey Alehin 2011.03.04 06:09  

Вот так, пойдет?

Файлы:
mrexccr.rar 7 kb
bolt
67
bolt 2011.03.04 14:30  
skinet21:

Вот так, пойдет?

Не надо изобретать велосипед. Используйте функции KimIV :

https://forum.mql4.com/ru/38949
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий