Подскажите, как определить к какому проходу оптимизации относится форвард.

 

Хотелось видеть графики баланса и эквити по каждому проходу оптимизации. Проходов много поэтому предполагался фильтр.

Сделал визуализацию каждого прохода оптимизации https://www.mql5.com/ru/code/36058,  но как оказалось с поставленной задачей он справляется частично.

При оптимизации с форвардом, сохраняет графики оптимизации отдельно, форвард отдельно. А надо, чтоб было вместе!!!

Сейчас у меня после каждого прохода в функции OnDeinit сохраняются файлы с балансом и эквити, потом скрипт из этих файлов делает график и сохраняет его скриншот.


Одиночный прогон форварда в тестере выглядит так:


У меня же получаются два скриншота.


В справке написано, что сначала проводится оптимизация, а потом по лучшим результатам делается форвард.

Подскажите, как идентифицировать по какому проходу, результату или ещё чему можно понять, что вот этот форвард был сделан по вот этой оптимизации?

ScreenShotOptimization
ScreenShotOptimization
  • www.mql5.com
Скрипт, сохраняет скриншоты графика баланса каждого прохода оптимизации.
 

Не знаю, поможет ли... 

Я схожую задачу решал с помощью сбора фреймов. 

При каждом проходе генерируется фрейм, и он генерируется и для бэк, и для форвард-прохода.  

После сбора всех фреймов, я сортировал их по инпутам (входные данные прохода, есть у фрейма такой атрибут). У бэк и у форвард прохода одной и той же пары - инпуты одинаковы. При этом инпуты разных пар всегда различны хотя бы одним полем. Соответственно, я все фреймы разбивал на пары, в каждой паре инпуты были одинаковы, при этом тот фрейм, который начинался раньше - это бэк-проход. А тот фрейм, который начался позже - это форвард. Если для какого-то фрейма не находится пара по инпуту - то это проход, для которого форварда не делалось. 

Вот, думаю, копать надо в этом направлении. 

В деините, вероятно, надо анализировать вот эти самые собранные пары фреймов, и по ним  можно определять, к какому фрейму относится какой проход, и, соответственно, и видеть, толи это бэк, то ли это форвард-проход.

 
Georgiy Merts:

Не знаю, поможет ли... 

Я схожую задачу решал с помощью сбора фреймов. 

При каждом проходе генерируется фрейм, и он генерируется и для бэк, и для форвард-прохода.  

После сбора всех фреймов, я сортировал их по инпутам (входные данные прохода, есть у фрейма такой атрибут). У бэк и у форвард прохода одной и той же пары - инпуты одинаковы. При этом инпуты разных пар всегда различны хотя бы одним полем. Соответственно, я все фреймы разбивал на пары, в каждой паре инпуты были одинаковы, при этом тот фрейм, который начинался раньше - это бэк-проход. А тот фрейм, который начался позже - это форвард. Если для какого-то фрейма не находится пара по инпуту - то это проход, для которого форварда не делалось. 

Вот, думаю, копать надо в этом направлении. 

В деините, вероятно, надо анализировать вот эти самые собранные пары фреймов, и по ним  можно определять, к какому фрейму относится какой проход, и, соответственно, и видеть, толи это бэк, то ли это форвард-проход.

С фреймами не знаком, надо читать справку. Но идея мне понравилась, спасибо!

Причина обращения: