Эта стратегия генерирует торговые сигналы, когда цена выходит из канала восходящего / нисходящего тренда, сформированного индикатором SuperTrend.
Стратегия сначала рассчитывает индикатор ATR как меру волатильности цен, затем объединяет его со средним показателем самых высоких, самых низких и закрывающих цен для вычисления верхней и нижней полос. Когда цена превышает нижнюю полосу во время восходящего тренда, генерируется сигнал покупки. Когда цена превышает верхнюю полосу во время нисходящего тренда, запускается сигнал продажи. Это образует адаптивный канал восходящего / нисходящего тренда, который отслеживает тенденции цен.
После выхода на рынок стратегия устанавливает целевые тики прибыли и тики стоп-лосса. Она закрывает позицию для получения прибыли, когда цена достигает целевой прибыли, и останавливается, когда снижение достигает уровня стоп-лосса.
Наибольшее преимущество этой стратегии заключается в ее превосходной способности следовать за трендом. Адаптивный канал может быстро улавливать изменения тренда. Использование ATR также обеспечивает некоторую уверенность в торговле наряду с импульсом. Кроме того, цель прибыли и механизм остановки потерь дают четкий контроль риска / вознаграждения.
Один из основных рисков заключается в том, что он может вызвать чрезмерные колебания на рынках с ограниченным диапазоном, поскольку цена постоянно проникает через диапазоны.
Для снижения таких рисков параметры, такие как период ATR или мультипликатор канала, могут быть оптимизированы, чтобы лучше соответствовать истинной тенденции.
Стратегия может быть улучшена в нескольких аспектах:
Оптимизировать параметры ATR для лучшего отражения реальной динамики волатильности.
Проверьте разные множители для оптимизации ширины канала.
Добавить другие индикаторы в качестве фильтров на записи, например MACD для лучшего синхронизации.
Оптимизировать целевую прибыль и уровни стоп-лосса для максимальной доходности, скорректированной по риску.
Рассмотрим другие цели, такие как коэффициент Шарпа или коэффициент прибыли, чтобы оценить общее качество.
Стратегия использует адаптивную модель прорыва канала для достижения большой способности следования тренду. Она также имеет четкие механизмы контроля рисков. С дальнейшей настройкой параметров и улучшением логики она может работать еще лучше в различных рыночных условиях и классах активов.
/*backtest start: 2024-02-26 00:00:00 end: 2024-02-26 20:20:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy", overlay=true) // Input parameters atr_length = input.int(10, title="ATR Length") multiplier = input.float(3.0, title="Multiplier") target_points = input.int(100, title="Target Points") stop_loss_points = input.int(50, title="Stop Loss Points") // Calculate ATR and Supertrend atr = ta.atr(atr_length) upper_band = hlc3 + (multiplier * atr) lower_band = hlc3 - (multiplier * atr) is_uptrend = close > lower_band is_downtrend = close < upper_band trend_changed = (is_uptrend[1] and is_downtrend) or (is_downtrend[1] and is_uptrend) // Strategy logic long_condition = is_uptrend and trend_changed short_condition = is_downtrend and trend_changed // Plot Supertrend plot(is_uptrend ? lower_band : na, color=color.green, title="Supertrend Up", style=plot.style_linebr) plot(is_downtrend ? upper_band : na, color=color.red, title="Supertrend Down", style=plot.style_linebr) // Strategy entry and exit if long_condition strategy.entry("Long", strategy.long) if short_condition strategy.entry("Short", strategy.short) // Calculate target and stop loss levels long_target = strategy.position_avg_price + target_points long_stop_loss = strategy.position_avg_price - stop_loss_points short_target = strategy.position_avg_price - target_points short_stop_loss = strategy.position_avg_price + stop_loss_points // Strategy exit strategy.exit("Long Exit", "Long", limit=long_target, stop=long_stop_loss) strategy.exit("Short Exit", "Short", limit=short_target, stop=short_stop_loss)