Советник для статьи. Тестирование для всех желающих.

 

Сейчас завершаю статью под названием "Почему переобучается нейросеть?".

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

Необходимо протестировать на разных инструментах, таймфреймах, котировках от разных ДЦ.


Как проводить тестирование?


1. Загружаем советника в папку experts терминала

2. Загружаем котировки под завязку, чем больше, тем лучше.

3. Выставляем в тестере ответствующий графику инструмент, таймфрейм, моделирование по ценам открытия, загружаем настройки из прикрепленного архива.

4. Прогоняем одиночный тест советника

5. Смотрим сколько сделок в результатах. Делим количество сделок напополам.

6. С помощью мышки на графике теста ищем сделку с половинным номером из п. 5. В всплывающей подсказке узнаем ее дату.

7. Смотрим с какой даты заружены котировки, выставляем дату в тестере от начала котировок и до найденной в п. 6.

8. Запускаем оптимизацию (должна пройти быстро, даже на слабых машинах всего несколько минут).

9. Отключаем дату в тестере и ищем в результатах оптимизации успешный форвардный тест, т.е. чтобы профит с не шибко значительными просадками был от начала графика и до конца.

Ну и в этом топике, желательно поделиться результатами и мнениями.

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


Например, в результатах тестирования в верхних строчках может встретиться такой результат (оптимизация с 1 по 356 сделку, далее форвард):

А ниже вот такой (оптимизация с 1 по 471 сделку, далее форвард):



Настройки советника (в прикрепленном ZIP архиве):

x0, x2 ... x7 - весовые коэффициенты. Лучше не трогать, а оставить как есть (оптимизируются).

sl - стоплосс и тейкпрофит в пипсах (оптимизируется).

mn - магический номер (не оптимизируется)

d - количество значащих цифр в объемах позиций, т.е. для лотов (не оптимизируется). Если по умолчанию оставить как в настройках 1 лот, то можно не менять.

Галочки для тех параметров, которые нужно оптимизировать уже выставлены.


Код советника скомпилированный. Но в самом коде нет никаких ограничений, поэтому если кому захочется его протестировать не только в тестере, то ничего не имею против. Исходный код советников на mql4 и mql5 будет опубликован в статье (до публикации статьи не хочу открывать, хотя кому надо, тот знает как выковырять).

Файлы:
rnn_v1.zip  1 kb
rnn_v1.ex4  6 kb
 
Reshetov:

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

:) омг, вот он, йазь, которого я так долго искал, пытаясь понять, в чем твоя глобальная ошибка.
 
Очередная фигня от Reshetova
 

Юрий, а нет ли у Вас многослойного персептрона для mql5? очень нужно!

 
IgorM:

Юрий, а нет ли у Вас многослойного персептрона для mql5? очень нужно!


Этого Вы от него не дождетесь (хотя я могу и ошибаться).
 
Дождетесь (наверное). Он там тоже статью хочет тиснуть.
 
Reshetov:

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

А зачем искать успешный форвард? Это получается подгонка, но только вручную. Не пробовали, кстати, какие-нибудь другие критерии для переоптимизации использовать. Вот, например, два варианта:

1. Оптимизация параметров после того, как достигнута максимальная просадка по результатам предыдущей оптимизации.

2. Оптимизация параметров, если не была набрана прибыль за определённый период времени, приблизительно, как на предыдущей оптимизации.

Эти варианты можно попробовать вместе даже использовать. А поиск успешного форварда на мой взгляд, какое-то лишнее занятие.

 
IgorM:

Юрий, а нет ли у Вас многослойного персептрона для mql5? очень нужно!

Если действительно очень нужно, то можно взять этот (слои и нейроны в любом количестве):

https://www.mql5.com/ru/articles/252

 
Reshetov:

Если действительно очень нужно, то можно взять этот (слои и нейроны в любом количестве):

https://www.mql5.com/ru/articles/252


спасибо, варианты с .dll у меня есть, нужен на mql5
 
tol64:

А зачем искать успешный форвард?


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

Не все валяется на поверхности золотыми слитками размером с кулак


tol64:


Это получается подгонка, но только вручную.


Может быть и получается, а может быть и не получается? 100% гарантии никто не даст, т.к. не все то золото, что блестит. Но доверие настройкам советника, которые дали положительный результат вне оптимизационной выборки, т.е. на тех данных, о которых он даже не догадывался, всегда котируется выше. Проверка на вшивость с помощью экзамена - это не мое изобретение.


tol64:


Не пробовали, кстати, какие-нибудь другие критерии для переоптимизации использовать. Вот, например, два варианта:

1. Оптимизация параметров после того, как достигнута максимальная просадка по результатам предыдущей оптимизации.

2. Оптимизация параметров, если не была набрана прибыль за определённый период времени, приблизительно, как на предыдущей оптимизации.

Эти варианты можно попробовать вместе даже использовать.


Нет конечно. Ведь я внимательно читал басню дедушки "Крылова" под названием "Квартет".

Если Вам так неймется, то сами насочиняли, сами и пробуйте. Может быть получится?


tol64:


А поиск успешного форварда на мой взгляд, какое-то лишнее занятие.

Если Вас никто насильно не заставляет и не принуждает, то можете и не искать. Тестирование - дело добровольное, а не принудительное.
 

Reshetov:

...

Может быть и получается, а может быть и не получается?

...


Болезненно реагируете. Штыки можете оставить себе. Сами насочиняли сами и тестируйте. :)
Причина обращения: