
Cette stratégie est une stratégie de suivi de la tendance en longues lignes basée sur les indicateurs EMA, RSI et ATR. La stratégie utilise les EMA rapides pour former des signaux de dérivation, combinés à des EMA longues pour déterminer la direction de la tendance, et utilise les RSI et ATR pour filtrer les alignements pour suivre la tendance en longues lignes.
L’ensemble de la stratégie est une stratégie de suivi de la tendance des lignes longues avec l’EMA au cœur, avec l’introduction d’indicateurs RSI et ATR pour aider à mieux identifier la direction de la tendance et à filtrer le bruit. En optimisant les paramètres, la stratégie peut s’appliquer à plus de variétés et peut obtenir de bons résultats dans un environnement pessimiste des lignes longues.
/*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)