//+----------------------------------------------------------------------------+ //| Описание : Возвращает количество минут с момента открытия последней | //| позиции по текущему символу. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ int TimeSinceLastOrderOpen(string sy="", int op=-1, int mn=-1) { datetime oot=0; if (sy=="0") sy=Symbol(); for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (oot<OrderOpenTime()) oot=OrderOpenTime(); } } } } } } int minutes=(int)(TimeCurrent()-oot)/60; return(minutes); } //+----------------------------------------------------------------------------+В бою функцию не проверял, набросал на скорую руку.
Огромное спасибо
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не хватает навыков чтоб законспектировать(!) необходимую функцию.
Необходима чтобы избежать претензий со стороны брокера относительно быстрого закрытия.
Если кто может ее реализовать, и не сильно затруднит - помогите пожалуйста.
Заранее спасибо.