Новая версия платформы MetaTrader 5 build 2170: Области видимости в MQL5, глобальное обновление тестера стратегий и встроенного хостинга - страница 12
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
разве самому нельзя такое сделать ?
set файл это тот же txt
Допустим, деление на ноль происходит внутри подключаемой библиотеки. Если делать самому функцию, то ее надо прописывать индивидуально для каждого советника. При этом помещать в библиотеку, которая, собственно, является независимым от советника самодостаточным кодом.
По теме деления на ноль, сегодня столкнулся с тем, что
вернул при Оптимизации ноль (кто-нибудь в Тестере делает проверку на ноль этого значения и зачем?). Потом посыпались ошибки в журнале Тестера по другим проходам. Затем завис Терминал. А после перезагрузки Терминала исчез кастомный символ, на котором шла оптимизация. При этом бары и тики исчезнувшего символа сохранились в base-папках Терминала и Тестера.
бары и тики исчезнувшего символа сохранились в base-папках Терминала и Тестера.
Обнаружил в base-папке Терминала данные нескольких символов, которых сейчас нет в Терминале. Т.е. в качестве мусора там лежит на сотни мегабайтов.
ну да, ни разу в жизни ни открывал на сервере Метаквот EURPLN , EURRUB , M6EU19, а они есть.... видимо приторговывал кто то из команды пока новый билд правил )))
Имел в виду кастомные символы.
Имел в виду кастомные символы.
у меня правда зоопарк из терминалов уже , пришлось стабильный билд установить, когда в нескольких бетах не сильно ладилось
посмотрел в билде 2170 - там ничего нет лишнего - папка Custom = 0 байт, в папке history только форекс мажоры которыми пользовался, да и терминал редко запускаю этот, но не вижу подозрительного ничего
в бете у меня хаос полный, поэтому сам не знаю что там творится уже
С помощью этой функции можно было бы в случае наступления определенных условий прописывать соответствующий SET-файл. А по нему создавать уже одиночный прогон в режиме дебага, чтобы разобраться в причинах ошибки.
видел под МТ4 и нашел, вот в КБ https://www.mql5.com/ru/code/9202
Допустим, деление на ноль происходит внутри подключаемой библиотеки. Если делать самому функцию, то ее надо прописывать индивидуально для каждого советника. При этом помещать в библиотеку, которая, собственно, является независимым от советника самодостаточным кодом.
По теме деления на ноль, сегодня столкнулся с тем, что
вернул при Оптимизации ноль (кто-нибудь в Тестере делает проверку на ноль этого значения и зачем?). Потом посыпались ошибки в журнале Тестера по другим проходам. Затем завис Терминал. А после перезагрузки Терминала исчез кастомный символ, на котором шла оптимизация. При этом бары и тики исчезнувшего символа сохранились в base-папках Терминала и Тестера.
я только в режиме произвольная задержка один раз ловил деление на ноль, по моему некоторые функции группы SymbolInfoXXXX() могут имитировать, что то похожее на обрыв связи? и вернуть вместо ожидаемого результата просто ноль
видел под МТ4 и нашел, вот в КБ https://www.mql5.com/ru/code/9202
Данная задача может решаться даже без DLL. Но все же логично предлагать штатную альтернативу костыльным решениям.
А вы понимаете, что создаете утечку хендлов на каждом тике?
Такое происходит только с кастомными индикаторами. Со стандартными все ок.
Будет ли поведение приведено к единому виду?
Учиться жить так.
ЗЫ Не лучше в Oninit, а лучше один раз.
Это возможно (один раз или в ОнИнит), только если все параметры статичны и известны заранее. Если же они меняются или вычесляются на лету, то и хендлы надо переполучать.
Такое происходит только с кастомными индикаторами. Со стандартными все ок.
Будет ли поведение приведено к единому виду?
Для обычных индикаторов производится проверка, есть ли такой индикатор с такими же параметрами. Если есть, отдаётся существующий хэндл, если нет - создаётся новая копия индикатора и отдаётся новый хэндл.
Для кастомных индикаторов такая проверка не производится, и каждый раз создаётся новая копия и новый хэндл.
Так было изначально, и это поведение меняться не будет