이것은 RSI와 ATR 필터를 통합한 EMA 트렌드를 따르는 전략으로 장기 트렌드를 포착하는 것을 목표로합니다. 그것은 장기 EMA 트렌드 필터와 함께 빠르고 느린 EMA 크로스오버를 활용하고, 느린 RSI 과판 / 과반 구매 수준 및 ATR 기반 통합 검출을 사용하여 윙사우를 줄입니다.
전체적으로 다양한 도구에 걸쳐 장기적인 추세를 따르는 효과적인 시스템이다. 신중한 위험 관리와 결합한 매개 변수 최적화는 특히 지속적인 황소 시장 환경에서 긍정적 인 결과를 초래할 수 있다. 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)