NSF/NBF Boxes📘 NSF / NBF Extended Boxes (Wyckoff–VSA Smart Zones)
This indicator automatically detects No Supply (NSF) and No Buying / No Demand (NBF) bars using Wyckoff–VSA principles and marks them with extended boxes and a dashed 50% midline.
🟢 NSF (No Supply) — Bullish accumulation signal
🔴 NBF (No Demand) — Bearish distribution signal
Each box extends forward in time to highlight key supply/demand zones, while the dashed midline represents the equilibrium level within that bar.
When price later retests this 50% level, the script triggers a visual marker and an alert condition, helping you spot potential reversals or continuation confirmations.
🧠 Core Features
Automatic detection of No Supply / No Demand bars
Extended boxes with adjustable length and auto-extension
Midline (50%) retest alerts for precise trade timing
Optional EMA trend filter, volume check, and close bias
Works even on symbols without volume data (crypto, indices, FX)
“Test Mode” included for easy visualization and debugging
⚙️ Usage Tips
Use on 5m–4h charts for crypto or stocks to spot professional activity.
Combine with Wyckoff, VSA, or Smart Money Concepts to confirm accumulation/distribution phases.
Look for NSF retests near support in a downtrend → possible long entry.
Look for NBF retests near resistance in an uptrend → possible short entry.
🧩 Parameters
Ignore Volume: disables volume filters for markets with missing data
Use EMA Trend Filter: only confirm signals in direction of trend
Auto-extend Boxes: keeps zones projecting into future bars
Retest Alerts: triggers when price touches midline after formation
💡 Author’s Note
This tool visualizes the often-hidden behavior of smart money absorption and weak demand exhaustion.
Use it as part of a complete trading plan — not as a standalone buy/sell signal
Chỉ báo và chiến lược
Candle Close Timer - CustomizableIt just counts down the time to the start of the next candle on the timframe you are on. Simple!
Daily H/L/M + Open + VWAP + BB + LRC + Session BiasGreat indicator to understand session bias, price high low middle open and great to create a non repainting price action based trading strategy specially for option...
bunzemi 6SMAEnglish / 日本語
Displays 6 customizable Simple Moving Averages (SMA) in clear colors for quick trend analysis.
Default colors:
5MA = Red, 10MA = Blue, 20MA = Yellow, 50MA = Green, 100MA = Purple, 200MA = Black.
6本の単純移動平均線(SMA)を視認性の高い色で表示します。
デフォルト色:
5MA=赤、10MA=青、20MA=黄、50MA=緑、100MA=紫、200MA=黒。
シンプルで軽量な複数SMAインジケーターです。
Daily High/Low/Mid (Prev Day Extended Split)Good way to understand current day high low mid price in comparision with previous day price...
Yon Hybrid Momentum + Breakout Scanner with BB SqueezeThis Pine Script indicator is a comprehensive momentum and breakout scanner that combines multiple technical analysis tools to identify high-probability trading setups. Here's what it does:
Core Features:
1. Trend Identification (EMA System)
Uses two EMAs (9-period fast, 20-period slow) to determine trend direction
Colors the chart background: teal = uptrend, red = downtrend
An uptrend is confirmed when the fast EMA crosses above the slow EMA
2. Volume Analysis
Monitors volume spikes (when current volume exceeds 2x the 20-period average)
Volume spikes often indicate strong institutional interest or breakout momentum
Critical for confirming the validity of price movements
3. Momentum Indicators
MACD (12, 26, 9): Shows bullish/bearish crossovers with triangle markers
RSI (7-period): Identifies overbought (>70) and oversold (<30) conditions
VWAP: Shows the volume-weighted average price (purple line) - helps identify whether price is trading at fair value
4. Bollinger Bands & Squeeze Detection
Displays Bollinger Bands (20-period, 2 standard deviations)
BB Squeeze: Detects when volatility contracts to its lowest level in 20 bars
Squeezes often precede explosive breakout moves (like a coiled spring)
Orange squares appear at the bottom when a squeeze is detected
5. Breakout Detection
The script identifies breakouts using TWO methods:
Price breakout: Close above the recent 20-bar high
BB breakout: Close above the upper Bollinger Band
Confirmed breakout: Must have uptrend + volume spike + one of the above conditions
Shows a green "BREAKOUT" label when all conditions align
6. Live Status Label
A label in the top-right displays real-time market conditions:
Current trend (UPTREND/DOWNTREND)
Volume status (VOL SPIKE/Normal Vol)
RSI condition (HOT/COOL/Neutral)
Squeeze status (if active)
7. Alerts
Two automated alerts:
Breakout Alert: Triggers when a confirmed breakout occurs
Squeeze Alert: Triggers when Bollinger Bands enter a squeeze
Trading Use Cases:
This indicator is ideal for:
Swing traders looking for momentum setups with strong volume confirmation
Breakout traders who want to catch explosive moves after consolidation
Day traders monitoring multiple timeframes for high-probability entries
Watchlist scanning to quickly identify which stocks/cryptos are showing momentum
How to Use It:
Setup Phase: Look for BB squeeze markers (orange squares) - these signal compression
Confirmation: Wait for volume spike + uptrend + MACD bullish crossover
Entry: When "BREAKOUT" label appears with all confirmations
Validation: Price should be above VWAP and RSI not extremely overbought
The script essentially automates the process of finding stocks that are "coiling up" and ready to make a big move, then confirms when that move actually happens with volume.
BTC – MA20/50/200 (Overlay)//@version=5
indicator("BTC – MA20/50/200 (Overlay)", overlay=true, max_lines_count=500)
// ==== Inputs ====
tf = input.timeframe("", "Multi-TF (để trống = khung hiện tại)")
lenMA1 = input.int(20, "MA1 (ngắn)")
lenMA2 = input.int(50, "MA2 (trung)")
lenMA3 = input.int(200, "MA3 (dài)")
useEMA = input.bool(false, "Dùng EMA thay vì SMA")
// ==== Series ====
src = request.security(syminfo.tickerid, tf == "" ? timeframe.period : tf, close)
// ==== MA helper ====
ma(src,len,ema) => ema ? ta.ema(src,len) : ta.sma(src,len)
ma1 = ma(src,lenMA1,useEMA)
ma2 = ma(src,lenMA2,useEMA)
ma3 = ma(src,lenMA3,useEMA)
// ==== Plots ====
plot(ma1, title="MA20/EMA20", linewidth=2)
plot(ma2, title="MA50/EMA50", linewidth=2)
plot(ma3, title="MA200/EMA200", linewidth=2)
// ==== Labels gợi ý ====
condPullback = close < ma1 and close >= ma2
condTrendUp = close > ma2 and ma2 > ma3
condRisk = close < ma2
if condPullback
label.new(bar_index, high, "Pullback về MA ngắn", textalign=text.align_left)
if condTrendUp
label.new(bar_index, low, "Xu hướng tăng duy trì", textalign=text.align_left)
if condRisk
label.new(bar_index, high, "Mất MA trung – thận trọng", textalign=text.align_left)
Daily/Weekly EMAs on Lower TimeframesThis indicator allows traders to view Daily and Weekly EMAs (Exponential Moving Averages) directly on lower timeframes such as 1m, 5m, 15m, or 1h charts — providing a higher timeframe perspective without switching charts.
The script includes individual checkboxes for each EMA length — 5, 8, 9, 21, 50, and 200 — organized into two clear sections:
🟢 Daily EMAs
🔵 Weekly EMAs
You can selectively enable or disable any EMA to match your trading style and reduce chart clutter.
Each EMA is color-coded for clarity and consistency:
5 EMA: Green
8 EMA: Blue
9 EMA: Blue
21 EMA: Orange
50 EMA: Purple
200 EMA: Red
Weekly EMAs appear slightly transparent to distinguish them from daily ones.
This makes it easy to visualize higher timeframe trend direction, confluence zones, and dynamic support/resistance levels while trading intraday.
💡 Key Features
View Daily and Weekly EMAs on smaller timeframes.
Individual checkbox toggles for all 6 EMA lengths.
Separate sections for Daily and Weekly EMAs.
Color-coded lines for easy visual recognition.
Works seamlessly on any symbol or timeframe below Daily.
Reversal Probability Meter PROA powerful multi-factor reversal probability detector that calculates the likelihood of bullish or bearish reversals using RSI, EMA bias, ATR spikes, candle patterns, volume spikes, and higher timeframe (HTF) trend alignment.
🧩 MAIN FEATURES
1. Reversal Probability (Bullish & Bearish)
Displays two key metrics:
Bull % — probability of bullish reversal
Bear % — probability of bearish reversal
These are computed using RSI, EMAs, ATR, demand/supply zones, candle confirmations, and volume spikes.
📊 Interpretation:
Bull % > 70% → Buying pressure building up
Bull % > 85% → Strong bullish reversal confirmed
Bear % > 70% → Selling pressure building up
Bear % > 85% → Strong bearish reversal confirmed
2. Alert Probability Threshold
Adjustable via alertThreshold (default = 85%).
Alerts trigger only when probability ≥ threshold, and confirmed by zone + volume spike + candle pattern.
🔔 Alerts Available:
✅ Bullish Smart Reversal
🔻 Bearish Smart Reversal
To activate: Right-click chart → “Add alert” → choose the alert condition from the indicator.
3. Demand / Supply Zone Detection
The script determines the price position within the last zoneLook (default 30) bars:
🟢 DEMAND → Lower 35% of range (potential bounce zone)
🔴 SUPPLY → Upper 35% of range (potential rejection zone)
⚪ MID → Neutral area
📘 Purpose: Validates reversals based on context:
Bullish only valid in Demand zones
Bearish only valid in Supply zones
4. Higher Timeframe (HTF) Trend Alignment
Reads EMA bias from a higher timeframe (default = 15m) for trend confirmation.
Reversals against HTF trend are automatically weighted down
Prevents false countertrend signals
📈 Example:
M5 chart under M15 downtrend → Bullish probability is reduced.
5. Candle Confirmation Patterns
Two key price action confirmations:
Bullish: Engulfing or Pin Bar
Bearish: Engulfing or Pin Bar
A valid reversal requires both a candle confirmation and a volume spike.
6. Volume & ATR Spike Filters
Volume Spike: volume > SMA(20) × 1.3
ATR Spike: ATR > SMA(ATR, 50) × volMult
🎯 Ensures that only strong market moves with real energy are considered valid reversals.
7. Reversal Momentum Histogram
A color-gradient oscillator showing the momentum difference:
Green = bullish dominance
Red = bearish dominance
Flat near 0 = neutral
Controlled by showOscillator toggle.
8. Smart Info Panel
A compact dashboard displayed on the top-right with 5 rows:
Row Info Description
1 Bull % Bullish reversal probability
2 Bear % Bearish reversal probability
3 Zone Market context (DEMAND / SUPPLY / MID)
4 Sensitivity Current sensitivity mode
5 Signal Strength Current signal intensity (probability %)
Exciting Candles by BitcoinBailyExciting Candles by BitcoinBaily — is a custom indicator that visually highlights "momentum" or "exciting" candlesticks on the chart.
It helps traders quickly identify candles with strong body-to-range ratios, i.e., candles showing strong price momentum (big move between open and close relative to the high-low range).
If the candle’s body is greater than or equal to the threshold percentage (say 85%), the bar is colored yellow. Otherwise, no color is applied.
Yellow Candle = Exciting Candle
The candle’s body occupies ≥ the set % (e.g., 85%) of the total high-low range.
Indicates strong momentum (buyers or sellers dominated most of that period).
No Color = Neutral / Normal Candle
Price moved both ways (upper & lower wicks), but neither buyers nor sellers fully dominated.
1. Range Breakout: When price breaks a sideways range and a yellow (exciting) candle appears,
it confirms that real momentum has entered — a good time to catch the move early.
2. Trend Pullback: If price dips to a moving average (like 20 or 50 SMA) and then forms a yellow
candle, it signals that buyers are regaining control — often a high-probability trend
continuation entry.
3. Exhaustion Top: A yellow bearish candle near a resistance area shows strong selling pressure
— a warning that the uptrend may be ending.
4. Sideways Market: When no yellow candles appear, the market lacks momentum — best to
stay out and avoid choppy trades.
Simple Premarket High/LowA very simple script to mark pre-market highs and lows. Useful for momentum trading, discovering breakouts against pre-market levels.
30 Day HighDisplay the 30 day high on the chart, based on the highest high (as opposed to the highest close).
Daily ATR% Dashboard george_pirlog//@version=6
indicator("ATR(14) – Daily + % vs Daily Close & Current (Heat + Alerts)", overlay=true)
// ── Inputs
atrLen = input.int(14, "ATR Length")
tfATR = input.timeframe("D", "ATR Timeframe (for ATR & daily close)")
decATR = input.int(2, "Decimals (ATR)", minval=0, maxval=6)
decPct = input.int(2, "Decimals (%)", minval=0, maxval=6)
pos = input.string("Top Right", "Table Position", options= )
bgAlpha = input.int(75, "Table BG Transparency (0-100)", minval=0, maxval=100)
showLabel = input.bool(false, "Show floating label")
yOffsetATR = input.float(0.25, "Label Y offset (× ATR)", step=0.05)
// Praguri culoare / alerte
warnPct = input.float(2.0, "Warn Threshold % (yellow/orange)", step=0.1)
highPct = input.float(3.0, "High Threshold % (red)", step=0.1)
// ── Helpers
f_pos(p) =>
if p == "Top Left"
position.top_left
else if p == "Top Right"
position.top_right
else if p == "Bottom Left"
position.bottom_left
else
position.bottom_right
f_heatColor(pct) =>
if pct >= highPct
color.new(color.red, 0)
else if pct >= warnPct
color.new(color.orange, 0)
else
color.new(color.teal, 0)
// ── Serii daily
atrDaily = request.security(syminfo.tickerid, tfATR, ta.atr(atrLen))
closeD = request.security(syminfo.tickerid, tfATR, close)
// ── Ultima valoare & procente
atrLast = atrDaily
pctOfDailyClose = atrLast / closeD * 100
pctOfCurrent = atrLast / close * 100
// ── Tabel static (3×2)
var table box = table.new(f_pos(pos), 3, 2, border_width=1, frame_color=color.new(color.gray, 0), bgcolor=color.new(color.black, bgAlpha))
if barstate.islast
table.cell(box, 0, 0, "ATR14 (Last D)", text_color=color.white, text_size=size.small, bgcolor=color.new(color.black, bgAlpha))
table.cell(box, 1, 0, "% of Daily Close", text_color=color.white, text_size=size.small, bgcolor=color.new(color.black, bgAlpha))
table.cell(box, 2, 0, "% of Current", text_color=color.white, text_size=size.small, bgcolor=color.new(color.black, bgAlpha))
table.cell(box, 0, 1, str.tostring(atrLast, "0." + str.repeat("0", decATR)), text_color=color.white, bgcolor=color.new(color.black, bgAlpha))
table.cell(box, 1, 1, str.tostring(pctOfDailyClose, "0." + str.repeat("0", decPct)) + "%", text_color=f_heatColor(pctOfDailyClose), bgcolor=color.new(color.black, bgAlpha))
table.cell(box, 2, 1, str.tostring(pctOfCurrent, "0." + str.repeat("0", decPct)) + "%", text_color=f_heatColor(pctOfCurrent), bgcolor=color.new(color.black, bgAlpha))
// ── Etichetă opțională (apel pe o singură linie)
var label info = na
if showLabel and barstate.islast
label.delete(info)
txt = "ATR14 (Last D): " + str.tostring(atrLast, "0." + str.repeat("0", decATR)) +
" vs Daily Close: " + str.tostring(pctOfDailyClose, "0." + str.repeat("0", decPct)) + "%" +
" vs Current: " + str.tostring(pctOfCurrent, "0." + str.repeat("0", decPct)) + "%"
info := label.new(x=bar_index, y=close + atrLast * yOffsetATR, text=txt, xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_left, textcolor=color.white, color=color.new(color.black, 0), size=size.normal)
// ── Alerts (cross peste praguri)
dailyWarnUp = ta.crossover(pctOfDailyClose, warnPct)
dailyHighUp = ta.crossover(pctOfDailyClose, highPct)
currWarnUp = ta.crossover(pctOfCurrent, warnPct)
currHighUp = ta.crossover(pctOfCurrent, highPct)
alertcondition(dailyWarnUp, "Daily % crossed WARN", "ATR% vs Daily Close crossed above WARN threshold")
alertcondition(dailyHighUp, "Daily % crossed HIGH", "ATR% vs Daily Close crossed above HIGH threshold")
alertcondition(currWarnUp, "Current % crossed WARN", "ATR% vs Current Price crossed above WARN threshold")
alertcondition(currHighUp, "Current % crossed HIGH", "ATR% vs Current Price crossed above HIGH threshold")
Delta Volume Heatmap Delta Volume Heatmap
The Delta Volume Heatmap visualizes the real-time strength of per-bar delta volume — highlighting the imbalance between buying and selling pressure.
Each column’s color intensity reflects how strong the delta volume deviates from its moving average and standard deviation.
Green tones = Buy-dominant activity (bullish imbalance)
Red tones = Sell-dominant activity (bearish imbalance)
This tool helps traders quickly identify:
Abnormal volume spikes
Absorption or exhaustion zones
Potential reversal or continuation signals
Dominant DATR [CHE] Dominant DATR — Directional ATR stream with dominant-side EMA, bands, labels, and alerts
Summary
Dominant DATR builds two directional volatility streams from the true range, assigns each bar’s range to the up or down side based on the sign of the close-to-close move, and then tracks the dominant side through an exponential average. A rolling band around the dominant stream defines recent extremes, while optional gradient coloring reflects relative magnitude. Swing-based labels mark new higher highs or lower lows on the dominant stream, and alerts can be enabled for swings, zero-line crossings, and band breakouts. The result is a compact pane that highlights regime bias and intensity without relying on price overlays.
Motivation: Why this design?
Conventional ATR treats all range as symmetric, which can mask directional pressure, cause late regime shifts, and produce frequent false flips during noisy phases. This design separates the range into up and down contributions, then emphasizes whichever side is stronger. A single smoothed dominant stream clarifies bias, while the band and swing markers help distinguish continuation from exhaustion. Optional normalization by close makes the metric comparable across instruments with different price scales.
What’s different vs. standard approaches?
Reference baseline: Classic ATR or a basic EMA of price.
Architecture differences:
Directional weighting of range using positive and negative close-to-close moves.
Separate moving averages for up and down contributions combined into one dominant stream.
Rolling highest and lowest of the dominant stream to form a band.
Optional normalization by close, window-based scaling for color intensity, and gamma adjustment for visual contrast.
Event logic for swing highs and lows on the dominant stream, with label buffering and pruning.
Configurable alerts for swings, zero-line crossings, and band breakouts.
Practical effect: You see when volatility is concentrated on one side, how strong that bias currently is, and when the dominant stream pushes through or fails at its recent envelope.
How it works (technical)
Each bar’s move is split into an up component and a down component based on whether the close increased or decreased relative to the prior close. The bar’s true range is proportionally assigned to up or down using those components as weights.
Each side is smoothed with a Wilder-style moving average. The dominant stream is the side with the larger value, recorded as positive for up dominance and negative for down dominance.
The dominant stream is then smoothed with an exponential moving average to reduce noise and provide a responsive yet stable signal line.
A rolling window tracks the highest and lowest values of the dominant EMA to form an envelope. Crossings of these bounds indicate unusual strength or weakness relative to recent history.
For visualization, the absolute value of the dominant EMA is scaled over a lookback window and passed through a gamma curve to modulate gradient intensity. Colors are chosen separately for up and down regimes.
Swing events are detected by comparing the dominant EMA to its recent extremes over a short lookback. Labels are placed when a prior bar set an extreme and the current bar confirms it. A managed array prunes older labels when the user-defined maximum is exceeded.
Alerts mirror these events and also include zero-line crossings and band breakouts. The script does not force closed-bar confirmation; users should configure alert execution timing to suit their workflow.
There are no higher-timeframe requests and no security calls. State is limited to simple arrays for labels and persistent color parameters.
Parameter Guide
Parameter — Effect — Default — Trade-offs/Tips
ATR Length — Smoothing of directional true range streams — fourteen — Longer reduces noise and may delay regime shifts; shorter increases responsiveness.
EMA Length — Smoothing of the dominant stream — twenty-five — Lower values react faster; higher values reduce whipsaw.
Band Length — Window for recent highs and lows of the dominant stream — ten — Short windows flag frequent breakouts; long windows emphasize only exceptional moves.
Normalize by Close — Divide by close price to produce a percent-like scale — false — Useful across assets with very different price levels.
Enable gradient color — Turn on magnitude-based coloring — true — Visual aid only; can be disabled for simplicity.
Gradient window — Lookback used to scale color intensity — one hundred — Larger windows stabilize the color scale.
Gamma (lines) — Adjust gradient intensity curve — zero point eight — Lower values compress variation; higher values expand it.
Gradient transparency — Transparency for gradient plots — zero, between zero and ninety — Higher values mute colors.
Up dark / Up neon — Base and peak colors for up dominance — green tones — Styling only.
Down dark / Down neon — Base and peak colors for down dominance — red tones — Styling only.
Show zero line / Background tint — Visual references for regime — true and false — Background tint can help quick scanning.
Swing length — Bars used to detect swing highs or lows — two — Larger values demand more structure.
Show labels / Max labels / Label offset — Label visibility, cap, and vertical offset — true, two hundred, zero — Increase cap with care to avoid clutter.
Alerts: HH/LL, Zero Cross, Band Break — Toggle alert rules — true, false, false — Enable only what you need.
Reading & Interpretation
The dominant EMA above zero indicates up-side dominance; below zero indicates down-side dominance.
Band lines show recent extremes of the dominant EMA; pushes through the band suggest unusual momentum on the dominant side.
Gradient intensity reflects local magnitude of dominance relative to the chosen window.
HH/LL labels appear when the dominant stream prints a new local extreme in the current regime and that extreme is confirmed on the next bar.
Zero-line crosses suggest regime flips; combine with structure or filters to reduce noise.
Practical Workflows & Combinations
Trend following: Consider entries when the dominant EMA is on the regime side and expands away from zero. Band breakouts add confirmation; structure such as higher highs or lower lows in price can filter signals.
Exits and stops: Tighten exits when the dominant stream stalls near the band or fades toward zero. Opposite swing labels can serve as early caution.
Multi-asset and multi-timeframe: Works across liquid assets and common timeframes. For lower noise instruments, reduce smoothing slightly; for high noise, increase lengths and swing length.
Behavior, Constraints & Performance
Repaint and confirmation: No security calls and no future-looking references. Swing labels confirm one bar later by design. Real-time crosses can change intra-bar; use bar-close alerts if needed.
Resources: `max_bars_back` is two thousand. The script uses an array for labels with pruning, gradient color computations, and a simple while loop that runs only when the label cap is exceeded.
Known limits: The EMA can lag at sharp turns. Normalization by close changes scale and may affect thresholds. Extremely gappy data can produce abrupt shifts in the dominant side.
Sensible Defaults & Quick Tuning
Starting point: ATR Length fourteen, EMA Length twenty-five, Band Length ten, Swing Length two, gradient enabled.
Too many flips: Increase EMA Length and swing length, or enable only swing alerts.
Too sluggish: Decrease EMA Length and Band Length.
Inconsistent scales across symbols: Enable Normalize by Close.
Visual clutter: Disable gradient or reduce label cap.
What this indicator is—and isn’t
This is a volatility-bias visualization and signal layer that highlights directional pressure and intensity. It is not a complete trading system and does not produce position sizing or risk management. Use it with market structure, context, and independent risk controls.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Anti-PDT Swing Trade Signals//@version=5
indicator("Anti-PDT Swing Trade Signals", overlay=true)
// === User Inputs ===
priceLimit = input.float(25, "Max Price ($)", minval=1)
minVolume = input.int(200000, "Min Avg Volume (10D)", minval=1)
// === Indicators ===
sma20 = ta.sma(close, 20)
sma50 = ta.sma(close, 50)
macdLine = ta.ema(close, 12) - ta.ema(close, 26)
signalLine = ta.ema(macdLine, 9)
rsi = ta.rsi(close, 14)
avgVolume = ta.sma(volume, 10)
// === Conditions ===
priceFilter = close <= priceLimit
volumeFilter = avgVolume >= minVolume
rsiFilter = ta.crossover(rsi, 40)
macdFilter = ta.crossover(macdLine, signalLine)
smaFilter = close > sma20 and close > sma50
momentumFilter = close > close * 1.03 and close < close * 1.10
// === Day Filter ===
isMonWedFri = dayofweek == dayofweek.monday or dayofweek == dayofweek.wednesday or dayofweek == dayofweek.friday
entryCondition = priceFilter and volumeFilter and rsiFilter and macdFilter and smaFilter and momentumFilter and isMonWedFri
// === Alerts & Visuals ===
plotshape(entryCondition, title="BUY", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
alertcondition(entryCondition, title="BUY Alert", message="BUY Signal: {{ticker}} meets swing trading entry criteria.")
plot(sma20, color=color.orange)
plot(sma50, color=color.blue)
Trend Pivots Profile [BigBeluga]🔵 OVERVIEW
The Trend Pivots Profile is a dynamic volume profile tool that builds profiles around pivot points to reveal where liquidity accumulates during trend shifts. When the market is in an uptrend , the indicator generates profiles at low pivots . In a downtrend , it builds them at high pivots . Each profile is constructed using lower timeframe volume data for higher resolution, making it highly precise even in limited space. A colored trendline helps traders instantly recognize the prevailing trend and anticipate which type of profile (bullish or bearish) will form.
🔵 CONCEPTS
Pivot-Driven Profiles : Profiles are only created when a new pivot forms, aligning liquidity analysis with market structure shifts.
Trend-Contextual : Profiles form at low pivots in uptrends and at high pivots in downtrends.
Lower Timeframe Data : Volume and close values are pulled from smaller timeframes to provide detailed, high-resolution profiles inside larger pivot windows.
Adaptive Bin Sizing : Bin size is automatically calculated relative to ATR, ensuring consistent precision across different markets and volatility conditions.
Point of Control (PoC) : The highest-volume level within each profile is marked with a PoC line that extends until the next pivot forms.
Trendline Visualization : A wide, semi-transparent line follows the rolling average of highs and lows, colored blue in uptrends and orange in downtrends.
🔵 FEATURES
Pivot Length Control : Adjust how far back the script looks to detect pivots (e.g., length 5 → profiles cover 10 bars after pivot).
Pivot Profile toggle :
On → draw the filled pivot profile + PoC + pivot label.
Off → hide profiles; show only PoC level (clean S/R mode).
Trend Length Filter : Smooths trendline detection to ensure reliable up/down bias.
Precise Volume Distribution : Volume is aggregated into bins, creating a smooth volume curve around the pivot range.
PoC Extension : Automatically extends the most active price level until a new pivot is confirmed.
Profile Visualization : Profiles appear as filled shapes anchored at the pivot candle, colored based on trend.
Trendline Overlay : Thick, semi-transparent trendline provides visual guidance on directional bias.
Automatic Cleanup : Old profiles are deleted once they exceed the chart’s capacity (default 25 stored profiles).
🔵 HOW TO USE
Spotting Trend Liquidity : In an uptrend, monitor profiles at low pivots to see where buyers concentrated. In downtrends, use high-pivot profiles to spot sell-side pressure.
Watch the PoC : The PoC line highlights the strongest traded level of the pivot structure—expect reactions when price retests it.
Anticipate Trend Continuation/Reversal : Use the trendline (blue = bullish, orange = bearish) together with pivot profiles to forecast directional momentum.
Combine with HTF Context : Overlay with higher timeframe structure (order blocks, liquidity zones, or FVGs) for confluence.
Fine-Tune with Inputs : Adjust Pivot Length for sensitivity and Trend Length for smoother or faster trend shifts.
🔵 CONCLUSION
The Trend Pivots Profile blends pivot-based structure with precise volume profiling. By dynamically plotting profiles on pivots aligned with the prevailing trend, highlighting PoCs, and overlaying a directional trendline, it equips traders with a clear view of liquidity clusters and directional momentum—ideal for anticipating reactions, pullbacks, or breakouts.
CVD Pro – Smart Overlay + Signals (with Persist Mode)What this Indicator Does
CVD Pro visualizes Cumulative Volume Delta (CVD) data directly on your main price chart — helping you detect real buying vs. selling pressure in real time.
Unlike most CVD scripts that run in a separate subwindow, this one overlays price-mapped CVD curves on the candles themselves for better confluence with market structure and FVG zones.
The script dynamically scales normalized CVD values to the price range and uses adaptive smoothing and deviation bands to highlight shifts in trader behavior.
It also includes automatic bullish/bearish crossover signals, displayed as on-chart labels.
⚙️ Main Features
✅ Price-mapped CVD Overlay
CVD is normalized (Z-score) and projected onto the price chart for easy visual correlation with price structure.
✅ Multi-Timeframe Presets
Three sensitivity presets optimized for different chart environments:
Strict (4H) → Best for macro trends and high-timeframe structure.
Balanced (1H / 30m) → Great for active swing setups.
Sensitive (15m) → Captures short-term intraday reversals.
✅ Dynamic Bands & Smoothing
Deviation bands visualize statistical extremes in delta pressure — helping to identify exhaustion and divergence points.
✅ Smart Buy/Sell Signal Logic
Automatic label triggers when the CVD Overlay crosses its smoothed baseline:
🟢 BULL LONG → Rising CVD above the mean (buyers in control).
🔴 BEAR SHORT → Falling CVD below the mean (sellers in control).
✅ Persist Mode
Toggle to keep the last signal visible until a new one forms — ideal for traders who prefer clean chart annotations without noise.
✅ Clean, Minimal Overlay
Everything happens directly on your chart — no extra windows, no clutter. Designed for use with Smart Money Concepts, Fair Value Gaps (FVGs), or volume imbalance setups.
🧩 Use Case
CVD Pro is designed for traders who:
Use Smart Money Concepts (SMC) or ICT-style trading
Watch for FVG reactions, breaker blocks, and liquidity sweeps
Need to confirm order flow direction or momentum strength
Trade intraday or swing setups with precision entries and clear bias confirmation
⚡ Recommended Settings
4H / 1H: Use Strict mode for major structure and confirmation.
1H / 30m: Balanced mode for clear mid-term trend alignment.
15m: Sensitive mode to catch scalps and lower-TF shifts.
🧠 Pro Tips
Combine with RSI or Market Structure Breaks (MSS) for additional confluence.
A strong CVD divergence near a key FVG or 0.5–0.705 Fibonacci zone often signals reversal.
Persistent CVD crossover + price structure break = high-probability entry.
🧩 Credits
Created by Patrick S. ("Nova Labs")
Concept inspired by professional order-flow analytics and adaptive Z-Score normalization.
Would you like me to write a shorter “public summary” paragraph (for the short description at the top of TradingView, the one-liner users see before expanding)?
It’s usually a 2–3 sentence hook like:
“Overlay-based CVD indicator that merges volume delta with price structure. Detect true buying/selling pressure using adaptive normalization, deviation bands, and clean bullish/bearish crossover signals.”
Aggression Bulbs v3.1 (Sessions + Bias, fixed)EYLONAggression Bulbs v3.2 (Sessions + Bias + Volume Surge)
This indicator highlights aggressive buy and sell activity during the London and New York sessions, using volume spikes and candle body dominance to detect institutional momentum.
⚙️ Main Logic
Compares each candle’s volume vs average volume (Volume Surge).
Checks body size vs full candle range to detect strong directional moves.
Uses an EMA bias filter to align signals with the current trend.
Displays green bubbles for aggressive buyers and red bubbles for aggressive sellers.
🕐 Sessions
London: 08:00–12:59 UTC+1
New York: 14:00–18:59 UTC+1
(Backgrounds: Yellow = London, Orange = New York)
📊 How to Read
🟢 Green bubble below bar → Aggressive BUY candle (strong demand).
🔴 Red bubble above bar → Aggressive SELL candle (strong supply).
Bubble size = relative strength (volume × candle dominance).
Use in confluence with key POI zones, volume profile, or delta clusters.
⚠️ Tips
Use on 1m–15m charts for scalping or intraday analysis.
Combine with your session bias or FVG zones for higher accuracy.
Set alerts when score ≥ threshold to catch early momentum.
Higher Timeframe Bias and DOLAn indicator which looks at the most recent FVG and, assuming it's been respected, provides a bias flag on the 1H, 4H and Daily levels.
Differenza Close - SMA200 con MM9 dinamicaDifferenza Close - SMA200 con MM9 dinamica
distanza tra i prezzi e la sua media di lungo periodo.
KCP Support & Resistance [Dr.K.C.PRAKASH]ChatGPT said:
This indicator “KCP Support & Resistance ” (Pine Script v5) is a multi-featured support & resistance tool that combines pivots, slope-based channels, Fibonacci options, and SMA200 trend reference.
🔎 Core Concept
The script identifies pivot highs and lows and uses them to draw support and resistance levels on the chart.
It allows you to visualize them in two ways:
Horizontal lines (flat support/resistance at pivot values).
Parallel slope-based lines (trend-adjusted, drawn with slope factor).
⚙️ Settings & Options
Theme
useDark: Switches to a dark-color palette with bright neon-style lines for better visibility on dark charts.
Basic Settings
length: Pivot length (bars used to detect swing high/low).
lookback: How many past pivot points to use for plotting lines.
Slope: Multiplier applied to slope calculations (for slanted trendline-style S/R).
Extend Horizontal Lines Left?: Option to extend horizontal lines to both sides.
Extend Parallel Lines Left?: Same for slope-based lines.
Show/Hide Controls
Show Parallel Lines?: Toggle diagonal support/resistance.
Show Horizontal Lines?: Toggle flat levels.
Show SMA 200 Line?: Toggle long-term SMA(200) reference.
Hide Fibonacci Lines? / Show Fib Trend Line? / Show All Fibonacci Lines?: (reserved for Fib functionality).
Line Colors
Customizable line colors for parallel & horizontal high/low lines.
If Dark Theme is enabled → Uses preset colors:
Electric Blue (Resistance - Parallel Highs)
Neon Green (Support - Parallel Lows)
Deep Red/Pink (Horizontal Highs)
Warm Yellow (Horizontal Lows)
📐 Logic & Calculations
Pivot Detection
Uses ta.pivothigh & ta.pivotlow with length to mark swing points.
Stores them in arrays for drawing multiple levels.
Slope Calculation
Uses covariance/variance of price vs. time (bar_index) to estimate slope.
Multiplied by Slope factor.
Makes trend-following parallel support/resistance lines possible.
Line Drawing
Parallel lines: Slanted, based on pivot highs/lows + slope.
Horizontal lines: Flat support & resistance levels extended across the chart.
SMA200 Plot
Plots SMA(200) for long-term trend direction.
Colored white if EMA(200) > SMA(200), else yellow (trend bias visual).
📊 What You See on Chart
Support & Resistance drawn dynamically from pivots.
Choice of horizontal (classic S/R) or sloped (trend-following) lines.
Dark theme colors → Electric blue, neon green, deep pink, warm yellow (if enabled).
SMA200 reference line → Helps identify bullish/bearish long-term bias.
Optional Fibonacci lines (future expansion).
Momentum Variance OscillatorWhat MVO measures:
-PV (Price-Volume) Oscillator – how far price is from a volatility-scaled basis, then weighted by relative volume.
- > 0 = bullish pressure; < 0 = bearish pressure.
-|PV| larger ⇒ stronger momentum.
-Signal line (EMA of PV) – a smoother track of PV; crossings flag momentum shifts.
-Zero line gradient – instantly shows direction (greenish bull / reddish bear) and strength (paler → stronger).
-Extreme bands (±obLevel) – “hot zone” thresholds; being beyond them = exceptional push.
-Variance histogram – MACD-like view (PV minus slower PV-EMA) to see thrust building vs. fading.
-(Optional) Bar coloring & background tint – paints price bars and/or the panel on key events so you can read the regime at a glance.
-Auto-Tune – searches a grid of (obLevel, weakLvl) pairs and (optionally) auto-applies the best, ranked by CAGR vs. drawdown.
Core signals & how to trade them:
1) Define the regime:
-Bullish regime: PV above 0 and/or PV above Signal; zero line is in bull gradient.
-Bearish regime: PV below 0 and/or PV below Signal; zero line is in bear gradient.
-Action: Prefer trades with the regime (avoid fading strong color/strength unless you have a clear reversal setup).
2) Entries:
Momentum entry:
-Long: PV crosses above Signal while PV > 0.
-Short: PV crosses below Signal while PV < 0.
Breakout/acceleration:
-Long add-on: PV crosses above +obLevel (extreme top) and holds.
-Short add-on: PV crosses below −obLevel (extreme bottom) and holds.
-Histogram confirm: Growing bars in your direction = thrust improving; shrinking/flip = thrust stalling.
3) Exits / risk:
-Soft exit / tighten stops: PV loses the extreme and re-enters inside, or histogram fades/turns against you.
-Hard exit / reverse: Opposite PV↔Signal crossover and PV crosses the zero line.
-Weak zone filter: If |PV| < weakLvl, treat signals as lower quality (smaller size or skip).
4) Practical setup - Suggested defaults (good starting point):
-Signal length: 26
-Volume power: 0.50
-obLevel (extreme): 2.00
-weakLvl: 0.75
-Show histogram & dots: On
-Auto-Tune (recommended)
-Turn Auto-Select Best ON. MVO will scan obLevel 1.50→3.00 (step 0.05) and weakLvl 0.50→1.00 (step 0.05), then use the top-ranked pair (CAGR/(1+MDD)).
-If you want to see the top combos, enable the Optimizer Table (Top-3).
5) Visual options
-Bar Colors: Regime+Strength – bars follow the zero-line gradient (great for quick read).
-Extremes – paint only when beyond ±obLevel.
-Cross Signals – paint only on the bar that crosses an extreme.
-Background on breach: A one-bar tint when PV crosses an extreme.
6) Example playbook:
Long setup:
-Zero line shows bull gradient and PV > 0.
-PV crosses above Signal (entry).
-If PV drives above +obLevel, consider add-on; trail under the last minor swing or use ATR.
-Exit/trim on PV crossing below Signal or histogram turning negative; flatten on a drop through 0.
Short setup mirrors the above on the bear side.
7) Tips to avoid common traps:
-Don’t fade strong extremes without clear confirmation (e.g., PV re-entering inside + histogram flip).
-Respect the weak zone: if |PV| < weakLvl, signals are fragile—size down or wait.
-Align with structure: higher-timeframe trend and SR improve expectancy.
-Instrument personality matters: use Auto-Tune or re-calibrate obLevel/weakLvl across assets/timeframes.
8) Alerts you can set:
-Bull Signal X – PV crossed above Signal
-Bear Signal X – PV crossed below Signal
-Bull Baseline X – PV crossed above 0
-Bear Baseline X – PV crossed below 0