Адаптивная трендовая стратегия с комбинацией множества индикаторов
Обзор
Данная стратегия использует комбинацию двойной скользящей средней Халла (Hull Moving Average), взвешенной по объёму скользящей средней, индикатора MACD и индикатора истинной силы (TSI) для точного определения тренда. Она способна автоматически адаптироваться к изменениям рыночных условий и обладает высокой гибкостью.
Принцип стратегии
Ключевым индикатором стратегии является двойная скользящая средняя Халла, управляемая двумя параметрами: keh и teh. Эти параметры определяют периоды быстрой и медленной линий. Пересечения быстрой и медленной линий (золотое/мёртвое) используются для определения текущего тренда.
Вспомогательным индикатором служит взвешенная по объёму скользящая средняя meh1. Если цена выше meh1 — ситуация бычья; ниже meh1 — медвежья.
Другим вспомогательным индикатором является MACD. Он рассчитывается как разность быстрой и медленной скользящих средних, затем сглаживается для получения сигнальной линии. Когда MACD выше сигнальной линии — ситуация бычья.
Последний вспомогательный индикатор — TSI, который получается путём двойного сглаживания скорости изменения цены. Его абсолютное значение отражает силу ценового движения. В условиях покупки и продажи анализируется сигнальная линия TSI, что позволяет контролировать моменты входа (Entries) и выхода (Exits).
Комбинируя сигналы этих индикаторов, можно точно определять тренд и автоматически подстраивать параметры, синхронизируясь с рынком.
Преимущества стратегии
-
Использование двойной скользящей средней Халла в качестве основного индикатора в сочетании с несколькими дополнительными повышает точность и снижает количество ложных сигналов.
-
Применение индикатора TSI для определения моментов входа и выхода позволяет контролировать риски.
-
Множество настраиваемых параметров обеспечивает высокую адаптивность и способность автоматически подстраиваться под рыночные изменения.
-
Подход на основе комбинации индикаторов и адаптации параметров делает стратегию стабильной и устойчиво прибыльной.
Анализ рисков
-
Несмотря на добавление TSI для выбора моментов, используемые индикаторы по-прежнему относятся к трендовым. При боковом рынке (флэт) это может увеличить колебания прибыли/убытка.
-
Неправильная настройка параметров может привести к неработоспособности стратегии; необходимо разумно задавать параметры на основе собственного опыта.
-
Комбинация нескольких индикаторов увеличивает вычислительную нагрузку, что может повысить вероятность ошибок при большом объёме данных или за длительный период; рекомендуется ограничивать диапазон данных.
-
Требуется отслеживать корректность расчёта индикаторов, чтобы избежать помех от аномальных данных.
Направления оптимизации стратегии
-
Можно протестировать добавление других вспомогательных индикаторов, например, полос Боллинджера (BOLL), для повышения точности и надёжности сигналов.
-
Оптимизировать логику входа и выхода, добавив условия стоп-лосса и тейк-профита для контроля отдельных сделок.
-
Обучать и оптимизировать параметры для разных торговых инструментов, чтобы улучшить их адаптацию.
-
Добавить модуль адаптации параметров, чтобы стратегия могла автоматически корректировать параметры на основе результатов последних сделок.
Заключение
Данная стратегия объединяет преимущества нескольких индикаторов, используя их комбинацию для определения направления тренда. Она повышает точность за счёт контроля рисков. С помощью оптимизации параметров и логики можно улучшить адаптацию стратегии к рыночным изменениям, получая большую прибыль при снижении непрерывных убытков. Стратегия обладает высокой стабильностью и может применяться на долгосрочной основе для акций, криптовалют и других активов.
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// Quad-HullMA-cross & VWMA & MacD & TSI combination <<<<< by SeaSide420 >>>>>>
strategy("MultiCross420", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)
keh=input(title="Double HullMA 1",defval=7, minval=1)- 1

