Суслик есть или нет. Сравнение 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% от цены.
Стоплосс (SL) и тейкпрофит (TP) 1к3, а именно 5% и 15% от текущей цены. Значения были выбраны случайно и интуитивно без какой-либо привязки к волатильности.
Валютная пара EURUSD, как самая популярная.
Таймфрейм графика H4.
Технологический стек
Терминал #Metatrader 5 от Альпари и от Альфа-Форекс.
Самописный эксперт (#MQL5) для приема сигнала и исполнения правил торговой системы (ТС).
Библиотека R64.dll для выгрузки данных в память (буфер) и приема сигналов. А также для дальнейшего использования в #RStudio (#R), чтобы проводить анализ, подготовку, перестроение моделей и генерацию сигналов. Можно обмениваться не только из терминала Metatrader данными с помощью этой библиотеки.
#RTerm (R) консоль, где исполнялись скрипты подготовленные в RStudio из Metatrader через dll библиотеку.
Библиотека #Reticulate для обращения к Python из RTerm.
Самописные скрипты R для обработки, анализа, подготовки данных для обучения и возврата сигналов в #MT5.
Библиотеки для работы с нейросетями: #deepnet, #keras, #tensorflow (2.15), #TTR, #markovchain и другие.
Используемые виды нейронных сетей: 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