Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Надо бы пояснить:
TRADE_RETCODE_PLACED для OrderSend - это ответ сервера.
TRADE_RETCODE_PLACED для OrderSendAsync - это ответ терминала.
Коды хоть и одинаковые, но имеют совершенно разный смысл. Скорее всего, разработчики исправят эту неоднозначность.
Поэтому понимать это:
нужно в соответствующем контексте.
OrderSend может получать ответ, как от сервера, так и от терминала (в случае неудачного прохождение фильтров терминала).
OrderSendAsync получает ответ всегда только от терминала. Для получения ответа от сервера нужно отлавливать соответсвующие события в onTrade.
OrderSend может получать ответ, как от сервера, так и от терминала (в случае неудачного прохождение фильтров терминала).
Правильно ли я понял следующую мысль:
Терминал проверил запрос от OrderSend и успешно отправил его на сервер, при этом retcode получил промежуточное значение TRADE_RETCODE_PLACED. В этот момент связь прерывается, и всё, что функция OrderSend может вернуть - это "застрявший" в поле retcode код TRADE_RETCODE_PLACED? Это и будет тем примером, когда OrderSend возварщает TRADE_RETCODE_PLACED?
Правильно ли я понял следующую мысль:
Терминал проверил запрос от OrderSend и успешно отправил его на сервер, при этом retcode получил промежуточное значение TRADE_RETCODE_PLACED. В этот момент связь прерывается, и всё, что функция OrderSend может вернуть - это "застрявший" в поле retcode код TRADE_RETCODE_PLACED? Это и будет тем примером, когда OrderSend возварщает TRADE_RETCODE_PLACED?
Возможно и так, но сомневаюсь. Скорее всего, при подобном обрыве связи будет TRADE_RETCODE_TIMEOUT через TimeOut-время.
Честно говоря, не понимаю, для чего нужно это занудство в случае OrderSend. Возможно, разработчики пояснят в справке подробнее.
P.S. Ни строчки не написал на MQL5. Поэтому все мои мысли по теме можно игнорировать.
...Всё равно, ерундистика какая-то. В Руководстве пользователя клиентского терминала (январь 2012) сказано, что одна из стадий ордера - это стадия "установленный(placed) - дилер принял ордер".
Т.е. из Руководства следует, что placed сигнализирует о стадии жизни торгового запроса, когда он уже благополучно добрался до сервера. А в описании функции OrderSendAsync() говорится прямо противоположное - что код TRADE_RETCODE_PLACED не зависит от прибытия на сервер.
Честно говоря, не понимаю, для чего нужно это занудство в случае OrderSend.
Вообще любой может написать последовательный MyOrderSend через OrderSendAsync:
При такой реализации MyOrderSend будет полностью совпадать с штатной OrderSend (которую можно просто упразднить из API, реализовав через OrderSendAsync в штатной библиотеке).
При такой реализации MyOrderSend будет полностью совпадать с штатной OrderSend (которую можно просто упразднить из API, реализовав через OrderSendAsync в штатной библиотеке).
Вообще, ввод OrderSendAsync - историческое для Metatrader событие. За все время существования торгового API (начиная с Metatrader3 (более ранних не видел)) Metatrader, пусть и реализованного через свой собственный язык, оно оставалось практически неизменным по сути. OrderSendAsync - первое по существу изменение торгового API от Metaquotes.
Искренне поздравляю компанию разработчиков с этим событием и желаю довести асинхронную модель до адекватной полноценности!
Техническое сообщение. Собираем интересные высказывания в одну тему.
Учтите, что есть и будут лимиты на количество одновременных заявок в очереди исполнения от одного счета. Сейчас это 16 заявок, если я не ошибаюсь.
Асинхронные операции будут аккуратно работать с учетом "окна количества допустимых заявок", ожидая исполнения части предыдущей пачки перед посылкой очередной порции. Кроме того, будут защиты от глупого/тестового флуда. Пока при переполнении количества разрешенных заявок приходит ошибка.
Новый метод асинхронных операций через OrderSendAsync решает главную задачу - позволяет мгновенно провести десяток операций. Это очень мощное средство и пользоваться им надо аккуратно и обязательно с оглядкой на возможность бана со стороны сервера и брокера.