Блог им. kimkarus
Раннее писал о том, как наконец запустил обучение нейронных сетей в связке Metatrader+dll+R+Python+(Deepnet, Keras, Tensorflow и др).
https://smart-lab.ru/blog/1350243.php#comment19932474
Раз все теперь работает корректно, можно продолжить эксперименты.
В предыдущий раз, я использовал более менее дефолтные настройки, которые уже не раз запускал для отладки работы самих алгоритмов и технологической связки.
Настало время немного “подкрутить” параметры. Для иллюстрации, того, как изменится кривая Equity изменим параметры учителя немного, а именно сделаем два канала и синхронизируем их. Все, что не удалось синхронизировать в одинаковую сторону сигналы двух каналов, обозначим, как NA и в последствии уберём из обучающей выборки.
Период, принципы торговой системы (ТС) из предыдущей статьи и другие параметры сетей изменять не будем (пример №1 из предыдущей статьи).
Был запущен дополнительный вариант тестирования, при котором позиция закрывалась на следующем баре, если не достигла заданного TP. Посмотрим, что получилось.
Все образы (image) сохраняются на диск, поэтому не составляет труда открыть любой в RStudio и посмотреть, что происходило.
Исходная выборка данных переданная из #Metatrader в #RTerm выглядит в #RStudio так
Пред обработанная скриптом обучающая выборка для модели DNN (библиотека deepnet) немного отличается. Добавляется учитель ZZ менее “дерганный”, так как синхронизуется по двум каналам, первы = 5.1, второй 15.1
Добавились данные “учителя” от функции ZZ с синхронизацией двух каналов.
Все метки и данные с NA убираются из выборки для следующей обработки. Если используется вид рекуррентных сетей с окном и в окне будут данные с NA, то серия этого окна убирается целиком, как негодная для обучения.
И, наконец, выровненная перемешанная выборка “train” для обучения модели. Индексы строк позже обнуляются (перед функцией обучения).
Результаты работы алгоритмаAccurancy на тестовой выборке ~0.42-0.53. Но сигналы стали более постоянными, долгосрочными (не меняются на каждом баре).
В тестере стратегий выглядит так.
№ 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 для “учителя” помог сигналу быть более стабильным и постоянным в определенном направлении. Однако параметры ТС сильно влияют на конечный результат при работе одной и той же нейронной модели.
Был ли у вас какой либо положительных или отрицательных опыт, поделитесь.

