OrderSendAsync не возвращает номер тикета (OnTradeTransaction - ловля блох или асинхронных хаос? ) - страница 4
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
:)
А если отложенный ордер и исполнился не полным объемом?
У ордера заполнены свойства текущего и оставшегося объёма. Точно так же и у позиции.
У ордера заполнены свойства текущего и оставшегося объёма. Точно так же и у позиции.
Причем тут позиция, если вообще нет никаких данных об ордере!
Товарисч предлагает отправить ассинхронный ордер и контролировать позицию. :),
при этом нет не тикета не реквест айди ордера.
К пачке предьяв, справедливо адресованных автором топика в сторону MQ за некорректный, нелогичный и вводящий в заблуждение функционал работы функции OnTradeTransaction() хочу добавить еще несколько топиков.
1. Набор событий, приходящий при выполнении ордеров, различается для форекс-заявок и биржевых заявок. Получается, что если трейдер торгует на едином счете (а такие уже появились у некоторых брокеров), то требуется реализовать две разные логики обработки.
2. Комментарий, выставленный к ордеру, по каким-то неясным причинам указывается только в событии TRADE_TRANSACTION_REQUEST, а в TRADE_TRANSACTION_POSITION не указывается, хотя и проводится в системе потом как комментарий к Позиции.
3. Поле symbol в структуре MqlTradeTransaction у биржевых сделок у части транзакций НЕ заполняется, нужно "переключаться" на анализ поля у стурктуры MqlTradeRequest.
Заявленную автором проблему я как раз пытаюсь решить через указание собственных идентификаторов, но не через поле magic (его я использую для идентификации стратегий), а черезх поле comment.Но по сути это не значит ничего - все эти доп. обработки и "накрутки" логики, необходимые для того чтобы связать ордер и сделки, связанные с его выполнением, требуются задержек, которые нивелиуют преимущество OrderSendAsync, как уже верно было замечено.
При этом удивляет, что MQ продолжают пичкать MT5 таким маржанальным функционалом, как-то работа скриптов Python, который дай бог нужен 0,1% трейдеров, а имеющиеся недостатки текущего функционала, от которого страдают большинство, не исправляют. Под "страданием" я тут понимаю фигурально и все то страдолетство, которое требуется на написание этих диких "костылей", которые необходимы чтобы перекрыть имеющиеся недостатки функционала работы функции OnTradeTransaction().
Поэтому я предлагаю больше тут не обсуждать "костыли", хотя тема и была вначале для этого создана - это все и так понятно, что убив кучу времени, можно написать все что угодно, тем более что у каждого своя вариация в потребностях, и варианты "костылей" могут отличаться; а сделать далее тут сухую выжимку из всей этой помойки проблем, связанных с работой функции OnTradeTransaction(), и как только выйдет новый релиз МТ5 - в "горячем" топике по новому релизу коллективно надавить на сознание менеджеров по развитию продукта в направлении их осознания того, что пришло время навести порядок в работе данной функции.
Причем тут позиция, если вообще нет никаких данных об ордере!
Товарисч предлагает отправить ассинхронный ордер и контролировать позицию. :),
при этом нет не тикета не реквест айди
А как я всё нахожу? Шайтан?
А как я всё нахожу? Шайтан?
Можно, при желании, найти все, написав несколько страниц кода.
Только зачем?
Все очень просто, посмотрите "на досуге" (на ФОРЕКС не тестил)
Можно, при желании, найти все, написав несколько страниц кода.
Только зачем?
Все очень просто, посмотрите "на досуге" (на ФОРЕКС не тестил)
Не буду. Зачем? У меня иной досуг.
Не буду. Зачем? У меня иной досуг.
Я подтвердил свои слова конкретным кодом, Вы отказались...
Значит у Вас только Шайтан.
Я подтвердил свои слова конкретным кодом, Вы отказались...
Значит у Вас только Шайтан.
Значит Шайтан.
Я ничего и не хотел подтверждать. Сказал что всё находится. Только иным путём. Пусть это будет любимым словом "костыль".
Вам же, как я понял, нужно щелчком пальцев и строчкой кода всё получить. Так сказать "решение из коробки".
Но MQ дало всеобъемлющий инструментарий. Кто-то им пользуется, а кто-то жалуется на жизнь костыльную и тяжёлую.
Я не настаиваю. Jedem das Seine
Значит Шайтан.
Я ничего и не хотел подтверждать. Сказал что всё находится. Только иным путём. Пусть это будет любимым словом "костыль".
Вам же, как я понял, нужно щелчком пальцев и строчкой кода всё получить. Так сказать "решение из коробки".
Но MQ дало всеобъемлющий инструментарий. Кто-то им пользуется, а кто-то жалуется на жизнь костыльную и тяжёлую.
Я не настаиваю. Jedem das Seine
Понятна Ваша позиция.
Добавлено
Даже в КВИК используется точно такой же механизм как в МТ5, при отправке асинхронных ордеров (и почему-то тоже работает)
МТ5
Добавлено
С 2013 года использую OnTradetransaction() с асинхронными ордерами на реале
и до сих пор никаких проблем не было!