Плохо. Потому что нужно было смотреть https://docs.mql4.com/ru/trading/OrderSend
И там написано (в самом начале):
"Основная функция, используемая для открытия позиции или установки отложенного ордера.
Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи."
И вообще - там много чего написано. Только читать надо :(
Похоже я не правильно сформулировал вопрос. Ведь ticket будет >0, если ордер будет выставлен отложенным. А меня интересует, как узнать, что этот ордер стал рыночным (сработал) по цене sellstop?
2 решения:
1.) Проверять на каждом новом тике есть ли изменения в количестве открытих ордеров.
2.) MQL5 - событие Trade - https://www.mql5.com/ru/docs/runtime/event_fire#trade
надо уникально пометить отложник и проверять не появился ли рыночный ордер с такой меткой, если да, то ордер был преобразован
Вы сейчас понасоветуете.
Надо запомнить номер тикета, а после выбирать ордер по номеру тикета и проверять его тип. Если он стал OP_SELL, то ордер исполнился.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
int start() { ticket=OrderSend(Symbol(),OP_SELLSTOP,lot,Low[1]-distance*Point,0,High[1]+distance*Point+spread*Point,0,NULL,0,TimeCurrent()+60*60,Red); return(0); }Скажите, как узнать, что этот ордер был исполнен? Где-то видел, но не помню уже. В поисковике не нашел (сложно подобрать ключевые слова)...