- Обновление платформы MetaTrader 4 build 670: виртуальный хостинг, web-запросы и работа с сигналами из MQL-программ
- [ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
- Машинное обучение в трейдинге: теория и практика (торговля и не только)
Собственно вопрос в теме ветки. Отловить закрылся ли ордер по StopLoss или TakeProfit на реальном рынке достаточно просто, а как отловить это в тестере. Подкиньте идею.
А зачем придумали в тестере результаты по сделкам ? чёт не пойму... )))))))
Смотрите внимательно в тестер на результаты ! ;-)
Собственно вопрос в теме ветки. Отловить закрылся ли ордер по StopLoss или TakeProfit на реальном рынке достаточно просто, а как отловить это в тестере. Подкиньте идею.
Есть несколько способов, например использовать ф-цию OrderClosePrice( ), или ещё проще будет использовать ф-цию OrderProfit( ) :
OrderSelect(... , ... , MODE_HISTORY); if(OrderProfit()>0) // значит закрылся по TP // код
По этой ссылке "имеют место быть", -
Функция isCloseLastPosByStop().
Эта функция возвращает флаг закрытия последней позиции по стопу. Флаг поднят - True - сработал StopLoss. Флаг опущен - False - позиция была закрыта по другой причине.
.
А также, -
Функция isCloseLastPosByTake().
Эта функция возвращает флаг закрытия последней позиции по тейку. Флаг поднят - True - сработал TakeProfit. Флаг опущен - False - позиция была закрыта по другой причине.
//----------------------------------------------------------------------------------
Вставьте их в коммент эксперта и получите отображение на графике. Сам делал так и проверял соответствие.
Да все очень просто:
OrderSelect(... , ... , MODE_HISTORY); if(OrderType == OP_BUY) { if(OrderClosePrice() >= OrderTakeProfit() && OrderTakeProfit() != 0) // закрылись в профит if(OrderClosePrice() <= OrderStopLoss()) // закрылись по стопу } else if(OrderType() == OP_SELL) { if(OrderClosePrice() <= OrderTakeProfit()) // закрылись в профит if(OrderClosePrice() >= OrderStopLoss() && OrderStopLoss() != 0) // закрылись по стопу }
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования