Step Generalized Moving Average [BackQuant]Step Generalized Moving Average
Overview
Step Generalized Moving Average (StepGMA) is a trend-structure moving average designed to solve two common problems with classic MAs:
They overreact to noise in chop, causing constant micro-flips.
They lag too much when you smooth them enough to stop that noise.
StepGMA tackles this by combining two layers:
A Generalized Moving Average (GMA) that increases responsiveness without simply shortening length.
A Step Filter that converts the MA into discrete “steps” sized by ATR, suppressing insignificant movement and only updating when the move is meaningful.
The output is a trend line that behaves more like market structure: it holds its level through noise, then “reprices” in chunks when volatility-adjusted movement is large enough.
What the indicator is trying to represent
Instead of showing every tiny MA wiggle, StepGMA tries to represent the idea that:
Most price movement is noise relative to volatility.
Trend only matters when it advances by a meaningful amount.
A good trend line should stay stable until the market forces it to move.
That makes this indicator useful as:
A regime filter (trend vs chop).
A trend-following bias line.
A structure-like dynamic S/R reference.
A signal generator with fewer low-quality flips.
Component 1: Moving Average engine (selectable)
The base smoothing is not fixed. You can choose between multiple MA types:
SMA, EMA, WMA, VWMA: classic smoothing families.
DEMA, TEMA: reduced-lag EMA variants.
T3: smooth yet responsive, good for trend.
HMA: very low lag, can be twitchy without filtering.
ALMA: center-weighted smoothing, often “cleaner” visually.
KAMA: adaptive smoothing based on efficiency ratio, good in mixed regimes.
LSMA: regression-based, tends to track trend direction well.
McGinley: dynamic smoothing designed to reduce lag during fast moves.
This matters because the StepGMA is not “one MA.” It is a framework that lets you pick the underlying smoothing behavior, then applies the generalization and step logic on top.
Component 2: Generalized Moving Average (GMA)
Where the idea comes from
Generalized MA here is essentially a form of two-stage smoothing compensation . A common trick in signal processing and technical analysis is:
Apply a smoother once (MA1).
Apply it again (MA2).
Use MA2 as a “lag reference,” then combine MA1 and MA2 to reduce lag while keeping smoothness.
This is related in spirit to reduced-lag filters (like DEMA/TEMA) and “zero-lag” style constructions that subtract part of the lag component. You are not magically removing lag, you are biasing the output toward the first-pass MA while subtracting some of the second-pass smoothing that represents delayed response.
How this script does it
It computes:
ma1 = MA(src, len)
ma2 = MA(ma1, len)
Then combines them using a volume factor (vf):
generalized = ma1 * (1 + vf) - ma2 * vf
Interpretation:
ma2 is a “more delayed” version of ma1.
Subtracting vf * ma2 and adding (1+vf) * ma1 pushes the output toward responsiveness.
vf controls how aggressive that push is.
Volume Factor (vf) is really an aggressiveness knob
The script clamps vf between 0.01 and 1.0 to keep it stable. Conceptually:
Low vf: behaves closer to a normal MA1, smoother, more lag.
High vf: more compensation, faster response, more risk of overshoot or noise sensitivity (which is then handled by the step filter).
So the GMA stage tries to give you a cleaner, faster trend estimate without just shrinking the MA period.
Component 3: Step Filter (the key behavior)
What a step filter is
A step filter turns a continuous signal (here, the generalized MA) into a discrete “staircase” signal. Instead of updating every bar, it updates only when the input has moved far enough to justify a new step.
This is conceptually similar to:
A quantizer in signal processing (rounding changes to discrete increments).
A volatility threshold filter (ignore changes smaller than X).
Market structure logic where levels matter more than micro movement.
How it works in this script
The filter maintains a persistent value: stepped .
Each bar:
diff = src - stepped
If |diff| < stepSize, do nothing (hold the level).
If |diff| >= stepSize, move stepped by a number of step increments.
The step increment size is:
stepSize = (stepMult / 100) * ATR(atrPeriod)
This is critical:
In higher volatility, ATR is larger, so steps are larger, fewer updates, more stability.
In lower volatility, ATR is smaller, so steps are smaller, more updates, more sensitivity.
So the step behavior automatically adapts to volatility.
Multiple-step catching behavior
If price jumps far beyond one step, the script does not move only one step. It moves by:
floor(|diff| / stepSize) * stepSize
So it “catches up” in discrete blocks, preserving the stepped character without lagging massively after large moves.
Direction and regime
Direction is determined by the stepped line, not the raw MA:
direction = +1 if steppedMA is rising
direction = -1 if steppedMA is falling
otherwise direction stays the same
Signals only trigger on direction state changes:
Long when direction flips to +1
Short when direction flips to -1
This matters because it prevents repeated signals while the trend remains intact. You only get a signal when the market has moved enough (in ATR terms) to justify a structural step in the opposite direction.
Secondary line and gradient fill
The script also plots a secondary “slow MA” (length 25, same MA type). This is not the core logic, it is a visual context layer:
StepGMA is the structure line (discrete, regime-driven).
Slow MA is a smoother reference for the underlying drift.
The gradient fill highlights separation and dominance.
When StepGMA sits above the slow MA, the fill reinforces bullish bias. When below, it reinforces bearish bias. It is basically a “trend pressure” visual, not a separate signal.
How to interpret it
1) StepGMA as trend structure
Flat steps mean price is not making enough volatility-adjusted progress to move structure.
Up-steps mean the market has advanced enough to reprice the trend line upward.
Down-steps mean deterioration significant enough to reprice structure downward.
2) Direction is a regime, not a tick-by-tick call
Because direction is derived from step changes, it is naturally a regime filter:
Fewer flips in chop.
Clearer regime transitions.
Signals tend to occur later than ultra-fast tools, but with better confirmation quality.
3) Step size controls noise rejection
StepMult is the main “anti-chop” control:
Higher stepMult = bigger ATR steps = fewer updates, fewer signals, more confirmation, slower to react.
Lower stepMult = smaller steps = more updates, more signals, more sensitivity, more chop risk.
4) Generalization controls responsiveness of the underlying trend estimate
vf controls how “fast” the MA tries to be before stepping:
Higher vf makes the MA respond faster to new price information.
Lower vf makes the MA smoother and more conservative.
The step filter then decides whether that change is meaningful enough to matter.
Practical use cases
Trend filter for entries
Only take longs when direction is bullish.
Only take shorts when direction is bearish.
Avoid trades when StepGMA is flat for long periods, market is not repricing meaningfully.
Dynamic support and resistance
Because the line holds levels, it often behaves like structure:
In uptrends it can act as a rising support reference.
In downtrends it can act as falling resistance.
Signal quality layer
The step-based flip signals tend to be higher quality than basic MA crossovers because they require:
A meaningful volatility-adjusted move.
A confirmed direction change in the stepped trend structure.
Trade management
Use StepGMA as a trailing invalidation reference.
Use direction flips as “hard” regime exits.
Use separation vs slow MA as a “pressure” gauge for scaling decisions.
Tuning guidelines
MA Type
Pick based on the character you want:
T3, ALMA, KAMA are usually good defaults for clean trend representation.
HMA/LSMA are faster but may need larger stepMult to avoid twitch.
SMA is slow and stable but can be too laggy unless vf is increased.
MA Period
Sets the base smoothing horizon. Longer periods give “macro trend,” shorter periods give “tactical trend.”
Volume Factor (vf)
Sets responsiveness compensation:
0.05–0.25 is usually sensible.
Higher than that can get aggressive, step filter will save you, but your steps may fire more often.
ATR Period and StepMult
These define your structure sensitivity:
ATR Period controls how stable the volatility estimate is.
StepMult controls how large a move must be to change structure.
If you want fewer flips, increase StepMult or ATR Period. If you want quicker reaction, lower StepMult or ATR Period.
What this indicator is and is not
It is:
A trend structure MA that ignores sub-threshold noise.
A regime tool that uses volatility-adjusted repricing logic.
A configurable framework that works across assets and timeframes.
It is not:
A predictive reversal tool.
A scalping signal machine.
A replacement for risk management.
Summary
Step Generalized Moving Average combines a lag-compensated moving average (generalization via MA1/MA2 blending) with a volatility-scaled step filter (ATR-based quantization). The result is a stable, structure-like trend line that updates only when price movement is meaningful relative to volatility, producing cleaner regimes, fewer chop flips, and clearer trend bias than conventional moving averages.
[i]price
Volume Profile Skew [BackQuant]Volume Profile Skew
Overview
Volume Profile Skew is a market-structure indicator that answers a specific question most volume profiles do not:
“Is volume concentrating toward lower prices (accumulation) or higher prices (distribution) inside the current profile range?”
A standard volume profile shows where volume traded, but it does not quantify the shape of that distribution in a single number. This script builds a volume profile over a rolling lookback window, extracts the key profile levels (POC, VAH, VAL, and a volume-weighted mean), then computes the skewness of the volume distribution across price bins. That skewness becomes an oscillator, smoothed into a regime signal and paired with visual profile plotting, key level lines, and historical POC tracking.
This gives you two layers at once:
A full profile and its important levels (where volume is).
A skew metric (how volume is leaning within that range).
What this indicator is based on
The foundation comes from classical “volume at price” concepts used in Market Profile and Volume Profile analysis:
POC (Point of Control): the price level with the highest traded volume.
Value Area (VAH/VAL): the zone containing the bulk of activity, commonly 70% of total volume.
Volume-weighted mean (VWMP in this script): the average price weighted by volume, a “center of mass” for traded activity.
Where this indicator extends the idea is by treating the volume profile as a statistical distribution across price. Once you treat “volume by price bin” as a probability distribution (weights sum to 1), you can compute distribution moments:
Mean: where the mass is centered.
Standard deviation: how spread-out it is.
Skewness: whether the distribution has a heavier tail toward higher or lower prices.
This is not a gimmick. Skewness is a standard statistic in probability theory. Here it is applied to “volume concentration across price”, not to returns.
Core concept: what “skew” means in a volume profile
Imagine a profile range from Low to High, split into bins. Each bin has some volume. You can get these shapes:
Balanced profile: volume is fairly symmetric around the mean, skew near 0.
Bottom-heavy profile: more volume at lower prices, with a tail toward higher prices, skew tends to be positive.
Top-heavy profile: more volume at higher prices, with a tail toward lower prices, skew tends to be negative.
In this script:
Positive skew is labeled as ACCUMULATION.
Negative skew is labeled as DISTRIBUTION.
Near-zero skew is NEUTRAL.
Important: accumulation here does not mean “buying will immediately pump price.” It means the profile shape suggests more participation at lower prices inside the current lookback range. Distribution means participation is heavier at higher prices.
How the volume profile is built
1) Define the analysis window
The profile is computed on a rolling window:
Lookback Period: number of bars included (capped by available history).
Profile Resolution (bins): number of price bins used to discretize the high-low range.
The script finds the highest high and lowest low in the lookback window to define the price range:
rangeHigh = highest high in window
rangeLow = lowest low in window
binSize = (rangeHigh - rangeLow) / bins
2) Create bin midpoints
Each bin gets a midpoint “price” used for calculations:
price = rangeLow + binSize * (b + 0.5)
These midpoints are what the mean, variance, and skewness are computed on.
3) Distribute each candle’s volume into bins
This is a key implementation detail. Real volume profiles require tick-level data, but Pine does not provide that. So the script approximates volume-at-price using candle ranges:
For each bar in the lookback:
Determine which bins its low-to-high range touches.
Split that candle’s total volume evenly across the touched bins.
So if a candle spans 6 bins, each bin gets volume/6 from that bar. This is a practical, consistent approximation for “where trading could have occurred” inside the bar.
This approach has tradeoffs:
It does not know where within the candle the volume truly traded.
It assumes uniform distribution across the candle range.
It becomes more meaningful with larger samples (bigger lookback) and/or higher timeframes.
But it is still useful because the purpose here is the shape of the distribution across the whole window, not exact microstructure.
Key profile levels: POC, VAH, VAL, VWMP
POC (Point of Control)
POC is found by scanning bins and selecting the bin with maximum volume. The script stores:
pocIndex: which bin has max volume
poc price: midpoint price of that bin
Value Area (VAH/VAL) using 70% volume
The script builds the value area around the POC outward until it captures 70% of total volume:
Start with the POC bin.
Expand one bin at a time to the side with more volume.
Stop when accumulated volume >= 70% of total profile volume.
Then:
VAL = rangeLow + binSize * lowerIdx
VAH = rangeLow + binSize * (upperIdx + 1)
This produces a classic “where most business happened” zone.
VWMP (Volume-Weighted Mean Price)
This is essentially the center of mass of the profile:
VWMP = sum(price * volume ) / totalVolume
It is similar in spirit to VWAP, but it is computed over the profile bins, not from bar-by-bar typical price.
Skewness calculation: turning the profile into an oscillator
This is the main feature.
1) Treat volumes as weights
For each bin:
weight = volume / totalVolume
Now weights sum to 1.
2) Compute weighted mean
Mean price:
mean = sum(weight * price )
3) Compute weighted variance and std deviation
Variance:
variance = sum(weight * (price - mean)^2)
stdDev = sqrt(variance)
4) Compute weighted third central moment
Third moment:
m3 = sum(weight * (price - mean)^3)
5) Standardize to skewness
Skewness:
rawSkew = m3 / (stdDev^3)
This standardization matters. Without it, the value would explode or shrink based on profile scale. Standardized skewness is dimensionless and comparable.
Smoothing and regime rules
Raw skewness can be jumpy because:
profile bins change as rangeHigh/rangeLow shift,
one high-volume candle can reshape the distribution,
volume regimes change quickly in crypto.
So the indicator applies EMA smoothing:
smoothedSkew = EMA(rawSkew, smooth)
Then it classifies regime using fixed thresholds:
Bullish (ACCUMULATION): smoothedSkew > +0.25
Bearish (DISTRIBUTION): smoothedSkew < -0.25
Neutral: between those values
Signals are generated on threshold cross events:
Bull signal when smoothedSkew crosses above +0.25
Bear signal when smoothedSkew crosses below -0.25
This makes the skew act like a regime oscillator rather than a constantly flipping color.
Volume Profile plotting modes
The script draws the profile on the last bar, using boxes for each bin, anchored to the right with a configurable offset. The width of each profile bar is normalized by max bin volume:
volRatio = binVol / maxVol
barWidth = volRatio * width
Three style modes exist:
1) Gradient
Uses a “jet-like” gradient based on volRatio (blue → red). Higher-volume bins stand out naturally. Transparency increases as volume decreases, so low-volume bins fade.
2) Solid
Uses the current regime color (bull/bear/neutral) for all bins, with transparency. This makes the profile read as “structure + regime.”
3) Skew Highlight
Highlights bins that match the skew bias:
If skew bullish, emphasize lower portion of profile.
If skew bearish, emphasize higher portion of profile.
Else, keep most bins neutral.
This is a visual “where the skew is coming from” mode.
Historical POC tracking and Naked POCs
This script also treats POCs as meaningful levels over time, similar to how traders track old VA levels.
What is a “naked POC”?
A “naked POC” is a previously formed POC that has not been revisited (retested) by price since it was recorded. Many traders watch these as potential reaction zones because they represent prior “maximum traded interest” that the market has not re-engaged with.
How this script records POCs
It stores a new historical POC when:
At least updatebars have passed since the last stored POC, and
The POC has changed by at least pochangethres (%) from the last stored value.
New stored POCs are flagged as naked by default.
How naked becomes tested
On each update, the script checks whether price has entered a small zone around a naked POC:
zoneSize = POC * 0.002 (about 0.2%)
If bar range overlaps that zone, mark it as tested (not naked).
Display controls:
Highlight Naked POCs: draws and labels untested POCs.
Show Tested POCs: optionally draw tested ones in a muted color.
To avoid clutter, the script limits stored POCs to the most recent 20 and avoids drawing ones too close to the current POC.
On-chart key levels and what they mean
When enabled, the script draws the current lookback profile levels on the price chart:
POC (solid): the “most traded” price.
VAH/VAL (dashed): boundaries of the 70% value area.
VWMP (dotted): volume-weighted mean of the profile distribution.
Interpretation framework (practical, not mystical):
POC often behaves like a magnet in balanced conditions.
VAH/VAL define the “accepted” area, breaks can signal auction continuation.
VWMP is a fair-value reference, useful as a mean anchor when skew is neutralizing.
Oscillator panel and histogram
The skew oscillator is plotted in a separate pane:
Line: smoothedSkew, colored by regime.
Histogram: smoothedSkew as bars, colored by sign.
Fill: subtle shading above/below 0 to reinforce bias.
This makes it easy to read:
Direction of bias (positive vs negative).
Strength (distance from 0 and from thresholds).
Transitions (crosses of ±0.25).
Info table: what it summarizes
On the last bar, a table prints key diagnostics:
Current skew value (smoothed).
Regime label (ACCUMULATION / DISTRIBUTION / NEUTRAL).
Current POC, VAH, VAL, VWMP.
Count of naked POCs still active.
A simple “volume location” hint (lower/higher/balanced).
This is designed for quick scanning without reading the entire profile.
Alerts
The indicator includes alerts for:
Skew regime shifts (cross above +0.25, cross below -0.25).
Price crossing above/below current POC.
Approaching a naked POC (within 1% of any active naked POC).
The “approaching naked POC” alert is useful as a heads-up that price is entering a historically important volume magnet/reaction zone.
How to use it properly
1) Regime filter
Use skew regime to decide what type of trades you should prioritize:
ACCUMULATION (positive skew): market activity is heavier at lower prices, pullbacks into value or below VWMP often matter more.
DISTRIBUTION (negative skew): activity is heavier at higher prices, rallies into value or above VWMP often matter more.
NEUTRAL: mean-reversion and POC magnet behavior tends to dominate.
This is not “buy when green.” It is context for what the auction is doing.
2) Level-based execution
Combine skew with VA/POC levels:
In neutral regimes, expect rotations around POC and inside VA.
In strong skew regimes, watch for acceptance away from POC and reactions at VA edges.
3) Naked POCs as targets and reaction zones
Naked POCs can act like unfinished business. Common workflows:
As targets in rotations.
As areas to reduce risk when price is approaching.
As “if it breaks cleanly, trend continuation” markers when price returns with force.
Parameter tuning guidance
Lookback
Controls how “local” the profile is.
Shorter: reacts faster, more sensitive to recent moves.
Longer: more stable, better for swing context.
Bins
Controls resolution of the profile.
Higher bins: more detail, more computation, more sensitive profile shape.
Lower bins: smoother, less detail, more stable skew.
Smoothing
Controls how noisy the skew oscillator is.
Higher smoothing: fewer regime flips, slower response.
Lower smoothing: more responsive, more false transitions.
POC tracking settings
Update interval and threshold decide how many historical POCs you store and how different they must be. If you set them too loose, you will spam levels. If too strict, you will miss meaningful shifts.
Limitations and what not to assume
This indicator uses candle-range volume distribution because Pine cannot see tick-level volume-at-price. That means:
The profile is an approximation of where volume could have traded, not exact tape data.
Skew is best treated as a structural bias, not a precise signal generator.
Extreme single-bar events can distort the distribution briefly, smoothing helps but cannot remove reality.
Summary
Volume Profile Skew takes standard volume profile structure (POC, Value Area, volume-weighted mean) and adds a statistically grounded measure of profile shape using skewness. The result is a regime oscillator that quantifies whether volume concentration is leaning toward lower prices (accumulation) or higher prices (distribution), while also plotting the full profile, key levels, and historical naked POCs for actionable context.
Market Structure & Supply-Demand EngineMarket Structure & Supply-Demand Engine (MSD-Engine) is a professional, non-repainting market structure and supply-demand analysis tool built purely on price action and volatility logic.
This indicator is designed for discretionary traders who want a clean, institutional-style view of market structure without lagging indicators or strategy automation.
🔍 What This Indicator Does
MSD-Engine identifies major structural reversals, plots price-action based supply & demand zones, and provides multi-timeframe confluence in a single, unified framework.
It is visual and analytical only — no strategy orders, no backtesting, and no repainting.
🚀 Core Features
• Non-Repainting Market Structure
Event-based swing reversal detection
ATR-adaptive displacement filtering
Confirmed pivots only (no future leaks)
• Pure Supply & Demand Zones
Candle-structure based zone detection
Volume-weighted zone strength
Automatic invalidation on breach
Configurable zone limits to maintain chart clarity
• Multi-Timeframe Context (MTF)
Chart timeframe structure
Two independent higher-timeframe supply & demand layers
Higher-timeframe directional bias visualization
HTF zones plotted only on confirmed HTF closes
• Volatility-Adaptive Logic
ATR normalized across timeframes
Dynamic reversal thresholds
Stable behavior from scalping to swing charts
• Trendline Lifecycle Tracking
Automatic major trendline construction
Single-fire break detection
Break validation / failure logic
HTF-aligned vs counter-trend classification
🧠 Designed For
• Discretionary price-action traders
• Supply & demand traders
• Market structure & smart-money style analysis
• Multi-timeframe confluence trading
• Futures, indices, forex, crypto, and equities
⚠️ Important Notes
This is NOT a strategy or auto-trading system
No buy/sell signals or performance metrics
No repainting (uses barmerge.lookahead_off)
Educational & analytical use only
📜 Disclaimer
This script is provided for educational and analytical purposes only.
It does not constitute financial advice. Trading financial markets involves risk.
RSI Momentum & Trend Suite - O59 Elite QuantRSI Momentum & Trend Suite – O59 Elite Quant
Professional Market Structure & Momentum Analysis Tool
RSI Momentum & Trend Suite – O59 Elite Quant is a comprehensive technical analysis indicator designed to help traders better understand market momentum, trend structure, price reactions, and key support & resistance zones directly on the chart.
This indicator combines RSI-based momentum analysis, dynamic bar coloring, price action signals, and automatic trend & support/resistance detection into a single, clean visual framework.
🔹 Momentum & Bar Coloring Logic
The indicator includes a custom RSI momentum engine that evaluates short-term price changes and momentum strength.
Candles are automatically colored when momentum reaches critical zones:
Above 70 → Strong bullish momentum
Below 30 → Strong bearish momentum
This candle coloring helps traders instantly recognize momentum extremes without switching to a separate RSI pane.
🔺 Buy & Sell Triangle Signals
The script generates triangle-based buy and sell signals based on a combination of:
RSI oversold / overbought conditions
Short-term price action behavior
Candle structure and confirmation logic
These signals are intended to highlight potential reaction zones, not to predict the market.
They work best when used together with trend direction and support/resistance levels.
📈 Automatic Trend Detection
The indicator automatically identifies ascending and descending trend structures using pivot-based swing analysis.
Trendlines are drawn dynamically based on higher lows and lower highs
Broken trendlines are automatically removed to keep the chart clean
Both bullish and bearish trends are visually distinguished
This allows traders to quickly assess whether the market is trending or losing structure.
🟦 Dynamic Support & Resistance Levels
Key support and resistance levels are detected using recent pivot points:
Levels extend forward in real time
Broken levels are removed automatically
Helps identify potential reaction, rejection, and liquidity zones
These levels are designed to adapt continuously as market structure evolves.
🧾 Information Table & Visual Themes
A customizable information table is displayed on the chart, showing:
Indicator name
Current symbol
Active timeframe
Author branding
Users can choose between multiple visual themes, allowing better readability and personal preference while maintaining a professional appearance.
⚠️ Important Notes & Risk Disclaimer
This indicator is designed as a technical analysis support tool only.
It does not provide financial advice
Signals and visual elements should not be used alone
Always confirm signals with your own strategy, risk management, and market context
⚠️ Special caution is advised during:
Low-volume sessions
Weekend price action
High-impact news events
Thin liquidity hours
Market conditions during these periods may produce false signals or reduced reliability.
📌 Final Disclaimer
This indicator is for educational and analytical purposes only.
It is not investment advice.
All trading decisions remain the sole responsibility of the use
Batoot Algo PureBatoot Algo (Pure Analysis Mode)
Indicator Overview
Batoot Algo is an advanced technical analysis indicator based on:
Price Action and geometric chart patterns
Higher Timeframe (HTF) trend filtering
Volume confirmation
Breakout & Retest logic
Head & Shoulders pattern detection
Analysis-only indicator. No Buy/Sell labels on the chart. Alerts and Dashboard only.
The goal is clean charts and smarter trading decisions.
---
Entry Modes
Aggressive (Breakout)
Immediate entry on breakout
Requires:
Confirmed breakout
High volume
Optional trend alignment
Conservative (Retest)
Breakout → Wait for retest → Confirmation candle
Reduces false signals
Suitable for patient trading
---
HTF Trend Filter
Uses EMA crossover on higher timeframe:
EMA 50
EMA 200
EMA50 > EMA200 → Bullish EMA50 < EMA200 → Bearish
Filter can be enabled or disabled in settings.
---
Price Patterns Detected
Automatically detects and draws:
Bullish / Bearish Flags
Channels
Triangles / Pennants
Rising Wedge (Bearish)
Falling Wedge (Bullish)
The area between support and resistance lines is dynamically filled based on the pattern.
---
Yellow Candle (High Volume)
Yellow candles indicate High Volume.
Triggered when:
Current candle volume >= Average volume of last 20 candles × volume multiplier
Default multiplier: 1.5
Confirms strong breakouts. Not a standalone entry signal.
---
Head & Shoulders Detection
Supports:
Head & Shoulders (Bearish)
Inverse Head & Shoulders (Bullish)
Neckline drawn automatically. Breakout validated with volume. Pattern status shown in Dashboard.
---
Dashboard
Displays:
Entry Mode (Aggressive / Conservative)
HTF Trend
Current Pattern
Head & Shoulders Status
Market Status: ENTRY BUY, ENTRY SELL, WAIT RETEST, SCANNING
---
Alerts
Alerts trigger only when:
Pattern confirmed
Breakout / Retest logic satisfied
High volume confirmed
Trend filter (if enabled) passes
No trade labels plotted on chart.
---
License & Attribution
Licensed under Creative Commons Attribution 4.0 (CC BY 4.0)
Free to use and modify. Attribution required. Removing or changing the author name is not allowed.
---
This indicator is for technical analysis purposes only and is not financial advice. Always use proper risk management.
---
Clean chart, smart analysis, better trading decisions.
Laguerre Filter [BackQuant]Laguerre Filter
Overview
The Laguerre Filter is a powerful trend-following tool designed to smooth price action while maintaining responsiveness to market changes. It is based on the Laguerre recursive filter, which is a type of signal processing filter that adapts to both the current price dynamics and the underlying trend. The Laguerre Filter can be seen as a method to reduce market noise, enabling traders to more easily identify the strength and direction of trends while minimizing lag.
The Laguerre Filter is well-suited for markets with varying volatility levels, offering a smoother representation of price action without the delay associated with traditional moving averages. By dynamically adjusting to price movements, the Laguerre Filter provides a more adaptive and reliable signal compared to simpler smoothing techniques.
What is the Laguerre Filter?
The Laguerre Filter is derived from the Laguerre polynomial, which is used in signal processing for smooth filtering of data. The Laguerre filter is a recursive filter, meaning that each new value is calculated based on both the current price data and previous values, with a weighting system that allows it to adapt to market conditions. This recursive nature helps reduce the impact of short-term fluctuations, enabling the filter to focus on the underlying trend.
The Laguerre filter uses a feedback mechanism, where the input signal (price data) is smoothed iteratively. This iterative process helps avoid the lag that is typically associated with traditional moving averages while still capturing the overall trend direction.
The filter is designed to have:
Adaptive behavior: It reacts quickly to significant price changes while ignoring minor fluctuations.
Reduced noise: By filtering out random short-term price movements, it provides a clearer view of the underlying trend.
Customizability: Traders can adjust the filter’s sensitivity through user inputs, making it adaptable to different market conditions.
Core Calculation Methodology
The core of the Laguerre Filter lies in its recursive calculation:
Each new value is calculated using the previous value along with the current price input.
The recursive formula is governed by two key parameters: the damping factor (gamma) and the order of the filter (number of Laguerre elements).
The damping factor controls how responsive the filter is to changes in price. A higher gamma value makes the filter smoother but introduces more lag, while a lower gamma value makes it more reactive to price changes but can introduce more noise.
The order defines how many Laguerre elements are used in the calculation. A higher order results in a smoother output but with more delay, while a lower order provides a faster response but less smoothing.
The filter works by weighting previous values with a binomial weighting system, which assigns more weight to recent values and less weight to older values. This creates a dynamic smoothing effect that adapts to price volatility, ensuring that the filter is neither too slow nor too noisy.
Signal Logic and Trend Detection
The Laguerre Filter continuously evaluates the strength and direction of the trend by comparing the current smoothed value to the previous value:
If the current value is greater than the previous value, the trend is considered bullish, and the filter will signal a long condition.
If the current value is less than the previous value, the trend is considered bearish, and the filter will signal a short condition.
The trend detection logic is based on the recursive nature of the filter, which smooths price movements over time. This allows the filter to capture the broader trend while minimizing the influence of short-term price fluctuations.
The trend state is also visually represented by color-coding:
Green color represents an uptrend (bullish condition).
Red color represents a downtrend (bearish condition).
Neutral (white) indicates no clear trend direction.
This color-coding helps traders easily identify the prevailing trend and decide whether to enter or exit trades based on the trend's strength.
Laguerre Filter Behavior and Performance
The performance of the Laguerre Filter can be influenced by several factors:
Gamma (Damping Factor): A higher gamma value results in a smoother filter but increases lag. A lower gamma value allows for a faster response but may introduce more noise, making it more reactive to smaller price changes.
Filter Order: The order determines how many Laguerre elements are used in the filter calculation. A higher order provides more smoothing but increases lag, while a lower order results in a quicker response but less smoothing.
The sweet spot for gamma is typically between 0.7 and 0.85, where the filter offers a good balance between smoothness and responsiveness. The filter order is usually set to 4 for classic Laguerre filtering, but higher orders can be used for more smoothing if needed.
The Laguerre Filter’s performance shines in markets with sustained trends, where the filter can effectively capture and represent the underlying direction without excessive lag. It is particularly useful in volatile markets, as it helps smooth out noise while providing a clear picture of the trend.
Visual Presentation
The Laguerre Filter provides a dynamic, color-coded line that follows the trend direction. This line can be displayed alongside price data to visually highlight the market trend. In addition to the main Laguerre line, several visual enhancements can be applied:
Gradient fill between the price and the Laguerre Filter line, providing a visual cue for bullish or bearish market conditions.
Candle coloring to reflect the current trend, making it easier to spot trend reversals or confirmations directly on the chart.
Background shading to visually highlight areas of strong trend or consolidation.
Edge glow effect that highlights trend boundaries, making it easy to spot key levels of support or resistance.
These visual elements enhance the usability of the Laguerre Filter, allowing traders to quickly assess the market trend and make informed decisions.
Practical Use Cases
1) Trend Following
The Laguerre Filter is ideal for trend-following strategies. By using the filter to identify the prevailing trend, traders can:
Enter long positions when the Laguerre Filter turns bullish (green).
Enter short positions when the Laguerre Filter turns bearish (red).
By aligning trades with the dominant trend, traders can improve their chances of success.
2) Trend Strength Assessment
The Laguerre Filter can also be used to assess the strength of the trend:
A rising Laguerre value indicates a strengthening uptrend.
A falling Laguerre value indicates a strengthening downtrend.
A flattening Laguerre value signals weakening momentum or consolidation.
This information can be used to adjust position sizing or to decide when to enter or exit a trade.
3) Trade Management
The Laguerre Filter can also assist in trade management:
Use the Laguerre line as a trailing stop for long positions in an uptrend.
Scale out of positions as the Laguerre value begins to flatten or reverse.
Use the Laguerre Filter to avoid trades when the market is in consolidation or lacks a clear trend.
Tuning Guidelines
The Laguerre Filter can be adjusted for different market conditions using the following parameters:
Gamma (Damping Factor): Adjust for the desired level of responsiveness versus smoothness. Typical values range from 0.7 to 0.85.
Filter Order: Adjust to control the level of smoothing. The default value of 4 is a good starting point, but higher orders can be used for smoother filters.
Summary
The Laguerre Filter is a versatile and adaptive trend-following indicator that smooths price data and reduces noise, making it easier to identify and follow trends. By using recursive smoothing techniques and adjustable parameters, the Laguerre Filter provides an accurate representation of market conditions with minimal lag. It is especially useful in volatile markets where traditional moving averages may fail to capture the underlying trend. With its color-coded trend detection, gradient fills, and customizable settings, the Laguerre Filter is a powerful tool for traders looking to stay aligned with the prevailing market direction.
[SUMIT] Trade line strategy 05:00pm to 11:00pmSUMIT INGOLE
This indicator is created by Sumit Ingole, a trader from Maharashtra, India, based on real-time market experience.
It helps identify market direction and clean entry zones with a simple structure.
Best used with proper risk management.
Trade TrackerThis indicator is a lightweight trade P/L monitor that takes a manual entry price, direction (long/short), position size, and a configurable dollar value per point/tick.
It computes real-time profit/loss by comparing the current close to the entry price, converting the move into points and then dollars based on your size and tick value.
On the last bar, it draws an entry line at the specified price and renders a stacked label at that level showing Buy/Sell, size, dollar P/L (green/red), and the point P/L.
It continuously deletes and redraws the line/labels to keep the chart clean, and it also plots the entry price so the value is visible in the data window and price scale.
P/E Ratio (TTM)This indicator plots the trailing P/E ratio (TTM) using GAAP EPS (TTM) sourced directly from TradingView’s fundamental data. It includes valuation‑zone color coding, yearly labels, and a clean, compressed visual layout suitable for most equities.
The goal is to provide a fast, intuitive view of how expensive or cheap a stock is relative to its historical earnings power.
Note:
The indicator caps P/E values around 120 for visual clarity.
Negative P/E ratios are intentionally excluded, since P/E is undefined when EPS is negative.
You can adjust the cap or remove it entirely if you prefer a full‑range view.
This tool is especially useful for identifying periods when a company is trading at historically elevated or discounted valuation levels.
Quant Labs Edge Filter (Community Edition)A market-structure filter designed to identify when no real edge exists.
Edge Filter evaluates price location relative to structure to define market posture — long bias, short bias, or stand aside. It does not generate trade signals and is intentionally designed to reduce overtrading.
Clear Posture States
Near Highs — Short Bias
Near Lows — Long Bias
No Edge — Stand Aside
When edge is absent, patience is the strategy.
Why It Stands Out
Most indicators encourage action.
Edge Filter encourages restraint.
Its purpose is to protect capital, attention, and decision quality by filtering out low-quality environments.
Community Edition
This version publishes the core logic openly for transparency and education.
Private access versions may exist for traders seeking continuity and stewardship.
Bottom Line
Trade less.
Trade better.
Wait for edge.
— QuantLabs
StO Price Action - Daily Outside BarShort Summary
- Outside Bar indicator with multiple range calculation algorithms
- Highlights where the current range fully engulfs the previous
- Works with Daily candles in Daily, H4, and H1 timeframes only
- Highlights the current bar when it engulfs the previous bar according to the selected method
Full Description
Overview
- Identifies bars where the current period's range fully engulfs the prior period's range
- Offers three algorithms for defining the engulfing range:
- High/Low: uses absolute high and low values
- Open/Close: considers candle direction (bull/bear) and compares opens and closes
- Open/Close II: stricter version with exclusive inequalities for engulfing
- Engulfing behavior is detected automatically and highlighted for easy recognition
- Works on multiple markets but restricted to D, H4, and H1 charts for accuracy
Controls
- Year lookback (YLB) configurable to filter older bars
- Custom background color for highlighting Outside Bars
- Simple toggle interface with minimal chart clutter
Visual Representation
- Highlights engulfing bars with configurable background color
- Color transparency adjustable for clarity
Usage
- Use to identify strong market momentum or potential reversals
- Helps spot high-probability setups based on engulfing price action
Notes
- Only compatible with Daily, H4, and H1 timeframes
- Non-repainting: once an Outside Bar is drawn, it will not adjust retroactively
- Best used as a market structure reference not a direct trade signal
Support & Resistance Automated📌 Support and Resistance Automated (Pivot-Based)
Support and Resistance Automated is a lightweight and fully automated indicator that plots key support and resistance levels using pivot highs and pivot lows. It helps traders quickly identify important price reaction zones without manual drawing.
This indicator is especially useful for price-action traders, swing traders, and intraday traders who rely on clean charts and objective levels.
🔍 How It Works
Pivot Highs → Resistance Levels
Pivot Lows → Support Levels
Each detected pivot creates a horizontal dotted line that extends forward, allowing you to observe how price reacts over time.
Once a level is formed, it is kept permanently on the chart — no repainting, no disappearing levels.
⚙️ Customizable Settings
You can easily adjust:
Left & Right Pivot Bars – control how strong a pivot must be
Line Extension Length
Line Width
Support & Resistance Colors
Show / Hide Pivot Highs and Pivot Lows independently
This flexibility allows the indicator to adapt to intraday, swing, or higher-timeframe analysis.
✅ Key Features
✔ Fully automatic support & resistance detection
✔ Based on proven pivot-point logic
✔ No repainting
✔ Clean, minimal chart appearance
✔ Unlimited support & resistance levels
✔ Works on all timeframes & instruments
📈 Best Use Cases
Identifying key demand and supply zones
Planning entries, targets, and stop-losses
Confluence with price action, RSI, moving averages
Breakout and rejection-based strategies
LARGER PRICE LINE Adjustable (UPDATED)LARGER PRICE LINE
I made this so I could SEE THE PRICE LINE BETTER and try to reduce some eye strain!!
Hope it helps... enjoy! comment for improvements or suggestions
Improved Adjustable Size and Color for the Price Line and Price Box
Adjustment for Price Line: Size and Color plus Solid Line, Dashed or Dotted Line
Adjustments include: Price Box Text Size and Color (Small, Normal, Large, Huge!)
Adjustable Right Side Offset for Price Box
Gap Tracker Indicator v5Gap Tracker Indicator - Description
Purpose: The Gap Tracker identifies price gaps on charts and visualizes unfilled gap zones that may act as future support/resistance levels.
What it shows:
Gap zones as colored rectangles:
Red boxes = bearish gaps (price gapped down, leaving unfilled space above)
Green boxes = bullish gaps (price gapped up, leaving unfilled space below)
How gaps form:
A gap occurs when the opening price of one candle is significantly different from the closing price of the previous candle
Common after weekends, holidays, or major news events when markets are closed
Gaps create "empty" price zones with no trading activity
Trading significance:
Many traders believe gaps tend to "fill" eventually (price returns to the gap zone)
Unfilled gaps can act as magnetic levels - price often revisits them
Gap zones may provide support (bullish gaps) or resistance (bearish gaps)
On your chart:
Multiple red boxes show unfilled bearish gaps where price gapped down
Green boxes show unfilled bullish gaps where price gapped up
The indicator tracks these zones until price fills them completely
Right side shows "GAP TRACKER" panel with active gaps: Aktywne (2), Zamknięte (9), Zakres 7d (168)
Key insight: The concentration of unfilled gaps suggests potential magnetic zones where price may return for "gap fill" trades. Traders often use these levels for entries, exits, or stop placement.
Kalman Hull Trend Score [BackQuant]Kalman Hull Trend Score
Overview
Kalman Hull Trend Score is a trend-strength and regime-evaluation indicator that combines two ideas, Kalman filtering and Hull-style smoothing, then measures persistence of that filtered trend using a rolling score. The goal is to produce a cleaner, more stable trend read than typical moving average tools, while still reacting fast enough to be practical in live markets.
Instead of treating a moving average as a simple line you cross, this indicator turns the filtered trend into an oscillator-like score that answers: “Is the smoothed trend consistently progressing, or is it stalling and degrading?”
Core idea
The indicator is built from two components:
A Kalman-based smoothing engine that estimates price state and reduces noise adaptively.
A Hull-style construction that uses multiple Kalman passes to create a responsive, low-lag trend filter.
Once the Kalman Hull filter is built, a persistence score is calculated by comparing the current Kalman Hull value to many past values. The result is a trend score that rises in sustained trends and compresses or flips during deterioration.
Why Kalman instead of standard smoothing
Traditional moving averages apply fixed smoothing rules regardless of market conditions. A Kalman filter behaves differently, it is designed to estimate an underlying state in noisy data, adjusting how much it “trusts” new price information versus prior estimates.
This script exposes that behavior through two key controls:
Measurement Noise: how noisy the observed price is assumed to be.
Process Noise: how much the underlying state is allowed to evolve from bar to bar.
Together, these settings let you tune the balance between smoothness and responsiveness without relying on blunt averaging alone.
Kalman filter mechanics (conceptual)
Each update cycle follows the classic structure:
Prediction: assume the state continues, and expand uncertainty by process noise.
Update: compute Kalman Gain, then blend the new price observation into the estimate.
Correction: reduce uncertainty based on how much the filter accepted the new information.
When measurement noise is higher, the filter becomes more conservative, smoothing harder. When process noise is higher, the filter adapts faster to regime changes, but can become more reactive.
Check out the original script:
Kalman Hull construction
The “Hull” component is not a standard HMA built from WMAs. Instead, it recreates the Hull idea using Kalman filtering as the smoothing primitive. The structure follows the same intent as HMA, reduce lag while keeping the line smooth, but does it with Kalman passes:
Apply Kalman smoothing over multiple effective lengths.
Combine them using the Hull-style weighting logic.
Run the combined output through another Kalman pass to finalize smoothing.
The result is a Kalman Hull filter that aims to track trend with less jitter than raw price, and less lag than slow averages.
Another Kalman Hull with Supertrend
Trend scoring logic
The trend score is computed by comparing the current Kalman Hull value to past Kalman Hull values over a fixed lookback range (1 to 45 bars in this script):
If current kalmanHMA > kalmanHMA , add +1
If current kalmanHMA < kalmanHMA , add -1
This produces a persistence score rather than a simple direction signal. Strong trends where the filter keeps advancing will accumulate positive comparisons. Weak trends, chop, or reversals will cause the score to flatten, decay, or flip negative.
Interpreting the score
Read the score as trend conviction and persistence:
High positive values: bullish persistence, the filtered trend is progressing consistently.
Low positive values: trend exists but is fragile, progress is slowing.
Near zero: indecision, range behavior, frequent challenges to structure.
Negative values: bearish persistence or sustained deterioration in the filtered trend.
The rate of change matters:
Score expansion suggests trend is gaining traction.
Score compression often signals consolidation or exhaustion.
Fast flips usually accompany regime transitions.
Signal thresholds and regime transitions
User-defined thresholds convert the score into regimes:
Long threshold: score must exceed this level to confirm bullish persistence.
Short threshold: a crossunder of the score triggers bearish regime transition.
This is intentionally conservative. Long bias is maintained while the score holds above the long threshold. Short transitions are event-triggered on breakdown via crossunder, helping avoid constant flipping during minor noise.
Signals are only plotted on regime changes (first bar of the flip), keeping them clean for alerts and backtests.
Visual presentation
The indicator provides multiple layers depending on how you want to use it:
Kalman Hull Trend Score oscillator, color-coded by active regime.
Optional Kalman Hull filter plotted on the price chart for structure context.
Optional threshold reference lines for quick regime mapping.
Optional candle coloring and background shading for instant readability.
You can run it as a pure score panel or as a combined panel + on-chart trend overlay.
How to use in practice
Trend filtering
Favor long setups when the score remains above the long threshold.
Reduce directional aggression when score compresses toward zero.
Treat a short-threshold breakdown as a regime risk event, not just a signal.
Trend quality assessment
Rising score supports continuation trades and adds confidence to breakouts.
Flat or falling score warns that trend persistence is fading.
If price trends but score fails to expand, trend may be weak or liquidity-driven.
Trade management
Use the Kalman Hull line as dynamic structure reference on chart.
Use score deterioration to scale out before a full regime flip.
Use regime flips as confirmation for bias shifts rather than prediction.
Tuning guidelines
Measurement Noise
Higher: smoother filter, fewer false shifts, slower to adapt.
Lower: more responsive, more sensitive to microstructure noise.
Process Noise
Higher: adapts quicker to sudden changes, but can become twitchy.
Lower: steadier state estimate, but slower during sharp regime transitions.
A practical approach is to first tune measurement noise until the Kalman Hull line matches the “clean trend structure” you want, then adjust process noise to control how quickly it reacts when the regime genuinely changes.
Summary
Kalman Hull Trend Score transforms a Kalman-based Hull-style trend filter into a quantified persistence oscillator. By combining adaptive Kalman smoothing with low-lag Hull logic and a rolling comparison score, it provides a cleaner read on trend quality than basic moving averages or single-condition trend tools. It is best used as a regime filter, trend strength gauge, and structure-aware trade management layer.
P/E, EPS, Price & Price-to-Sales DisplayThis indicator displays key fundamental valuation metrics for the selected stock.
It shows:
Earnings Per Share (EPS)
Price-to-Earnings (P/E) ratio
Calculated theoretical price based on P/E × EPS
Price-to-Sales (P/S) ratio
These values help traders quickly assess valuation without switching to separate financial panels.
🛠 Instructions for Use
Add the indicator to your chart.
Click on the three dots (⋯) next to the indicator name.
Select Move to → New pane above.
Minimize the indicator pane to display only the numerical values.
Hide the plotted lines if you want a clean, numbers-only view.
This setup allows you to monitor fundamental metrics efficiently without cluttering the price chart.
Volatility Trend Score [BackQuant]Volatility Trend Score
Overview
Volatility Trend Score is a trend-strength and regime-evaluation indicator built to measure directional persistence, not just direction. Most trend tools answer “up or down” using slope, crossovers, or a single condition. This indicator answers a more useful question for real trading: “How consistently is trend structure holding up once volatility is accounted for?”
It does this by building a volatility-scaled trailing structure (ATR-based) and then scoring how that structure evolves over a configurable lookback range. The output is a continuous score that rises when trend is persistent and decays when price action becomes noisy, mean-reverting, or unstable.
What it is measuring (the real goal)
This indicator is not trying to predict reversals. It is trying to quantify whether the market is behaving like a trend market or a chop market. It focuses on:
Persistence: does structure keep pushing in one direction bar after bar?
Stability: are pullbacks being absorbed without breaking the trailing structure?
Regime: is the market trending strongly enough to justify directional bias?
If you already have entries from other systems, this becomes a high-quality trend filter and trade management layer.
Core idea
At its foundation, the indicator combines two parts:
A volatility-adjusted trailing level derived from ATR and a user-defined factor.
A rolling persistence score that compares the current trail to prior trail values over a configurable loop window.
The trailing structure adapts to volatility and enforces one-sided movement, while the scoring logic converts that behavior into a numeric measure of trend quality.
Inputs and what they actually control
Average True Range Period (calc_p)
Defines the ATR window used to estimate volatility. A higher value smooths the volatility estimate and makes the trailing structure less reactive.
Factor (atr_factor)
Scales the ATR band size. Higher values widen the trailing band, filtering more noise, reducing flip frequency, and generally producing slower but more stable regimes.
For Loop Start/End (start/end)
Defines the comparison window used to build the score. It effectively sets how many historical trail values the current trail is compared against.
Shorter ranges produce a faster, more responsive score.
Longer ranges produce a slower, more “confidence-based” score that only climbs when trend persistence is sustained.
Long/Short Thresholds (thresL/thresS)
Convert a continuous score into regime thresholds.
Long threshold is a “trend quality requirement” for bullish bias.
Short threshold is used as a deterioration / breakdown trigger via crossunder logic.
Volatility-adjusted trailing structure
The trailing line is built from ATR bands around price:
up = close + ATR * factor
dn = close - ATR * factor
Then a trailing value is maintained with one-sided ratcheting behavior:
If dn rises above the previous trail, the trail steps up (ratchets upward).
If up drops below the previous trail, the trail steps down (ratchets downward).
This “ratchet” behavior is important. It prevents the trail from oscillating with small countertrend moves, forcing the trail to represent meaningful structure rather than micro-noise. On-chart, this trail often behaves like dynamic support/resistance in trends.
Why the trail is a better base than raw price
Price itself is noisy, and volatility changes the meaning of “big move” vs “small move.” By anchoring structure to ATR:
A move is interpreted relative to current volatility, not in absolute points.
High-volatility chop is less likely to be misread as a trend.
Trend structure is normalized across assets and timeframes more reliably.
This is why the score remains usable even when switching from low-vol assets to high-vol crypto pairs.
Trend scoring logic
The score is built by repeatedly comparing the current trailing value to trailing values from prior bars across a loop window:
If current trail > trail , add +1
If current trail < trail , add -1
This is a persistence test, not a momentum calculation. In a strong trend, the trail should generally keep stepping in the trend direction, so current values will be greater than many past values (bullish) or lower than many past values (bearish). In chop, the trail fails to progress meaningfully, so the score compresses, oscillates, or bleeds out.
How to interpret the score
Think of the score as a “trend conviction meter”:
High positive values: bullish persistence, structure is advancing consistently.
Low positive values: bullish bias may exist, but trend quality is weak or unstable.
Near zero: indecision, range behavior, or frequent structure challenges.
Negative values: bearish dominance or sustained deterioration in structure.
The speed of score change matters too:
Fast expansion suggests a fresh regime gaining traction.
Slow grind suggests mature trend continuation.
Rapid compression often signals consolidation, exhaustion, or a transition phase.
Signals and regime transitions
This script uses two different styles of conditions (important detail):
Long condition: score > long threshold (state-based, persistent while true).
Short condition: crossunder(score, short threshold) (event-based trigger).
That means:
Long bias can remain active as long as score stays above the long threshold.
Short regime flips are triggered at the moment the score breaks down through the short threshold.
On the chart, long/short shapes are only plotted when the regime flips (first bar of the change), not on every bar, using:
Long shape when signal becomes 1 and previous signal was -1
Short shape when signal becomes -1 and previous signal was 1
This keeps signals clean and avoids spam, making it usable for alerts and regime tagging.
Visual presentation
The indicator is designed to work both as a panel oscillator and as an on-chart overlay:
Score plot (oscillator): color reflects active regime state.
Optional trail on price: volatility-scaled structure line on chart.
Optional threshold reference lines: clear regime boundaries.
Optional candle coloring: makes regime obvious without reading the panel.
Optional background shading: useful for quick scanning and backtesting visually.
You can use only the score, only the trail, or both together depending on your workflow.
Practical use cases
1) Trend filter for systems
Use the score as a regime gate:
Allow long entries only when score is above the long threshold.
Avoid longs when score compresses toward zero or loses the threshold.
Treat the short threshold break as “trend is no longer healthy.”
This often improves system expectancy by reducing exposure during low-conviction conditions.
2) Trend quality grading
Instead of treating all uptrends as equal:
Higher score = higher persistence, better continuation odds.
Score plateau = trend losing pressure, continuation becomes less reliable.
Score decay while price rises = trend is getting weaker under the hood.
This is useful for position sizing or deciding whether to add to winners.
3) Trade management and exits
Two complementary tools exist here:
Trail line can act as a dynamic stop reference or structure invalidation level.
Score behavior can be used to scale out when persistence fades (before a full flip).
Many traders use the trail for “hard structure” and the score for “soft deterioration.”
4) Breakout confirmation vs fakeouts
A breakout that immediately fails to build score is often low quality.
Healthy breakouts usually come with score expansion as structure advances.
Fakeouts often revert quickly, score fails to climb, and regime stays unstable.
Tuning guidelines
These are general behaviors you can expect when adjusting settings:
Higher ATR period and factor: slower regimes, fewer flips, cleaner structure.
Lower ATR period and factor: faster reaction, more sensitivity, more noise risk.
Longer loop range: score becomes more “confidence-based,” slower to change.
Shorter loop range: score becomes more “tactical,” faster but more jittery.
A good way to tune is to pick the trail behavior first (ATR period and factor), then tune the score window (loop) to match how quickly you want “trend conviction” to build.
Market behavior focus
Volatility Trend Score is most valuable in markets where volatility shifts frequently and fake trends are common, especially crypto. It is designed to:
Stay out of low-quality chop where most indicators whipsaw.
Quantify when volatility is being expressed directionally (constructive trend).
Provide a clean regime framework for filtering, alignment, and management.
Summary
Volatility Trend Score converts volatility-adjusted structure into a quantified measure of trend persistence. By combining an ATR-based trailing mechanism with a rolling comparison score, it provides a more reliable read on trend quality than single-condition indicators. It is best used as a regime filter, a trend strength gauge, and a trade management layer, helping you stay aligned with strong directional phases while avoiding low-conviction envir
Auction Context Engine ( Value Area, VWAP & Regime)📌 Indicator Name
Auction Context Engine (Value Area, VWAP & Regime)
Short name: ACE Context
🧠 Description
Auction Context Engine (ACE) is a professional market context and structure indicator based on Auction Market Theory.It is designed to help traders understand where the market is positioned, not to generate trade signals.
ACE focuses on:
• Developing Value Area (VAH / VAL)
• Developing Point of Control (POC)
• Session VWAP positioning
• Volatility regime expansion
• Opening Range context
• Failed auction / trap detection
• Market bias and environment quality
This indicator provides context only and is intended to be used alongside a separate execution strategy or system.
🎯 What This Indicator Is
✔ A context engine
✔ A market structure filter
✔ A bias alignment tool
✔ A regime and environment classifier
❌ What This Indicator Is NOT
✘ Not a signal generator
✘ Not a buy/sell system
✘ Not a strategy
✘ Not a profitability promise
📊 How To Use
Use ACE to answer:
• Is price accepting or rejecting value?
• Is the market in balance or expansion?
• Is VWAP supporting or opposing price?
• Is this a breakout environment or a trap?
• Is volatility expanding?
• Is the market trending or ranging?
You may then use your own execution strategy aligned with this context.
🟢 Core Components
Developing Value Area
• VAH / VAL dynamically update through the session
• POC tracks highest traded volume area
VWAP Position
• Above VWAP = bullish bias
• Below VWAP = bearish bias
Opening Range Context
• Detects breakouts or balance after session open
Volatility Regime
• Identifies expansion vs normal conditions
Failed Auction Detection
• Highlights trap conditions near value extremes
Market Quality
• Strong / Mixed / Weak environment classification
Context Table
• Clean 1-column vertical dashboard with color-coded bias
🔵 Visual Elements
• Developing VAH, VAL, POC lines
• Session VWAP
• Small context dots when environment turns READY
• Compact professional context table
⚙️ Settings
• Value Area bin size
• Value area percentage
• Opening range duration
• Regime expansion factor
• Line colors and thickness
• Context table ON/OFF
• Context dots ON/OFF
🧩 Best Use Case
This indicator is ideal for:
• Intraday trading
• Index futures and equities
• Options context filtering
• Trend / range regime identification
• Professional discretionary traders
⚠️ Disclaimer
This script is provided for educational and informational purposes only.It does not constitute financial or investment advice.Trading involves risk. Always use proper risk management.
Adjustable Price Line Size with Countdown Timer (Larger)Adjustable Size and Color for the Price Line and Timer so I Can See it Better From Across the Room...
Adjustments include: Price Line Width Size and Color (Small, Normal, Large, Huge)
Adjustment for: Solid Line, Dashed or Dotted Line
Countdown Timer: ON/OFF
I Can Now See The Price and Price Line From Across the Room!!
WYCKOFF_SHARED_LIBLibrary "WYCKOFF_SHARED_LIB"
EPS()
nz0(x)
Parameters:
x (float)
safe_div(num, den)
Parameters:
num (float)
den (float)
safe_div_eps(num, den)
Parameters:
num (float)
den (float)
safe_ratio(a, b)
Parameters:
a (float)
b (float)
clamp(x, lo, hi)
Parameters:
x (float)
lo (float)
hi (float)
wave_dir(startPx, endPx)
Parameters:
startPx (float)
endPx (float)
wave_amp(startPx, endPx)
Parameters:
startPx (float)
endPx (float)
wave_amp_atr(amp, atr)
Parameters:
amp (float)
atr (float)
wave_speed(ampATR, lenBars)
Parameters:
ampATR (float)
lenBars (int)
wave_eff(amp, path)
Parameters:
amp (float)
path (float)
build_wave_metrics(dir, lenBars, startPx, endPx, ampATR, speed, eff, volRel, epr)
Parameters:
dir (int)
lenBars (int)
startPx (float)
endPx (float)
ampATR (float)
speed (float)
eff (float)
volRel (float)
epr (float)
compare_waves(w0, w1)
Parameters:
w0 (WaveMetrics)
w1 (WaveMetrics)
strengthening_same_dir(c)
Parameters:
c (WaveCompare)
weakening_same_dir(c)
Parameters:
c (WaveCompare)
evr_by_waves(volSum0, ampATR0, volSum1, ampATR1)
Parameters:
volSum0 (float)
ampATR0 (float)
volSum1 (float)
ampATR1 (float)
WaveMetrics
Fields:
dir (series int)
lenBars (series int)
startPx (series float)
endPx (series float)
amp (series float)
ampATR (series float)
speed (series float)
eff (series float)
volRel (series float)
effortPerResult (series float)
WaveCompare
Fields:
amp_ratio (series float)
speed_ratio (series float)
eff_ratio (series float)
volRel_ratio (series float)
epr_ratio (series float)
EVR
Fields:
state (series int)
ICT CISD+FVG+OBThis script is a high-performance ICT suite designed for traders who want a professional, "noise-free" chart. It identifies core institutional patterns—Order Blocks, Fair Value Gaps, and Changes in State of Delivery (CISD)—across multiple timeframes.
The script features a proprietary Proximity Cleanup Engine that automatically deletes old or broken levels, keeping your workspace focused only on price action that is currently tradeable. It strictly follows directional delivery rules for CISD and includes a 50-candle "freshness" limit to ensure you never have to manually clear old data from your past bars.
Core Features
Intelligent CISD: Only triggers Bullish CISD on green candles and Bearish CISD on red candles.
Proximity Filter: Automatically wipes away any levels that are "miles away" from the current price.
Clean Workspace: Removes broken session highs/lows and mitigated zones instantly.
Full Customization: Toggle visibility and colors for every component via the settings menu.
Broadening Formation Structure Review ToolThis script provides an educational, checklist-based framework for studying Broadening Formations together with basic Strat-style reversal behavior and higher-timeframe direction. It is designed to show multiple structural conditions in one place so users can observe how they interact. It does not execute trades, generate signals, or provide financial advice.
What makes this script original is the integration of four components into a single logical framework:
• dynamic tracking of Broadening Formation high/low levels
• proximity evaluation relative to those levels
• classification of simple bar reversal behavior
• higher-timeframe open–close continuity checks
Instead of using these concepts as separate tools, the script combines them into a single checklist so users can see when multiple conditions occur at the same time.
Broadening Formation levels may be user-defined or automatically derived using:
• unlimited dynamic expansion
• range-limited dynamic expansion
• swing-pivot detection
• manual input mode
Users may also optionally lock levels once a structure is identified.
Proximity to BF levels can be measured in several ways, including percentage, ticks, points, dollars, ATR multiples, or expected-move multiples. The script can also detect when price takes out BF highs or lows.
The script classifies basic Strat-style price behavior, including:
• two-up / two-down moves
• outside bars
• failed 2U/2D reversals
• 2D→2U and 2U→2D reversals
A selectable higher timeframe (such as 60, 240, D, W, or M) is used to evaluate direction by comparing the higher-timeframe open and close.
The on-chart table summarizes:
• current BF High and BF Low levels
• proximity status relative to those levels
• whether BF highs or lows have been taken out
• reversal classification results
• higher-timeframe direction
• theoretical risk distance and 2R/3R projections
Optional alerts can notify when three-condition or four-condition checklist alignment occurs, based only on the logical rules visible in the script. Optional chart lines for BF levels may also be displayed.
Transparency and behavior notes
• swing pivots repaint until confirmed
• higher-timeframe direction is only final at bar close
• dynamically derived BF levels may update as price forms new extremes
This script is intended purely for market-structure study and education. It does not guarantee performance, predict outcomes, or recommend trades.
First Opening Price of the YearOverview
This indicator identifies and plots the opening price of the first trading session of the calendar year. The "Yearly Open" is a significant psychological level for traders and institutions, often serving as a major pivot point for the entire year's trend.
How it Works
The script utilizes Pine Script v5's persistent variables to track the year change.
Detection: It compares the current bar's year (year) with the previous bar's year (year ).
Storage: When a discrepancy is found (indicating a new year has started), the script captures the open price of that specific bar.
Persistence: Using the var keyword, this price is stored in memory and carried forward for every subsequent bar of the year without being recalculated.
Visualization: The price is plotted as a series of blue crosses (style_cross) to clearly mark the level on the chart.
Chart Analysis & Examples
The following examples demonstrate how this simple level dictates market structure across different assets:
Historical Pivot Points (S&P 500):
This chart demonstrates how the Yearly Open acts as a critical pivot. Notice in 2022 how price struggled around the open before dropping, while in 2023 and 2024, the yearly open provided a solid base for the subsequent rallies.
Trend Confirmation (Bitcoin):
In strong trending markets, the Yearly Open serves as a trailing support. As seen in this Bitcoin example, price maintaining its position above the blue line confirms a sustained bullish bias for the year, acting as a "floor" for the trend.
Market Structure & Bias (Gold):
This example highlights the "Line in the Sand" concept. The indicator clearly marks the starting point of the year, allowing traders to instantly gauge if the asset is net positive or negative year-to-date. It filters out the noise and focuses on the macro direction.
How to Use
Traders can use this indicator to determine the higher-timeframe bias:
Bullish Bias: When the current price is trading above the blue crosses, the market is considered to be positive relative to the start of the year.
Bearish Bias: When the current price is trading below the blue crosses, the market is negative relative to the start of the year.
Settings
This script is "plug and play" and requires no manual input adjustments. It automatically detects the timeframe and year changes based on the chart data provided.
Disclaimer
This tool is for informational purposes only and DOES NOT constitute financial advice. Always manage your risk appropriately.






















