Эта стратегия называется “Стратегия супертенденции в сочетании с подвижным средним”. Эта стратегия использует индикатор супертенденции и подвижную среднюю, которая делает прибыль, когда супертенденция указывает на тенденцию к росту, а 10-дневная ЭМА выше 20-дневной SMA, и делает пустоту, когда супертенденция указывает на тенденцию к снижению, а 10-дневная ЭМА ниже 20-дневной SMA. Это типичная стратегия для отслеживания тенденций.
Эта стратегия использует индикатор супертенденции для определения направления рыночной тенденции. Индикатор супертенденции рассчитывается на основе Average True Range и Factor, когда цена выше линии супертенденции, она имеет тенденцию к росту, а когда цена ниже линии супертенденции, она имеет тенденцию к снижению.
Кроме того, в стратегии используются 10-дневная EMA и 20-дневная SMA для построения движущихся средних. EMA (индексовая движущаяся средняя) придает более высокий вес недавней цене, SMA (простая движущаяся средняя) учитывает все данные с равным весом.
В целом, логика Trading Signal Generation в этой стратегии выглядит следующим образом:
Многоглазый вход: супертренд > 0 (повышающийся) и 10-дневная EMA > 20-дневная SMA
Пустой вход: супертенденция (пониженная тенденция) и 10-дневная EMA <20-дневная SMA
Это означает, что супер-тренд определяет направление тренда, а также использует движущуюся среднюю золотую спираль в качестве вспомогательного решения для построения стратегии отслеживания тренда.
Наибольшим преимуществом данной стратегии является сочетание двух показателей: супертенденции и движущихся средних, что позволяет повысить надежность и чувствительность. В частности, есть следующие преимущества:
Однако есть и другие риски, связанные с этой стратегией, в частности:
Для супертроендов можно протестировать различные длины ATR и параметры Factor для оптимизации; для скользящих средних можно протестировать длины EMA и SMA; в периоды отсчета следует учитывать различные рыночные условия. Кроме того, необходимо включить соответствующие затраты на торговлю в процессе фиксирования.
В этой стратегии есть много возможностей для оптимизации, в основном в следующих аспектах:
Выполнение и стабильность стратегии могут быть дополнительно улучшены путем корректировки параметров и добавления фильтров для вспомогательных показателей. Кроме того, важна конфигурация стратегии стоп-лосс, которая позволяет эффективно контролировать риск.
Эта стратегия, называемая стратегией супертенденции в сочетании с движущимися средними, в сочетании с использованием супертенденций для определения направления тренда и построения торговых сигналов EMA и SMA, относится к типичным стратегиям отслеживания тренда. Эта стратегия имеет высокую надежность, большой простор для оптимизации и заслуживает лабораторной проверки.
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supertrend and Moving Averages Strategy", overlay=true)
// Supertrend parameters
atrLength = input.int(10, title="ATR Length", minval=1)
factor = input.float(3.0, title="Factor", minval=0.01, step=0.01)
[supertrend, direction] = ta.supertrend(factor, atrLength)
// Moving Averages parameters
length_ema = input(10, title="Length of EMA")
length_sma = input(20, title="Length of SMA")
// Calculate EMAs and SMAs
ema_10 = ta.ema(close, length_ema)
sma_20 = ta.sma(close, length_sma)
// Strategy logic
longCondition = ema_10 > sma_20 and direction > 0
shortCondition = ema_10 < sma_20 and direction < 0
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
// Plot Supertrend
plot(direction > 0 ? supertrend : na, color=color.green, style=plot.style_line, linewidth=2, title="Up Trend")
plot(direction < 0 ? supertrend : na, color=color.red, style=plot.style_line, linewidth=2, title="Down Trend")
// Plot Moving Averages
plot(ema_10, color=color.blue, title="10 EMA")
plot(sma_20, color=color.red, title="20 SMA")
// Alerts for Supertrend
alertcondition(direction[1] > direction, title='Downtrend to Uptrend', message='The Supertrend value switched from Downtrend to Uptrend ')
alertcondition(direction[1] < direction, title='Uptrend to Downtrend', message='The Supertrend value switched from Uptrend to Downtrend')
alertcondition(direction[1] != direction, title='Trend Change', message='The Supertrend value switched from Uptrend to Downtrend or vice versa')