Уважаемый Sergo ф-ия "OrdersTotal()" возвращает общее количество открытых и отложенных ордеров, а Вам нужна HistoryTotal() с параметром "MODE_HISTORY". Будьте внимательны.
P.S. потому-то и возвращает 0, что у всех открытых и отложенных ордеров время закрытия пока еще отсутствует и условие "OrderCloseTime() > OrderTime" не выполняется.
P.S. потому-то и возвращает 0, что у всех открытых и отложенных ордеров время закрытия пока еще отсутствует и условие "OrderCloseTime() > OrderTime" не выполняется.
Посмотрите в справке bool OrderSelect() в части использования параметра MODE_HISTORY.
Огромное спасибо всем за подсказку!
Просто ни разу не пользовалься функцией HistoryTotal(). Оказывается, это аналог OrdersTotal(), только для закрытых и удалённых ордеров. Теперь всё понятно. А я пытался сохранять у каждого ордера уникальный тикет. Ещё пробовал следить за изменениями AccountBalance(). Это всё муторно и ненадёжно.
В вышеупомянутой функции всего лишь нужно заменить вызов OrdersTotal() на HistoryTotal(). Только и всего.
Ещё раз спасибо!
Просто ни разу не пользовалься функцией HistoryTotal(). Оказывается, это аналог OrdersTotal(), только для закрытых и удалённых ордеров. Теперь всё понятно. А я пытался сохранять у каждого ордера уникальный тикет. Ещё пробовал следить за изменениями AccountBalance(). Это всё муторно и ненадёжно.
В вышеупомянутой функции всего лишь нужно заменить вызов OrdersTotal() на HistoryTotal(). Только и всего.
Ещё раз спасибо!
В вышеупомянутой функции всего лишь нужно заменить вызов OrdersTotal() на HistoryTotal(). Только и всего.
Не только.
Не только.
Поясните, пожалуйста. Что ещё нужно изменить, кроме замены функции?
OrderType()
OrderType()
Не согласен.
Дело в том, что, по моему разумению, прибыль удалённого отложенного ордера равна нулю. А именно это мне и нужно. Мне не надо проверять тип ордера в истории. Нужен именно профит последнего ордера. Независимо от его типа. Так уж устроен эксперт, такая у него логика.
В вышеупомянутом примере просто заменил OrdersTotal() на HistoryTotal(), и всё заработало как надо. Прогонял тесты на истории, потом водил пальцем по результатам тестирования. Проверял, отрабатывает ли эксперт именно мою задумку. Всё ок!
Спасибо за помощь!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помогите, кто знает, советом.
Есть такая функция в эксперте:
Смысл её в том, чтобы получить значение прибыли у последнего закрытого ордера. Но она всегда выдаёт ноль. Почему? Включает ли OrdersTotal() закрытые и удалённые ордера? Как добраться до закрытого ордера по номеру индекса?
Заранее благодарю за помощь!