В общем, ждем ответа от MQ. По-моему, это баг, когда ордер есть на торговом сервере, а после синхронной OrderSend на Терминале об этом ни духом.
Я скажу больше, надо просить разработчиков обеспечить полную синхронность OrderSend, как на терминале, так и на сервере. В противном случае, если синхронность исполнения не гарантированна, то зачем нужна эта функция? Для этих целей уже есть OrderSendAsync.
Может есть смысл сделать общие файлы? Сейчас пишу коды универсальные, без правок работают и в мт 4 и в мт 5, единственное что напрягает это постоянное переименовывание mq4 и mq5 пришла мысль в связи с проектами может сделать общее расширение типа mq ?
И просто можно код копировать из терминала в терминал без правок расширений...
Может есть смысл сделать общие файлы? Сейчас пишу коды универсальные, без правок работают и в мт 4 и в мт 5, единственное что напрягает это постоянное переименовывание mq4 и mq5 пришла мысль в связи с проектами может сделать общее расширение типа mq ?
И просто можно код копировать из терминала в терминал без правок расширений...
А кто запрещает эти коды прописать в файлы mqh и подключать их с помощью (#include). Что я и делаю уже довольно давно.
Я скажу больше, надо просить разработчиков обеспечить полную синхронность OrderSend, как на терминале, так и на сервере. В противном случае, если синхронность исполнения не гарантированна, то зачем нужна эта функция? Для этих целей уже есть OrderSendAsync.
Уточню. Синхронность выставления ОРДЕРА в торговую систему платформы и сам Терминал.
32 миллисекунды ордер есть, но его в Терминале нет! Только представьте себе, какие это может нести последствия, если в этом интервале выполнялась торговая логика...
Интересно, что фантомные ордера чаще всего присутствуют только при TRADE_TRANSACTION_ORDER_DELETE и при TRADE_TRANSACTION_DEAL_ADD (значительно реже) типах транзакций.
Очень нехороший нюанс платформы.
ЗЫ Сомнительное быстродействие торговых операций на пятерке, к сожалению.
Многие трейдеры зачастую не задумываются над тем, как быстро доходит их заявка до биржи, как долго она там исполняется и когда торговый терминал трейдера узнает о результате. В результате они не знают, что легко могут улучшить качество исполнения своих сделок за счет более быстрой реакции и скорости проведения транзакций. 12 сентября 2016 года...
Решил проверить, как долго длятся такие ситуации фантомных ордеров, когда ордер есть в системе, но нет в Терминале.
Результат
32 миллисекунды ордер есть, но его в Терминале нет! Только представьте себе, какие это может нести последствия, если в этом интервале выполнялась торговая логика...
Да, непорядок. Как видно, эти результаты транзакций шлются в разных пакетах. А должны быть в одном.
Да, непорядок. Как видно, эти результаты транзакций шлются в разных пакетах. А должны быть в одном.
Оказалось, что может сразу после OrderSend ордер быть фантомным, при этом параллельный советник с OnTradeTransaction это состояние не всегда может поймать. Т.е. OnTradeTransaction сама иногда подтормаживает.
В общем, в MT5 в разных местах архитектурно сидят лаги, которые вряд ли возможно искоренить. Это лаги приходов тиков, а теперь и торговых транзакций. Нужно четко отдавать себе отчет, на что способна платформа, если закладываться на скорость исполнения. Например, тики, пришедшие с приличным опозданием, затем - транзакции.. и в итоге кто-то другой на MT5 или другой платформе может обогнать, даже если сами сидите вплотную к бирже.
В общем, ждем ответа от MQ. По-моему, это баг, когда ордер есть на торговом сервере, а после синхронной OrderSend на Терминале об этом ни духом.
Я скажу больше, надо просить разработчиков обеспечить полную синхронность OrderSend, как на терминале, так и на сервере. В противном случае, если синхронность исполнения не гарантированна, то зачем нужна эта функция? Для этих целей уже есть OrderSendAsync.
Здравствуйте. Сегодня обновился до версии 1860 и при оптимизации советника столкнулся вот с такой проблемой:
задержка между проходами составляет 1 минуту! Подскажите пожалуйста, в чем может быть дело?
p.s. до обновления все работало как часики.
Часом функцию Bars не используете?
Если да, то см. вот это.
Просто вопрос:
Может есть смысл сделать общие файлы? Сейчас пишу коды универсальные, без правок работают и в мт 4 и в мт 5, единственное что напрягает это постоянное переименовывание mq4 и mq5 пришла мысль в связи с проектами может сделать общее расширение типа mq ?
И просто можно код копировать из терминала в терминал без правок расширений...
Просто вопрос:
Может есть смысл сделать общие файлы? Сейчас пишу коды универсальные, без правок работают и в мт 4 и в мт 5, единственное что напрягает это постоянное переименовывание mq4 и mq5 пришла мысль в связи с проектами может сделать общее расширение типа mq ?
И просто можно код копировать из терминала в терминал без правок расширений...
А кто запрещает эти коды прописать в файлы mqh и подключать их с помощью (#include). Что я и делаю уже довольно давно.
А кто запрещает эти коды прописать в файлы mqh и подключать их с помощью (#include). Что я и делаю уже довольно давно.
вы подключаете, я меняю расширения ... соседи...
Я скажу больше, надо просить разработчиков обеспечить полную синхронность OrderSend, как на терминале, так и на сервере. В противном случае, если синхронность исполнения не гарантированна, то зачем нужна эта функция? Для этих целей уже есть OrderSendAsync.
Уточню. Синхронность выставления ОРДЕРА в торговую систему платформы и сам Терминал.
По-моему, это баг, когда ордер есть на торговом сервере, а после синхронной OrderSend на Терминале об этом ни духом.
Решил проверить, как долго длятся такие ситуации фантомных ордеров, когда ордер есть в системе, но нет в Терминале.
Результат
32 миллисекунды ордер есть, но его в Терминале нет! Только представьте себе, какие это может нести последствия, если в этом интервале выполнялась торговая логика...
Интересно, что фантомные ордера чаще всего присутствуют только при TRADE_TRANSACTION_ORDER_DELETE и при TRADE_TRANSACTION_DEAL_ADD (значительно реже) типах транзакций.
Очень нехороший нюанс платформы.
ЗЫ Сомнительное быстродействие торговых операций на пятерке, к сожалению.
Решил проверить, как долго длятся такие ситуации фантомных ордеров, когда ордер есть в системе, но нет в Терминале.
Результат
32 миллисекунды ордер есть, но его в Терминале нет! Только представьте себе, какие это может нести последствия, если в этом интервале выполнялась торговая логика...
Да, непорядок. Как видно, эти результаты транзакций шлются в разных пакетах. А должны быть в одном.
Да, непорядок. Как видно, эти результаты транзакций шлются в разных пакетах. А должны быть в одном.
Оказалось, что может сразу после OrderSend ордер быть фантомным, при этом параллельный советник с OnTradeTransaction это состояние не всегда может поймать. Т.е. OnTradeTransaction сама иногда подтормаживает.
В общем, в MT5 в разных местах архитектурно сидят лаги, которые вряд ли возможно искоренить. Это лаги приходов тиков, а теперь и торговых транзакций. Нужно четко отдавать себе отчет, на что способна платформа, если закладываться на скорость исполнения. Например, тики, пришедшие с приличным опозданием, затем - транзакции.. и в итоге кто-то другой на MT5 или другой платформе может обогнать, даже если сами сидите вплотную к бирже.