Суслик есть или нет. Сравнение 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
Metatrader, MT5, ML, DL, DNN, RSI, LSTM, RStudio, RTerm, R, MQL5, Python, KERAS, TENSORFLOW