느린 RSI 및 ATR 필터와 함께 고급 EMA 트렌드를 따르는 전략

저자:차오장, 날짜: 2024-02-29 14:44:10
태그:

img

전반적인 설명

이것은 RSI와 ATR 필터를 통합한 EMA 트렌드를 따르는 전략으로 장기 트렌드를 포착하는 것을 목표로합니다. 그것은 장기 EMA 트렌드 필터와 함께 빠르고 느린 EMA 크로스오버를 활용하고, 느린 RSI 과판 / 과반 구매 수준 및 ATR 기반 통합 검출을 사용하여 윙사우를 줄입니다.

전략 논리

  1. 빠른 EMA (20) 가 느린 EMA (50) 를 넘을 때 긴
  2. 빠른 EMA가 느린 EMA를 넘을 때 짧은
  3. 200 EMA로 판단된 장기 트렌드 방향으로만 거래
  4. RSI가 장기 거래에 상대적으로 과판되고, 쇼트 거래에 과반 매입되어야 합니다.
  5. ATR을 사용하여 가짜 파장을 피하기 위해 통합 구역을 탐지합니다.

장점

  1. 트렌드 다음에 유효한 EMA 크로스오버 시스템
  2. 추가 장기 필터는 거래 역동 추세를 피합니다.
  3. 느린 RSI 문턱은 놓친 수익 트렌드를 줄입니다.
  4. ATR 필터는 불안한 통합 기간을 탐색하는 데 도움이됩니다.

위험성

  1. 강한 상승 추세 시장에서 낮은 성과를 낼 수 있습니다.
  2. 통합 중 EMA 크로스오버가 가능함
  3. RSI와 ATR 매개 변수는 각 기기에 따라 개별적으로 최적화되어야 합니다.

개선

  1. 각기 다른 도구에 대한 EMA 길이 최적화
  2. 통합 검출을 개선하기 위해 RSI와 ATR 매개 변수를 정렬합니다.
  3. 트레일링 스톱을 통해 수익을 추가하는 것을 고려하십시오.

결론

전체적으로 다양한 도구에 걸쳐 장기적인 추세를 따르는 효과적인 시스템이다. 신중한 위험 관리와 결합한 매개 변수 최적화는 특히 지속적인 황소 시장 환경에서 긍정적 인 결과를 초래할 수 있다. RSI 및 ATR과 같은 보조 지표의 통합은 이것을 고급 EMA 추세 시스템으로 만듭니다.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Strategy with Trend Filter", overlay=true)

// Параметры EMA
shortEmaLength = input(20, title="Short EMA")
longEmaLength = input(50, title="Long EMA")
trendEmaLength = input(200, title="Trend EMA")
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
trendEma = ta.ema(close, trendEmaLength)

// Параметры RSI
rsiLength = input(14, title="RSI Length")
rsi = ta.rsi(close, rsiLength)

// Параметры ATR
atrLength = input(14, title="ATR Length")
atr = ta.atr(atrLength)

// Логика для сигналов покупки и продажи с фильтром по тренду
buySignal = ta.crossover(shortEma, longEma) and close > trendEma
sellSignal = ta.crossunder(shortEma, longEma) and close < trendEma

// Вход в сделки
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.entry("Sell", strategy.short)

// Выход из сделок на основе EMA пересечений
exitBuySignal = ta.crossunder(shortEma, longEma)
exitSellSignal = ta.crossover(shortEma, longEma)

if (exitBuySignal)
    strategy.close("Buy")

if (exitSellSignal)
    strategy.close("Sell")

// Визуализация EMA
plot(shortEma, color=color.blue, title="Short EMA")
plot(longEma, color=color.red, title="Long EMA")
plot(trendEma, color=color.green, title="Trend EMA")

// Отдельная панель для RSI и его визуализация
plot(rsi, title="RSI", color=color.purple, linewidth=2)

// Отдельная панель для ATR и его визуализация
plot(atr, title="ATR", color=color.orange, linewidth=2)


더 많은