Стратегия называется
Стратегия использует индикатор Supertrend для определения направления тренда рынка. Супертенд рассчитывается на основе среднего истинного диапазона и фактора. Когда цена выше линии Supertrend, это восходящий тренд; когда цена ниже линии Supertrend, это нисходящий тренд.
Кроме того, стратегия использует 10-дневную EMA и 20-дневную SMA для построения скользящих средних. EMA (экспоненциальная скользящая средняя) придает более высокий вес последним ценам, в то время как SMA (простая скользящая средняя) рассматривает все данные с равным весом. Когда краткосрочная EMA выше долгосрочной SMA, она считается сигналом покупки.
Подводя итог, логика генерации торговых сигналов:
Длинный вход: Супертенд > 0 (верхний тренд) И 10-дневная EMA > 20-дневная SMA Короткий вход: Супертенд < 0 (низкий тренд) И 10-дневная EMA < 20-дневная SMA
Таким образом, он определяет направление тренда с Supertrend и использует скользящую среднюю перекрестность для дополнительного подтверждения, чтобы построить эту следующую стратегию тренда.
Наибольшее преимущество этой стратегии заключается в сочетании Supertrend и скользящих средних, что повышает как надежность, так и чувствительность.
В этой стратегии есть некоторые риски:
Мы можем протестировать различные значения ATR и Factor для Supertrend, и различные значения длины для MAs. Также период бэкстеста должен охватывать различные рыночные среды.
Есть большое пространство для оптимизации:
Это может еще больше улучшить производительность и стабильность.
Стратегия сочетает в себе Supertrend для направления тренда и 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')