BPCO Z-ScoreBPCO Z-Score with Scaled Z-Value and Table
Description:
This custom indicator calculates the Z-Score of a specified financial instrument (using the closing price as a placeholder for the BPCO value), scales the Z-Score between -2 and +2 based on user-defined thresholds, and displays it in a table for easy reference.
The indicator uses a simple moving average (SMA) and standard deviation to calculate the original Z-Score, and then scales the Z-Score within a specified range (from -2 to +2) based on the upper and lower thresholds set by the user.
Additionally, the scaled Z-Score is displayed in a separate table on the right side of the chart, providing a clear, numerical value for users to track and interpret.
Key Features:
BPCO Z-Score: Calculates the Z-Score using a simple moving average and standard deviation over a user-defined window (default: 365 days). This provides a measure of how far the current price is from its historical average in terms of standard deviations.
Scaled Z-Score: The original Z-Score is then scaled between -2 and +2, based on the user-specified upper and lower thresholds. The thresholds default to 3.5 (upper) and -1.5 (lower), and can be adjusted as needed.
Threshold Bands: Horizontal lines are plotted on the chart to represent the upper and lower thresholds. These help visualize when the Z-Score crosses critical levels, indicating potential market overbought or oversold conditions.
Dynamic Table Display: The scaled Z-Score is shown in a dynamic table at the top-right of the chart, providing a convenient reference for traders. The table updates automatically as the Z-Score fluctuates.
How to Use:
Adjust Time Window: The "Z-Score Period (Days)" input allows you to adjust the time period used for calculating the moving average and standard deviation. By default, this is set to 365 days (1 year), but you can adjust this depending on your analysis needs.
Set Upper and Lower Thresholds: Use the "BPCO Upper Threshold" and "BPCO Lower Threshold" inputs to define the bands for your Z-Score. The default values are 3.5 for the upper band and -1.5 for the lower band, but you can adjust them based on your strategy.
Interpret the Z-Score: The Z-Score provides a standardized measure of how far the current price (or BPCO value) is from its historical mean, relative to the volatility. A value above the upper threshold (e.g., 3.5) may indicate overbought conditions, while a value below the lower threshold (e.g., -1.5) may indicate oversold conditions.
Use the Scaled Z-Score: The scaled Z-Score is calculated based on the original Z-Score, but it is constrained to a range between -2 and +2. When the BPCO value hits the upper threshold (3.5), the scaled Z-Score will be +2, and when it hits the lower threshold (-1.5), the scaled Z-Score will be -2. This gives you a clear, easy-to-read value to interpret the market's condition.
Data Sources:
BPCO Data: In this indicator, the BPCO value is represented by the closing price of the asset. The calculation of the Z-Score and scaled Z-Score is based on this price data, but you can modify it to incorporate other data streams as needed (e.g., specific economic indicators or custom metrics).
Indicator Calculation: The Z-Score is calculated using the following formulas:
Mean (SMA): A simple moving average of the BPCO (close price) over the selected period (365 days by default).
Standard Deviation (Std): The standard deviation of the BPCO (close price) over the same period.
Z-Score: (Current BPCO - Mean) / Standard Deviation
Scaled Z-Score: The Z-Score is normalized to fall within a specified range (from -2 to +2), based on the upper and lower threshold inputs.
Important Notes:
Customization: The indicator allows users to adjust the period (window) for calculating the Z-Score, as well as the upper and lower thresholds to suit different timeframes and trading strategies.
Visual Aids: Horizontal lines are drawn to represent the upper and lower threshold levels, making it easy to visualize when the Z-Score crosses critical levels.
Limitations: This indicator relies on historical price data (or BPCO) and assumes that the standard deviation and mean are representative of future price behavior. It does not account for potential market shifts or extreme events that may fall outside historical norms.
指標和策略
SPAZZ Daily/WeeklyLinear regression model with a standard deviation smoothed with a z-score.
Works on all timeframes but the higher up you go the more reliable.
Green buy signals signal over sold conditions.
Red sell arrows signal overbought conditions.
CANX Multi-Timeframe Trend© CanxStixTrader
CANX Multi Trend Table indicator allows you to monitor the instruments you choose on the timeframes you want without the need to move between them.
Customizable time frames, pairs, colors and size.
1. Different methods of determining trend VIA super trend or EMAs
2. Monitor multiple instruments at the same time
3. Customizable ATR settings
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)
Z-Score EMA CloudA Z score EMA Cloud designed to signal 4 different strengths.
Normal green is a normal buying area.
Dark green is a strong buying area.
Normal red is a normal selling area.
Dark red is a strong selling area.
Take sells when it flips from green to red and take buys into the green or when it flips red to green, best r/r comes from buying inside the cloud.
Z-Score line Daily/WeeklyA linear regression model built around a standard deviation of a z score and a z score EMA.
Top white line is extremely overbought
a flip from green to red signals a bearish shift
if they both happen near the top its becomes a signal to be short or look for shorts.
Bottom white line is extremely oversold
a flip from red to green signals a bullish shift
if they both happen at the bottom its becomes a signal to be long or look for longs.
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)
GRU-Inspired Buy/Sell IndicatorIndicator created using the GRU-Inspired Buy/Sell Indicator principles.
Sticky Candlestick Quarter Divider (Dynamic Update)This indicator divides the most recent candlestick into four equal parts and dynamically plots horizontal lines that move along with the latest candle.
Features:
Dynamic Sticky Lines:
The lines remain visually attached to the current candle, moving seamlessly as the chart updates, zooms, or pans.
Price Level Calculation:
Divides the candlestick into four distinct levels:
High Line (Red): Marks the highest point of the candle.
Low Line (Red): Marks the lowest point of the candle.
Midpoint Line (Blue): Marks the midpoint between high and low.
Upper Quarter Line (Green): Marks the 25% level between low and high.
Lower Quarter Line (Green): Marks the 75% level between low and high.
Real-Time Update:
The lines automatically adjust to the latest candle, maintaining accurate positioning.
Ideal for Candle Analysis:
Quickly identify key price levels and candle structure.
Suitable for analyzing trend strength and potential price reversals.
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="إشارة بيع بناءً على نمط متكرر")
Moffitt Candle ClosureMoffitt Candle Closure method, wait for a closure above or below the wick of the prior opposing candle!
Spazz bc thrustBreadth trust indy
Bottom signal indicator (s/o bcrossley, s/o Lodson)
Blue: R2k % above 20 SMA with dual R2k + LOWN criterion
Yellow: S&P 500 % above 20 SMA with dual S5TW + LOWN criterion
Purple: Rising S&P 500 % above 5 SMA with below threshold criterion
Lime: S&P 500 "Golden Cross" Ratio between % above 200 SMA and 50 SMA
Spazz Elite Top SignalsBreadth trust x VIX divergence top signal generator
Core Components
1. Breadth Indicators
The indicator collects data on the percentage of stocks trading above various moving averages:
2. VIX Analysis
The indicator incorporates the VIX (Volatility Index) to detect complacency and potential volatility divergences:
Auto-detects the appropriate volatility index for the instrument (VIX for S&P 500, VXN for Nasdaq, etc.)
Identifies when VIX is unusually low (market complacency)
Detects when price makes new highs but VIX isn't making new lows (bearish divergence)
Monitors for VIX bottoming patterns while prices continue to rise
POINT SYSTEM FOR SIGNAL GENERATION LOGIC
Signal Generation Logic
Score Accumulation: Points accumulate over time as warning conditions appear
Signal Thresholds:
Strong Signal: Score reaches 10 points (moderately concerning)
Extreme Signal: Score reaches 15 points (significantly concerning)
Signal Suppression:
Prevents signal clustering with a 5-bar minimum between signals
Resets score entirely after 120 bars with no new warning conditions
Signal Display:
Strong Signal: Orange arrow above the price bar
Extreme Signal: Red arrow above the price bar
Golden Unified Entry Pro v2.7 – Balanced Dynamic Edition
//@version=6
indicator("Golden Unified Entry Pro v2.7 – Balanced Dynamic Edition", overlay=true)
// === Inputs ===
showZones = input.bool(true, "Show Golden Zones")
showWave = input.bool(true, "Show Liquidity Wave")
showLabels = input.bool(true, "Show Entry Signals (Buy/Sell/Watch)")
// === Net Liquidity & RSI ===
netLiquidity = close - open
liquidityStrength = ta.ema(netLiquidity, 5)
rsi = ta.rsi(close, 14)
rsiBuy = rsi > 50
rsiSell = rsi < 50
// === Dynamic Swing High/Low Based on Liquidity ===
var float swingHigh = na
var float swingLow = na
if liquidityStrength > 0
swingLow := low
if liquidityStrength < 0
swingHigh := high
// === Golden Zones ===
fib618 = swingHigh - (swingHigh - swingLow) * 0.618
fib786 = swingHigh - (swingHigh - swingLow) * 0.786
fib618s = swingLow + (swingHigh - swingLow) * 0.618
fib786s = swingLow + (swingHigh - swingLow) * 0.786
buyZone = close >= fib786 and close <= fib618
sellZone = close <= fib786s and close >= fib618s
// === Entry Conditions ===
strongBuy = buyZone and liquidityStrength > 0 and rsiBuy
watchBuy = buyZone and (liquidityStrength > 0 or rsiBuy)
strongSell = sellZone and liquidityStrength < 0 and rsiSell
watchSell = sellZone and (liquidityStrength < 0 or rsiSell)
// === Dynamic Box ===
var box zoneBox = na
if showZones
if strongBuy or watchBuy
box.set_lefttop(zoneBox, bar_index, fib618)
box.set_rightbottom(zoneBox, bar_index + 3, fib786)
box.set_border_color(zoneBox, color.yellow)
box.set_bgcolor(zoneBox, color.new(color.yellow, 85))
else if strongSell or watchSell
box.set_lefttop(zoneBox, bar_index, fib786s)
box.set_rightbottom(zoneBox, bar_index + 3, fib618s)
box.set_border_color(zoneBox, color.red)
box.set_bgcolor(zoneBox, color.new(color.red, 85))
else
box.delete(zoneBox)
zoneBox := na
// === Labels ===
var label signalLabel = na
if showLabels
if strongBuy
label.set_xy(signalLabel, bar_index, high)
label.set_text(signalLabel, "Strong Buy")
label.set_style(signalLabel, label.style_label_up)
label.set_color(signalLabel, color.green)
label.set_textcolor(signalLabel, color.white)
else if strongSell
label.set_xy(signalLabel, bar_index, low)
label.set_text(signalLabel, "Strong Sell")
label.set_style(signalLabel, label.style_label_down)
label.set_color(signalLabel, color.red)
label.set_textcolor(signalLabel, color.white)
else if watchBuy
label.set_xy(signalLabel, bar_index, high)
label.set_text(signalLabel, "Buy Watch")
label.set_style(signalLabel, label.style_label_up)
label.set_color(signalLabel, color.new(color.green, 70))
label.set_textcolor(signalLabel, color.white)
else if watchSell
label.set_xy(signalLabel, bar_index, low)
label.set_text(signalLabel, "Sell Watch")
label.set_style(signalLabel, label.style_label_down)
label.set_color(signalLabel, color.new(color.red, 70))
label.set_textcolor(signalLabel, color.white)
else
label.delete(signalLabel)
signalLabel := na
// === Dynamic Wave ===
var line waveLine = na
if showWave
if liquidityStrength > 0 and rsiBuy
line.set_xy1(waveLine, bar_index , low )
line.set_xy2(waveLine, bar_index, low)
line.set_color(waveLine, color.green)
line.set_width(waveLine, 2)
else if liquidityStrength < 0 and rsiSell
line.set_xy1(waveLine, bar_index , high )
line.set_xy2(waveLine, bar_index, high)
line.set_color(waveLine, color.red)
line.set_width(waveLine, 2)
else
line.delete(waveLine)
waveLine := na
// Dummy plot for TradingView compatibility
plot(na, title="Invisible Plot")
9-15 EMA Strategy Auto Signals//@version=5
//This is only for educational purposes
indicator('9-15 EMA Strategy Auto Signals', overlay=true)
// Plot 9 and 15 EMA on the chart
ema9 = ta.ema(close, 9)
ema15 = ta.ema(close, 15)
plot(ema9, title = "9 EMA", color=color.rgb(253, 5, 5), linewidth=1)
plot(ema15, title = "15 EMA", color=color.rgb(0, 0, 0), linewidth=1)
// Calculate the slope of the 9 EMA line in degrees
angle = math.atan((ema9 - ema9 ) / syminfo.mintick) * (180 / input(5.58159265))
// Conditions for buying
buySignal1 = ta.crossover(ema9, ema15)
buySignal2 = close > open and open < ema9 and open > ema15 and close > ema9 and low > ema15 and high - math.max(open, close) <= math.abs(open - close) * 0.3
buySignal3 = close > open and open > ema9 and low <= ema9 and close > ema9 and low > ema15 and high - math.max(open, close) <= math.abs(open - close) * 0.3
buyConditionAngle = angle >= input((50), title = "Angle 2") // Buy only if the slope is greater than or equal to 50 degrees
// Plot green arrow on the chart for buying signals
plotshape(buySignal2 or buySignal3, title = "Up", style=shape.triangleup, location=location.belowbar, color=color.new(#0a0ef3, 12), size=size.small)
plotshape((buySignal2 or buySignal3) and buyConditionAngle, title = "Slope Up", style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), size=size.small)
// Conditions for selling
sellSignal1 = ta.crossunder(ema9, ema15)
sellSignal2 = close < open and open > ema9 and open < ema15 and close < ema9 and high < ema15 and math.min(open, close) - low <= math.abs(open - close) * 0.3
sellSignal3 = close < open and open < ema9 and high >= ema9 and close < ema9 and high < ema15 and math.min(open, close) - low <= math.abs(open - close) * 0.3
sellConditionAngle = angle <= -50 // Sell only if the slope is less than or equal to -50 degrees
// Plot red arrow on the chart for selling signals
plotshape(sellSignal2 or sellSignal3, title = "Down", style=shape.triangledown, location=location.abovebar, color=color.rgb(0, 0, 0), size=size.small)
plotshape((sellSignal2 or sellSignal3) and sellConditionAngle, title = "Slope Down", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
AlgoRanger Dynamic Trend Flow + Smart Buy and Sell📊 AlgoRanger Dynamic Trend Flow + Smart Buy/Sell
An Intelligent Trend Indicator with Automated Buy & Sell Signals
🔍 What This Indicator Does:
This indicator dynamically visualizes market trend direction using color-coded zones (green for bullish, red for bearish), along with automated Buy/Sell labels to guide your entry and exit points.
🟢 Green Zones = Bullish Trend
🔴 Red Zones = Bearish Trend
✅ Buy/Sell Labels = Smart signals based on momentum and trend strength
Perfect for trend-following traders looking for a clean, simple visual to assess trend direction and make confident trading decisions.
⭐ Best Used with Line Chart (Not Candlesticks)
This indicator is designed to work best with Line Charts, which emphasize price flow and trend direction without the noise of candlestick wicks.
Using it with Line Charts provides a clearer visualization of Trend Flow and smoother signal recognition.
It reduces market noise, especially on lower timeframes, improving accuracy in identifying trend changes.
🧠 How to Use:
1. Watch for Zone Colors
Green Zone = Look for Buy opportunities
Red Zone = Look for Sell opportunities
Frequent color shifts = Ranging market — use caution
2. Follow Buy/Sell Signals
Buy Signal: When the zone turns green and a Buy label appears
Sell Signal: When the zone turns red and a Sell label appears
Tip: Signals work best in trending conditions where zones hold direction consistently
⚙️ Customization & Flexibility
Adjustable smoothing and sensitivity settings (for short- or long-term trends)
Turn Buy/Sell labels on/off
Golden Unified Entry Pro v1.3
//@version=5
indicator("Golden Unified Entry Pro v1.3", overlay=true)
// === Inputs ===
rsiPeriod = input.int(14, title="RSI Period")
liquidityThreshold = input.float(1.5, title="Liquidity Threshold")
zoneTransparency = input.int(85, title="Zone Transparency", minval=0, maxval=100)
showBackground = input.bool(true, title="Show Liquidity Background")
showLiquidityMarkers = input.bool(false, title="Show Liquidity Text")
showWatchSignalsOnly = input.bool(false, title="Show Watchlist Signals Only")
showCallPutLabels = input.bool(true, title="Show CALL/PUT Labels")
// === RSI & Liquidity ===
rsi = ta.rsi(close, rsiPeriod)
netLiquidity = volume * (close - open)
liquidityColor = netLiquidity > liquidityThreshold ? color.new(color.green, 85) :
netLiquidity < -liquidityThreshold ? color.new(color.red, 85) : color.new(color.gray, 90)
bgcolor(showBackground ? liquidityColor : na)
// === Entry/Exit Logic ===
longCond = ta.crossover(rsi, 50) and netLiquidity > liquidityThreshold
shortCond = ta.crossunder(rsi, 50) and netLiquidity < -liquidityThreshold
watchLong = netLiquidity > 0 and rsi > 45
watchShort = netLiquidity < 0 and rsi < 55
plotshape(not showWatchSignalsOnly and longCond, title="Buy", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(not showWatchSignalsOnly and shortCond, title="Sell", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(showWatchSignalsOnly and watchLong, title="Watch Buy", location=location.belowbar, color=color.teal, style=shape.circle, size=size.tiny)
plotshape(showWatchSignalsOnly and watchShort, title="Watch Sell", location=location.abovebar, color=color.maroon, style=shape.circle, size=size.tiny)
// === Optional Liquidity Labels ===
if showLiquidityMarkers
label.new(bar_index, high, text=netLiquidity > liquidityThreshold ? "IN" :
netLiquidity < -liquidityThreshold ? "OUT" : "",
style=label.style_label_left, textcolor=color.white, size=size.tiny,
color=netLiquidity > liquidityThreshold ? color.green :
netLiquidity < -liquidityThreshold ? color.red : na)
// === Golden Zone Drawing ===
pivotHigh = ta.pivothigh(high, 5, 5)
pivotLow = ta.pivotlow(low, 5, 5)
var float swingHigh = na
var float swingLow = na
var int swingBar = na
var bool isBullish = true
if not na(pivotHigh)
swingHigh := pivotHigh
swingBar := bar_index
isBullish := false
if not na(pivotLow)
swingLow := pivotLow
swingBar := bar_index
isBullish := true
var float fibFrom = na
var float fibTo = na
var float fib61 = na
var float fib78 = na
if not na(swingHigh) and not na(swingLow)
fibFrom := isBullish ? swingLow : swingHigh
fibTo := isBullish ? swingHigh : swingLow
fib61 := fibFrom + (fibTo - fibFrom) * 0.618
fib78 := fibFrom + (fibTo - fibFrom) * 0.786
zoneColor = isBullish ? color.new(color.rgb(255, 215, 0), zoneTransparency) : color.new(color.rgb(169, 169, 169), zoneTransparency)
drawZone = not na(fib61) and not na(fib78)
var box goldenZone = na
if drawZone
box.delete(goldenZone)
goldenZone := box.new(swingBar, fib78, bar_index, fib61, bgcolor=zoneColor, border_color=color.new(color.black, 90))
// === Filtered CALL/PUT Labels ===
isCall = rsi > 50 and netLiquidity > liquidityThreshold and close > open and ta.crossover(rsi, 50)
isPut = rsi < 50 and netLiquidity < -liquidityThreshold and close < open and ta.crossunder(rsi, 50)
if showCallPutLabels
if isCall
label.new(bar_index, low, text="CALL", style=label.style_label_up, textcolor=color.white, color=color.green, size=size.small)
if isPut
label.new(bar_index, high, text="PUT", style=label.style_label_down, textcolor=color.white, color=color.red, size=size.small)
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="إشارة مراقبة بيعية")
Trend Strength IndexThis is a refined and fixed version of the classic True Strength Index (TSI) indicator. TSI is a momentum oscillator developed by William Blau that captures both trend direction and strength by analyzing the double-smoothed price momentum.
Unlike the standard version, this script is fixed to only update on closed candles, ensuring signals are stable and do not repaint or fluctuate mid-bar—ideal for traders who want reliable confirmation before making decisions.
Key Features:
Double EMA smoothing of momentum
Stable and reliable signal generation
Perfect for spotting reversals and trend continuations
Fixed updates only at candle close
Best used in combination with trend-following tools, divergences, or price action for maximum effectiveness