Новая версия платформы MetaTrader 5 build 3081: Улучшения в MQL5-сервисах и обновленный дизайн - страница 19
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Раз используются глобальные переменные , то предполагается, что используются они из нескольких MQL программ работающих одновременно (?)
Если так, то чем чаще программы одновременно обращаются к глобальным переменным, тем больше вероятность, что программы попадут в ожидание на доступ к глобальным переменным.
Чем большее количество глобальных переменных используется, тем дольше будет ожидание, поэтому, обращение к глобальным переменным стоит свести к минимуму (кешировать значения).
При доступе к глобальным переменным используется бинарный поиск (ускорять там практически нечего).
Для поиска глобальной переменной из +-1000, в худшем случае будет использоваться 10 сравнений строк (имён).
Можно ли ввести глобальные переменные, которые ПОЛНОСТЬЮ скрыты от пользователя? В некоторых случаях действительно раздражает необходимость иметь дело с пользователем, изменяющим или, скорее всего, удаляющим глобальные переменные через графический интерфейс.
Спасибо, исправлено
Раз используются глобальные переменные, то предполагается, что используются они из нескольких MQL программ работающих одновременно (?)
Недавно наблюдал (то ли в мониторе ресурсов, то ли в антивирусе), как терминал ежесекундно обращался к файлу gvariables.dat.
У меня действительно есть советник, который на каждом тике проверяет значение переменной и раз в 5 секунд его перезаписывает, но действительно ли есть необходимость постоянно (и так часто) сбрасывать все переменные в файл?
Тем более, что это все равно не всегда помогает при критическом завершении работы (неоднократно сталкивался с потерей гл. переменных).
Недавно наблюдал (то ли в мониторе ресурсов, то ли в антивирусе), как терминал ежесекундно обращался к файлу gvariables.dat.
У меня действительно есть советник, который на каждом тике проверяет значение переменной и раз в 5 секунд его перезаписывает, но действительно ли есть необходимость постоянно (и так часто) сбрасывать все переменные в файл?
Тем более, что это все равно не всегда помогает при критическом завершении работы (неоднократно сталкивался с потерей гл. переменных).
Вы использовали функцию GlobalVariablesFlush ?
Глобальные переменные в MT5 записываются файл в случаях:
Вы использовали функцию GlobalVariablesFlush ?
Глобальные переменные в MT5 записываются файл в случаях:
Нет, только Check, Get, Set и Temp.
Наблюдал сразу за двумя терминалами (4 и 5). Возможно, файл был от МТ4, не помню точно.
Build 3063.
А что с ошибкой ERR_OUT_OF_RANGE? Пример тут.
Компилятор пишет: 'ERR_OUT_OF_RANGE' - undeclared identifier
Что это?
ЗЫ Снова нарвался, что DebugBreak не срабатывает.
При дебаге терминал выдал
Что это?
ЗЫ Снова нарвался, что DebugBreak не срабатывает.
Это значит заглушка (не сделано\не доделано\отложено - нужное подчеркнуть)
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
A100, 2021.05.04 00:36
Ранее Debug не удалось полноценно воспользоваться, но запускать скрипты через F5 иногда удобно (правда непонятно почему запуск идет на новом графике, а не на текущем).
И случайно обнаружил в логе такие записи:
При этом сам скрипт выполняется. Попробовал вставить в код такую строку:
Строка "DebugBreak" печатается, но остановки не происходит
Функция сравнить график другого графика все же по штату должна быть в терминале.
Было бы супер если перетаскиванием инструмента с таблицы в кнопку сравнение, создавало бы на активном графике, сравнение инструментов.