Как меняется Equity, если “учитель” (ИИ DNN LSTM) будет менее дерганным

Раннее писал о том, как наконец запустил обучение нейронных сетей в связке Metatrader+dll+R+Python+(Deepnet, Keras, Tensorflow и др).

Раз все теперь работает корректно, можно продолжить эксперименты.

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

Настало время немного “подкрутить” параметры. Для иллюстрации, того, как изменится кривая Equity изменим параметры учителя немного, а именно сделаем два канала и синхронизируем их. Все, что не удалось синхронизировать в одинаковую сторону сигналы двух каналов, обозначим, как NA и в последствии уберём из обучающей выборки.

Период, принципы торговой системы (ТС) из предыдущей статьи и другие параметры сетей изменять не будем (пример №1 из предыдущей статьи).

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

Исходные и обработанные данные

View(price)

Все образы (image) сохраняются на диск, поэтому не составляет труда открыть любой в RStudio и посмотреть, что происходило.

Исходная выборка данных переданная из #Metatrader в #RTerm выглядит в #RStudio так

View(data_f_tmp$data_train)

Пред обработанная скриптом обучающая выборка для модели DNN (библиотека deepnet) немного отличается. Добавляется учитель ZZ менее “дерганный”, так как синхронизуется по двум каналам, первы = 5.1, второй 15.1

Добавились данные “учителя” от функции ZZ с синхронизацией двух каналов.

Все метки и данные с NA убираются из выборки для следующей обработки. Если используется вид рекуррентных сетей с окном и в окне будут данные с NA, то серия этого окна убирается целиком, как негодная для обучения.

View(DT$train)

И, наконец, выровненная перемешанная выборка “train” для обучения модели. Индексы строк позже обнуляются (перед функцией обучения).

Результаты работы алгоритма

Accurancy на тестовой выборке ~0.42-0.53. Но сигналы стали более постоянными, долгосрочными (не меняются на каждом баре).

В тестере стратегий выглядит так.

№ 1

№ 2

Расшифровка

№ 1 — Библиотека Deepnet (3), модель #DNN, два канала ZZ, avg accurancy = 0.4 — 0.52

№ 2 — Библиотека Deepnet (4), модель #DNN, два канала ZZ, avg accurancy = 0.4 — 0.52, закрытие позиции на следующем баре если профит положительный

Ссылка на архив с результатами в формате Excel / HTML — https://disk.yandex.ru/d/O_EzNZ_DLaqqvw

Итого

Как будто стало лучше. Отдельно можно отметить, что будет, если в ТС добавить закрытие позиций на следующем баре при профите больше 0. Это более длинные серии сделок, в отличии от ожидания установленного TP и SL. И то, что cumco на графике Equity в тестере MT5 стало видно, а не только в RStudio.

Исход в обоих случаях один и тот же, двуканальный ZZ для “учителя” помог сигналу быть более стабильным и постоянным в определенном направлении. Однако параметры ТС сильно влияют на конечный результат при работе одной и той же нейронной модели.

Был ли у вас какой либо положительных или отрицательных опыт, поделитесь.

#Metatrader, #MT5, #ML, #DL, #DNN, #RSI, #LSTM, #RStudio, #RTerm, #R, #MQL5, #Python, #KERAS, #TENSORFLOW, #трейдинг, #техический_анализ

Добавить комментарий