OPEN-SOURCE SCRIPT
MACD+RSI Divergence Pro v2

//version=5
indicator("MACD+RSI Divergence Pro v2", overlay=true)
// 1. إعداد MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdBullish = ta.crossover(macdLine, signalLine)
macdBearish = ta.crossunder(macdLine, signalLine)
// 2. إعداد RSI
rsiValue = ta.rsi(close, 14)
rsiOverbought = rsiValue >= 70
rsiOversold = rsiValue <= 30
// 3. كشف الاختلافات المصحح
// → استخدمنا الدالة `ta.valuewhen()` لتحديد القمم/القيعان بدقة
swingLow = ta.lowest(low, 5)
swingHigh = ta.highest(high, 5)
rsiAtSwingLow = ta.valuewhen(swingLow == low, rsiValue, 0)
rsiAtSwingHigh = ta.valuewhen(swingHigh == high, rsiValue, 0)
bullishDiv = low < low[1] and rsiAtSwingLow > rsiAtSwingLow[1] and rsiOversold
bearishDiv = high > high[1] and rsiAtSwingHigh < rsiAtSwingHigh[1] and rsiOverbought
// 4. مرشح الاتجاه (EMA 200)
marketTrend = ta.ema(close, 200)
isUptrend = close > marketTrend
// 5. الإشارات النهائية
buySignal = bullishDiv and macdBullish and isUptrend
sellSignal = bearishDiv and macdBearish and not isUptrend
// 6. العرض على الرسم
plotshape(buySignal, title="شراء", text="▲", style=shape.labelup, location=location.belowbar, color=color.new(#00FF00, 0), textcolor=color.white)
plotshape(sellSignal, title="بيع", text="▼", style=shape.labeldown, location=location.abovebar, color=color.new(#FF0000, 0), textcolor=color.white)
// 7. تنبيهات
alertcondition(buySignal, "إشارة شراء", "Bullish Divergence + MACD Crossover")
alertcondition(sellSignal, "إشارة بيع", "Bearish Divergence + MACD Crossunder")
indicator("MACD+RSI Divergence Pro v2", overlay=true)
// 1. إعداد MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdBullish = ta.crossover(macdLine, signalLine)
macdBearish = ta.crossunder(macdLine, signalLine)
// 2. إعداد RSI
rsiValue = ta.rsi(close, 14)
rsiOverbought = rsiValue >= 70
rsiOversold = rsiValue <= 30
// 3. كشف الاختلافات المصحح
// → استخدمنا الدالة `ta.valuewhen()` لتحديد القمم/القيعان بدقة
swingLow = ta.lowest(low, 5)
swingHigh = ta.highest(high, 5)
rsiAtSwingLow = ta.valuewhen(swingLow == low, rsiValue, 0)
rsiAtSwingHigh = ta.valuewhen(swingHigh == high, rsiValue, 0)
bullishDiv = low < low[1] and rsiAtSwingLow > rsiAtSwingLow[1] and rsiOversold
bearishDiv = high > high[1] and rsiAtSwingHigh < rsiAtSwingHigh[1] and rsiOverbought
// 4. مرشح الاتجاه (EMA 200)
marketTrend = ta.ema(close, 200)
isUptrend = close > marketTrend
// 5. الإشارات النهائية
buySignal = bullishDiv and macdBullish and isUptrend
sellSignal = bearishDiv and macdBearish and not isUptrend
// 6. العرض على الرسم
plotshape(buySignal, title="شراء", text="▲", style=shape.labelup, location=location.belowbar, color=color.new(#00FF00, 0), textcolor=color.white)
plotshape(sellSignal, title="بيع", text="▼", style=shape.labeldown, location=location.abovebar, color=color.new(#FF0000, 0), textcolor=color.white)
// 7. تنبيهات
alertcondition(buySignal, "إشارة شراء", "Bullish Divergence + MACD Crossover")
alertcondition(sellSignal, "إشارة بيع", "Bearish Divergence + MACD Crossunder")
開源腳本
本著TradingView的真正精神,此腳本的創建者將其開源,以便交易者可以查看和驗證其功能。向作者致敬!雖然您可以免費使用它,但請記住,重新發佈程式碼必須遵守我們的網站規則。
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。
開源腳本
本著TradingView的真正精神,此腳本的創建者將其開源,以便交易者可以查看和驗證其功能。向作者致敬!雖然您可以免費使用它,但請記住,重新發佈程式碼必須遵守我們的網站規則。
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。