Похоже асинхронкой никто не заморачивается. ((((
Надо смотреть у конкретного брокера/ДЦ. Могут посылать разные события. Соответственно, и обрабатывать их нужно по-разному.
Рекомендую сделать так: после отправки приказа, сделайте принт OnTradeTransaction(). От этого и исходите.
Спасибо за ответ.
Я интересуюсь как перехватывать флаг.
Как сделал бы я.
В MQLRequest запихал бы флаг ORDER_STATE_REQUEST_MODIFY.
Затем в OntradeTransaction проверял бы что транзакция закончилась.
И сбрасывал этот флаг перед следующим изменением.
Вот как выглядят сигналы транзакции. Почему интересно два раза Placed?
Спасибо за ответ.
Я интересуюсь как перехватывать флаг.
Как сделал бы я.
В MQLRequest запихал бы флаг ORDER_STATE_REQUEST_MODIFY.
Затем в OntradeTransaction проверял бы что транзакция закончилась.
И сбрасывал этот флаг перед следующим изменением.
promise подручными костылями :-)
как-бы уже классика - асинхронная операция возращает promise (но не тут).
тут простые пользователи вынуждены городить огороды костылей
Поэтому асинхронные операции в MQL - ЗЛО
нет промайзов нету асинков. точка
Спасибо за ответ.
Я интересуюсь как перехватывать флаг.
Как сделал бы я.
В MQLRequest запихал бы флаг ORDER_STATE_REQUEST_MODIFY.
Затем в OntradeTransaction проверял бы что транзакция закончилась.
И сбрасывал этот флаг перед следующим изменением.
Вот как выглядят сигналы транзакции. Почему интересно два раза Placed?
Выводите в лог всю информацию о событиях (из структур) - тогда будет понятно, что произошло.
promise подручными костылями :-)
как-бы уже классика - асинхронная операция возращает promise (но не тут).
тут простые пользователи вынуждены городить огороды костылей
Поэтому асинхронные операции в MQL - ЗЛО
нет промайзов нету асинков. точка
Тут асинхронка другая. Это не асинхронка на процессоре. Это передача запроса без ожидания возврата. Наверное с терминологией (классической) и путаница.
В данной теме обсуждаем как получить флаги того что ордер изменил статус.
Тут асинхронка другая. Это не асинхронка на процессоре. Это передача запроса без ожидания возврата. Наверное с терминологией (классической) и путаница.
В данной теме обсуждаем как получить флаги того что ордер изменил статус.
асинхронная операция (даже параллельная и удалённая) возвращает promise сиречь "надежду на исход". Который можно проверить на завершено/нет, и в итоге получить результат. Даже отменить
что возвращает OrderSendAsync ?
некий bool - как признак что операция вообще принята
и мёртвую структуру MqlTradeResult по ссылке, с которой ничего сделать нельзя.
Поэтому async - не в моде.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет. Поделитесь пожалуйста порядком и методами как Вы работаете с флагами при обработке асинхронного запроса.
Как проверяете к примеру что ордер на модификацию в работ, отправлен и закончен?
Лучше стандартными функциями.
А то я совсем запутался. Вводить свои флаги или нет.
Спасибо.