これは,RSIとATRフィルタを組み込んだEMAトレンドフォロー戦略で,長期的なトレンドを把握することを目的としています.これは,長期EMAトレンドフィルター,リラックスしたRSI過剰販売/過剰購入レベル,およびATRベースの統合検出とともに,高速および遅いEMAクロスオーバーを使用します.
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)