Суслик есть или нет. Сравнение RSI, Random и ИИ (ML DL DNN LSTM) в трейдинге

Именно такое название хотелось обозначить и закрыть свой “гештальт” в вопросе целесообразности (эффективности) использования каких либо “индюков” (индикаторы) или ML/DL при предсказании (найти в хаосе тренд) будущей цены на валютных парах.

Наверное, много, кто “гонял” оптимизатор и история, чтобы найти оптимальные параметры на какой-то срок, потом круг повторялся, когда все ломалось. Мне надоело, так делать и мне хотелось, чтобы механизм нейронных сетей (ML/DL) делал это за меня и за тестер. Так, начал свой “ресерч” (мне было очень интересно сравнить разные сигналы в одинаковых условиях ТС), потом забрасывал на годы, потом пересматривал и вот наконец, все таки, “добил” и оно “заработало”.

Предлагаю выбрать (LSTM, DNN_v1, RSI, DNN_v2, Random) и написать свой ответ в комментариях, какому варианту результата соответствует данный график Equity:

Как проходило тестирование

Практически в стерильных лабораторных условиях, подавались сигналы с одной стороны, а с другой стороны терминал Metatrader 5 выставлял ордера в сторону сигнала. Период тестирования: 01.01.2025 — 06.09.2026

Принципы торговой системы

  1. Только отложенные ордера +- 1% от цены.
  2. Стоплосс (SL) и тейкпрофит (TP) 1к3, а именно 5% и 15% от текущей цены. Значения были выбраны случайно и интуитивно без какой-либо привязки к волатильности.
  3. Валютная пара EURUSD, как самая популярная.
  4. Таймфрейм графика H4.

Технологический стек

  1. Терминал #Metatrader 5 от Альпари и от Альфа-Форекс.
  2. Самописный эксперт (#MQL5) для приема сигнала и исполнения правил торговой системы (ТС).
  3. Библиотека R64.dll для выгрузки данных в память (буфер) и приема сигналов. А также для дальнейшего использования в #RStudio (#R), чтобы проводить анализ, подготовку, перестроение моделей и генерацию сигналов. Можно обмениваться не только из терминала Metatrader данными с помощью этой библиотеки.
  4. #RTerm (R) консоль, где исполнялись скрипты подготовленные в RStudio из Metatrader через dll библиотеку.
  5. Библиотека #Reticulate для обращения к Python из RTerm.
  6. Самописные скрипты R для обработки, анализа, подготовки данных для обучения и возврата сигналов в #MT5.
  7. Библиотеки для работы с нейросетями: #deepnet, #keras, #tensorflow (2.15), #TTR, #markovchain и другие.
  8. Используемые виды нейронных сетей: DNN (deepnet), DNN (tensorflow) и LSTM (tensorflow).

Оборудование

Одно мобильное ядро 2.2Ghz Alder-Lake-H и 1Gb DDR. #CUDA видео ускорителя задействованы не были.

Индикаторы в MT5

Обычный RSI с дневным периодом = 14, 30/70.

Настройки сетей

Настройки специальным образом не подбирались. Просто, так подумалось.

  • Обучение с учителем = Да
  • Эпох обучения = 300
  • Слоев = 3
  • Нейронов в слое = 70
  • Learning rate = 0.0001 (LR)
  • Использовать кросс валидацию = Да (только keras)
  • Использовать Reduce LR = Да (только в keras)
  • Число классификаций = 2 (-1 и 1, продать и купить)
  • Метод классификации = ZZ (ZigZag)
  • Модель оптимизации = Adam (только keras)
  • Функция активации = ReLu (tanh в deepnet)
  • batchsize = 50
  • Окно для LSTM = 10
  • Выборка = 2000 бар (H4), ratio = 0.8
  • Переобучение модели: каждые 7 дней

Результаты тестирования

№ 1

№ 2

№ 3

№ 4

№ 5

Расшифровка

№1 — Библиотека Deepnet (2), модель #DNN, avg accurancy = 0.51 — 0.63

№2 — Библиотека Deepnet (1), модель #DNN, avg accurancy = 0.51 — 0.63

№3 — Функция Random

№4 — Индикатор RSI

№5 — Библиотека Tensorflow, модель #LSTM, avg accurancy = 0.51 — 0.69

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

Итого

Я “суслика” не разглядел, может быть не там искал, может быть не тем инструментом, возможно нужно изменить параметры самой ТС. Но то, что это неэффективно в плане вычислительных ресурсов и результата (“выхлопа”), факт.

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

#Metatrader, #MT5, #ML, #DL, #DNN, #RSI, #LSTM, #RStudio, #RTerm, #R, #MQL5, #Python, #KERAS, #TENSORFLOW

Metatrader, MT5, ML, DL, DNN, RSI, LSTM, RStudio, RTerm, R, MQL5, Python, KERAS, TENSORFLOW

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