Оптимизация в Тестере стратегий - страница 18

 
Renat:

Использовать генетику имеет смысл только при количестве проходов сильно больше 10000. В Вашем случае всего 817 проходов и их нужно запускать в режиме полного перебора.

Генетика оперирует моделированием последовательностей генов для выращивания эффективных особей. Для этого требуется определенное количество популяций, обычно не меньше 10000 проходов.  

Тестирование не закончено. Оно в процессе. Однако на всех трех картинках сохраняется дисбаланс числа проходов. Этот дисбаланс образовался не сразу, но с какого точно момента (числа проходов) сказать не смогу.
 
ForexMoneyMaker:
Тестирование не закончено. Оно в процессе. Однако на всех трех картинках сохраняется дисбаланс числа проходов. Этот дисбаланс образовался не сразу, но с какого точно момента (числа проходов) сказать не смогу.

Да, я неправильно понял вопрос.

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

 
Renat:

Да, я неправильно понял вопрос.

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

 

Здесь вы меня , кстати, ещё на один вопрос натолкнули:

Вот если оптимизатору, возможно как в моем случае,  трудно найти решение (видно, что результат в основном равен нулю и оптимизация проходит очень медленно, несмотря на 4 ядра и 20 внешних агентов), то следует ли перевести оптимизацию в полный перебор взамен генетическому алгоритму

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
 
ForexMoneyMaker:

Вот если оптимизатору, возможно как в моем случае,  трудно найти решение (видно, что результат в основном равен нулю и оптимизация проходит очень медленно, несмотря на 4 ядра и 20 внешних агентов), то следует ли перевести оптимизацию в полный перебор взамен генетическому алгоритму

Грубо говоря, генетика позволяет вылезти практически из любых локальных ям за счет случайной упаковки параметров в гены.

В общем виде, если генетика (можно провести 2-3 повторных теста) ничего не обнаружила, то перебору там тоже делать нечего.

 
ForexMoneyMaker:

Здравствуйте, модератор!

У меня вопрос: почему на всех трех прилагаемых здесь картинках показывается разное число проходов оптимизатора? Чем это объясняется?

Судя по первой картинке число проходов должно быть 817. Однако на второй и третьей картинке их число значительно меньше. 

 

Вы задаёте вопросы, которые неоднократно обсуждались. И ответы на которые есть в справке. Я не модератор, но отвечу.

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

Во вкладке результатов помещаются только уникальные результаты. При последовательном переборе все результаты уникальны. При генетике - большое количестов наборов параметров повторяются, то есть не уникальны. Результат уже есть в результирующем кеше - данный набор параметров не отправляется на тестирование, результат попадает на график, но не попадает в список результатов.

 
stringo:

Я не модератор, но отвечу.

 
Renat:
stringo:

Вы задаёте вопросы, которые неоднократно обсуждались. И ответы на которые есть в справке. Я не модератор, но отвечу.

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

Во вкладке результатов помещаются только уникальные результаты. При последовательном переборе все результаты уникальны. При генетике - большое количестов наборов параметров повторяются, то есть не уникальны. Результат уже есть в результирующем кеше - данный набор параметров не отправляется на тестирование, результат попадает на график, но не попадает в список результатов.

Хорошо. Спасибо. Всё ясно.
 
ForexMoneyMaker:
Хорошо. Спасибо. Всё ясно.
В журнале тестера в контекстном меню включите галку "Полные журналы оптимизации". Потом почитайте лог - там выводится информация, какому агенту какое задание было выдано, от какого агента получен какой результат, какой результат был найден в результирующем кеше, какой результат был найден в файловом кеше. Какие прогоны закончились с критической ошибкой (и какой ошибкой). Может оказаться увлекательное чтение
Документация по MQL5: Программы MQL5 / Ошибки выполнения
Документация по MQL5: Программы MQL5 / Ошибки выполнения
  • www.mql5.com
Программы MQL5 / Ошибки выполнения - Документация по MQL5
 

Здравствуйте, модератор!

Появился новый вопрос, связанный с оптимизацией советника с помощь функции OnTester(), в которой было записано соответствующее определенное условие. Оптимизация проводилась с использованием генетического алгоритма на билде 496.

Результаты работы оптимизатора представлены на следующих картинках:

 

С целью удостовериться, что полученые в ходе оптимизации параметры советника приводят к соответствующим результатам, было проведено тестирование советника с соответствующими по каждой таблице полученными параметрами по последней строке, но уже на обновленной версии терминала 519 билда (к сожалению на 496 не проводилось).

Вопросов три:

1. Почему на графике оптимизации появилось отрицательное значение, если по условию в OnTester() результат либо равен нулю либо больше нуля?

2. Почему на графике оптимизации мы видим две точки выше нуля (значение равное 0.51), а в таблице всего одно?

3. Какие могут быть причины того, что после проведенного тестирования на билде 519 результаты двух тестов категорически не совпали с результатами оптимизации? (в первом случае вместо прибыли в 745 произошел останов советника в результате слива депозита до уровне нехватки средств для открытия позиций, а во втором вместо прибыли в 83064 результат получился 79030)

 
ForexMoneyMaker:

Вопросов три:

1. Почему на графике оптимизации появилось отрицательное значение, если по условию в OnTester() результат либо равен нулю либо больше нуля?

2. Почему на графике оптимизации мы видим две точки выше нуля (значение равное 0.51), а в таблице всего одно?

3. Какие могут быть причины того, что после проведенного тестирования на билде 519 результаты двух тестов категорически не совпали с результатами оптимизации? (в первом случае вместо прибыли в 745 произошел останов советника в результате слива депозита до уровне нехватки средств для открытия позиций, а во втором вместо прибыли в 83064 результат получился 79030)


 Я не модератор, но попробую ответить.

1. У Вас на графике как раз результат равен 0, просто на шкале 0 не показывается.

2. При генетическом алгоритме генерируются особи с совпадающим набором параметров, для них результаты берутся из кэша, без реального прогона. Так вот, на график выводятся результаты всех прогонов, в том числе и дубликаты, а в таблицу результатов дублирующие прогоны не заносятся (но в журнале выводится сообщение, что результат взят из кэша).

3. При одиночном прогоне тестер завершает тест, если достигнут уровень стоп-аута, а в оптимизаторе проскакивает такие ситуации без анализа. Наверное, тестерные агенты не могут самостоятельно определять факт стоп-аута, а этим занимается тестер. И баланс может вернуться в положительную область. Я тоже наблюдал такие случаи.

4. Последний случай, я думаю обЪясняется либо обновлением терминала, либо обновлением истории.