Отправка, запись и получение информации в режиме оптимизации во время каждого прохода. Как правильно провести детальный анализ?

 

Доброе время суток уважаемые Дамы и/или Господа !

Прочитал не мало разных тем и статей на тему оптимизации (последние: https://www.mql5.com/ru/articles/746 и https://www.mql5.com/en/forum/165457) и на тему анализа данных оптимизации.

Хочу задать интересный вопрос: возможно ли без проблем сохранить и передать данные из советника в режиме оптимизации для каждого прохода во время самого прохода(в том числе данные индикаторов), а не например в конце прохода используя FrameAdd().

Или может быть возможно применить FrameAdd() каким-то необычным способом для получения данных во время прохода (в частности: нужно получать все тиковые данные каждого прохода в режиме оптимизации)?

Во время тестового прохода в режиме оптимизации отказались работать функции FileOpen() , FileWrite() из OnTick() и так далее. Это нормально? Данный вопрос не был освещен полностью.

Может у кого-нибудь есть готовые рецепты по передаче и записи данных в режиме оптимизации во время каждого проход - поделитесь пожалуйста.

Самый главный вопрос: Как в режиме оптимизации во время прохода а не в конце прохода выгружать все данные каждый тик в файл? Это вообще возможно или все-таки вызов некоторых функций в режиме оптимизации заблокирован разработчиками платформы? Думаю этот вопрос давно назрел и интересует многих, особенно с точки зрения получения качественных данных для анализа работы стратегий. Хороших ответов не нашлось в интернете.

Спасибо за внимание, жду Ваших ответов.

Рецепты MQL5 - Сохраняем результаты оптимизации торгового эксперта по указанным критериям
Рецепты MQL5 - Сохраняем результаты оптимизации торгового эксперта по указанным критериям
  • www.mql5.com
Продолжим серию статей по программированию на MQL5. На этот раз рассмотрим, как можно получать результаты по каждому проходу оптимизации непосредственно во время оптимизации параметров эксперта. При этом сделаем так, что если условия, которые будут настраиваться во внешних параметрах, исполняются, то показатели этого прохода будут записываться в файл. Кроме показателей тестов будем сохранять еще параметры, по которым был получен этот результат.
 

Зачем выгружать данные во время прохода? Как они будут использоваться прямо во время прохода?

Файлы записывать можно. Разберитесь только с директориями, куда они попадают. Вам нужно записывать в Common-папку.

 
Andrey Khatimlianskii:

Зачем выгружать данные во время прохода? Как они будут использоваться прямо во время прохода?

Файлы записывать можно. Разберитесь только с директориями, куда они попадают. Вам нужно записывать в Common-папку.

Поддержу! Файлы на каждом проходе в OnInit() прекрасно открываются(только лучше там же и закрыть) и в OnTester() при необходимости опять открыть/изменить/сохранить/закрыть.

 
Спасибо за ответы! Вопрос уже решён. Пытался через бинарный .mqd сделать, но потом всё нужное получилось в Common выгрузить из OnTick() (в чем было дело раньше - осталось тайной). На вопрос, зачем во время каждого прохода потоково выгружать в новый файл стату - в Эксель данные нужны были для анализа, на сейчас вроде почти все вопросы решил. Тиков на минуту пока только не много выгружается, 4 примерно. Это для меня уже открытие, так сказать "разрешение тестера" в режиме оптимизации не быстрым генетическим  как выяснилось - особенное, что ранее было не транспарентно. 
Ещё раз, спасибо за ответы - если будет что интересное, напишу.