Ошибки, баги, вопросы - страница 1623
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо огромное за предоставленное решение. Все работает.
Гораздо быстрей читать весь файл массива в память, а потом уже с ним работать - ускорение в разы быстрей будет.
Как к советнику подключить файл с массивом?
Сначала скрипт записывает массив:
В советнике подключаю файл:
При компиляции, ошибки:
'??????????????????????????t????…' - identifier is too long mas.dat 1 1
'' - unknown symbol mas.dat 1 3015
Серьёзные баги со статическими переменными. Рассмотрим такой код:
При выполнении получаем следующий порядок алертов:
B
a.m==0
&a==0
A
Т.е. статическая переменная ещё не инициализирована к моменту доступа к ней. Даже указатель нулевой. Её типа перескочили, и благополучно пошли дальше.
Такого безобразия быть не должно. Либо инициализируем переменную и идём дальше, либо прерываем компиляцию с ошибкой.
Здесь естественно она должна быть проинициализирована. А вот в случаях, если образуется рекурсия из взаимно ссылающихся классов, то надо стопорить компиляцию.
Как к советнику подключить файл с массивом?
Сначала скрипт записывает массив:
В советнике подключаю файл:
При компиляции, ошибки:
'??????????????????????????t????…' - identifier is too long mas.dat 1 1
'' - unknown symbol mas.dat 1 3015
Ваш скрипт должен сформировать файл mas.mqh, в котором будет размещаться массив типа uchar, содержащий байты ваших данных. Например, если файл размером три байта, содержимое файла mas.mqh должно быть следующим:
Сгенерированный массив mass Вы и должны использовать в своей программе.
Не думаю, в оптимизаторе файл придётся десятки тысяч раз открывать-читать-закрывать.
В режиме отладки на исторических данных MQLInfoInteger(MQL_VISUAL_MODE) всегда возвращает true.