This strategy is a quantitative trading system that combines multiple technical indicators, primarily using EMA for trend identification, MACD for momentum detection, and RSI for overbought/oversold conditions. This multi-indicator approach effectively filters out false signals and improves trading accuracy.
The core logic includes several key components: 1. Trend Identification: Uses 50-period and 200-period EMAs, confirming uptrend when short-term EMA is above long-term EMA 2. Entry Signals: Under confirmed uptrend conditions, requires MACD below zero with upward reversal pattern 3. Exit Signals: Uses RSI overbought zone (70) downward breakout for profit-taking 4. Stop Loss: Triggers when short-term EMA crosses below long-term EMA for risk control
This strategy creates a comprehensive trading system through the synergy of multiple technical indicators. Its strengths lie in high signal reliability and robust risk control, though it faces challenges with lag and parameter sensitivity. Through suggested optimizations, particularly adaptive parameters and dynamic position management, the strategy’s stability and profitability can be enhanced. It is best suited for trending markets, and investors should adjust parameters according to specific market characteristics.
/*backtest start: 2025-01-09 00:00:00 end: 2025-01-16 00:00:00 period: 15m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("RSI ve EMA Tabanlı Alım-Satım Stratejisi", overlay=false) // EMA Hesaplamaları ema_short = ta.ema(close, 50) // EMA 50 ema_long = ta.ema(close, 200) // EMA 200 // MACD Hesaplamaları [macd, signal, _] = ta.macd(close, 12, 26, 9) // RSI Hesaplamaları rsi = ta.rsi(close, 14) // Alım Sinyali Koşulları macd_condition = (macd < 0) and (macd > nz(macd[1])) and (nz(macd[1]) < nz(macd[2])) buy_signal = (ema_short > ema_long) and macd_condition // Satım Sinyali Koşulları sell_signal = (rsi[1] > 70) and (rsi <= 70) // RSI 70'i yukarıdan aşağıya kırdı // Stop Loss Koşulu stop_loss = ema_short < ema_long // İşlem ve Etiketler if buy_signal strategy.entry("Buy", strategy.long) label.new(bar_index, high, "AL", style=label.style_label_up, color=color.green, textcolor=color.white) if sell_signal strategy.close("Buy", comment="SAT") label.new(bar_index, high, "SAT", style=label.style_label_down, color=color.red, textcolor=color.white) if stop_loss strategy.close("Buy", comment="STOP LOSS") label.new(bar_index, low, "STOP LOSS", style=label.style_label_down, color=color.orange, textcolor=color.white) // Grafik Üzerine Çizgiler ve Göstergeler plot(ema_short, color=color.blue, title="EMA 50") plot(ema_long, color=color.red, title="EMA 200") plot(rsi, color=color.orange, title="RSI 14") hline(70, "RSI 70", color=color.red) hline(30, "RSI 30", color=color.green)