В процессе загрузки ресурсов... загрузка...

Двойная EMA с стратегией RSI Trend Following

Автор:Чао Чжан, Дата: 2023-09-28 16:17:53
Тэги:

Обзор

Эта стратегия сочетает в себе движущийся средний показатель EMA и показатель RSI для определения направления тренда и выявления потенциальных трендовых возможностей. Когда быстрая EMA пересекает медленную EMA, это сигнализирует о быстрой возможности. Когда быстрая EMA пересекает медленную EMA, это сигнализирует о медленной возможности. RSI используется для фильтрации ложных перебоев, занимая позиции только тогда, когда он подтверждает направление тренда, указанное EMA.

Принцип

Стратегия основана на следующих принципах:

  1. EMA может эффективно сглаживать данные о ценах и выявлять тенденции.

  2. RSI эффективно идентифицирует уровни перекупленности и перепроданности. Сочетание RSI помогает отфильтровать ложные сигналы от перекресток EMA. Только когда EMA и RSI подтвердят тенденцию, мы вступим в позицию.

В частности, быстрый период EMA устанавливается на 8 и медленный период EMA на 24. Кросс-овер быстрой EMA выше медленной EMA генерирует быстрый сигнал, а кросс-овер ниже генерирует медленный сигнал. Период RSI устанавливается на 7. RSI выше 70*(1-RSI порог) указывает на уровни перекупленности, а RSI ниже 30*(1+RSI порог) указывает на уровни перепроданности. Только тогда, когда как EMA, так и RSI сигналы быстрый мы пойдем долго. Только тогда, когда оба сигнала медленные мы пойдем коротко.

Преимущества

Объединяя сильные стороны индикаторов EMA и RSI, эта стратегия может эффективно определить направление тренда и отфильтровать ложные сигналы.

  1. EMA сглаживает цены и определяет тренд, в то время как RSI определяет уровни перекупленности/перепроданности для фильтрации ложных перебоев.

  2. Гибкая настройка параметров для различных активов.

  3. Многочисленные индикаторы подтверждают и уменьшают ложные сигналы, улучшая показатель победы.

  4. Простая и ясная логика, легко понятная и реализуемая для следования тенденциям.

  5. Применяется для различных временных рамок для дневной торговли или долгосрочного хранения.

Риски

Для этой стратегии также существуют некоторые риски:

  1. EMA может отставать от реверсии тренда и вызывать убытки.

  2. Неправильное установление параметров RSI может привести к пропущенным сделкам.

  3. Индексные продукты могут запустить стоп-лосс.

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

  5. Если не учитывать основные принципы, то рискуют быть обманутыми арбитражами.

Мы можем смягчить риски с помощью разумных стоп-лосса, оптимизации параметров RSI, учета затрат при установлении целевых показателей прибыли и стоп-лосса и т.д.

Возможности для расширения

Стратегия может быть улучшена в следующих аспектах:

  1. Оптимизировать параметры EMA и RSI для лучшего соответствия различным активам.

  2. Добавьте другие фильтры, такие как полосы Боллинджера, KDJ для улучшения качества сигнала.

  3. Включить основные факторы, чтобы избежать рисков арбитража.

  4. Комбинируйте с линиями тренда, поддержкой/сопротивлением для входа.

  5. Оптимизировать получение прибыли и стоп-лосс на основе волатильности и предпочтения риска.

  6. Проверка на более длительные сроки и различные активы для обеспечения надежности.

Заключение

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


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MACD + RSI", overlay=true)

src = input(close,"Source")

//MACD
len1 = input(8, title="MACD Fast Length")
len2 = input(24, title="MACD Slow Length")
ema1 = ema(src,len1)
ema2 = ema(src,len2)
div = ema1-ema2
long_macd = div>div[1]
short_macd = div<div[1]

//RSI
len = input(7, minval=1, title="RSI Length")
rsi_threshold = input(0.2,minval=0,maxval=0.5, title="RSI Threshold")
rsi = rsi(src,len)
long_rsi = rsi<30*(1+rsi_threshold)
short_rsi = rsi>70*(1-rsi_threshold)


//POSITIONING
if (long_macd)
    if(long_rsi)
        strategy.entry("Long", strategy.long)

if (short_macd)
    if(short_rsi)
        strategy.entry("Short", strategy.short)

Больше