PSP Candel Analyzer V2.0PSP Candle Analyzer V2.0
Multi-Symbol Candle State & Session Open Table (Replay Mode Compatible)
Indicator Overview:
The PSP Candle Analyzer V2.0 is designed for fast, visual candle direction analysis and structural comparison across multiple markets or indices in various timeframes.
It is ideal for traders who monitor several related instruments (e.g., Nasdaq, S&P 500, Dow Jones) and need quick insight into price action and candle structure divergence.
Key Features
1. Ultra-Compact, Color-Coded Table:
Displays a table in the chart corner showing the state (up, down, neutral) of each selected symbol for multiple timeframes (5m to 6h).
Each row: a timeframe.
Each column: the first letter of each symbol, colored by candle direction (bright blue = up, bright red = down, bright yellow = neutral).
Clean, minimal design for maximum readability—even on small monitors.
2. Automatic & Flexible Symbol Selection:
The indicator always includes the active chart’s symbol as the first column, automatically.
You can add 1 to 4 extra symbols in the settings (up to 5 symbols total for comparison).
3. Structural Divergence Highlighting:
If one symbol’s candle direction differs from others in a given timeframe, that row is highlighted (bright green) for fast detection of cross-market divergences.
4. Session Opening Lines (Dynamic Lines):
Dotted lines are drawn for key session opens: 6:00, 8:30, and 9:30 (New York time).
Each line’s color, length, and visibility are fully customizable.
Labels (“6:00”, “8:30”, “9:30”) appear precisely at the end of each line, matching pro indicators like NYO/TDO.
5. 100% Replay Mode Compatible:
Unlike many table-based indicators, this version is fully compatible with TradingView’s Replay Mode:
Table, colors, and lines are always updated in real time as you step through history or use auto-play.
No lags, glitches, or delayed updates—tested and verified.
6. Fully Customizable & Minimalist:
Adjust the number of symbols, table font size, color themes, session line length, and more—all from the settings panel.
Table stays compact and legible, regardless of setup.
How to Use
Add the indicator to your chart.
The active chart symbol is automatically included in the table.
Use settings to add up to 4 more symbols for cross-market analysis (e.g., CME_MINI:ES1! for S&P500, CBOT_MINI:YM1! for Dow Jones, etc).
Instantly compare candle direction for all symbols and timeframes, with divergence rows highlighted.
Session open lines with precise time labels will be drawn on your chart (fully customizable).
Other Notes
No timezone issues: Session opens (6:00, 8:30, 9:30 NY) are always aligned with official market times.
Table remains ultra-compact and non-intrusive, even on small screens.
Replay Mode problem is fully solved—the table and dynamic lines always update in sync with price and candles in historical mode.
Keywords:
Candle Analyzer, Multi-Symbol Table, Session Open Lines, Replay Compatible, NASDAQ, S&P500, Dow Jones, CME, CBOT, Candle Structure, Market Divergence, Pine Script v6, Real-Time Table, Pro Trading Tools
Feedback, bug reports, or questions? Leave a comment or DM! Happy trading!
Candlestick analysis
【KitkatTrading】聪明钱交易指标KitkatTrading - Smart Money Trading Indicator
* Built on the ICT Smart Money framework
* Tailored for stocks, crypto, and futures markets.
* Key features:
1 - automatic detection of fake breakouts
2 - automatic detection of change of structure
3 - automatic FVG plotting
Smart Money Trading opportunities made instantly clear!
Author: Kitkat
www.youtube.com
VIsthis is to make it easy to identify volume imbalances and flat candles.
these are STRONG magnets that will attract price and you should be aware of them when trading
Candle Eraser (New York Time, Dropdown)If you want to focus on first 3 hours of Asia, London> and New York, inspired by Stacey Burke Trading 12 Candle Window Concept
- Set your time to UTC-4 New York
BU BE Combined Indicator with Momentum**Bullish Engulfing and Bearish Engulfing Indicator with Momentum**
🔍 **Description:**
This indicator detects Bullish Engulfing (BE) and Bearish Engulfing (BE) candlestick patterns of type 1 and type 2 with strong momentum confirmation. Only signals with high momentum are displayed.
🚀 **Key Features:**
* Identifies Bullish Engulfing type 1 and type 2, as well as Bearish Engulfing type 1 and type 2 patterns.
* Momentum confirmation: strong bullish candles are highlighted in blue, strong bearish candles in yellow.
* Prevents false signals by ensuring only valid momentum patterns are displayed.
✅ **Benefits:**
* Helps traders identify candlestick patterns with strong momentum.
* Enhances the accuracy of technical analysis.
🚨 **Note:**
This indicator is a technical analysis tool and does not guarantee profit. Use it in combination with other technical analysis methods.
💡 **Usage Tips:**
* Suitable for time frames M15 and above.
* Best used with price action strategies or your preferred entry method.
Enjoy more precise trading with the Bullish Engulfing and Bearish Engulfing Indicator with Momentum! 🚀
BU BE Combined Indicator with Momentum**Bullish Engulfing and Bearish Engulfing Indicator with Momentum**
🔍 **Description:**
This indicator detects Bullish Engulfing (BE) and Bearish Engulfing (BE) candlestick patterns of type 1 and type 2 with strong momentum confirmation. Only signals with high momentum are displayed.
🚀 **Key Features:**
* Identifies Bullish Engulfing type 1 and type 2, as well as Bearish Engulfing type 1 and type 2 patterns.
* Momentum confirmation: strong bullish candles are highlighted in blue, strong bearish candles in yellow.
* Prevents false signals by ensuring only valid momentum patterns are displayed.
✅ **Benefits:**
* Helps traders identify candlestick patterns with strong momentum.
* Enhances the accuracy of technical analysis.
🚨 **Note:**
This indicator is a technical analysis tool and does not guarantee profit. Use it in combination with other technical analysis methods.
💡 **Usage Tips:**
* Suitable for time frames M15 and above.
* Best used with price action strategies or your preferred entry method.
Enjoy more precise trading with the Bullish Engulfing and Bearish Engulfing Indicator with Momentum! 🚀
Trend-Based High Vol Doji (Pullback Reversal)This TradingView script identifies high-probability reversal Doji candles that appear after pullbacks within a larger trend, using Heiken Ashi candles and volume confirmation.
Trend [ALEXtrader]📊 Indicator Description (XAU/USD 1H - TradingView)
This indicator detects accumulation and distribution zones using low volatility periods, followed by breakouts, to generate BUY or SELL signals. It marks entries, take profit (TP), and stop loss (SL) levels directly on the chart, and visually highlights the price consolidation zones with colored rectangles.
✅ Key Features:
Signal Labels:
Green (BUY): Entry after price breaks upward from a consolidation box.
Red (SELL): Entry after price breaks downward from a consolidation box.
Each signal includes:
Entry price
TP (Take Profit) level
SL (Stop Loss) level
Colored Boxes (Rectangles):
Represent consolidation zones or accumulation/distribution phases.
Appear before a breakout signal is generated.
Colors vary slightly (e.g., blue, purple, gray) for visual distinction.
Calculation Logic (implied):
Boxes likely based on price range during low volatility periods.
Breakouts are detected when price closes outside the range of the box.
TP and SL levels are probably determined by a fixed ratio or measured from the box size.
Volume Histogram:
Displayed below the chart for additional context, possibly to confirm breakout strength.
ALEX Trader📊 Indicator Description (XAU/USD 1H - TradingView)
This indicator detects accumulation and distribution zones using low volatility periods, followed by breakouts, to generate BUY or SELL signals. It marks entries, take profit (TP), and stop loss (SL) levels directly on the chart, and visually highlights the price consolidation zones with colored rectangles.
✅ Key Features:
Signal Labels:
Green (BUY): Entry after price breaks upward from a consolidation box.
Red (SELL): Entry after price breaks downward from a consolidation box.
Each signal includes:
Entry price
TP (Take Profit) level
SL (Stop Loss) level
Colored Boxes (Rectangles):
Represent consolidation zones or accumulation/distribution phases.
Appear before a breakout signal is generated.
Colors vary slightly (e.g., blue, purple, gray) for visual distinction.
Calculation Logic (implied):
Boxes likely based on price range during low volatility periods.
Breakouts are detected when price closes outside the range of the box.
TP and SL levels are probably determined by a fixed ratio or measured from the box size.
Volume Histogram:
Displayed below the chart for additional context, possibly to confirm breakout strength.
Sniper Entry Pro v1.6.2 – Bubble Polished Edition
//@version=5
indicator("Sniper Entry Pro v1.6.2 – Bubble Polished Edition", overlay=true)
// === INPUTS ===
showSignals = input.bool(true, "Show Entry Signals")
showDelta = input.bool(true, "Show Delta Strength?")
showBubbles = input.bool(true, "Show Signal Bubbles?")
showSMA = input.bool(true, "Show Moving Averages?")
showTargets = input.bool(true, "Show TP1/TP2/TP3?")
showSidewaysAlert = input.bool(true, "Show Sideways Market Warning?")
// === INDICATORS ===
rsi = ta.rsi(close, 14)
cci = ta.cci(close, 20)
sma10 = ta.sma(close, 10)
sma20 = ta.sma(close, 20)
sma50 = ta.sma(close, 50)
sma100 = ta.sma(close, 100)
sma200 = ta.sma(close, 200)
// === DELTA & FOOTPRINT LOGIC ===
delta = (close - open) * volume
normalizedDelta = volume != 0 ? delta / volume : 0
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
body = math.abs(close - open)
isRejection = upperWick > body * 1.5 or lowerWick > body * 1.5
prevHigh = ta.highest(close , 5)
prevLow = ta.lowest(close , 5)
bosUp = close > prevHigh
bosDown = close < prevLow
footprintBuy = normalizedDelta > 0.2 and rsi < 40 and cci < -100 and isRejection and bosUp
footprintSell = normalizedDelta < -0.2 and rsi > 60 and cci > 100 and isRejection and bosDown
// === SCORE SYSTEM
scoreBuy = (rsi >= 45 and rsi <= 51 ? 1 : 0) + (isRejection ? 1 : 0) + (normalizedDelta > 0 ? 1 : 0) + (close > sma20 ? 1 : 0)
scoreSell = (rsi < 55 ? 1 : 0) + (isRejection ? 1 : 0) + (normalizedDelta < 0 ? 1 : 0) + (close < sma20 ? 1 : 0)
watchBuy = scoreBuy == 3 and normalizedDelta > 0
watchSell = scoreSell == 3 and normalizedDelta < 0
call = (scoreBuy >= 4 or (scoreBuy == 3 and footprintBuy))
put = (scoreSell >= 4 or (scoreSell == 3 and footprintSell))
// === ENTRY / TP/SL
entry = close
zzDepth = 12
swingHigh = ta.highest(high, zzDepth)
swingLow = ta.lowest(low, zzDepth)
tp1 = call ? entry + (entry - swingLow) * 0.5 : put ? entry - (swingHigh - entry) * 0.5 : na
tp2 = call ? entry + (entry - swingLow) * 0.75 : put ? entry - (swingHigh - entry) * 0.75 : na
tp3 = call ? entry + (entry - swingLow) : put ? entry - (swingHigh - entry) : na
sl = call ? swingLow : put ? swingHigh : na
// === BAR COLORING
barcolor(showSignals ? (call ? color.green : put ? color.red : watchBuy ? color.new(color.green, 60) : watchSell ? color.new(color.red, 60) : na) : na)
// === DELTA LABEL
if showDelta
label.new(bar_index, low - syminfo.mintick * 10, str.tostring(delta, "#.##"), textcolor=color.white, size=size.tiny, style=label.style_label_left, color=delta > 0 ? color.new(color.green, 60) : color.new(color.red, 60))
// === BUBBLES (POSITIONED SOFTLY)
bodyTop = math.max(open, close)
bodyBot = math.min(open, close)
offsetY = syminfo.mintick * 20
if showBubbles and call
label.new(bar_index, bodyBot - offsetY, "CALL", style=label.style_label_up, size=size.normal, textcolor=color.white, color=color.new(color.green, 0))
if showBubbles and put
label.new(bar_index, bodyTop + offsetY, "PUT", style=label.style_label_down, size=size.normal, textcolor=color.white, color=color.new(color.red, 0))
if showBubbles and watchBuy
label.new(bar_index, bodyBot - offsetY, "B3", style=label.style_label_up, size=size.small, textcolor=color.white, color=color.new(color.green, 80))
if showBubbles and watchSell
label.new(bar_index, bodyTop + offsetY, "S3", style=label.style_label_down, size=size.small, textcolor=color.white, color=color.new(color.red, 80))
// === TP/SL PLOTS
plot(showTargets and not na(tp1) ? tp1 : na, title="TP1", color=color.green, style=plot.style_linebr)
plot(showTargets and not na(tp2) ? tp2 : na, title="TP2", color=color.teal, style=plot.style_linebr)
plot(showTargets and not na(tp3) ? tp3 : na, title="TP3", color=color.blue, style=plot.style_linebr)
plot(showTargets and not na(sl) ? sl : na, title="SL", color=color.red, style=plot.style_linebr)
// === SMA
plot(showSMA ? sma10 : na, color=color.gray, title="SMA10")
plot(showSMA ? sma20 : na, color=color.blue, title="SMA20")
plot(showSMA ? sma50 : na, color=color.orange, title="SMA50")
plot(showSMA ? sma100 : na, color=color.purple, title="SMA100")
plot(showSMA ? sma200 : na, color=color.red, title="SMA200")
// === SIDEWAYS WARNING
range20 = ta.highest(high, 20) - ta.lowest(low, 20)
atr14 = ta.atr(14)
isSideways = range20 < atr14 * 1.5
if showSidewaysAlert and isSideways
label.new(bar_index, high + syminfo.mintick * 30, "⚠️ Sideways", style=label.style_label_down, textcolor=color.black, size=size.small, color=color.new(color.yellow, 60))
// === ALERTS
alertcondition(call, title="CALL Confirmed", message="CALL Signal Triggered")
alertcondition(put, title="PUT Confirmed", message="PUT Signal Triggered")
alertcondition(watchBuy, title="Watch Buy", message="Watch Buy Signal")
alertcondition(watchSell, title="Watch Sell", message="Watch Sell Signal")
Golden Pattern Detector Pro v2.0 – All Patterns Edition
//@version=5
indicator("Golden Pattern Detector Pro v2.0 – All Patterns Edition", overlay=true)
// === Inputs ===
showCup = input.bool(true, title="Show Cup & Handle")
showHNS = input.bool(true, title="Show Head & Shoulders")
showDouble = input.bool(true, title="Show Double Top / Bottom")
showWedge = input.bool(true, title="Show Wedge Pattern")
showTriangle = input.bool(true, title="Show Triangle Pattern")
showAdamEve = input.bool(true, title="Show Adam & Eve Pattern")
showChannel = input.bool(true, title="Show Price Channel")
showTargets = input.bool(true, title="Show TP Targets")
showLabels = input.bool(true, title="Show Pattern Labels")
forceMode = input.bool(false, title="Enable Force Mode (Relax Pattern Conditions)")
// === Helpers ===
pivotHigh = ta.pivothigh(high, 5, 5)
pivotLow = ta.pivotlow(low, 5, 5)
relDiff(a, b) => math.abs(a - b) / a
createLabel(_x, _y, _txt, _style, _txtcolor) =>
if showLabels
label.new(x=_x, y=_y, text=_txt, style=_style, textcolor=_txtcolor)
// === Cup & Handle ===
if showCup
cupBottom = pivotLow
leftRim = pivotHigh
rightRim = pivotHigh
handleLow = pivotLow
if not na(cupBottom) and not na(leftRim) and not na(rightRim)
rimDiff = relDiff(leftRim, rightRim)
rimTol = forceMode ? 0.4 : 0.2
isCup = leftRim > cupBottom and rightRim > cupBottom and rimDiff < rimTol
if isCup
line.new(bar_index , leftRim, bar_index , cupBottom, color=color.green)
line.new(bar_index , cupBottom, bar_index , rightRim, color=color.green)
if not na(handleLow)
line.new(bar_index , rightRim, bar_index, handleLow, color=color.orange)
createLabel(bar_index, high, "Cup & Handle", label.style_label_up, color.green)
if showTargets
tp = rightRim + (rightRim - cupBottom)
line.new(bar_index + 1, rightRim, bar_index + 10, tp, color=color.green, style=line.style_dashed)
// === Head & Shoulders ===
if showHNS
ls = pivotHigh
h = pivotHigh
rs = pivotHigh
nl = pivotLow
if not na(ls) and not na(h) and not na(rs)
diff = relDiff(ls, rs)
tol = forceMode ? 0.4 : 0.2
isHNS = h > ls and h > rs and diff < tol
if isHNS and not na(nl)
line.new(bar_index , nl, bar_index, nl, color=color.red)
createLabel(bar_index, high, "Head & Shoulders", label.style_label_down, color.red)
if showTargets
tp = nl - (h - nl)
line.new(bar_index + 1, nl, bar_index + 10, tp, color=color.red, style=line.style_dashed)
// === Double Top / Bottom ===
if showDouble
top1 = pivotHigh
top2 = pivotHigh
bot1 = pivotLow
bot2 = pivotLow
tol = forceMode ? 0.03 : 0.01
isTop = not na(top1) and not na(top2) and relDiff(top1, top2) < tol
isBot = not na(bot1) and not na(bot2) and relDiff(bot1, bot2) < tol
if isTop and not na(pivotLow )
nl = pivotLow
line.new(bar_index , nl, bar_index, nl, color=color.red)
createLabel(bar_index, high, "Double Top", label.style_label_down, color.red)
if showTargets
tp = nl - (top1 - nl)
line.new(bar_index + 1, nl, bar_index + 10, tp, color=color.red, style=line.style_dashed)
if isBot and not na(pivotHigh )
nl = pivotHigh
line.new(bar_index , nl, bar_index, nl, color=color.green)
createLabel(bar_index, low, "Double Bottom", label.style_label_up, color.green)
if showTargets
tp = nl + (nl - bot1)
line.new(bar_index + 1, nl, bar_index + 10, tp, color=color.green, style=line.style_dashed)
// === Wedge ===
if showWedge
top1 = pivotHigh
top2 = pivotHigh
bot1 = pivotLow
bot2 = pivotLow
if not na(top1) and not na(top2) and not na(bot1) and not na(bot2)
isFall = top1 > top2 and bot1 > bot2
isRise = top1 < top2 and bot1 < bot2
if isFall
line.new(bar_index , top1, bar_index , top2, color=color.green)
line.new(bar_index , bot1, bar_index , bot2, color=color.green)
createLabel(bar_index, low, "Falling Wedge", label.style_label_up, color.green)
if isRise
line.new(bar_index , top1, bar_index , top2, color=color.red)
line.new(bar_index , bot1, bar_index , bot2, color=color.red)
createLabel(bar_index, high, "Rising Wedge", label.style_label_down, color.red)
// === Triangle ===
if showTriangle
h1 = pivotHigh
h2 = pivotHigh
l1 = pivotLow
l2 = pivotLow
if not na(h1) and not na(h2) and not na(l1) and not na(l2)
isSym = h1 > h2 and l1 < l2
isAsc = h1 > h2 and l1 > l2
isDesc = h1 < h2 and l1 < l2
if isSym
line.new(bar_index , h1, bar_index , h2, color=color.orange)
line.new(bar_index , l1, bar_index , l2, color=color.orange)
createLabel(bar_index, high, "Symmetrical Triangle", label.style_label_down, color.orange)
if isAsc
line.new(bar_index , h1, bar_index , h2, color=color.green)
line.new(bar_index , l1, bar_index , l2, color=color.green)
createLabel(bar_index, high, "Ascending Triangle", label.style_label_down, color.green)
if isDesc
line.new(bar_index , h1, bar_index , h2, color=color.red)
line.new(bar_index , l1, bar_index , l2, color=color.red)
createLabel(bar_index, high, "Descending Triangle", label.style_label_down, color.red)
// === Adam & Eve ===
if showAdamEve
adam = pivotLow
eve = pivotLow
neckline = pivotHigh
if not na(adam) and not na(eve) and not na(neckline) and adam == eve
line.new(bar_index, neckline, bar_index + 10, neckline, color=color.fuchsia)
createLabel(bar_index, low, "Adam & Eve", label.style_label_up, color.fuchsia)
// === Channel ===
if showChannel
chH1 = pivotHigh
chH2 = pivotHigh
chL1 = pivotLow
chL2 = pivotLow
if not na(chH1) and not na(chH2) and not na(chL1) and not na(chL2)
line.new(bar_index , chH1, bar_index , chH2, color=color.blue)
line.new(bar_index , chL1, bar_index , chL2, color=color.blue)
createLabel(bar_index, high, "Price Channel", label.style_label_down, color.blue)
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)
Sniper Pro v4.6 – Final Dynamic Edition//@version=5
indicator("Sniper Pro v4.6 – Final Dynamic Edition", overlay=true)
// === INPUTS ===
showInfoBubble = input.bool(true, "Show Info Bubble")
showSMBubble = input.bool(true, "Show Smart Money Bubble")
showVWAP = input.bool(true, "Show VWAP")
showSMA20 = input.bool(true, "Show SMA20")
showSideways = input.bool(true, "Show Sideways Warning")
depth = input.int(12, "Golden Zone Depth")
// === INDICATORS ===
sma20 = ta.sma(close, 20)
vwapVal = ta.vwap
// === GOLDEN ZONE ===
ph = ta.pivothigh(high, depth, depth)
pl = ta.pivotlow(low, depth, depth)
var float lastHigh = na
var float lastLow = na
lastHigh := not na(ph) ? ph : lastHigh
lastLow := not na(pl) ? pl : lastLow
fullrange = lastHigh - lastLow
goldenTop = lastHigh - fullrange * 0.618
goldenBot = lastHigh - fullrange * 0.786
inGoldenZone = close >= goldenBot and close <= goldenTop
// === DELTA ===
delta = (close - open) * volume
absDelta = math.abs(delta)
deltaStr = absDelta > 1e6 ? str.tostring(delta / 1e6, "#.##") + "M" :
absDelta > 1e3 ? str.tostring(delta / 1e3, "#.##") + "K" :
str.tostring(delta, "#.##")
// === CANDLE STRENGTH ===
body = math.abs(close - open)
wick = high - low
strength = body / (wick + 1e-10)
strengthLevel = strength > 0.8 ? "5/5" : strength > 0.6 ? "4/5" : strength > 0.4 ? "3/5" : strength > 0.2 ? "2/5" : "1/5"
// === CANDLE PATTERNS ===
bullEngulf = close > open and close < open and close > open and open < close
bearEngulf = close < open and close > open and close < open and open > close
hammer = close > open and (open - low) > 1.5 * body
shootingStar = open > close and (high - open) > 1.5 * body
morningStar = close < open and close < open and close > ((open + close ) / 2)
eveningStar = close > open and close > open and close < ((open + close ) / 2)
pattern = bullEngulf ? "Bull Engulfing" : bearEngulf ? "Bear Engulfing" : hammer ? "Hammer" :
shootingStar ? "Shooting Star" : morningStar ? "Morning Star" :
eveningStar ? "Evening Star" : ""
// === BAR COLORING ===
barcolor(absDelta > 2 * ta.sma(absDelta, 14) ? (delta > 0 ? color.green : color.red) : na)
// === DYNAMIC INFO BUBBLE ===
var label infoBubble = na
if na(infoBubble)
infoBubble := label.new(bar_index, high, "", style=label.style_label_up, size=size.small, textcolor=color.white, color=color.new(color.gray, 80))
if showInfoBubble
infoText = "O: " + str.tostring(open, "#.##") +
" H: " + str.tostring(high, "#.##") +
" L: " + str.tostring(low, "#.##") +
" C: " + str.tostring(close, "#.##") +
" Δ: " + deltaStr +
(pattern != "" ? " Pattern: " + pattern : "") +
" Power: " + strengthLevel
label.set_xy(infoBubble, bar_index, high + syminfo.mintick * 15)
label.set_text(infoBubble, infoText)
// === SMART MONEY BUBBLE ===
efficiency = body / (wick + 1e-10)
isExplosive = efficiency > 0.6 and absDelta > 2 * ta.sma(absDelta, 14)
smBuy = close > open and isExplosive and inGoldenZone and close > sma20
smSell = close < open and isExplosive and inGoldenZone and close < sma20
var label smBubble = na
if not na(smBubble)
label.delete(smBubble)
if showSMBubble and (smBuy or smSell)
smBubble := label.new(bar_index, smBuy ? low - syminfo.mintick * 15 : high + syminfo.mintick * 15,smBuy ? "SM Buy" : "SM Sell",style=smBuy ? label.style_label_up : label.style_label_down,size=size.normal,color=smBuy ? color.yellow : color.orange,textcolor=color.black)
// === SIDEWAYS WARNING ===
range20 = ta.highest(high, 20) - ta.lowest(low, 20)
atr = ta.atr(14)
isSideways = range20 < atr * 1.5
blinking = showSideways and isSideways and bar_index % 2 == 0
plotshape(blinking, title="Sideways", location=location.top, style=shape.triangleup, size=size.small, color=color.new(color.yellow, 0), text="⚠️")
// === PLOTS ===
plot(showVWAP ? vwapVal : na, title="VWAP", color=color.aqua)
plot(showSMA20 ? sma20 : na, title="SMA20", color=color.yellow)
plot(goldenTop, title="Golden Top", color=color.yellow)
plot(goldenBot, title="Golden Bottom", color=color.orange)
Bertozzi Mini Dollar
This echnical indicator uses an adaptive Gaussian filter to calculate dynamic bands around the price, based on the mean absolute error (MAE). It allows you to switch between two modes:
Repaint Mode (Live Preview) : Bands are adjusted in real time with greater smoothness, but with less historical accuracy.
Fixed Mode (No-Repaint) : Bands are calculated without repainting, ensuring reliability for automated testing and strategies.
Buy and sell signals are generated when price crosses above or below the dynamic bands and can be used to detect short-term reversals.
Ideal for high volatility assets such as the mini dollar (WDO), providing a powerful statistical and visual perspective for scalping or day trading.
CSD, EC, ECSD & SPECIdentify Cliniq Model 5 elements. Identify EC with a line from previous H/L closed beyond, CSD, ECSD, and SPEC with markers. Or just use bar colors for SPEC.
Sniper Pro v4.4 – Candle & Flow Intelligence Edition
//@version=5
indicator("Sniper Pro v4.4 – Candle & Flow Intelligence Edition", overlay=true)
// === INPUTS ===
minScore = input.int(3, "Min Conditions for Entry", minval=1, maxval=5)
filterSideways = input.bool(true, "Block in Sideways?")
showDelta = input.bool(true, "Show Delta Counter?")
showSMA20 = input.bool(true, "Show SMA20")
showGoldenZone = input.bool(true, "Show Golden Zone?")
callColor = input.color(color.green, "CALL Color")
putColor = input.color(color.red, "PUT Color")
watchBuyCol = input.color(color.new(color.green, 70), "Watch Buy Color")
watchSellCol = input.color(color.new(color.red, 70), "Watch Sell Color")
// === INDICATORS ===
sma20 = ta.sma(close, 20)
// === DELTA CALCULATIONS ===
delta = (close - open) * volume
normalizedDelta = volume != 0 ? delta / volume : 0
deltaStrength = delta - delta
// === EXPLOSIVE CANDLE ===
body = math.abs(close - open)
wickTop = high - math.max(close, open)
wickBottom = math.min(close, open) - low
isRejection = wickTop > body or wickBottom > body
highVolume = volume > ta.highest(volume, 5)
efficiency = body / volume
isExplosive = isRejection and highVolume and efficiency > 0
// === SMART MONEY CANDLE LOGIC ===
smBuy = isExplosive and delta > 0 and close > open and close > sma20
smSell = isExplosive and delta < 0 and close < open and close < sma20
smStrength = math.min(5, math.round(math.abs(delta) / 100000))
if smBuy
label.new(bar_index, low, "SM Buy " + str.tostring(smStrength), style=label.style_label_up, size=size.normal, color=color.new(color.yellow, 0), textcolor=color.black)
if smSell
label.new(bar_index, high, "SM Sell " + str.tostring(smStrength), style=label.style_label_down, size=size.normal, color=color.new(color.orange, 0), textcolor=color.black)
// === BASIC SIGNAL SYSTEM ===
inGoldenZone = close > sma20 * 0.96 and close < sma20 * 1.04
buyScore = (inGoldenZone ? 1 : 0) + (normalizedDelta > 0.2 ? 1 : 0) + (close > sma20 ? 1 : 0)
sellScore = (inGoldenZone ? 1 : 0) + (normalizedDelta < -0.2 ? 1 : 0) + (close < sma20 ? 1 : 0)
watchBuy = buyScore == (minScore - 1)
watchSell = sellScore == (minScore - 1)
call = buyScore >= minScore
put = sellScore >= minScore
// === COLORING ===
barcolor(call ? callColor : put ? putColor : watchBuy ? watchBuyCol : watchSell ? watchSellCol : na)
// === LABELS ===
if call
label.new(bar_index, low, "CALL", style=label.style_label_up, size=size.normal, color=callColor, textcolor=color.white)
if put
label.new(bar_index, high, "PUT", style=label.style_label_down, size=size.normal, color=putColor, textcolor=color.white)
// === DELTA LABEL ===
deltaLabel = str.tostring(delta, "#.##")
if showDelta
label.new(bar_index, close, deltaLabel, style=label.style_label_left, size=size.tiny, textcolor=color.white, color=delta > 0 ? color.new(color.green, 70) : color.new(color.red, 70))
// === PLOTS ===
plot(showSMA20 ? sma20 : na, title="SMA20", color=color.yellow)
Strategia 9-30 Candle con Dashboard//@version=5
indicator("Strategia 9-30 Candle con Dashboard", overlay=true)
// Impostazioni EMA
ema9 = ta.ema(close, 9)
ema30 = ta.ema(close, 30)
plot(ema9, color=color.blue, title="EMA 9")
plot(ema30, color=color.red, title="EMA 30")
// RSI e filtro
rsi = ta.rsi(close, 14)
rsiFiltroLong = rsi > 50
rsiFiltroShort = rsi < 50
// Volume e filtro
volFiltroLong = volume > ta.sma(volume, 20)
volFiltroShort = volume > ta.sma(volume, 20)
// Condizioni LONG
longCondition = ta.crossover(ema9, ema30) and close > ema9 and close > ema30 and rsiFiltroLong and volFiltroLong
plotshape(longCondition, title="Entrata Long", location=location.belowbar, color=color.green, style=shape.labelup, text="LONG")
exitLong = ta.crossunder(ema9, ema30)
plotshape(exitLong, title="Uscita Long", location=location.abovebar, color=color.orange, style=shape.labeldown, text="EXIT")
// Condizioni SHORT
shortCondition = ta.crossunder(ema9, ema30) and close < ema9 and close < ema30 and rsiFiltroShort and volFiltroShort
plotshape(shortCondition, title="Entrata Short", location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT")
exitShort = ta.crossover(ema9, ema30)
plotshape(exitShort, title="Uscita Short", location=location.belowbar, color=color.orange, style=shape.labelup, text="EXIT")
// Background per segnali forti
bgcolor(longCondition ? color.new(color.green, 85) : na, title="BG Long")
bgcolor(shortCondition ? color.new(color.red, 85) : na, title="BG Short")
// Trailing Stop
var float trailPriceLong = na
var float trailPriceShort = na
trailPerc = input.float(0.5, title="Trailing Stop %", minval=0.1, step=0.1)
if (longCondition)
trailPriceLong := close * (1 - trailPerc / 100)
else if (close > trailPriceLong and not na(trailPriceLong))
trailPriceLong := math.max(trailPriceLong, close * (1 - trailPerc / 100))
if (shortCondition)
trailPriceShort := close * (1 + trailPerc / 100)
else if (close < trailPriceShort and not na(trailPriceShort))
trailPriceShort := math.min(trailPriceShort, close * (1 + trailPerc / 100))
plot(trailPriceLong, title="Trailing Stop Long", color=color.green, style=plot.style_linebr, linewidth=1)
plot(trailPriceShort, title="Trailing Stop Short", color=color.red, style=plot.style_linebr, linewidth=1)
// Dashboard
var table dashboard = table.new(position.top_right, 2, 4, border_width=1)
bgCol = color.new(color.gray, 90)
signal = longCondition ? "LONG" : shortCondition ? "SHORT" : "-"
signalColor = longCondition ? color.green : shortCondition ? color.red : color.gray
if bar_index % 1 == 0
table.cell(dashboard, 0, 0, "Segnale:", text_color=color.white, bgcolor=bgCol)
table.cell(dashboard, 1, 0, signal, text_color=color.white, bgcolor=signalColor)
table.cell(dashboard, 0, 1, "RSI:", text_color=color.white, bgcolor=bgCol)
table.cell(dashboard, 1, 1, str.tostring(rsi, format.mintick), text_color=color.white, bgcolor=bgCol)
table.cell(dashboard, 0, 2, "Volume:", text_color=color.white, bgcolor=bgCol)
table.cell(dashboard, 1, 2, str.tostring(volume, format.volume), text_color=color.white, bgcolor=bgCol)
table.cell(dashboard, 0, 3, "EMA9 > EMA30:", text_color=color.white, bgcolor=bgCol)
table.cell(dashboard, 1, 3, str.tostring(ema9 > ema30), text_color=color.white, bgcolor=bgCol)
// Alert
alertcondition(longCondition, title="Segnale Long", message="LONG: EMA9 incrocia EMA30, RSI > 50, volume alto")
alertcondition(shortCondition, title="Segnale Short", message="SHORT: EMA9 incrocia EMA30 verso il basso, RSI < 50, volume alto")
alertcondition(exitLong, title="Uscita Long", message="Uscita da LONG: EMA9 incrocia EMA30 verso il basso")
alertcondition(exitShort, title="Uscita Short", message="Uscita da SHORT: EMA9 incrocia EMA30 verso l'alto")
EMA MAs 7EMA(ERJUANSTURK)All ema mas values are entered. 20, 50, 100,150,200,300,400. The indicator is designed simply and elegantly.
PnF ChartPoint and Figure (P&F) charts are a time-independent technical analysis tool that focuses purely on price movements, filtering out noise like minor price fluctuations and time. Unlike candlestick or bar charts, P&F charts ignore time and only record significant price changes based on predefined rules.
Key Characteristics of P&F Charts
No Time Axis
Only price movements matter; time is irrelevant.
Columns form based on reversals, not fixed time periods.
Uses X's and O's
X = Rising prices (demand in control)
O = Falling prices (supply in control)
Box Size (Price Increment)
Defines the minimum price change required to plot a new X or O.
Example: If the box size is **1∗∗,astockmustmoveatleast1∗∗,astockmustmoveatleast1 to record a new X or O.
Reversal Amount
Determines how much the price must reverse to switch from X's to O's (or vice versa).
Common reversal settings: 3-box reversal (price must reverse by 3x the box size).
How P&F Charts Work
1. Rising Prices (X-Columns)
A new X is added if the price rises by the box size.
If the price reverses down by the reversal amount, a new O-column starts.
2. Falling Prices (O-Columns)
A new O is added if the price falls by the box size.
If the price reverses up by the reversal amount, a new X-column starts.
Example of a P&F Chart
Suppose:
Box Size = $1
Reversal Amount = 3-box (i.e., $3)
Price Movement Chart Update
Stock rises from 10→10→11 X at $11
Rises to $12 X at $12
Drops to 9(9(12 → 9=9=3 drop) New O-column starts at 11,11,10, $9
Rises again to 12(12(9 → 12=12=3 rise) New X-column at 10,10,11, $12
About the Script:This Script uses columns instead of traditional X and O boxes.Column Printing (Red vs Green)
This Point and Figure chart alternates between two states:
X columns (green): Represent upward price movements
O columns (red): Represent downward price movements
When Green Columns (X) Are Printed:
A green column is printed when:
The script is in "X mode" (is_x is true)
A new column is created (new_column_created is true)
This happens after the price has reversed upward by at least the "reversal boxes" threshold from a previous O column
When Red Columns (O) Are Printed:
A red column is printed when:
The script is in "O mode" (is_x is false)
A new column is created (new_column_created is true)
This happens after the price has reversed downward by at least the "reversal boxes" threshold from a previous X column
How Trendlines Are Created
The script can draw two types of trendlines when the show_trendlines option is enabled:
Green Trendlines (Uptrend):
A green trendline is created when:
There's a transition from O to X columns (cond2 is true but wasn't true on the previous bar)
This represents the beginning of a potential uptrend
The trendline is solid and extends to the right
Red Trendlines (Downtrend):
A red trendline is created when:
There's a transition from X to O columns (cond1 is true but wasn't true on the previous bar)
This represents the beginning of a potential downtrend
The trendline is dashed and extends to the right
The script maintains two trendline objects - current_trendline and previous_trendline - and deletes the oldest one when a new trendline is created to prevent cluttering the chart.
In summary, this Point and Figure chart tracks price movements in discrete boxes and changes column types (and creates trendlines) when price reverses by a significant amount (defined by the reversal_boxes parameter). The chart also generates alerts when these trend changes occur, helping traders identify potential trend reversals.
alademy-target-stoploss اسم المؤشر: الأديمي – Al-Ademy Indicator
الوصف العام:
مؤشر "الأديمي" هو أداة تحليل فني تعتمد على مزيج من مستويات الدعم والمقاومة الديناميكية، باستخدام منطق مستمد من حركة السعر الحقيقية، ومبني على خصائص شموع Heikin Ashi ومؤشر ATR.
يُستخدم المؤشر لتحديد مناطق الانعكاس المحتملة ، من خلال رسم مستويات صعود وهبوط تتفاعل مباشرة مع تغيرات السوق.
يتميز المؤشر بكونه:
- ✅ يعمل بشكل **تلقائي بالكامل** في رسم خطوط المقاومة وخطوط الدعم
- ✅ مُصمَّم ليعمل بكفاءة أعلى عند استخدام **شموع Heikin Ashi** (لا يُنصح باستخدام الشموع العادية).
- ✅ يناسب جميع الفريمات والزمنيات (من الدقيقة حتى الشهري).
---
### 🔍 **طريقة عمل المؤشر:**
- يرسم المؤشر:
- **6 خطوط مقاومة صعودية** (تظهر بالوان مختلفة فوق الشموع تدريجيًا).
- **6 خطوط دعم للهبوط (تظهر بالوان مختلفة تحت الشموع أو حسب الإعدادات).
- يعتمد على تحليل سلوك ** الانعكاس المحتمل** وإعادة رسم الخطوط عند حدوث الانعكاس
---
**آلية العمل :**
✅ احتمالية الصعود
- انتظر إفتح شمعة صعوديه خضراء Heikin Ashi واضحه فوق الخط الأول الذي باللون الاصفر** من خطوط المقاومة الأول
- يعتبر ذلك إشارة صعود محتملة
#### خطوط المقاومة
1. الخط الثاني الازرق = هو خط المقاومة الثاني
2. الخط الثالث الاحمر = هو خط المقاومة الثالث
3. الخط الرابع (أخضر غامق) = وعتبر هو خط المقاومة الرابع والاقوى والاحتمال ان يرتد منه السعر
4. الخط السادس = "منطقة التشبع"، احذر من الانعكاس.
#### ❌ للهبوط:
- احتمال الهبوط وهو عند **فتح شمعة حمراء واضحة Heikin Ashi تحت خط الاصفر للدعم الأول**.
وهاكذا مع بقية خطوط الدعم
- يتم اعتبار كل خط لاحق كمنطقة دعم واحتمال انعكاس إلى الأعلى
الخط الاخير يعتبر بمثابة تشبع بيعي وخليك مستعد لاحتمالية العوده والصعود
---
### ⚙️ **مميزات المؤشر:**
- يرسم الخطوط تلقائيًا حسب حركة الشموع والانكاسات.
- قابل للتخصيص:
- تغيير الألوان.
- تعريض الخطوط.
- تحريك الخطوط يمينًا ويسارًا.
- 🔔 يدعم التنبيهات
- 🟢 يظهر **أسهم خضراء** عند اختراقات صاعدة، و🔴 **أسهم حمراء** عند الاختراقات الهابطة.
### ✨ ملاحظة:
> المؤشر لا يقدم إشارات مضمونة 100%، لكن يعتمد على منطق فني. ننصح باستخدام أدوات تحليل إضافية لتعزيز القرار.
---
**Indicator Name: Al-Ademy Indicator
**General Description:**
The **Al-Ademy Indicator** is a technical analysis tool that combines dynamic support and resistance levels based on true price action logic. It is built using the characteristics of **Heikin Ashi candles** and the **ATR (Average True Range)** indicator.
This indicator is designed to identify **potential reversal zones** by plotting dynamic upward and downward levels that adapt in real-time to market changes.
Key Features:
* ✅ Fully **automated** plotting of support and resistance lines.
* ✅ Optimized for use with **Heikin Ashi candles** (not recommended with regular candles).
* ✅ Works on **all timeframes**, from 1-minute to monthly charts.
---
### 🔍 **How It Works:**
The indicator plots:
* **6 ascending resistance lines** (displayed in different colors above the candles progressively).
* **6 descending support lines** (displayed in different colors below the candles or as per settings).
* It uses reversal behavior analysis to dynamically redraw the lines when a reversal occurs.
---
### **Logic Behind the Indicator:**
✅ **Bullish Signal:**
* Wait for a **clear green Heikin Ashi bullish candle** to open **above the first yellow resistance line**.
* This is considered a potential bullish signal.
#### Resistance Lines:
1. **Blue line** = Second resistance level.
2. **Red line** = Third resistance level.
3. **Dark green line** = Fourth resistance level (strongest, high chance of price rejection).
4. **Sixth line** = “Overbought zone” – watch out for a possible reversal.
❌ **Bearish Signal:**
* A **clear red Heikin Ashi bearish candle** opening **below the first yellow support line** is considered a potential bearish signal.
* Each subsequent support line is treated as a potential **reversal zone to the upside**.
* The final support level represents an **oversold zone**, signaling a possible bullish reversal.
---
### ⚙️ **Indicator Features:**
* Automatically draws lines based on candle behavior and reversals.
* **Customizable settings:**
* Change colors.
* Adjust line thickness.
* Move lines horizontally.
* 🔔 **Alert support** for breakout conditions.
* 🟢 **Green arrows** for bullish breakouts, 🔴 **Red arrows** for bearish breakouts.
---
### ✨ **Note:**
> This indicator does not provide guaranteed signals. It is based on technical logic and should be used alongside other analysis tools for best results.
Session Highs and Lows (Individual)The "Session Highs and Lows (Individual)" indicator marks the highest and lowest price levels during a user-defined trading session (e.g., 14:00-22:00 CET) with horizontal lines. The session's start and end times, as well as the line end time, are fully customizable. The lines extend to a specified end time, which can be set to the next day (e.g., 3:00 CET the following day) if the session ends late. Users can also choose line colors, styles (solid, dashed, dotted), and whether to display only the current day's session. Ideal for traders analyzing specific session ranges.