Количественная стратегия с фильтрацией тренда на основе канала Кельтнера и индикатора CCI
Обзор
Данная стратегия объединяет каналы Кельтнера, индикатор CCI, а также RSI и условия по объёму торгов, формируя относительно полную количественную торговую стратегию с фильтрацией тренда. Она генерирует сигналы на покупку и продажу при пробое ключевых ценовых зон, поступлении сигналов от индикаторов и появлении значительного объёма торгов. Кроме того, стратегия использует скользящие средние для определения направления тренда, избегая торговли при отсутствии явного тренда.
Принцип стратегии
Стратегия принимает торговые решения на основе следующих индикаторов и условий:
- Канал Кельтнера: рассчитывает верхнюю и нижнюю границы на основе типичной цены и ATR за определённый период, определяя, находится ли цена внутри канала.
- Индикатор CCI: используется для выявления состояний перекупленности или перепроданности цены.
- Индикатор RSI: вспомогательный индикатор для определения перекупленности/перепроданности.
- Объём торгов: требуется, чтобы объём превышал определённое среднее значение, прежде чем будет сгенерирован сигнал.
- Фильтрация по скользящим средним: с помощью SMA, EMA и других скользящих средних определяется общее направление тренда.
При соответствии направлению тренда, если цена пробивает верхнюю или нижнюю границу канала Кельтнера, а индикаторы CCI и RSI подают сигнал, и при этом объём торгов значительно возрастает, генерируются сигналы на покупку или продажу.
Преимущества стратегии
Стратегия сочетает несколько индикаторов и условий, что позволяет эффективно отсеивать неопределённые торговые сигналы, делая торговые решения более стабильными и надёжными. Основные преимущества:
- Механизм фильтрации тренда позволяет избегать нечётких боковых рынков.
- Канал Кельтнера определяет пробой ключевых зон.
- CCI и RSI дают достаточно точные сигналы перекупленности/перепроданности.
- Условие большого объёма торгов помогает избежать ложных пробоев.
Риски стратегии
Стратегия подвержена следующим рискам:
- Несовершенный механизм определения тренда может привести к пропуску сильных трендов. Можно протестировать различные параметры скользящих средних.
- Неправильные настройки параметров индикаторов могут привести к пропуску ключевых торговых моментов или ложным сигналам. Параметры можно оптимизировать.
- При недостаточном эффекте увеличения объёма существует риск ложных пробоев. Можно протестировать разные коэффициенты увеличения объёма.
Направления оптимизации стратегии
Стратегию можно оптимизировать по следующим направлениям:
- Протестировать различные типы и длины скользящих средних для поиска более подходящих параметров фильтрации тренда.
- Оптимизировать параметры канала Кельтнера, CCI, RSI и других индикаторов для повышения точности сигналов.
- Протестировать различные множители объёма торгов для поиска оптимального значения.
- Рассмотреть возможность добавления стратегии стоп-лосса для ограничения максимального убытка по одной сделке.
Заключение
В целом, данная стратегия объединяет каналы Кельтнера, CCI, RSI и условия по объёму, создавая относительно полную количественную торговую стратегию с фильтрацией тренда. Она генерирует сигналы на покупку и продажу, когда цена пробивает ключевые зоны, индикаторы дают сигналы, а объём торгов велик. При этом используются скользящие средние для определения тренда, чтобы избежать торговли при его отсутствии. К преимуществам стратегии относятся: избегание нечётких волатильных рынков, выявление ключевых точек пробоя, получение относительно точных сигналов перекупленности/перепроданности и предотвращение некоторых ложных пробоев. Риски связаны с неверной настройкой параметров и неэффективным увеличением объёма. Дальнейшая оптимизация возможна в области методов фильтрации тренда, параметров индикаторов, множителя объёма и добавления механизма стоп-лосса.
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Custom Keltner CCI Strategy with Trend Filter", overlay=true )
// Input Parameters for allowing long and short trades
allowLong = input(true, title="Allow Long Trades")- 1

