Для отправки торговых распоряжений можно запустить отдельного советника, а команды ему отдавать через кастомные события.
Это будет надежнее, чем эмуляция нажатия кнопок.
Есть у кого-то другие идеи по запуску скрипта из советника?
Идеи конечно ест - основная заключается в том, что нужно реализовать вызов скрипта средствами самого MQL5 (подобно тому как происходит работа с индикаторами) и передать в параметрах все нужные настройки скрипта.
осталось убедить разработчиков в необходимости такого функционала.
Для отправки торговых распоряжений можно запустить отдельного советника, а команды ему отдавать через кастомные события.
Это будет надежнее, чем эмуляция нажатия кнопок.
Для отправки торговых распоряжений можно запустить отдельного советника, а команды ему отдавать через кастомные события.
Это будет надежнее, чем эмуляция нажатия кнопок.
Идеи конечно ест - основная заключается в том, что нужно реализовать вызов скрипта средствами самого MQL5 (подобно тому как происходит работа с индикаторами) и передать в параметрах все нужные настройки скрипта.
осталось убедить разработчиков в необходимости такого функционала.
Это было бы вообще отлично! Создадим агиткомпанию? )))
- 2010.11.24
- Andrew
- www.mql5.com
- www.mql5.com
Действительно, ведь программный запуск скрипта может оказаться полезным не только для решения описанной мною проблемы. Таким образом можно осуществлять параллельные вычисления, создавая множество потоков в одном МТ. Подобный путь описан в статье https://www.mql5.com/ru/articles/197, но там в качестве параллельной программы используется индикатор. По моему мнению, это схоже на забивание гвоздей микроскопом. Индикатор - для отображения информации, а скрипт - как раз для различных расчетов.
Согласен, это хороший способ, но для него потребуется дополнительный график, а скрипт я могу запустить на том же графике, на котором работает эксперт. Была еще идея запуска зацикленного скрипта, но это будет необоснованным разбазариванием ресурсов.
Я не предложил зацикленный скрипт только из тех соображений, что его надо будет запускать при каждом старте терминала.
А ресурсы он кушать не будет, достаточно вставить минимальный слип.
<...кастомные события...> Вариант хороший, но не универсальный (особенно если учесть что по некоторым причинам сообщения могут и не дойти до получателя). А так я тоже о таком варианте подумал.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В MQL5 ввели механизм, при котором эксперт не ждет результат выполнения торговой операции. Но небольшая проблема все же осталась: эксперту приходится ждать код возврата от сервера. На это обычно уходит 2-3 секунды, что в некоторых случаях является критичным. За эти 2-3 секунды вынужденного простоя эксперт мог бы произвести какие-то другие расчеты или среагировать на изменение текущей ситуации (действия пользователя на чарте, приход Trade и т.д.). Эту проблему можно решить путем передаче прав по исполнению торговых операций скрипту, который принудительно вызвать. Действительно, все получается: создаем скрипт, назначаем ему горячую клавишу (например, Ctrl+M) и в момент, когда эксперту требуется совершить необходимую операцию, эмулируем нажатие клавиш Ctrl+M, передав информацию скрипту через глобальные переменные терминала:
Но подобный запуск имеет один существенны недостаток: если в этот момент пользователь работает с другим приложением, то нажатие клавиши перехватит именно это приложение. Поэтому нужно эмулировать нажатие клавиши именно в Meta Trader. Здесь и появляется проблема: отправка сообщения различным окнам и самому МТ не приводят к желаемому результату:
В качестве значения handle использовались следующие значения:
Есть у кого-то другие идеи по запуску скрипта из советника?