Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В том то и дело, что асинхронный запрос никакого статуса "удачно отправленный" практически не дает.
Успешное завершение функции означает лишь что "с точки зрения клиента ордер выглядит корректным и был брошен в сетевую трубу, ответ ждите в OnTrade".
Сорри, отсутствовал немного.
Хотелось бы всё-таки уточнить вот эту фразу: "ответ ждите в OnTrade" применительно к ситуации, когда запрос не дошёл до сервера.
Если запрос не дошёл до сервера, то не будет сгенерировано ни одного события Trade, которое могло бы относиться к этому "пропавшему" запросу. Ведь правильно? А раз так, то и в OnTrade() я никакого соответствующего ответа не дождусь. Правилен ли будет такой вывод:
При успешном завершении функции OrderSendAsync() запрос может не дойти до сервера, и в этом случае бесполезно дожидаться ответа в OnTrade()
?
sergeev:
Спс! Получается, что удачно отправленный асинхронный запрос может запросто потеряться и не попасть в историю.
нет.
Поясните, пожалуйста. "Нет" - это у меня неправильный вывод, или же это его подтверждение?
Скорее всего речь идёт о неправильности моего вывода, но ведь Ренат ранее сказал, что "если запрос не дошел до сервера, то в клиентском терминале у него нет никаких шансов появиться". Продолжая эту логику, получаю: если у запроса нет никаких шансов появиться в клиентском терминале, то у него нет никаких шансов попасть в базу терминала и, соответственно, нет никаких шансов попасть в базу исторических ордеров. Если эти умозаключения не верны, то где ошибка и в чём она заключается?
В том то и дело, что асинхронный запрос никакого статуса "удачно отправленный" практически не дает.
Успешное завершение функции означает лишь что "с точки зрения клиента ордер выглядит корректным и был брошен в сетевую трубу, ответ ждите в OnTrade".
Надеюсь что OnTrade будет в ближайшее время доработан таким образом что проверку аля "запрос не дошел до сервера" пользователь сможет организовать без проблем, собственно как и остальные виды контроля исполнения.
потому как в теперешнем виде OnTrade не способен на такие подвиги, поскольку не имеет понятия с откликом по какому запросу он работает.
Надеюсь что OnTrade будет в ближайшее время доработан таким образом что проверку аля "запрос не дошел до сервера" пользователь сможет организовать без проблем, собственно как и остальные виды контроля исполнения.
потому как в теперешнем виде OnTrade не способен на такие подвиги, поскольку не имеет понятия с откликом по какому запросу он работает.
В приципе, мы можем добавить виртуальный ответ "заявка обломилась по таймауту", если после отсылки запроса не получим от сервера в течение 5-10 секунд ответа о том, что заявка достигла сервера.
Это позволит отловить облом заявки в OnTrade. Правда для этого надо будет перегрузить функцию с добавлением параметров.
Если запрос не дошёл до сервера, то не будет сгенерировано ни одного события Trade, которое могло бы относиться к этому "пропавшему" запросу. Ведь правильно?
Да, это же логично.
Мы можем добавить виртуальный ответ, как я описал выше. Это позволит контролировать исполнение асинхронных операций.
В приципе, мы можем добавить виртуальный ответ "заявка обломилась по таймауту", если после отсылки запроса не получим от сервера в течение 5-10 секунд ответа о том, что заявка достигла сервера.
Это позволит отловить облом заявки в OnTrade. Правда для этого надо будет перегрузить функцию с добавлением параметров.
Вы меня пугаете,
народ ждёт доработки OnTrade с параметрами, чтоб реализовать контроль исполнения. Вы озвучивали что будет "через один билд" тоесть по хронологии в следующем.
У меня три заказа висят уже несколько месяцев в ожидании когда же, когда же, а вы говорите "мы можем... но для этого нужно перегрузить..."
вы что не делаете доработку OnTrade ???
ЗЫ не знаю как кому но меня такая ситуация как сейчас не устраивает, я отложил написание всех кодов до поры когда в MQL5 будет функционал гарантирующий прямой контроль исполнения, а не косвенно.
Вы меня пугаете,
народ ждёт доработки OnTrade с параметрами, чтоб реализовать контроль исполнения. Вы озвучивали что будет "через один билд" тоесть по хронологии в следующем.
У меня три заказа висят уже несколько месяцев в ожидании когда же, когда же, а вы говорите "мы можем... но для этого нужно перегрузить..."
вы что не делаете доработку OnTrade ???
Напряжемся и постараемся сделать в очередном билде.
Задач в работе на самом деле много, плюс еще пора отпусков - летом обычный темп разработок поддерживать трудно.
Напряжемся и постараемся сделать в очередном билде.
Задач в работе на самом деле много, плюс еще пора отпусков - летом обычный темп разработок поддерживать трудно.
Фуф, аж отлягло :)
реально испужался, ведь вполне реальная ситуация, поговорили разошлись и забыли, а народ ждёт надеиЦо :)
носки штопает, эх дожить бы :))
Метаквоты делают сильный, легкий и универсальный терминал.
Сильный и легкий они уже научились делать. Но тут другая задача - преемственность. Надо увязать в одном терминале все "чпоксы" разных торговых площадок и кучу брокеров. Думаю в этом проблема. Универсальней MQ5 нет.
PS Да парметры OnTrade ждем. И на наших биржевых брокерах. И удачный способ обработки асинхронности нужен. Тогда конкурентов похоже не найдется (по терминалам). Один тестер чего стоит...
В приципе, мы можем добавить виртуальный ответ "заявка обломилась по таймауту", если после отсылки запроса не получим от сервера в течение 5-10 секунд ответа о том, что заявка достигла сервера.
Это позволит отловить облом заявки в OnTrade. Правда для этого надо будет перегрузить функцию с добавлением параметров.
Мы можем добавить виртуальный ответ, как я описал выше. Это позволит контролировать исполнение асинхронных операций.