
This strategy combines three technical indicators: EMA crossover, RSI, and MACD, to build a dual trend confirmation trading strategy. The strategy determines the trend direction using EMA crossover and uses RSI and MACD as filtering conditions to generate trading signals after the trend is confirmed. This strategy is suitable for tracking trending markets while avoiding early entry in oscillating markets.
This strategy combines three indicators: EMA crossover, RSI, and MACD, to build a dual trend confirmation trading strategy. The strategy logic is clear, and the signals are intuitive, suitable for tracking trending markets. However, in practical application, attention should be paid to parameter optimization, risks in oscillating markets, and the identification of trend reversal points. By incorporating trend filtering, optimizing entry timing, setting risk management measures, and other enhancements, the stability and profitability of the strategy can be further improved.
/*backtest
start: 2023-06-01 00:00:00
end: 2024-06-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("15 Dakikalık Göstergelerle Strateji", shorttitle="15m Strat", overlay=true)
// Parametreler
short_ma_length = input.int(9, title="Kısa EMA")
long_ma_length = input.int(21, title="Uzun EMA")
rsi_length = input.int(14, title="RSI Periyodu")
rsi_overbought = input.int(70, title="RSI Aşırı Alım")
rsi_oversold = input.int(30, title="RSI Aşırı Satım")
// EMA Hesaplamaları
short_ema = ta.ema(close, short_ma_length)
long_ema = ta.ema(close, long_ma_length)
// RSI Hesaplaması
rsi = ta.rsi(close, rsi_length)
// MACD Hesaplaması
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Göstergeleri Grafiğe Çizme
plot(short_ema, title="Kısa EMA", color=color.blue)
plot(long_ema, title="Uzun EMA", color=color.red)
hline(rsi_overbought, "Aşırı Alım", color=color.red)
hline(rsi_oversold, "Aşırı Satım", color=color.green)
plot(rsi, title="RSI", color=color.purple)
// İşlem Koşulları
longCondition = ta.crossover(short_ema, long_ema) and rsi < rsi_overbought and macdLine > signalLine
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = ta.crossunder(short_ema, long_ema) and rsi > rsi_oversold and macdLine < signalLine
if (shortCondition)
strategy.entry("Short", strategy.short)
// Grafik Arkaplanı İşlem Koşullarına Göre Değiştirme
bgcolor(longCondition ? color.new(color.green, 90) : na, title="Long Signal Background")
bgcolor(shortCondition ? color.new(color.red, 90) : na, title="Short Signal Background")