Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1459
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день!
При срабатывании ExpertRemove в MT5 происходит ли также закрытие позиции и удаление лимитных ордеров?
Или же нужно предварительно все закрыть?
Спасибо за предполагаемый ответ.
Добрый день!
При срабатывании ExpertRemove в MT5 происходит ли также закрытие позиции и удаление лимитных ордеров?
Или же нужно предварительно все закрыть?
Спасибо за предполагаемый ответ.
ExpertRemove - прекращает работу эксперта и выгружает его с графика.
Происходит то же самое, если вы вручную удалите советник с графика.
Если в советнике прописано удалять ордера и закрывать позиции при удалении эксперта,
то всё удалится и закроется, а если не прописано,
то и позиции и ордера останутся не закрытыми.
Если в советнике прописано удалять ордера и закрывать позиции при удалении эксперта,
то всё удалится и закроется
Маленькое дополнение: если это уложится в 2.5 секунды.
Не могу сообразить как сделать.
При наступлении события прокрутки колёсика мыши, выполняется код.
Колёсико мыши можно прокрутить за раз на несколько щелчков, при этом мы получим не одно событие с dparam = количеству щелчков, а несколько событий с dparam = +/-120.
Код выполняется какое то время, которое намного больше чем время между щелчками при прокрутке колёсика мыши.
В итоге получается, что колесо мыши уже ник то не крутит, а программа продолжает пересчитываться ещё какое то время.
Колесо мыши прокрутилось в 15:12:22.820 и потом программа выполнялась ещё 5 раз, целых 5 секунд.Вопрос: как выполнить код программы один раз, а не несколько.
То есть прокрутили колесо на 5 щелчков, delta = dparam / 120 * 5.
Не могу сообразить как сделать.
При наступлении события прокрутки колёсика мыши, выполняется код.
Колёсико мыши можно прокрутить за раз на несколько щелчков, при этом мы получим не одно событие с dparam = количеству щелчков, а несколько событий с dparam = +/-120.
Код выполняется какое то время, которое намного больше чем время между щелчками при прокрутке колёсика мыши.
В итоге получается, что колесо мыши уже ник то не крутит, а программа продолжает пересчитываться ещё какое то время.
Колесо мыши прокрутилось в 15:12:22.820 и потом программа выполнялась ещё 5 раз, целых 5 секунд.Вопрос: как выполнить код программы один раз, а не несколько.
То есть прокрутили колесо на 5 щелчков, delta = dparam / 120 * 5.
Попробуйте так
Я не проверял, если что я не виноват…))) Придётся как-то мутить с флагом… и может придётся код вынести в пользовательскую функцию и там чудить с флагом.
03 июня опубликовал свой скрипт для MT5 (https://www.mql5.com/ru/code/44732)... до сих пор висит в статусе " проверяется модератором". Кто знает, как долго ждать проверки?
Попробуйте так
Я не проверял, если что я не виноват…))) Придётся как-то мутить с флагом… и может придётся код вынести в пользовательскую функцию и там чудить с флагом.
Проблема в том, что пользовательские функции запускаются только внутри событийных функций, а у меня в советнике всего две такие функции OnInit и OnChartEvent.
В общем получилось сделать, хоть и не совсем айс, но всё же лучше чем было.
Проблема в том, что пользовательские функции запускаются только внутри событийных функций, а у меня в советнике всего две такие функции OnInit и OnChartEvent.
В общем получилось сделать, хоть и не совсем айс, но всё же лучше чем было.
Из OnChartEvent тоже можно вызывать пользовательские функции без проблем.
Флаг объявлен на глобальном уровне. Вставить OnTick исключительно для сбрасывания флага никакого труда не составляет и не будет задерживать выполнение кода.
Если флаг открыт, вызвали пользовательскую функцию. Внутри закрыли флаг. В OnTick флаг снова открылся и ждёт следующего исполнения пользовательской функции.
Я думаю это проще чем завязываться на времени исполнения.
Из OnChartEvent тоже можно вызывать пользовательские функции без проблем.
Флаг объявлен на глобальном уровне. Вставить OnTick исключительно для сбрасывания флага никакого труда не составляет и не будет задерживать выполнение кода.
Если флаг открыт, вызвали пользовательскую функцию. Внутри закрыли флаг. В OnTick флаг снова открылся и ждёт следующего исполнения пользовательской функции.
Я думаю это проще чем завязываться на времени исполнения.
Не совсем понял, точнее совсем не понял :)
А если нет тиков, OnTick вроде как без тиков не срабатывает, что делать?
Собственно я и так из OnChartEvent вызываю пользовательские функции. Просто проблемно было отследить последний щелчок мыши при прокрутке колёсика.
Задача была задержать выполнение пользовательской функции до момента остановки прокрутки колесика, при этом сосчитать количество щелчков при прокрутке.
В принципе получилось.