IU Mean Reversion SystemDESCRIPTION
The IU Mean Reversion System is a dynamic mean reversion-based trading framework designed to identify optimal reversal zones using a smoothed mean and a volatility-adjusted band. This system captures price extremes by combining exponential and running moving averages with the Average True Range (ATR), effectively identifying overextended price action that is likely to revert back to its mean. It provides precise long and short entries with corresponding exit conditions, making it ideal for range-bound markets or phases of low volatility.
USER INPUTS :
Mean Length – Controls the smoothness of the mean; default is 9.
ATR Length – Defines the lookback period for ATR-based band calculation; default is 100.
Multiplier – Determines how wide the upper and lower bands are from the mean; default is 3.
LONG CONDITION :
A long entry is triggered when the closing price crosses above the lower band, indicating a potential upward mean reversion.
A position is taken only if there is no active long position already.
SHORT CONDITION :
A short entry is triggered when the closing price crosses below the upper band, signaling a potential downward mean reversion.
A position is taken only if there is no active short position already.
LONG EXIT :
A long position exits when the high price crosses above the mean, implying that price has reverted back to its average and may no longer offer favorable long risk-reward.
SHORT EXIT :
A short position exits when the low price crosses below the mean, indicating the mean reversion has occurred and the downside opportunity has likely played out.
WHY IT IS UNIQUE:
Uses a double smoothing approach (EMA + RMA) to define a stable mean, reducing noise and false signals.
Adapts dynamically to volatility using ATR-based bands, allowing it to handle different market conditions effectively.
Implements a state-aware entry system using persistent variables, avoiding redundant entries and improving clarity.
The logic is clear, concise, and modular, making it easy to modify or integrate with other systems.
HOW USER CAN BENEFIT FROM IT :
Traders can easily identify reversion opportunities in sideways or mean-reverting environments.
Entry and exit points are visually labeled on the chart, aiding in clarity and trade review.
Helps maintain discipline and consistency by using a rule-based framework instead of subjective judgment.
Can be combined with other trend filters, momentum indicators, or higher time frame context for enhanced results.
Dalga Analizi
Golden Khaled Recovery v2.0 – Dual Direction Dynamic
//@version=5
indicator("Golden Khaled Recovery v2.0 – Dual Direction Dynamic", overlay=true)
// === الإعدادات ===
mode = input.string("Both", title="Signal Mode", options= )
enableWatch = input.bool(true, title="Show Watch Signals (Weak Setup)")
showConditionCount = input.bool(true, title="Show Conditions Count Below Candle")
// === المؤشرات ===
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
rsiPeriod = input.int(14, "RSI Period")
volumeSpikeMultiplier = input.float(1.5, "Volume Spike Multiplier")
// === حساب المؤشرات ===
= ta.macd(close, macdFast, macdSlow, macdSignal)
rsi = ta.rsi(close, rsiPeriod)
volumeSpike = volume > ta.sma(volume, 20) * volumeSpikeMultiplier
// === شروط الشراء ===
buy1 = macdLine > signalLine
buy2 = rsi < 30
buy3 = ta.crossover(macdLine, signalLine)
buy4 = volumeSpike
buy5 = close > ta.highest(close, 10)
buyCount = (buy1 ? 1 : 0) + (buy2 ? 1 : 0) + (buy3 ? 1 : 0) + (buy4 ? 1 : 0) + (buy5 ? 1 : 0)
// === شروط البيع ===
sell1 = macdLine < signalLine
sell2 = rsi > 70
sell3 = ta.crossunder(macdLine, signalLine)
sell4 = volumeSpike
sell5 = close < ta.lowest(close, 10)
sellCount = (sell1 ? 1 : 0) + (sell2 ? 1 : 0) + (sell3 ? 1 : 0) + (sell4 ? 1 : 0) + (sell5 ? 1 : 0)
// === إشارات الشراء ===
plotshape((mode == "Buy" or mode == "Both") and buyCount == 5, title="BUY", location=location.abovebar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white)
plotshape((mode == "Buy" or mode == "Both") and buyCount >= 3 and buyCount < 5, title="BUY+", location=location.abovebar, color=color.lime, style=shape.labelup, text="BUY+", textcolor=color.black)
plotshape((mode == "Buy" or mode == "Both") and buyCount == 2 and enableWatch, title="Watch", location=location.abovebar, color=color.yellow, style=shape.triangleup, text="Watch", textcolor=color.black)
// === إشارات البيع ===
plotshape((mode == "Sell" or mode == "Both") and sellCount == 5, title="SELL", location=location.belowbar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white)
plotshape((mode == "Sell" or mode == "Both") and sellCount >= 3 and sellCount < 5, title="SELL+", location=location.belowbar, color=color.maroon, style=shape.labeldown, text="SELL+", textcolor=color.white)
plotshape((mode == "Sell" or mode == "Both") and sellCount == 2 and enableWatch, title="WatchSell", location=location.belowbar, color=color.gray, style=shape.triangledown, text="Watch", textcolor=color.black)
// === عداد الشروط تحت الشمعة ===
if showConditionCount and buyCount >= 3
label.new(bar_index, low, str.tostring(buyCount) + "/5", yloc=yloc.belowbar, style=label.style_label_down, textcolor=color.white, size=size.tiny, color=color.black)
if showConditionCount and sellCount >= 3
label.new(bar_index, high, str.tostring(sellCount) + "/5", yloc=yloc.abovebar, style=label.style_label_up, textcolor=color.white, size=size.tiny, color=color.red)
Golden Khaled Recovery v2.0 – Dual Direction Dynamic
//@version=5
indicator("Golden Khaled Recovery v2.0 – Dual Direction Dynamic", overlay=true)
// === الإعدادات ===
mode = input.string("Both", title="Signal Mode", options= )
enableWatch = input.bool(true, title="Show Watch Signals (Weak Setup)")
showConditionCount = input.bool(true, title="Show Conditions Count Below Candle")
// === المؤشرات ===
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
rsiPeriod = input.int(14, "RSI Period")
volumeSpikeMultiplier = input.float(1.5, "Volume Spike Multiplier")
// === حساب المؤشرات ===
= ta.macd(close, macdFast, macdSlow, macdSignal)
rsi = ta.rsi(close, rsiPeriod)
volumeSpike = volume > ta.sma(volume, 20) * volumeSpikeMultiplier
// === شروط الشراء ===
buy1 = macdLine > signalLine
buy2 = rsi < 30
buy3 = ta.crossover(macdLine, signalLine)
buy4 = volumeSpike
buy5 = close > ta.highest(close, 10)
buyCount = (buy1 ? 1 : 0) + (buy2 ? 1 : 0) + (buy3 ? 1 : 0) + (buy4 ? 1 : 0) + (buy5 ? 1 : 0)
// === شروط البيع ===
sell1 = macdLine < signalLine
sell2 = rsi > 70
sell3 = ta.crossunder(macdLine, signalLine)
sell4 = volumeSpike
sell5 = close < ta.lowest(close, 10)
sellCount = (sell1 ? 1 : 0) + (sell2 ? 1 : 0) + (sell3 ? 1 : 0) + (sell4 ? 1 : 0) + (sell5 ? 1 : 0)
// === إشارات الشراء ===
plotshape((mode == "Buy" or mode == "Both") and buyCount == 5, title="BUY", location=location.abovebar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white)
plotshape((mode == "Buy" or mode == "Both") and buyCount >= 3 and buyCount < 5, title="BUY+", location=location.abovebar, color=color.lime, style=shape.labelup, text="BUY+", textcolor=color.black)
plotshape((mode == "Buy" or mode == "Both") and buyCount == 2 and enableWatch, title="Watch", location=location.abovebar, color=color.yellow, style=shape.triangleup, text="Watch", textcolor=color.black)
// === إشارات البيع ===
plotshape((mode == "Sell" or mode == "Both") and sellCount == 5, title="SELL", location=location.belowbar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white)
plotshape((mode == "Sell" or mode == "Both") and sellCount >= 3 and sellCount < 5, title="SELL+", location=location.belowbar, color=color.maroon, style=shape.labeldown, text="SELL+", textcolor=color.white)
plotshape((mode == "Sell" or mode == "Both") and sellCount == 2 and enableWatch, title="WatchSell", location=location.belowbar, color=color.gray, style=shape.triangledown, text="Watch", textcolor=color.black)
// === عداد الشروط تحت الشمعة ===
if showConditionCount and buyCount >= 3
label.new(bar_index, low, str.tostring(buyCount) + "/5", yloc=yloc.belowbar, style=label.style_label_down, textcolor=color.white, size=size.tiny, color=color.black)
if showConditionCount and sellCount >= 3
label.new(bar_index, high, str.tostring(sellCount) + "/5", yloc=yloc.abovebar, style=label.style_label_up, textcolor=color.white, size=size.tiny, color=color.red)
Golden Ultra Entry v1.0 – Scalping & Swing Edition
//@version=5
indicator("Golden Ultra Entry v1.0 – Scalping & Swing Edition", overlay=true, max_bars_back=1000)
// === Input Settings ===
showWatch = input.bool(true, "Show Watch Signals")
showTP = input.bool(true, "Show TP Levels")
mode = input.string("Auto", options= , title="Mode")
// === Indicator Calculations ===
rsi = ta.rsi(close, 14)
cci = ta.cci(close, 20)
volumeDelta = volume - ta.sma(volume, 20)
netLiquidity = volumeDelta * (close - open)
// === Structure Detection (Simplified for demo) ===
var float lastHigh = na
var float lastLow = na
bos = false
choch = false
if not na(high ) and high > high
lastHigh := high
if not na(low ) and low < low
lastLow := low
bos := close > lastHigh
choch := close < lastLow
// === Rejection Candle (Body < 40% of total range) ===
body = math.abs(close - open)
fullRange = high - low
rejectionCandle = body < fullRange * 0.4
// === OB Zone Placeholder ===
inOrderBlock = true // To be improved
// === Conditions ===
cond1 = bos or choch
cond2 = netLiquidity > 0
cond3 = rejectionCandle and inOrderBlock
cond4 = mode == "Calls Only" ? rsi > 50 : mode == "Puts Only" ? rsi < 50 : true
cond5 = mode == "Calls Only" ? cci > 100 : mode == "Puts Only" ? cci < -100 : true
cond6 = inOrderBlock
score = 0
score += cond1 ? 1 : 0
score += cond2 ? 1 : 0
score += cond3 ? 1 : 0
score += cond4 ? 1 : 0
score += cond5 ? 1 : 0
score += cond6 ? 1 : 0
// === Signal Display ===
buySignal = score >= 6 and bos and mode != "Puts Only"
sellSignal = score >= 6 and choch and mode != "Calls Only"
buyPlus = score == 4 or score == 5
sellPlus = score == 4 or score == 5
buyWatch = score == 3
sellWatch = score == 3
plotshape(buySignal, title="BUY Strong", location=location.belowbar, color=color.lime, style=shape.labelup, text="BUY")
plotshape(buyPlus, title="BUY+", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY+")
plotshape(buyWatch and showWatch, title="BUY Watch", location=location.belowbar, color=color.yellow, style=shape.labelup, text="Watch")
plotshape(sellSignal, title="SELL Strong", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
plotshape(sellPlus, title="SELL+", location=location.abovebar, color=color.maroon, style=shape.labeldown, text="SELL+")
plotshape(sellWatch and showWatch, title="SELL Watch", location=location.abovebar, color=color.orange, style=shape.labeldown, text="Watch")
// === TP/SL Placeholder ===
tp1 = close + (close - lastLow) * 0.5
tp2 = close + (close - lastLow)
tp3 = close + (close - lastLow) * 2
sl = lastLow
plot(showTP and buySignal ? tp1 : na, title="TP1", color=color.new(color.green, 50), style=plot.style_linebr)
plot(showTP and buySignal ? tp2 : na, title="TP2", color=color.new(color.green, 70), style=plot.style_linebr)
plot(showTP and buySignal ? tp3 : na, title="TP3", color=color.new(color.green, 90), style=plot.style_linebr)
plot(showTP and buySignal ? sl : na, title="SL", color=color.new(color.red, 80), style=plot.style_linebr)
Golden Pattern – Head & Shoulders v2.2//@version=5
indicator("Golden Pattern – Head & Shoulders v2.2", overlay=true)
enable_HS = input.bool(true, "Enable Head & Shoulders Detection")
show_targets = input.bool(true, "Show TP1/TP2/TP3 Levels")
min_dist = input.int(5, "Min Distance Between Points", minval=3)
sensitivity = input.float(1.5, "Deviation %", minval=0.1)
sl_buffer = input.float(0.5, "SL Buffer %")
// نقاط محورية
ph = ta.pivothigh(high, min_dist, min_dist)
pl = ta.pivotlow(low, min_dist, min_dist)
// تخزين الرأس والكتفين
var float sh1 = na
var float head = na
var float sh2 = na
var int sh1_bar = na
var int head_bar = na
var int sh2_bar = na
var float ish1 = na
var float ihead = na
var float ish2 = na
var int ish1_bar = na
var int ihead_bar = na
var int ish2_bar = na
// رأس وكتفين (بيع)
if not na(ph)
if na(sh1)
sh1 := ph
sh1_bar := bar_index
else if na(head) and ph > sh1 and bar_index - sh1_bar > min_dist
head := ph
head_bar := bar_index
else if na(sh2) and ph < head and math.abs(ph - sh1)/sh1 < sensitivity/100 and bar_index - head_bar > min_dist
sh2 := ph
sh2_bar := bar_index
else
sh1 := ph
sh1_bar := bar_index
head := na
sh2 := na
// رأس وكتفين معكوس (شراء)
if not na(pl)
if na(ish1)
ish1 := pl
ish1_bar := bar_index
else if na(ihead) and pl < ish1 and bar_index - ish1_bar > min_dist
ihead := pl
ihead_bar := bar_index
else if na(ish2) and pl > ihead and math.abs(pl - ish1)/ish1 < sensitivity/100 and bar_index - ihead_bar > min_dist
ish2 := pl
ish2_bar := bar_index
else
ish1 := pl
ish1_bar := bar_index
ihead := na
ish2 := na
// خطوط الرقبة
neckline_sell = (sh1 + sh2) / 2
neckline_buy = (ish1 + ish2) / 2
sell_break = enable_HS and not na(sh2) and close < neckline_sell and bar_index > sh2_bar
buy_break = enable_HS and not na(ish2) and close > neckline_buy and bar_index > ish2_bar
// TP / SL
depth_sell = head - neckline_sell
depth_buy = neckline_buy - ihead
tp1_sell = sell_break ? close - depth_sell : na
tp2_sell = sell_break ? close - depth_sell * 1.5 : na
tp3_sell = sell_break ? close - depth_sell * 2.0 : na
sl_sell = sell_break ? head + head * sl_buffer / 100 : na
tp1_buy = buy_break ? close + depth_buy : na
tp2_buy = buy_break ? close + depth_buy * 1.5 : na
tp3_buy = buy_break ? close + depth_buy * 2.0 : na
sl_buy = buy_break ? ihead - ihead * sl_buffer / 100 : na
// منع التكرار
var bool lastBuyPlotted = false
var bool lastSellPlotted = false
var bool plotBuySignal = false
var bool plotSellSignal = false
plotBuySignal := false
plotSellSignal := false
if buy_break and not lastBuyPlotted
plotBuySignal := true
lastBuyPlotted := true
lastSellPlotted := false
if sell_break and not lastSellPlotted
plotSellSignal := true
lastSellPlotted := true
lastBuyPlotted := false
// إشارات الدخول
plotshape(plotBuySignal, location=location.belowbar, style=shape.labelup, color=color.green, text="BUY")
plotshape(plotSellSignal, location=location.abovebar, style=shape.labeldown, color=color.red, text="SELL")
// رسم الأهداف (مع زر تحكم)
if plotBuySignal and show_targets
line.new(bar_index, tp1_buy, bar_index + 20, tp1_buy, color=color.green)
line.new(bar_index, tp2_buy, bar_index + 20, tp2_buy, color=color.teal)
line.new(bar_index, tp3_buy, bar_index + 20, tp3_buy, color=color.blue)
line.new(bar_index, sl_buy, bar_index + 20, sl_buy, color=color.red)
if plotSellSignal and show_targets
line.new(bar_index, tp1_sell, bar_index + 20, tp1_sell, color=color.green)
line.new(bar_index, tp2_sell, bar_index + 20, tp2_sell, color=color.teal)
line.new(bar_index, tp3_sell, bar_index + 20, tp3_sell, color=color.blue)
line.new(bar_index, sl_sell, bar_index + 20, sl_sell, color=color.red)
Golden Smart Entry Pro v1.0 – Dynamic Filtered Edition
//@version=5
indicator("Golden Smart Entry Pro v1.0 – Dynamic Filtered Edition", overlay=true)
// === الإعدادات ===
mode = input.string("Auto", title="Trade Mode", options= )
waveTF = input.timeframe("Current", title="Wave Analysis Timeframe", options= )
// === إعدادات الشروط ===
// المؤشرات الفنية (كمثال مبدئي، سيتم تحسينها لاحقاً)
rsiPeriod = input.int(14, title="RSI Period")
rsiOB = input.int(70, title="RSI Overbought")
rsiOS = input.int(30, title="RSI Oversold")
rsi = ta.rsi(close, rsiPeriod)
// ATR للحركة الطبيعية
atrPeriod = input.int(14, title="ATR Period")
atr = ta.atr(atrPeriod)
// === موجة سعرية بسيطة للفكرة الأولية ===
// سيتم تطوير منطق الموجة حسب الفاصل الزمني المختار
waveHigh = ta.highest(high, 20)
waveLow = ta.lowest(low, 20)
waveLength = waveHigh - waveLow
// === إشارات المراقبة ===
watchBuy = ta.crossover(rsi, rsiOS)
watchSell = ta.crossunder(rsi, rsiOB)
// === إشارات الدخول المؤكدة (مبدئيًا) ===
entryBuy = watchBuy and close > ta.sma(close, 20)
entrySell = watchSell and close < ta.sma(close, 20)
// === أوضاع التداول ===
validBuy = (mode == "Auto" or mode == "Calls Only") and entryBuy
validSell = (mode == "Auto" or mode == "Puts Only") and entrySell
// === أهداف ذكية بناءً على الموجة + فيبوناتشي + ATR
tp1 = close + (waveLength * 0.618)
tp2 = close + (waveLength * 1.0)
tp3 = close + (waveLength * 1.618)
tp1Sell = close - (waveLength * 0.618)
tp2Sell = close - (waveLength * 1.0)
tp3Sell = close - (waveLength * 1.618)
// === عرض الإشارات ===
plotshape(validBuy, title="BUY", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(validSell, title="SELL", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
plotshape(watchBuy and not validBuy, title="Watch Buy", location=location.belowbar, color=color.new(color.green, 70), style=shape.circle, text="Buy?")
plotshape(watchSell and not validSell, title="Watch Sell", location=location.abovebar, color=color.new(color.red, 70), style=shape.circle, text="Sell?")
// === أهداف مرئية (BUY)
plot(validBuy ? tp1 : na, title="TP1", color=color.green, linewidth=1, style=plot.style_linebr)
plot(validBuy ? tp2 : na, title="TP2", color=color.green, linewidth=1, style=plot.style_linebr)
plot(validBuy ? tp3 : na, title="TP3", color=color.green, linewidth=1, style=plot.style_linebr)
// === أهداف مرئية (SELL)
plot(validSell ? tp1Sell : na, title="TP1 Sell", color=color.red, linewidth=1, style=plot.style_linebr)
plot(validSell ? tp2Sell : na, title="TP2 Sell", color=color.red, linewidth=1, style=plot.style_linebr)
plot(validSell ? tp3Sell : na, title="TP3 Sell", color=color.red, linewidth=1, style=plot.style_linebr)
Golden DNA Tracker v1.0
//@version=5
indicator("Golden DNA Tracker v1.0", overlay=true)
// === إعدادات ===
rsiPeriod = input.int(14, "RSI Period")
dnaLookback = input.int(200, "DNA Scan Range")
similarityThreshold = input.float(0.85, "Pattern Match Threshold (0-1)")
showSignals = input.bool(true, "Show DNA BUY/SELL Markers")
// === المؤشرات المساعدة (RSI وسلوك السعر) ===
rsi = ta.rsi(close, rsiPeriod)
priceChange = close / close - 1 // نسبة التغير خلال آخر 5 شموع
// === تكرار الأنماط (البصمة الوراثية) ===
// نحاول إيجاد شموع سابقة لها نفس النسبة والتصرف
dnaBuy = false
dnaSell = false
for i = 10 to dnaLookback by 1
pastRsi = rsi
pastChange = close / close - 1
rsiMatch = math.abs(rsi - pastRsi) / pastRsi < (1 - similarityThreshold)
changeMatch = math.abs(priceChange - pastChange) / math.abs(pastChange) < (1 - similarityThreshold)
if rsiMatch and changeMatch
dnaBuy := priceChange > 0 and rsi < 50
dnaSell := priceChange < 0 and rsi > 50
break
// === رسم الإشارات ===
plotshape(showSignals and dnaBuy, location=location.belowbar, style=shape.labelup, color=color.green, size=size.small, text="DNA BUY")
plotshape(showSignals and dnaSell, location=location.abovebar, style=shape.labeldown, color=color.red, size=size.small, text="DNA SELL")
// === تنبيهات ===
alertcondition(dnaBuy, title="DNA BUY Signal", message="إشارة شراء بناءً على نمط متكرر")
alertcondition(dnaSell, title="DNA SELL Signal", message="إشارة بيع بناءً على نمط متكرر")
Golden Dynamic Entry Pro v2//@version=5
indicator("Golden Dynamic Entry Pro v2", overlay=true)
// === الإعدادات === //
showWeakSignals = input.bool(true, "إظهار إشارات المراقبة")
showTargets = input.bool(true, "رسم الأهداف")
showGoldenZone = input.bool(true, "عرض المنطقة الذهبية")
// === المنطقة الذهبية === //
var float fibHigh = na
var float fibLow = na
if bar_index % 20 == 0
fibHigh := ta.highest(high, 50)
fibLow := ta.lowest(low, 50)
fib618 = fibHigh - (fibHigh - fibLow) * 0.618
fib786 = fibHigh - (fibHigh - fibLow) * 0.786
inGoldenZone = not na(fib618) and close <= fib618 and close >= fib786
// === الاتجاه العام === //
isUpTrend = ta.lowest(low, 5) > ta.lowest(low, 5)
isDownTrend = ta.highest(high, 5) < ta.highest(high, 5)
isSideways = not isUpTrend and not isDownTrend
plotshape(isUpTrend, location=location.top, style=shape.triangleup, color=color.green, size=size.tiny)
plotshape(isDownTrend, location=location.top, style=shape.triangledown, color=color.red, size=size.tiny)
bgcolor(isSideways ? color.new(color.gray, 90) : na)
// === شمعة داينمك === //
bodySize = math.abs(close - open)
avgBody = ta.sma(bodySize, 10)
highVolume = volume > ta.sma(volume, 10) * 1.5
isDynamicCandle = bodySize > avgBody * 1.5 and highVolume
// === مؤشرات فنية === //
macdLine = ta.ema(close, 12) - ta.ema(close, 26)
signalLine = ta.ema(macdLine, 9)
macdCrossUp = ta.crossover(macdLine, signalLine)
macdCrossDown = ta.crossunder(macdLine, signalLine)
rsi = ta.rsi(close, 14)
rsiBuy = rsi < 30
rsiSell = rsi > 70
// === شموع انعكاسية === //
bullishPin = close > open and (high - close) > 2 * (close - open)
bearishPin = open > close and (close - low) > 2 * (open - close)
// === إشارات دخول قوية === //
buySignal = inGoldenZone and isUpTrend and bullishPin and macdCrossUp and rsiBuy and isDynamicCandle
sellSignal = inGoldenZone and isDownTrend and bearishPin and macdCrossDown and rsiSell and isDynamicCandle
plotshape(buySignal, location=location.belowbar, style=shape.arrowup, color=color.green, size=size.small)
plotshape(sellSignal, location=location.abovebar, style=shape.arrowdown, color=color.red, size=size.small)
// === إشارات مراقبة === //
weakBuyScore = inGoldenZone ? (isUpTrend ? 1 : 0) + (bullishPin ? 1 : 0) + (rsi < 40 ? 1 : 0) + (macdCrossUp ? 1 : 0) + (isDynamicCandle ? 1 : 0) : 0
weakBuySignal = showWeakSignals and weakBuyScore >= 2 and not buySignal
weakSellScore = inGoldenZone ? (isDownTrend ? 1 : 0) + (bearishPin ? 1 : 0) + (rsi > 60 ? 1 : 0) + (macdCrossDown ? 1 : 0) + (isDynamicCandle ? 1 : 0) : 0
weakSellSignal = showWeakSignals and weakSellScore >= 2 and not sellSignal
plotshape(weakBuySignal, location=location.belowbar, style=shape.arrowup, color=color.gray, size=size.tiny)
plotshape(weakSellSignal, location=location.abovebar, style=shape.arrowdown, color=color.gray, size=size.tiny)
// === أهداف السعر === //
if showTargets and buySignal
target1 = close + (high - low)
target2 = close + (high - low) * 1.5
line.new(bar_index, target1, bar_index + 10, target1, color=color.green, style=line.style_dotted)
line.new(bar_index, target2, bar_index + 10, target2, color=color.green, style=line.style_dotted)
if showTargets and sellSignal
target1 = close - (high - low)
target2 = close - (high - low) * 1.5
line.new(bar_index, target1, bar_index + 10, target1, color=color.red, style=line.style_dotted)
line.new(bar_index, target2, bar_index + 10, target2, color=color.red, style=line.style_dotted)
// === المنطقة الذهبية === //
var box goldenZone = na
if showGoldenZone and bar_index % 20 == 0 and not na(fib618) and not na(fib786)
box.delete(goldenZone)
zoneColor = close > close ? color.green : color.red
goldenZone := box.new(left=bar_index, right=bar_index + 20, top=fib618, bottom=fib786, border_color=zoneColor, bgcolor=color.new(zoneColor, 85))
// === تنبيهات === //
alertcondition(buySignal, title="Buy Alert", message="إشارة شراء مؤكدة")
alertcondition(sellSignal, title="Sell Alert", message="إشارة بيع مؤكدة")
alertcondition(weakBuySignal, title="Weak Buy", message="إشارة مراقبة شرائية")
alertcondition(weakSellSignal, title="Weak Sell", message="إشارة مراقبة بيعية")
CF Custom Cycle Marker🔁 CF Custom Cycle Marker
The CF Custom Cycle Marker is a lightweight visual tool that lets you define and explore your own market cycles. This indicator gives you full control to place cycle low markers and overlay custom sine waves — helping you visualize market timing based on your strategy.
What it does:
📍 Marks custom cycle lows to define cycle turning points
🌊 Plots customizable sine waves between those lows
🧭 Lets you choose your own cycle spacing (bars between points)
✨ Includes clean toggles for icons, waves, background shading, and even a camel logo 🐪
🎨 Personalize your chart with color, width, line style, and fill opacity
⚠️ Note: This is a manual/visual cycle tool. For real-time cycle low detection based on price action, use the full CF Cycle Trading Indicator.
Tradecademy CandlesThe script highlights high-volume candles.
Upward candles with significantly increased volume = green
Upward candles with moderately increased volume = blue
Downward candles with significantly increased volume = red
Downward candles with moderately increased volume = pink
Aggregated Frequency AnalyzerThis indicator is called a Frequency Analyzer to detect whale activity. It works to detect exploding candles, before they explode. This indicator only for crypto instrument, because making this indicator use one of formula from Volume Aggrageted especially active in crypto instrument, not in stock or forex instruments.
This Frequency Analyzer only for crypto coin, because this indicator contain the "Aggregated Volume". What is Aggrageted Volume, you can see my other indicator, call "Aggregated Volume". This special only for crypto instrument, summarize all volume from various exchanges like Binance, OKX, Bybit, and others become one volume, we call that's "Aggregated Volume", that difference with common volume providing by TradingView platform.
This indicator is called Frequency Analyzer, to analyze the movement of big money in the stock market. But this indicator cannot be on the Tradingview platform, you know why, because in tradingview there is no indicator called frequency, because buy and sell transactions can only be found in securities that are directly connected to the exchange. That's why we don't find the frequency indicator on the Tradingview platform. After several attempts, I finally found the right formula to define frequency in the tradingview pine editor, and I have also released the frequency indicator in my script. That was the beginning that then developed it and made this indicator "Frequency Analyzer."
What is its use, this indicator is useful for detecting large transactions made by whales. But we don't know, it's a buy or sell transaction. The indicator only describes large transactions made by whales. Of course this has an impact on whether the candle after that occurs a rally or a drop. Therefore, I describe in the "Frequency Analyzer" indicator script because the idea of this formula by Dean Earwicker.
That this is useful for detecting exploding candles before exploding, to detect super bullish before bullish.If the candle is in the support position and there is the highest bar, that is big buying by whales and of course the exploding candle becomes a rally. Conversely, if the candle position is in the resistance and there is the highest bar, that is big selling by whale then of course the candle becomes a drop. So this is an indicator to detect exploding candles before they explode, the candles become super rally or super drop.
It is also important that you look at the trend direction, whether it is downtrend, sideways, or uptrend. If you want to be safer, I suggest pressing long after breakout resistance, or pressing short after breakdown support.
Aggregated Volume LevelThis Volume Level only for crypto coin, becouse this indicator contain the "Aggregated Volume". What is Aggrageted Volume, you can see my other indicator, call "Aggregated Volume". This special only for crypto instrument, summarize all volume from various exchanges like Binance, OKX, Bybit, and others become one volume, we call that's "Aggregated Volume", that diffrence with common volume providing by TradingView platform.
And first and only, this indicator is Volume Level , that volume is given a level and identified as bullish or bearish.
Level A means very strong
Level B means strong
Level C means neutral
Level D means weak
Level E means very weak
Regards
Aggregated VolumeThis is the volume for crypto instruments. The volume in crypto instruments is different from the volume in stock or forex instruments. Because in crypto instrument at the same coin, for example bitcoin, there are differences in volume appearing on chart in Tradingview between exchanges. For example the exchanges on Binance and OKX, and between the spot market and the future or perpetual market, even though the transaction is in the same coin, bitcoin, there are differences in volume appearing on chart.
For those of us who trade relying on base volume as the main analysis in trading or investing, it is important to see the differences in volume between exchanges on Bitget, Binance, Bybit, and others, that Tradingview does not display the total transaction volume on the chart, but only the transaction volume per exchange, that does not describe the reality of the transaction volume. Therefore we need an indicator that totals volume on all exchanges, both spot and future / perpetual markets.
This indicator is called Aggregated Volume, which is the total volume of the exchanges: Binance, Bybit, OKX, Coinbase, Bitget, Kukoin, Kraken, Cryptocom, and Mexc. We chose these exchanges because they are the top 9 exchanges in the world that dominate the crypto market.
Therefore, this indicator appearing the total volume of transactions made on the 9 exchanges, both spot and perpetual, and will be summed into one volume indicator called " Aggregated Volume ".
GOLD DR with ADX & TP2 ExitHere is the translation in English:
"An indicator that identifies entry points for long and short trades based on a combination of strategy and leading indicators, created by the doctor."
GOLD DRDR GOLD - An indicator with the ability to identify long and short entries based on multiple oscillators with different weights in their settings.
Custom RSI & EMA Crosscreated a turkey that shows when the conditions of the RSI and EMA match from different TF and values
EMA CCI SSL Buy Sell Signal[THANHCONG]🔰 Introduction
EMA CCI SSL Buy Sell Signal is a strategy indicator that combines three popular factors:
EMA (8, 21, 89): Identifies the main trend.
CCI (6, 14): Detects momentum for buying and selling.
SSL Channel (HTF): Filters noise and confirms signals based on higher timeframes.
Together, this indicator provides reliable Buy/Sell signals that are easy to observe directly on the chart.
🛠 How to Use
Apply the indicator to the chart on any timeframe (M5 → D1).
Buy/Sell signals will appear when there is an SSL crossover along with trend/momentum confirmation.
Check the table on the top right for the most recent entry price and % change.
Note: Signals are only shown when all conditions are met to reduce noise (not generating continuous or misleading signals like single-indicator tools).
📌 Recommendations
Combine with confirmation from larger timeframes or support/resistance zones.
Use proper risk management & stop-loss to control risk.
Do not rely solely on the indicator; combine with your own technical analysis.
🙏 Thanks
Thank you for using this indicator!
If you find it useful, please click "★ Favorite" and Follow to get more tools from me.
I’m always open to feedback to improve.
⚠️ Disclaimer
This indicator is shared for educational and research purposes only.
It should not be considered as investment advice or a guarantee of profit.
Users are solely responsible when applying it in real trading...
VWAP Support/Resistance Strategy - EnhancedThis strategy works well on Gold and specifically on 15 minutes time frame. I have been back testing this strategy and forward testing as well, it is working well. Just use the basic price action as well to stay abide with the risk management and to execute the trades with effectiveness.
The ratio of winning and losing trades is very unfavourable but still we managed to close in green, it means it is effective. Also, we do not need to take each and every trade. Just be mindful with the limited trades and follow basic risk management rules. Back test the strategy on your own.
Money Flow: In & Out Detector[THANHCONG]Indicator Name:
Money Flow: In & Out Detector
Indicator Description:
The Money Flow: In & Out Detector indicator uses technical indicators such as RSI (Relative Strength Index), MFI (Money Flow Index), and volume analysis to determine money inflow and outflow in the market.
This indicator helps traders identify changes in money flow, allowing them to detect buy and sell signals based on the combination of the following factors:
RSI > 50 and MFI > 50: Money inflow, indicating a buy signal.
RSI < 50 and MFI < 50: Money outflow, indicating a sell signal.
Volume increase/decrease relative to the average: Identifies strong market behavior changes.
Adjustable Parameters:
RSI Length: The number of periods to calculate the RSI (default is 14).
MFI Length: The number of periods to calculate the MFI (default is 14).
Volume MA Length: The number of periods to calculate the moving average of volume (default is 20).
Volume Increase/Decrease (%): The percentage threshold for volume change compared to the moving average (default is 20%).
Look Back Period: The number of periods used to identify peaks and troughs (default is 20).
How to Use the Indicator:
Money Inflow: When both RSI and MFI are above 50, and volume increases significantly relative to the moving average, the indicator shows a Buy signal.
Money Outflow: When both RSI and MFI are below 50, and volume decreases significantly relative to the moving average, the indicator shows a Sell signal.
Identifying Peaks and Troughs: The indicator also helps identify market peaks and troughs based on technical conditions.
Note:
This indicator assists in decision-making, but does not replace comprehensive market analysis.
Use this indicator in conjunction with other technical analysis methods to increase the accuracy of trade signals.
Steps for Publishing the Indicator on TradingView:
Log in to TradingView:
Go to TradingView and log into your account.
Access Pine Script Editor:
Click on Pine Editor from the menu under the chart.
Paste your Pine Script® code into the editor window.
Check the Source Code:
Ensure your code is error-free and running correctly.
Review the entire source code and add the MPL-2.0 license notice if necessary.
Save and Publish:
After testing and confirming the code works correctly, click Add to Chart to try the indicator on your chart.
If satisfied with the result, click Publish Script at the top right of the Pine Editor.
Provide a name for the indicator and then enter the detailed description you’ve prepared.
Ensure you specify the MPL-2.0 license in the description if required.
Choose the Access Type:
You can choose either Public or Private access for your indicator depending on your intention.
Submit for Publication:
Wait for TradingView to review and approve your indicator. Typically, this process takes a few working days for verification and approval.
User Guide:
You can share detailed instructions for users on how to use the indicator on TradingView, including how to adjust the parameters and interpret the signals. For example:
Set RSI Length: Experiment with different RSI Length values to find the sensitivity that suits your strategy.
Interpreting In/Out Signals: When there is strong money inflow (In), consider entering a buy order. When there is strong money outflow (Out), consider selling.
VWAP Double Touch Alert (Timeframe-Aware)📌 VWAP Double Touch Alert — Smart Re-entry Signal for Precision Traders
Take your VWAP trading to the next level with this intelligent indicator that filters out the noise and zeroes in on high-probability re-entry setups.
💡 How it works:
This script tracks every time price touches the VWAP line and alerts you when it happens twice within a defined window of time (adjustable per your timeframe). This is often a sign of smart money accumulation, potential reversals, or explosive breakouts.
🔍 Why Traders Love It:
✅ Filters out weak signals — only alerts on confirmed double touches
✅ Fully adjustable VWAP zone sensitivity
✅ Selectable timeframe profiles or custom window (1m, 5m, 15m, 30m, etc.)
✅ Clean visual cues with minimal chart clutter
✅ Perfect for scalping, intraday reversals, or VWAP mean-reversion strategies
⚙️ Customization:
VWAP zone width (in %)
Time window in bars or automatic based on timeframe
Custom alert messages
Alert only triggers once per double-touch event to avoid spamming
🎯 Best For:
Crypto scalpers & day traders
VWAP bounce and mean-reversion traders
Traders who want clean, conclusive entry alerts without lag
Multi-Speed ADX with AlertsADX 5 speed ForexAlien Wave following
You can wait for all the waves to grow and trade in the direction of the price action.
You can trade the three shortest waves for more action.
This will help you catch the longer momentum wave, allowing you to stay invested for days and avoid tying up your cash for an extended period.
15 years of chart pounding - ForexAlien
Best used where you can see that all the ADX speeds are compressed at the bottom, like a Bollinger band squeeze, and then explode out with a vengeance.
Let the force be with you!
MACD and RSI - Combined V1.0 by ThaungkmitlThis script combines two powerful momentum indicators, MACD and RSI, into a single TradingView script for enhanced market analysis.
MACD (Moving Average Convergence Divergence) is a trend-following momentum indicator that shows the relationship between two moving averages of a security’s price. This version amplifies the histogram by 20x to improve visual clarity.
RSI (Relative Strength Index) measures the speed and change of price movements, providing insight into overbought and oversold conditions.
Key Features:
Amplified MACD Histogram for better trend visualization
Customizable MACD and RSI parameters
RSI panel with overbought (70) and oversold (30) zones
Background color highlighting for extreme RSI levels
Use this combined indicator to identify trend strength, reversals, and momentum shifts more effectively.