Скрипт, которые закрывают позицию после прошествия определенного времени.

 
Уважаймые, нет ли у кого, советника или библиотеки, (можно просто кусок кода) которые закрывают позицию после прошествия определенного времени, то есть, если не сработал лосс или профит позиция закрылась и дальше по алгоритму...
 
TimeCurrent()-OrderOpenPrice() = сколько секунд прошло с момента открытия
 
Имелось в виду конечно же вот это:
TimeCurrent()-OrderOpenTime() = сколько секунд прошло с момента открытия
 
Могу предложить свою функцию, которая возвращает количество секунд, прошедшее с момента открытия последней позиции:

//+----------------------------------------------------------------------------+
//|  Возвращает количество секунд после открытия последней позиций.            |
//|  Параметры:                                                                |
//|    sym - наименование инструмента  ("" - текущий символ)                   |
//|    op  - операция                  (-1 - любая позиция)                    |
//|    mn  - MagicNumber               (-1 - любой магик)                      |
//+----------------------------------------------------------------------------+
datetime SecondsAfterOpenLastPos(string sym="", int op=-1, int mn=-1) {
  datetime oot;
  int      i, k=OrdersTotal();
 
  if (sym=="") sym=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sym) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (oot<OrderOpenTime()) oot=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(CurTime()-oot);
}

А использовать её можно, например, так:

if (SecondsAfterOpenLastPos()>3600) Вызов функции закрытия позиций
 

Огромное спасибо ВСЕМ, буду работать.

 

Я не силён в програмировании, учусь по аналогии, есть ли у кого эксперт со встроенной функцией закрытия. Алгоритм примерно такой: 1. Сигнал к открытию длинной (короткой) позиции-открываем с выставлением стопов, профитов и трейлинг; если цена движется во флете (ни стоп, ни профит, ни трейлинг не срабатывают через заданное количество периодов (не времени) на котором тестируется этсперт то закрываемся, если трейлинг хотя бы один раз сработал и перенес стоплосс в безубыток, закрытие по времени отменяется и ждем срабатывания по ордерам.

не подскажите где взять скрипт который более подробно выводит информацию о результатах тестирования, например среднее время позиции (короткой, длинной), время нахождения в рынке, да с выгрузкой в Exel

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