Однократный расчет массива при оптимизации
Ну так и рассчитай его в OnInint()
В MQL4 считывал данные с файла в ините, но так получилось очень долго. Не понятно с каждым новым проходом задействуется инит или нет?
Нашел на форуме при каждом проходе используется инит, то есть массив будет по новой считаться.
Конечно нет.
Ой... Не внимательно прочёл и не так понял вопрос.
В MQL4 считывал данные с файла в ините, но так получилось очень долго. Не понятно с каждым новым проходом задействуется инит или нет?
Нашел на форуме при каждом проходе используется инит, то есть массив будет по новой считаться.
Это же элементарно. Делаешь проверку размера массива при каждом запуске. Если массив пустой или там флаг расчета равен false, делаешь перерасчет:
if(ArraySize(optimize_array) == 0) CalculateArray();
Это же элементарно. Делаешь проверку размера массива при каждом запуске. Если массив пустой или там флаг расчета равен false, делаешь перерасчет:
Правда не проверял еще. Но, спрошу и что массив сохранится с первого прохода(где он будет рассчитан) и будет доступен при последующих проходах?
Правда не проверял еще. Но, спрошу и что массив сохранится с первого прохода(где он будет рассчитан) и будет доступен при последующих проходах?
Не будет. Надо заново рассчитывать, или сохранять в файл и считывать.
Вот и у меня дилемма возникла, как сделать так, чтобы один раз считать с файла, заполнить им массив и пользоваться этим массивом на всех проходах.
Это мне нужно, чтобы сократить время оптимизации, так как массив всегда будет неизменен и каждый раз его считать затратно.
Вот и у меня дилемма возникла, как сделать так, чтобы один раз считать с файла, заполнить им массив и пользоваться этим массивом на всех проходах.
Это мне нужно, чтобы сократить время оптимизации, так как массив всегда будет неизменен и каждый раз его считать затратно.
Ресурсом прикрепить. Не спрашивайте как. Исходник не писал.
Надо будет в ините его считывать. Но считывание будет не с диска, а с памяти. Так что, фактически, массив будет в памяти.
В МТ5 есть событие начала оптимизации, в нем вычислить массив, сохранить в файл, а в ините советника читать его.

- Бесплатные приложения для трейдинга
- Форексный VPS бесплатно на 24 часа
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть массив, который не изменяется в течение всей оптимизации. Есть ли возможность рассчитать его один раз и в течение всей оптимизации на каждом проходе только обращаться к нему, не рассчитывая его снова?