Закрытие всех ордеров по окончании торговой сессии

 
Подскажите пожалуйста, существует ли скрипт для закрытия всех ордеров по окончании торговой сессии?Заранее спасибо.
 
igorvg74:
Подскажите пожалуйста, существует ли скрипт для закрытия всех ордеров по окончании торговой сессии?Заранее спасибо.
Если по окончании не выходные, то можно и советником (не скриптом, т.к. скрипт придётся активировать вручную).
 
Не подскажите советника или скрипт?
 
igorvg74:
Не подскажите советника или скрипт?

Вроде так должно работать

extern string TimeDelOrders  = "23:57";     // Время удаления ордеров

//+----------------------------------------------------------------------------+
//| Функция                                                                    |
//+----------------------------------------------------------------------------+
void OnTick()
 {
  if(TimeToStr(TimeCurrent(), TIME_MINUTES)>=TimeDelOrders)
   {
    DeleteOrders();
   }
 }

//+----------------------------------------------------------------------------+
//| Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                    |
//+----------------------------------------------------------------------------+
//| Версия   : 13.06.2007                                                      |
//| Описание : Удаление ордеров.                                               |
//+----------------------------------------------------------------------------+
//| Параметры:                                                                 |
//| sy - наименование инструмента   (NULL - текущий символ)                    |
//| op - операция                   ( -1  - любой ордер)                       |
//| mn - MagicNumber                ( -1  - любой магик)                       |
//+----------------------------------------------------------------------------+
void DeleteOrders(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), ot;
  bool res;
  if (sy=="" || sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      ot=OrderType();
      if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
        if (OrderSymbol()==sy && (op<0 || ot==op)) {
          if (mn<0 || OrderMagicNumber()==mn) {
           res=OrderDelete(OrderTicket(), clrNONE);
          }
        }
      }
    }
  }
}
 
Vitaly Muzichenko:

Вроде так должно работать

Спасибо попробую.
 
igorvg74:
Спасибо попробую.
Там у него только лимитки удаляются. Внимательнее.
 
Понял. Спасибо.
 
new-rena:
Там у него только лимитки удаляются. Внимательнее.
Почему только лимитники? Вы очень не внимательны, там удаляет все ордера!
 
Vitaly Muzichenko:
Почему только лимитники? Вы очень не внимательны, там удаляет все ордера!
отложки я имел ввиду
 
new-rena:
отложки я имел ввиду
Я дал код именно того, что просил ТС: (с)"закрытия всех ордеров"
 

там не закрытие, там удаление, Delete дословно по английски удаление

в комментарии функции  написано "Удаление ордеров"

Причина обращения: