как определить сколько времени прошло со времени открытия последней
позиции?
Как-то так:
datetime ctm, order_time; int _OrdersTotal = OrdersTotal(); for ( int z = _OrdersTotal - 1; z >= 0; z -- ) { if ( !OrderSelect( z, SELECT_BY_POS ) ) { err = GetLastError(); //Print( "OrderSelect( ", z, ", SELECT_BY_POS ) - Error #", err, "; mess: " , ErrorDescription(err)); continue; } // проверить, не закрыт ли ордер ctm = OrderCloseTime(); if (ctm > 0) continue; order_time = OrderOpenTime(); // сохранять max время из всех order_time // ... }
а по подробнее можно ту я смотрю только две функции одна показывает
время открытия ордера другая время закрятия, а мне нужно определить
сколько времения прошло(на текуший момент, в сек , мин -не важно) с открытия последней
позиции?
//+----------------------------------------------------------------------------+ //| Возвращает количество секунд после открытия последней позиций. | //| Параметры: | //| 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(TimeCurrent()-oot); }
Вопрос требует уточнения - последней открытой и незакрытой позиции? Или любой последней по времени открытой позиции, независимо от её текущего статуса?
В первом случае нужно проверять также и OrderCloseTime, во втором - нет.
В первом случае нужно проверять также и OrderCloseTime, во втором - нет.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь