Стратегия перекрестного использования супертенденции и скользящей средней

Автор:Чао Чжан, Дата: 2024-02-19 11:56:52
Тэги:

img

Обзор

Стратегия называется Supertrend и Moving Average Crossover Strategy. Она сочетает в себе индикатор Supertrend и скользящие средние, идя длинный, когда суперtrend указывает на восходящий тренд и 10-дневная EMA выше 20-дневной SMA, и идти короткий, когда суперtrend указывает на нисходящий тренд и 10-дневная EMA ниже 20-дневной SMA. Это типичная стратегия, следующая за трендом.

Логика стратегии

Стратегия использует индикатор Supertrend для определения направления тренда рынка. Супертенд рассчитывается на основе среднего истинного диапазона и фактора. Когда цена выше линии Supertrend, это восходящий тренд; когда цена ниже линии Supertrend, это нисходящий тренд.

Кроме того, стратегия использует 10-дневную EMA и 20-дневную SMA для построения скользящих средних. EMA (экспоненциальная скользящая средняя) придает более высокий вес последним ценам, в то время как SMA (простая скользящая средняя) рассматривает все данные с равным весом. Когда краткосрочная EMA выше долгосрочной SMA, она считается сигналом покупки.

Подводя итог, логика генерации торговых сигналов:

Длинный вход: Супертенд > 0 (верхний тренд) И 10-дневная EMA > 20-дневная SMA Короткий вход: Супертенд < 0 (низкий тренд) И 10-дневная EMA < 20-дневная SMA

Таким образом, он определяет направление тренда с Supertrend и использует скользящую среднюю перекрестность для дополнительного подтверждения, чтобы построить эту следующую стратегию тренда.

Анализ преимуществ

Наибольшее преимущество этой стратегии заключается в сочетании Supertrend и скользящих средних, что повышает как надежность, так и чувствительность.

  1. Supertrend ясно определяет основную тенденцию, уменьшая ложные сигналы
  2. Переход EMA+SMA повышает чувствительность к изменениям тенденций
  3. Суждение о нескольких факторах повышает надежность
  4. Простые и понятные показатели, легко понятные и оптимизируемые
  5. Высокая гибкость для регулирования параметров Supertrend и MAs

Анализ рисков

В этой стратегии есть некоторые риски:

  1. Неправильные параметры Supertrend могут пропустить поворотные точки
  2. Неправильные параметры MA могут генерировать ложные сигналы
  3. Неправильный выбор периода обратного тестирования может переоценить результаты
  4. Не учитывается стоимость торговли

Мы можем протестировать различные значения ATR и Factor для Supertrend, и различные значения длины для MAs. Также период бэкстеста должен охватывать различные рыночные среды.

Руководство по оптимизации

Есть большое пространство для оптимизации:

  1. Настройка длины и фактора ATR в Supertrend
  2. Корректировка длины EMA и SMA
  3. Добавьте другие индикаторы, такие как RSI, MACD для фильтрации сигнала
  4. Купить, когда Supertrend появляется и EMA пересекает SMA после некоторого периода.
  5. Добавить стратегию стоп-лосса

Это может еще больше улучшить производительность и стабильность.

Заключение

Стратегия сочетает в себе 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')


Больше