이 전략은 EMA 평균선과 RSI, ATR 지표에 기반한 긴 선의 트렌드 추적 전략이다. 전략은 빠른 EMA를 사용하여 금색 포크 사다리 신호를 형성하고, 긴 선의 EMA와 결합하여 트렌드 방향을 판단하고, RSI와 ATR의 대조를 필터링하여 긴 선의 트렌드를 추적한다.
이 전략은 전체적으로 EMA를 중심으로 한 긴 선의 트렌드 추적 전략이며, RSI와 ATR 지표를 도입하여 트렌드 방향을 더 잘 식별하고 잡음을 필터링 할 수 있습니다. 매개 변수를 최적화하면 이 전략은 더 많은 품종에 적용 될 수 있으며, 긴 선의 낙관적인 환경에서 좋은 효과를 얻을 수 있습니다.
/*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)