Total Power IndicatorHello traders!
This indicator was originally developed by Daniel Fernandez (Currency Trader magazine, 2011).
It is based on the two well-known indicators by Dr. Alexander Elder - Bulls Power and Bears Power.
Signals
1) Long when Bull and Total lines indicate 100 (it happens rarely)
2) Short when Bear and Total lines indicate 100 (it happens rarely)
3) Bull and Bear lines crossovers
4) Long when Bull line crosses Total line from below
5) Short when Bear line crosses Total line from below
6) Long/Short when Bull/Bear lines cross adjustable level.
Like and follow for more open source indicators!
Happy Trading!
在脚本中搜索"bear"
Volume Strength Candles / Colored BarsIs Price Action Higher or Lower on STRONG or WEAK VOLUME from lookback
(Strong or Weak Bulls // Strong or Weak Bears)
Candles / Bars Indicate the Following (default 13 period lookback / Length)
MAROON Bear Candle with STRONG VOLUME more than 150% of the lookback / length (13 default), STRONG Bear Candle Confirmed With Volume
RED Bear Candle while VOLUME is BETWEEN 50% & 150% of the Lookback / Length (13 default), Neutral Bear Volume Neither strong or weak
ORANGE Bear Candle with WEAK VOLUME (Less than 50% of the Length / Lookback)
DARK GREEN Bull Candle with STRONG VOLUME MORE than 150% of lookback
GREEN Bull Candle with Neutral VOLUME BETWEEN 50% & 150% of the lookback / Length
AQUA Bull Candle with WEAK VOLUME less than 50% of the Lookback
Is price confirmed by volume?
Can Change the Lookback / Length from 13
Can Change the Colors and Transparency to easily see based off your chart background colors I recommend ZERO Transparency to easily identify volume strength (i use white background but many use black or other)
Two Bar Break Line Alerts R1.0 by JustUncleLThis indicator with default settings is designed for BINARY OPTIONS trading. The indicator can also be used for Forex trading with some setting changes. The script shows Two Bar Pullback Break lines and alerts when those Break lines are Touched (broken) creating a short term momentum entry condition.
For a Bullish Break (Green Up Arrow) to occur: first must have two (or three) consecutive bear (red) candles which is followed by a bull (green) candle creating a pivot point. The breakout occurs then the High of the current Bull (green) exceeds the highest point of the previous two (or three) pivotal bear candles. The green channel Line shows where the current Bullish BreakOut occurs.
For a Bearish Break (Red Down Arrow) to occur: first must have two (or three) consecutive bull (green) candles which is followed by a bear (red) candle creating a pivot point. The breakout occurs when the Low of the current Bear (red) drops below the lowest point of the previous two (or three) pivotal Bull candles. The red channel Line shows where the current Bearish BreakOut occurs.
The break Line Arrows can optionally be filtered by the Coloured MA (enabled by default), a longer term directional MA (disabled by default) and/or a MACD condition (enabled by default) as a momentum filter.
You can optionally select three Bar break lines instead of two. The three bar break lines are actually equivalent to Guppy's Three Bar Count Back Line method for trade entries (see Guppy's video reference below).
Included in this indicator is an ability to display some basic Binary Option statistics, when enabled (enabled by default) it shows Successful Bars in Yellow and failed Bars in Black and the last Nine numbers on the script title line represent the Binary option Statistics in order:
%ITM rate
Total orders
Successful Orders
Failed Orders
Total candles tested
Candles per Day
Trades per Day
Max Consecutive Wins
Max Consecutive Losses
You can start the Binary Option statistics from a specific Date, which is handy for checking more recent history.
HINTS:
BINARY OPTIONS trading: use 5min, 15m, 1hr or even Daily charts. Trade after the price touches one of the Breakout lines and the Arrow first appears. Wait for the price to come back from Break Line by 1 or 2 pips, the alert arrow must stay on and candle change to black, then take Binary trade expiry End of Candle. If price pull back and arrow turns off, don't trade this candle, move on you probably don't have momentum, there will be plenty of other trigger events. The backtesting results are good with ITM rates 65% to 72% on many currency pairs, commodities and indices. Realtime trading has confirmed the backtesting results and they could even be bettered, provided you are selective on which signals to trade (strong MACD support etc), that you are patient and disciplined to this trading method.
FOREX trading: the default settings should work with scalping. For longer term trades try with settings change to a more standard MACD filter or slower to catch the longer term momentum swings and the idea would be to trade the first Break Line alert that occurs after a decent Pullback in the direction of the trend. Setting the SL to just above/below the Pivot High/Low and set target to two or three times SL.
References:
"Fundamentals of Price Action Trading for Forex, Stocks, Options and Futures" video:
www.youtube.com
Other videos by "basecamptrading" on Naked Trading.
"Taking Profits in Today's Market by Daryl Guppy" video:
www.youtube.com
NG [Simple Harmonic Oscillator]The SHO is a bounded oscillator for the simple harmonic index that calculates the period of the market’s cycle.
The oscillator is used for short and intermediate terms and moves within a range of -100 to 100 percent.
The SHO has overbought and oversold levels at +40 and -40, respectively.
At extreme periods, the oscillator may reach the levels of +60 and -60.
The zero level demonstrates an equilibrium between the periods of bulls and bears.
The SHO oscillates between +40 and -40.
The crossover at those levels creates buy and sell signals.
In an uptrend, the SHO fluctuates between 0 and +40 where the bulls are controlling the market.
On the contrary, the SHO fluctuates between 0 and -40 during downtrends where the bears controlthe market.
Reaching the extreme level -60 in an uptrend is a sign of weakness.
Force Index with Buy on Dip strategyThis charts has 2 indicators
1 - Force Index
This indicator is based on Dr Alexander Elder ForceIndex indicator with relate price to volume by multiplying net change and volume.
- GREEN Bar indicates Bull is in control
- RED Bar indicates Bear is in control.
LENGTH of the bar indicate the strength of Bull or Bear.
Normally there's potential BUY if the RED bar turned GREEN and SELL if GREEN to RED.
2 - Stochastic momentum
Stochastic momentum is to detect potential Reversal where BLUE bar will appear if :-
- Oversold - Stochastic less than 35
- Closing price is higher than last 2 High (Fast Turtle)
// Note : Best use with "EMA Indicators with BUY sell Signal"
Hersheys Volume Pressure v1Hersheys Volume Pressure gives you very nice confirmation of trend starts and stops using volume and price.
For up bars...
If you have a large price range with low volume, that's very bullish.
If you have a small price range with low volume, that's bullish.
For down bars...
If you have a large price range with low volume, that's very bearish.
If you have a small price range with low volume, that's bearish.
Look at the chart and you'll see how trends start and end with a PINCH and widen in the middle of the moves.
Hersheys Volume Pressure is unique, in that it measures bull/bear pressure on each bar by itself. Other volume indicators like On Balnce Volume and Price Volume Trend use cumulative differences in the current and previous bar to show trends.
You can set the moving average period, 14 is the default.
Good trading!
Brian Hershey
Murrey Math Extremes ComparatorHOW IT WORKS
Creates two murrey math oscillators (hidden) one with 256 length another with 32 length and compare each other.
WHAT GIVE ME THIS SCRIPT
The script can give you very valuable information:
- Main Trend
- Pullbacks detections
- Extreme overbought oversold prices alerts
- Divergences
- Any timeframe usage
REFERENCES OF USAGE
Main Trend Indications
****The main trend is indicated with green(bull) or red(bears) small "triangles" on the bottom(bull) or the top(bears) of the chart.
*****To detect the Bull/Bear major trend the script use 256 murrey, if > 0 (green) we are uptrend in other cases we are downtrend
Pullback detection
****The pullbacks are indicated with Green(bull) or red(bears) medium "Arrows"
*****To detect pullbacks the system compare the long term murrey with the short term murrey, if long term is Green(green triangles)
*****so we are in a main bull trend, if the short term murrey make an extreme low then the pullback is indicated
*****The same for the short pullback, if long term murrey is RED and we have an extreme green short term murrey we shot a red arrow
Extreme Overbught/Oversold
****The extreme OO is indicated with fancy diamonds
*****To detect the Extremes price movements we combine the two murrey, if Long Term Murrey is overbought and short term murrey too
*****Then the diamond show on the screen obove or below based on the extreme if overbought or oversold
Strategy Resume:
Triangles indicate Major Trend Up/Down
Arrows Indicate Continuation pullbacks
Diamonds Indicate Extreme Prices
GUIDE HOW TO IMAGES
How it's works Behind Scene
MWho is in ControlWho is in Control.
This study shows who is in control by showing just the Bull side, the Bear side or a combined view. This study follows the same philosophy of simplicity I try to use as much as possible in my studies. The least number of parameters and as understandable as possible.
Len : length of the period
Signal : Signal to show change of trend
Disp Bull : Display/Hide Bull Side
Disp Bear : Display/Hide Bear Side
Disp Differential : Display/Hide the differential between Bulls and Bears.
: Volume Zone Oscillator & Price Zone Oscillator LB Update JRMThis is a simple update of Lazy Bear's " Indicators: Volume Zone Indicator & Price Zone Indicator" Script. PZO plots on the same indicator. The horizontal plot lines are taken primarily from two articles by Wahalil and Steckler "In The Volume Zone" May 2011, Stocks and Commodities and "Entering The Price Zone"June 2011, Stocks and Commodities. With both indicators on the same plot it is easier to see divergences between the indicators. I did add a plot line at 80 and -80 as well because that is getting into truly extreme price/volume territory where one might contemplate a close your eyes and sell or cover particularly if confirmed at a higher time frame with the expectation of some type of corrective move..
The inputs and plot lines can be edited as per Lazy Bear's original script and follows the original format. Many thanks to Lazy Bear.
Hero Zero+ Gamma (False Breakout Filter)Hero Zero – EMA + VWAP + Gamma (Strong Candle)
Purpose:
This script is designed to capture high-momentum intraday moves (Gamma Blasts / Hero Zero trades) by combining:
Trend strength (EMA stack)
Institutional reference (VWAP)
Momentum candle quality (Full Body / Marubozu)
Participation confirmation (Volume burst – OI proxy)
It avoids weak breakouts and focuses only on decisive price expansion candles.
1️⃣ EMA STRUCTURE – TREND FILTER
emaFast = ta.ema(close, 9)
emaMid = ta.ema(close, 20)
emaSlow = ta.ema(close, 50)
📈 Why EMAs?
EMAs react faster to price → ideal for intraday momentum
The script uses EMA stacking, not just crossovers
Bullish EMA Stack
emaFast > emaMid > emaSlow
✔ Indicates strong uptrend
✔ Buyers are in control across short, medium & intraday timeframes
Bearish EMA Stack
emaFast < emaMid < emaSlow
✔ Indicates strong downtrend
✔ Sellers dominate
🔒 No EMA stack = no trade
This removes sideways and choppy markets.
2️⃣ VWAP – INSTITUTIONAL BIAS
vwapVal = ta.vwap(hlc3)
Why VWAP?
Used by institutions, algos, prop desks
Acts as a fair value line
Conditions
Bullish trade: close > VWAP
Bearish trade: close < VWAP
📌 This ensures:
You trade with smart money
You avoid mean-reversion traps
3️⃣ VOLUME BURST – GAMMA / OI PROXY
avgVol = ta.sma(volume, 20)
volBurst = volume > avgVol * 1.5
What this represents
Sudden increase in participation
Acts as a proxy for OI build-up / Gamma activity
✔ No volume = no follow-through
✔ Volume burst confirms real interest, not fake moves
4️⃣ STRONG CANDLE LOGIC – CORE EDGE 🔥
Candle Anatomy
bodySize = abs(close - open)
upperWick = high - max(close, open)
lowerWick = min(close, open) - low
A) FULL BODY CANDLE
Meaning:
Price moves strongly in one direction with minimal rejection.
Bullish Full Body
bodySize > upperWick
✔ Buyers pushed price up and held it
Bearish Full Body
bodySize > lowerWick
✔ Sellers dominated without pullback
B) MARUBOZU CANDLE (Institutional Candle)
upperWick <= mintick*2
lowerWick <= mintick*2
✔ Almost no wicks
✔ Pure aggression
✔ Typically seen during:
Option Gamma expansion
Index hero moves
Breakout candles
C) STRONG CANDLE (Final Filter)
Strong Candle = Full Body OR Marubozu
📌 This is powerful because:
Full Body → strong but normal momentum
Marubozu → explosive institutional move
Weak candles are fully filtered out.
5️⃣ HERO ZERO (GAMMA BLAST) CONDITIONS
Bullish Gamma Blast
EMA Stack + Price above VWAP +
Strong Bull Candle + Volume Burst
Bearish Gamma Blast
EMA Stack + Price below VWAP +
Strong Bear Candle + Volume Burst
💥 When all align → probability spike
💥 Designed for fast 1–3 candle expansion
6️⃣ SIGNAL VISUALS
Green “GAMMA BUY” → below candle
Red “GAMMA SELL” → above candle
EMAs + VWAP plotted for context
Signals are rare but high-quality.
7️⃣ ALERT SYSTEM
alertcondition(bullGamma)
alertcondition(bearGamma)
✔ Use for:
Bank Nifty / Nifty
Option buying
Scalping during power hours
8️⃣ BEST USAGE (IMPORTANT)
✅ Recommended Timeframes
3-min → Best balance
5-min → Safer
1-min → Aggressive scalping only
✅ Best Time Window (IST)
9:20 – 11:00 AM
2:30 – 3:15 PM (Hero Zero zone)
9️⃣ WHAT THIS SCRIPT AVOIDS ❌
Sideways chop
Low volume traps
Wicky fake breakouts
EMA crossover noise
🧠 TRADER MINDSET
This is not a signal-spamming indicator.
It is a confirmation engine for:
Index options
Momentum scalps
Gamma expansion trades
LTF Distribution Analyzer█ OVERVIEW
LTF Distribution Analyzer reveals the hidden price distribution and order flow within each candle by sampling lower timeframe data. It visualizes where prices concentrated, how volume was distributed between buyers and sellers, and identifies divergences between price action and actual market participation.
Unlike traditional candlesticks showing only OHLC, this indicator exposes the statistical structure of price movement using quartile-based visualization combined with delta analysis.
█ CONCEPTS
The indicator is built on two core concepts:
1 — Statistical Price Distribution
Each candle contains many lower timeframe bars. By analyzing these bars, we calculate:
• Q1 (25th percentile) - 25% of prices traded below this level
• Q3 (75th percentile) - 75% of prices traded below this level
• Median - The middle price value
• IQR (Interquartile Range) - The Q3-Q1 spread containing 50% of all prices
2 — Volume Delta Analysis
Delta measures buying vs selling pressure:
• Delta = Buy Volume − Sell Volume
• Positive delta = More aggressive buying
• Negative delta = More aggressive selling
• Delta Ratio normalizes this as a percentage
█ HOW IT WORKS
The indicator fetches lower timeframe data using request.security_lower_tf() and processes it to create a statistical summary:
Step 1: Timeframe Calculation
• Auto mode: Chart timeframe ÷ Auto Divisor = LTF
• Example: 1H chart ÷ 1000 = ~3.6 second sampling
• Manual mode: User-specified timeframe
Step 2: Data Collection
• Collects all close prices from LTF bars within current candle
• Aggregates volume by candle direction (bullish/bearish)
Step 3: Statistical Analysis
• Calculates quartiles (Q1, Q3), median, and boundaries
• Identifies outliers using 1.5× and 3× IQR fences
• Finds Volume POC (price with highest volume)
Step 4: Delta Calculation
• Sums buy volume (from bullish LTF bars)
• Sums sell volume (from bearish LTF bars)
• Computes delta ratio for color determination
█ VISUAL ELEMENTS
┌─────────────────────────────────────────┐
│ ▲ Extreme outlier (3× IQR) │
│ △ Mild outlier (1.5× IQR) │
│ ─ Upper whisker cap │
│ ┊ Whisker line (dashed) │
│ ▄ IQR Box (Q1 to Q3 range) │
│ ━ Volume POC (highest volume) │
│ ● Median (green=bull, red=bear) │
│ ┊ Whisker line (dashed) │
│ ─ Lower whisker cap │
│ ▽ Mild outlier │
│ ▼ Extreme outlier │
└─────────────────────────────────────────┘
█ COLOR SYSTEM
Colors indicate the relationship between candle direction and order flow:
🟢 TEAL (Positive Flow)
Bullish candle + Positive delta
→ Strong buying confirmation
→ Trend continuation signal
🔴 RED (Negative Flow)
Bearish candle + Negative delta
→ Strong selling confirmation
→ Trend continuation signal
🟠 ORANGE (Mixed Signal A)
Bullish candle + Negative delta
→ Price up but sellers dominated
→ Potential weakness/reversal warning
🔵 BLUE (Mixed Signal B)
Bearish candle + Positive delta
→ Price down but buyers dominated
→ Potential accumulation/reversal signal
█ SETTINGS
Timeframe Settings
• LTF Mode — Auto or Manual selection
• Manual Timeframe — Specific LTF when in Manual mode
• Auto Divisor — Higher = finer granularity (default: 1000)
• Allow Sub-Minute — Requires Premium subscription
Visual Style
• Positive/Negative Flow colors — Customize the 4 flow colors
• Box Transparency — Opacity of the quartile box (0-100%)
Statistics Display
• Show Statistics Panel — Toggle on-chart stats table
• Show Timeframe Badge — Toggle LTF indicator badge
• Panel Position — Choose corner placement
• Panel Size — Text size selection
█ HOW TO USE
1. Divergence Detection
Look for color mismatches:
• Orange bars in uptrend = weakness, potential reversal
• Blue bars in downtrend = strength, potential reversal
• Multiple consecutive divergent bars strengthen signal
• Wait for confirmation before entry
2. Volume POC Trading
• POC marks where most volume traded
• POC clusters at similar levels = strong S/R zone
• Price often returns to POC before continuing
• Use POC for entry/exit targeting
3. Trend Confirmation
• Consecutive teal = strong uptrend
• Consecutive red = strong downtrend
• Median position shows intrabar momentum
• Wide boxes indicate high volatility
4. Outlier Analysis
• Extreme markers (▲▼) often mark stop hunts
• Consider fading extremes at key levels
• Mild markers (△▽) = areas to watch
█ RECOMMENDED SETTINGS
For different chart timeframes:
│ Chart TF │ Auto Divisor │ Resulting LTF │
├──────────┼──────────────┼───────────────┤
│ 15M │ 1500 │ ~1M │
│ 1H │ 1000 │ ~3-4s │
│ 4H │ 600 │ ~24s │
│ Daily │ 500 │ ~2-3M │
Tip: Check the TF badge to confirm active sampling timeframe.
█ BEST PRACTICES
Do:
✓ Use "Bars" chart style for cleanest display
✓ Combine with support/resistance analysis
✓ Wait for confirmation bars
✓ Note POC clusters across multiple bars
✓ Adjust divisor based on your timeframe
Avoid:
✗ Trading single bar signals alone
✗ Using during low volume periods
✗ Trading immediately after news releases
✗ Ignoring overall market context
█ LIMITATIONS
• Requires adequate market liquidity for reliable signals
• Sub-minute timeframes need Premium subscription
• Historical data depth depends on TradingView's data availability
• Delta calculation assumes volume direction matches candle direction
█ NOTES
This indicator works best on liquid markets (forex majors, major indices, popular stocks/crypto) where volume data is meaningful.
The gray dotted vertical line marks where LTF data becomes available - bars before this line won't display the indicator.
For questions or suggestions, leave a comment below.
Options Gamma Flip Zones [BackQuant]Options Gamma Flip Zones
A market-structure style “gamma flip” mapper that builds adaptive strike-like zones, scores how price interacts with them, then promotes the strongest candidates into confirmed flip zones. Designed to highlight pinning, failed breaks, and rotational behavior without needing live options chain data.
What this indicator does
This script identifies price levels that behave like “strike magnets” during conditions that resemble options pinning, then draws dynamic zones around those levels.
Instead of assuming every round number matters, it:
Creates a strike ladder (auto or manual step).
Applies a regime filter that looks for “pin-friendly” market conditions.
Tracks and scores repeated interactions with the level.
Upgrades a zone from candidate to confirmed when enough evidence accumulates.
Invalidates zones when price achieves sustained acceptance away from them.
The output is a set of shaded boxes (zones) centered on strike-like levels, with text readouts that show the current state of each zone.
Key concept: “Gamma proxy”
A true gamma flip requires options positioning data. This indicator does not use options chain gamma.
Instead, it uses a proxy approach:
When markets have elevated volatility relative to their recent baseline AND trend strength is weak, price often behaves “sticky” around key levels.
In those conditions, repeated touches and failed escapes around a level behave similarly to pinning around strikes.
So this tool is best read as:
“Where would a strike-like magnet likely exist right now, based on price behavior and regime conditions?”
How zones are created
Zones only start forming when the script detects a pin-friendly regime.
1) Strike Ladder (level selection)
Auto Strike Step selects a step size based on current price magnitude (bigger price, bigger step).
Manual Strike Step lets you force a fixed increment.
The current “active level” is the nearest rounded level to price.
Major Level Every optionally marks major ladder levels (multiples of step).
2) Band construction (zone thickness)
Each zone is a symmetric band around the level, using one of two modes:
ATR mode scales thickness with volatility.
Percent mode scales thickness as a fraction of price.
This matters because “pin behavior” is not a single tick. It’s a region where price repeatedly probes and rejects.
Regime filter (when the script is allowed to believe in pinning)
A zone is only eligible to form and strengthen when Pin Regime is active. Pin Regime is a conjunction of:
1) IV proxy (ATR z-score)
Uses ATR as a volatility proxy.
Converts ATR% into a z-score relative to a long lookback.
IV Proxy Threshold controls how elevated volatility must be before the script considers pinning likely.
2) Weak trend requirement
The script also requires price action to be non-trending:
EMA spread must be small (fast vs slow EMA not diverging strongly).
ADX must be below a ceiling, confirming weak directional trend strength.
Interpretation:
High “IV proxy” + weak trend is where pin-like behavior is most common.
If trend is strong, zones are less meaningful because price is more likely to accept away from levels.
Flip confirmation logic (what upgrades a zone)
A zone is not “confirmed” just because price is near it once. The script builds conviction via evidence accumulation.
Evidence types:
Touches : price comes close to the level within tolerance.
Failed escapes : price pushes outside the band but closes back inside (rejection).
Acceptance run : consecutive closes outside the band, suggesting price is accepting away from the zone.
Protections:
Touch Cooldown prevents counting the same micro-chop as multiple touches.
Acceptance Bars defines what “real acceptance” means, so the zone does not get invalidated by one noisy bar.
A zone becomes confirmed when:
Touches meet the “evidence” requirement.
Failed escapes meet the “rejection” requirement.
The regime filter still says the market is pin-friendly.
That is important, it avoids promoting levels that only worked briefly in a trending tape.
Zone scoring and lifecycle
Each zone maintains a score that evolves over time. Think of score as “how much this level has recently behaved like a magnet.”
Score dynamics:
Decay per bar : score fades over time if price stops respecting the zone.
+ per touch : repeated proximity increases score.
+ per failed escape : rejections add stronger reinforcement.
- per acceptance bar : sustained trading outside reduces score.
Min score to draw : prevents clutter from weak, low-confidence zones.
Invalidation:
If the score becomes very weak AND price achieves sustained acceptance away from the zone, the zone is deleted.
This keeps the chart clean and ensures zones represent current market behavior, not ancient levels.
How to read the plot on chart
1) Zone fill and border
Each zone is drawn as a box extended to the right.
Fill opacity adapts to zone strength, strong zones are visually more prominent.
Border color encodes the current directional context and special events.
2) Bullish vs bearish coloring
A zone is colored bullish when price is currently trading above the zone’s mid-level.
A zone is colored bearish when price is currently trading below it.
This is not a trade signal by itself, it is a state cue for “which side is in control around the level.”
3) Failed escape highlighting
If price attempts to break above the band and fails, the border temporarily highlights as a failed up escape.
If price attempts to break below the band and fails, the border temporarily highlights as a failed down escape.
These are the moments where pin behavior is most visible:
Break attempt.
Immediate rejection.
Return to the band.
4) Midline (optional)
The zone midline is the strike-like level itself.
It is dotted to distinguish it from price structure lines.
5) Optional strike ladder overlay
When enabled, the script draws major and minor ladder lines near current price.
Major levels are thicker and less transparent.
This is a visualization aid for “where the algorithm is rounding,” not a prediction tool.
On-chart text readout (what the box text means)
Each box prints a compact state summary, designed for fast scanning:
Γ CANDIDATE means the zone is being tracked but not yet validated.
Γ FLIP (PROXY) means the zone has met confirmation requirements.
BULL/BEAR indicates which side price is on relative to the mid-level.
L prints the level value.
T is touch count, repeated proximity events.
F is fail count, rejected escape attempts.
IVz is the volatility proxy z-score at the moment.
ADX is the trend strength context.
Practical use cases
1) Pinning and range trading context
Confirmed zones often act like gravity wells in sideways or rotational regimes.
When price repeatedly fails to escape, fading outer edges can be reasonable context for mean reversion workflows.
2) Breakout validation
If price achieves acceptance outside the band for multiple bars, that is stronger breakout context than a single wick.
Zones that invalidate cleanly can mark transitions from pinning to directional move.
3) Time your “do nothing” periods
When Pin Regime is active and a zone is confirmed, the tape often becomes sticky and inefficient for trend chasing.
This helps avoid taking trend entries into a pin environment.
Alerts
Standalone alertconditions are included:
Zone Confirmed : a candidate becomes confirmed.
Zone Touch : price touches an active zone within tolerance.
Zone Invalidated : the zone loses relevance and is removed.
Tuning guidelines
Sensitivity vs quality
Lower Touches Needed and Failed Escapes Needed creates more zones faster, but with lower quality.
Higher values create fewer zones, but the ones that remain are more behaviorally “proven.”
Band width
ATR mode adapts to volatility and is typically safer across assets.
Percent mode is consistent visually but can feel too tight in high vol or too wide in low vol if not tuned.
Regime thresholds
If you want fewer zones, raise IV proxy threshold and tighten weak-trend filters.
If you want more zones, lower IV proxy threshold and loosen weak-trend filters.
Limitations
This is a proxy model, not live options gamma.
In strong trends, pinning assumptions can break, the regime filter is there to reduce that risk, but not eliminate it.
Auto strike step is designed for typical market ranges, manual step is recommended for niche tick sizes or custom markets.
Disclaimer
Educational and informational only, not financial advice.
Not a complete trading system.
Always validate settings per asset and timeframe.
MTF Candle Body Break WITH 20SMAMTF Candle Body Break WITH 20SMA: Complete Guide
This indicator is a professional-grade market environment analysis tool designed to synchronize "Market Structure" and "Momentum" across multiple timeframes (MTF).
1. Core Logic: Candle Body Break
Unlike traditional high/low breakouts that include wicks, this tool focuses exclusively on "Body Breaks" (Closing prices).
Logical Basis: Wicks often represent temporary noise. A closing price break signifies a genuine shift in market consensus.
Visualization: * Blue Lines: Bullish Structure.
Red Lines: Bearish Structure.
Gray/Black Lines: Historical breakout levels that often act as future Support or Resistance (S/R Flip).
2. Triple 20SMA System
The indicator automatically plots three generations of 20-period SMAs relative to your current chart.
Short-term (Black): 15-Min 20SMA (On a 1H chart). This acts as the "immediate support" for a strong trend.
Mid-term (Blue): Current TF 20SMA. The backbone of the trend.
Long-term (Red): Higher TF 20SMA. The major trend direction.
3. The Dashboard System (Three Components)
The right side of the screen features a three-part visual system to confirm trend alignment:
① Top-Right Panel: Long-Term Signal
Compares Daily (1D) and 4-Hour (4H) structure.
Blue: Both are bullish.
Red: Both are bearish.
② Middle-Right Bar: Momentum Signal (The "Final Filter")
This vertical bar represents the SMA 10/20 Sync.
Blue: The SMA 10 is above the SMA 20 on the 1-Hour chart. This indicates that short-term momentum is accelerating upward.
Red: The SMA 10 is below the SMA 20. This indicates downward acceleration.
Gray: No clear momentum (ranging or indecisive).
③ Bottom-Right Panel: Short-Term Signal
Compares 1-Hour (1H) and 15-Minute (15M) structure.
Blue: Both are bullish.
Red: Both are bearish.
4. Entry Signal: The "●" (Dot)
The "●" signal is the "Perfect Alignment" trigger. It appears when:
Long-term (Daily/4H) is aligned.
Short-term (1H/15M) is aligned.
Momentum (Middle Bar) is aligned.
When all these turn the same color, the "●" appears, signaling a high-probability trade.
日本語解説:完全版
このインジケーターは、**「相場の構造(実体ブレイク)」と「勢い(移動平均線の同期)」**を全時間軸で一致させ、高勝率なポイントを特定する環境認識ツールです。
1. 核心:実体ブレイク(Body Break)
ヒゲではなく、**「終値(実体)」**で高値・安値を更新した時のみをトレンド転換と見なします。
メリット: 突発的なヒゲによるダマシを排除し、真の構造変化を捉えます。
表示: 青ライン(上昇)、赤ライン(下落)。過去のラインはグレー(サポレジ転換の目安)として残ります。
2. 3本の20SMA
チャートの時間足に合わせて、自動で最適な3本のSMAを描画します。
短期(黒): 15分足20MA(1時間足チャート時)。今の勢いを表し、押し目買いの目印になります。
中期(青): 表示中の時間足の20MA。
長期(赤): 上位足の20MA。
3. 3つのダッシュボード(信号機)
右側に表示される3つのパーツが、トレードの「Go/No-Go」を判定します。
① 右上パネル:長期構造シグナル
日足と4時間足の構造を比較します。ここが「青」なら、大きな流れは上向きです。
② 右中央のバー:モーメンタム・シグナル(真ん中のテーブル)
1時間足のSMA10とSMA20の同期を表します。
青: SMA10 > SMA20(上昇加速中)
赤: SMA10 < SMA20(下落加速中)
役割: 構造が良くても、勢いが死んでいる(レンジ)時はエントリーを避けるための「最終フィルター」です。
③ 右下パネル:短期構造シグナル
1時間足と15分足の構造を比較します。ここが「青」に変わる瞬間が、エントリーの準備段階です。
4. エントリーサイン「●」
「長期・中期(真ん中のバー)・短期」すべての色が揃った瞬間にチャートに「●」が出現します。 すべての時間軸の投資家が同じ方向を向いた「完璧な同調」を示しており、最も期待値の高いエントリーポイントとなります。
NQ Command Center [EOD Predictor]This is a sophisticated Macro-correlated Dashboard designed specifically for trading NQ (Nasdaq 100). It attempts to predict how the daily candle will close (Green or Red) by combining Price Action (Market Structure) with External Market Drivers (Yields, Volatility, Dollar, and Breadth).
How This Script Works
The script assigns a "Score" to current market conditions. The higher the score, the more bullish the prediction. The lower the score, the more bearish.
1. The "Structure" Score (Price Action) It looks at the Daily High/Low (PDH/PDL) and recent daily trend:
Bullish (+1): We are making Higher Highs/Higher Lows, or price is holding in the top 33% of yesterday's range.
Breakout (+2): Price has broken above the Previous Daily High (PDH).
Bearish (-1/-2): We are making Lower Highs, or price has broken below the Previous Daily Low (PDL).
2. The "Macro" Score (External Data) It pulls data from 5 external tickers to see if the environment supports a move:
ADDQ (Breadth): If > 0, more stocks are advancing than declining (Bullish).
VXN (Volatility): If falling, fear is decreasing (Bullish).
DXY (Dollar) & US10Y (Yields): If these are dropping, it is usually good for Tech/Nasdaq (Bullish).
CVD (Volume): Estimates if volume is dominated by buyers or sellers.
3. The Prediction (The Output) It sums these scores.
Total Score ≥ 4: "STRONG GREEN CLOSE 🚀" (High confidence Longs)
Total Score ≤ -4: "STRONG RED CLOSE 🩸" (High confidence Shorts)
Near 0: "CHOP / NEUTRAL" (Avoid trading or take quick scalps).
How to Use It Effectively
Symbol: Open a chart for NQ1! (Nasdaq Futures) or NDX.
Timeframe: This is designed for Intraday trading. Use 5m, 15m, or 1h charts. (Do not use on Daily chart, as the table lines up intraday data against daily history).
The Dashboard: Look at the table in the top right.
Focus on "AI Forecast": If it says STRONG GREEN, look for Long setups (pullbacks to support).
Check Confidence: If Confidence is "LOW", the macro data might be conflicting with price action (e.g., Price is going up, but Volume is selling). Be careful.
The Lines: The script plots Green (PDH) and Red (PDL) lines on your chart.
These are key reaction points. If price breaks the Green line, the "Live Status" on the dashboard will switch to BREAKOUT.
ICT Concepts [Kodexius]ICT Concepts is an all in one, chart overlay toolkit that combines several widely used ICT style components into a single, modular workflow. It is designed to help you map higher timeframe context, track directional structure, and refine execution areas with imbalance and liquidity concepts, without turning the chart into a cluttered drawing board.
Instead of plotting everything indefinitely, each module focuses on “live relevance” and chart readability. Zones, lines, and labels are managed with sensible limits so the most recent and most meaningful structures remain visible while older objects are automatically retired.
Because the system is modular, you can run it like a complete toolkit:
- Use multi timeframe Order Blocks to define high probability zones
- Use Market Structure (BOS and MSS) for bias and context
- Validate intent with SMT Divergence when you want intermarket confirmation
- Refine with Imbalances (FVG, BPR, CE) and Liquidity Sweeps
- Add timing structure via Killzones and risk structure via auto Fibonacci
🔹 Features
🔸 Multi Timeframe Order Blocks (3 candle displacement OB)
The OB engine detects a strict 3 candle displacement sequence (bull and bear) and projects the “order block candle” as a forward extending zone. Detection can run on the chart timeframe or on a user selected higher timeframe and then be displayed on your execution chart.
🔸 Overlap Control
Before adding a new OB, the script checks overlap against existing zones of the same direction. If a new zone intersects an existing one, it is ignored to reduce redundant stacking in the same price area.
🔸 Automatic Extension and Mitigation for Order Blocks
OB zones extend forward on every bar and are removed once mitigation is confirmed. Mitigation is evaluated by close breaking decisively beyond the relevant boundary:
- Bullish OB mitigates when close prints below the OB bottom
- Bearish OB mitigates when close prints above the OB top
🔸 Market Structure (BOS and MSS)
Market Structure is built from swing pivots using a configurable pivot length. When price closes through the latest swing, the script prints a structure event:
BOS (Break of Structure) for continuation
MSS (Market Structure Shift) for a directional change
To keep the chart readable, older structure drawings are capped by history limits.
🔸 SMT Divergence with optional mini panel
SMT can compare the current instrument with a user selected symbol to highlight divergence at swing points. A divergence is flagged when one market makes a new swing extreme while the other fails to confirm.
Optional: a compact right side “compare symbol” candle panel can be enabled so you can visually confirm what the secondary market is doing without leaving the chart.
🔸 Imbalances: FVG, BPR, and CE modes
You can choose between three imbalance views depending on your style:
FVG mode: Fair Value Gaps are plotted as extending zones
CE mode: Consequent Encroachment is visualized using a midpoint line and a half zone fill
BPR mode: Balanced Price Range is formed when a new FVG overlaps an opposing FVG, producing a “balanced” region that often behaves differently than a standalone gap
🔸 Automatic extension, limits, and mitigation for imbalances
Imbalance objects extend forward until mitigated. Mitigation uses wick based logic:
Bullish imbalance mitigates when price wicks below the zone bottom
Bearish imbalance mitigates when price wicks above the zone top
The script also enforces per side limits and removes older items to keep performance stable.
🔸 Liquidity sweeps (buyside and sellside)
The liquidity module tracks swing highs and lows and marks sweep events when price runs the level and then closes back through it, which often behaves like a rejection signal. Sweeps are visualized with a level line plus a small sweep highlight box, with an optional history cap.
🔸 Auto anchored Fibonacci (EQ and OTE focus)
Fibonacci levels are automatically anchored using the most recent structure context so you do not need to manually re draw fibs every time the market evolves. EQ and OTE focused bands are plotted to support common premium discount style workflows, with optional extra levels if desired.
🔸 Killzones (session boxes with optional range tracking)
Asian, London Open, New York AM, and New York PM killzones can be displayed using UTC-5 session definitions. Session boxes dynamically expand as new highs and lows are formed during the session, and historical zones can be retained up to a user set count. Rendering is restricted to intraday timeframes up to 60 minutes for clean scaling and performance.
🔹 Calculations
1) Order Block detection (3 candle displacement)
The OB pattern is defined inside detectLogic() . The zone boundaries always come from candle (the middle candle of the 3 candle sequence).
detectLogic() =>
bool isBull = open > close and close > open and close > open and low < low and close > high
bool isBear = open < close and close < open and close < open and high > high and close < low
[isBull, high , low , time , isBear, high , low , time ]
Interpretation (bullish side):
Candle is bearish
Candle is bullish (the OB candle)
Current candle is bullish and closes above high
low undercuts low to form the sweep style condition
Bearish logic is the mirrored inverse.
2) Multi timeframe projection and duplicate control
If the timeframe input is set, detections are computed on that timeframe and projected onto the current chart using request.security . A last processed time check prevents duplicate prints.
=
request.security(syminfo.tickerid, i_tf, detectLogic())
var int lastBullTime = 0
var int lastBearTime = 0
if mtf_isBull and mtf_bullTime != lastBullTime
lastBullTime := mtf_bullTime
if mtf_isBear and mtf_bearTime != lastBearTime
lastBearTime := mtf_bearTime
3) OB overlap validation and mitigation
Overlap is checked before pushing a new zone, then zones are extended and removed once mitigated by close.
method hasOverlap(array OBs, float top, float bottom) =>
bool overlap = false
if OBs.size() > 0
for i = 0 to OBs.size() - 1
OB item = OBs.get(i)
if (top < item.top and top > item.bottom) or (bottom > item.bottom and bottom < item.top)
overlap := true
break
overlap
method isMitigated(OB this, float currentClose) =>
this.isBull ? (currentClose < this.bottom) : (currentClose > this.top)
4) Market Structure: pivots, BOS, and MSS
Swings are derived from pivots; then BOS/MSS prints when price crosses the latest swing. The script tracks trend state to decide whether the break is continuation (BOS) or shift (MSS).
float ph = ta.pivothigh(i_structLen, i_structLen)
float pl = ta.pivotlow(i_structLen, i_structLen)
bool brokenHigh = ta.crossover(close, lastHigh)
bool brokenLow = ta.crossunder(close, lastLow)
// drawStructure(..., "BOS", ...) or drawStructure(..., "MSS", ...) depending on trend state
5) SMT Divergence conditions
SMT uses pivot highs/lows on both instruments. A bearish SMT prints when the main chart makes a higher high but the compare symbol fails to exceed its prior high. A bullish SMT prints when the main chart makes a lower low but the compare symbol fails to make a lower low.
bool bearishSmt = not na(smtAHighPrev) and not na(smtBHighPrev) and (smtAHighLast > smtAHighPrev) and (smtBHighLast <= smtBHighPrev)
bool bullishSmt = not na(smtALowPrev) and not na(smtBLowPrev) and (smtALowLast < smtALowPrev) and (smtBLowLast >= smtBLowPrev)
6) FVG detection, BPR construction, and CE level
FVGs are detected via a classic 3 bar gap condition. When a new FVG overlaps an opposing FVG, the script builds a BPR using the intersecting region. CE is the midpoint (top + bottom) / 2, plotted as a dashed line plus a half fill box.
bool fvgBullDetected = low > high
bool fvgBearDetected = high < low
// CE
float ceLevel = (this.top + this.bottom) / 2
Imbalance mitigation uses wick logic:
method isMitigated(FVG this, float currentHigh, float currentLow) =>
this.isBull ? (currentLow < this.bottom) : (currentHigh > this.top)
7) Liquidity sweep trigger
A sweep is confirmed only when price runs the pivot level and closes back through it (reject style).
bool sweepBull = i_showLiq and not na(liqLastLow) and not liqLastLowSwept and low < liqLastLow and close > liqLastLow
bool sweepBear = i_showLiq and not na(liqLastHigh) and not liqLastHighSwept and high > liqLastHigh and close < liqLastHigh
8) Killzone session mapping
Sessions are defined in UTC-5 using time() session strings.
string kzTz = "UTC-5"
kzInSession(string sess) =>
not na(time(timeframe.period, sess, kzTz))
bool inAsian = kzInSession("2000-0000")
bool inLondon = kzInSession("0200-0500")
bool inNY = kzInSession("0830-1100")
MA Alignment DetectorMA Alignment Detector : If it is bullish MA alignment, the color becomes red, if it is bearlish MA alignment, the color become green.
CryptoFlux Dynamo [JOAT]CryptoFlux Dynamo: Velocity Scalping Strategy
WHAT THIS STRATEGY IS
CryptoFlux Dynamo is an open-source Pine Script v6 strategy designed for momentum-based scalping on cryptocurrency perpetual futures. It combines multiple technical analysis methods into a unified system that adapts its behavior based on current market volatility conditions.
This script is published open-source so you can read, understand, and modify the complete logic. The description below explains everything the strategy does so that traders who cannot read Pine Script can fully understand how it works before using it.
HOW THIS STRATEGY IS ORIGINAL AND WHY THE INDICATORS ARE COMBINED
This strategy uses well-known indicators (MACD, EMA, RSI, MFI, Bollinger Bands, Keltner Channels, ATR). The originality is not in the individual indicators themselves, but in the specific way they are integrated into a regime-adaptive system. Here is the detailed justification for why these components are combined and how they work together:
The Problem Being Solved:
Standard indicator-based strategies use fixed thresholds. For example, a typical MACD strategy might enter when the histogram crosses above zero. However, in cryptocurrency markets, volatility changes dramatically throughout the day and week. A MACD crossover during a low-volatility consolidation period has very different implications than the same crossover during a high-volatility trending period. Using the same entry thresholds and stop distances in both conditions leads to either:
Too many false signals during consolidation (if thresholds are loose)
Missing valid opportunities during expansion (if thresholds are tight)
Stops that are too tight during volatility spikes (causing premature exits)
Stops that are too wide during compression (giving back profits)
The Solution Approach:
This strategy first classifies the current volatility regime using normalized ATR (ATR as a percentage of price), then dynamically adjusts ALL other parameters based on that classification. This creates a context-aware system rather than a static threshold comparison.
How Each Component Contributes to the System:
ATR-Based Regime Classification (The Foundation)
The strategy calculates ATR over 21 periods, smooths it with a 13-period EMA to reduce noise from wicks, then divides by price to get a normalized percentage. This ATR% is classified into three regimes:
- Compression (ATR% < 0.8%): Market is consolidating, breakouts are more likely but false signals are common
- Expansion (ATR% 0.8% - 1.6%): Normal trending conditions
- Velocity (ATR% > 1.6%): High volatility, larger moves but also larger adverse excursions
This regime classification then controls stop distances, profit targets, trailing stop offsets, and signal strength requirements. The regime acts as a "meta-parameter" that tunes the entire system.
EMA Ribbon (8/21/34) - Trend Structure Detection
The three EMAs establish trend direction and structure. When EMA 8 > EMA 21 > EMA 34, the trend structure is bullish. The slope of the middle EMA (21) is calculated over 8 bars and converted to degrees using arctangent. This slope measurement quantifies trend strength, not just direction.
Why these specific periods? The 8/21/34 sequence follows Fibonacci-like spacing and provides good separation on 5-minute cryptocurrency charts. The fast EMA (8) responds to immediate price action, the mid EMA (21) represents the short-term trend, and the slow EMA (34) acts as a trend filter.
The EMA ribbon works with the regime classification: during compression regimes, the strategy requires stronger ribbon alignment before entry because false breakouts are more common.
MACD (8/21/5) - Momentum Measurement
The MACD uses faster parameters (8/21/5) than the standard (12/26/9) because cryptocurrency markets move faster than traditional markets. The histogram is smoothed with a 5-period EMA to reduce noise.
The key innovation is the adaptive histogram baseline. Instead of using a fixed threshold, the strategy calculates a rolling baseline from the smoothed absolute histogram value, then multiplies by a sensitivity factor (1.15). This means the threshold for "significant momentum" automatically adjusts based on recent momentum levels.
The MACD works with the regime classification: during velocity regimes, the histogram baseline is effectively higher because recent momentum has been stronger, preventing entries on relatively weak momentum.
RSI (21 period) and MFI (21 period) - Independent Momentum Confirmation
RSI measures momentum using price changes only. MFI (Money Flow Index) measures momentum using price AND volume. By requiring both to confirm, the strategy filters out price moves that lack volume support.
The 21-period length is longer than typical (14) to reduce noise on 5-minute charts. The trigger threshold (55 for longs, 45 for shorts) is slightly offset from 50 to require momentum in the trade direction, not just neutral readings.
These indicators work together: a signal requires RSI > 55 AND MFI > 55 for longs. This dual confirmation reduces false signals from price manipulation or low-volume moves.
Bollinger Bands (1.5 mult) and Keltner Channels (1.8 mult) - Squeeze Detection
When Bollinger Bands contract inside Keltner Channels, volatility is compressing and a breakout is likely. This is the "squeeze" condition. When the bands expand back outside the channels, the squeeze "releases."
The strategy uses a 1.5 multiplier for Bollinger Bands (tighter than standard 2.0) and 1.8 for Keltner Channels. These values were chosen to identify meaningful squeezes on 5-minute cryptocurrency charts without triggering too frequently.
The squeeze detection works with the regime classification: squeeze releases during compression regimes receive additional signal strength points because breakouts from consolidation are more significant.
Volume Impulse Detection - Institutional Participation Filter
The strategy calculates a volume baseline (34-period SMA) and standard deviation. A "volume impulse" is detected when current volume exceeds the baseline by 1.15x OR when the volume z-score exceeds 0.5.
This filter ensures entries occur when there is meaningful market participation, not during low-volume periods where price moves are less reliable.
Volume impulse is required for all entries and adds points to the composite signal strength score.
Cycle Oscillator - Trend Alignment Filter
The strategy calculates a 55-period EMA as a cycle basis, then measures price deviation from this basis as a percentage. When price is more than 0.15% above the cycle basis, the cycle is bullish. When more than 0.15% below, the cycle is bearish.
This filter prevents counter-trend entries. Long signals require bullish cycle alignment; short signals require bearish cycle alignment.
BTC Dominance Filter (Optional) - Market Regime Filter
The strategy can optionally use BTC.D (Bitcoin Dominance) as a market regime filter. When BTC dominance is rising (slope > 0.12), the market is in "risk-off" mode and long entries on altcoins are filtered. When dominance is falling (slope < -0.12), short entries are filtered.
This filter is optional because the BTC.D data feed may lag during low-liquidity periods.
How The Components Work Together (The Mashup Justification):
The strategy uses a composite scoring system where each signal pathway contributes points:
Trend Break pathway (30 points): Requires EMA ribbon alignment + positive slope + price breaks above recent structure high
Momentum Surge pathway (30 points): Requires MACD histogram > adaptive baseline + MACD line > signal + RSI > 55 + MFI > 55 + volume impulse
Squeeze Release pathway (25 points): Requires BB inside KC (squeeze) then release + momentum bias + histogram confirmation
Micro Pullback pathway (15 points): Requires shallow retracement to fast EMA within established trend + histogram confirmation + volume impulse
Additional modifiers:
+5 points if volume impulse is present, -5 if absent
+5 points in velocity regime, -2 in compression regime
+5 points if cycle is aligned, -5 if counter-trend
A trade only executes when the composite score reaches the minimum threshold (default 55) AND all filters agree (session, cycle bias, BTC dominance if enabled).
This scoring system is the core innovation: instead of requiring ALL conditions to be true (which would generate very few signals) or ANY condition to be true (which would generate too many false signals), the strategy requires ENOUGH conditions to be true, with different conditions contributing different weights based on their reliability.
HOW THE STRATEGY CALCULATES ENTRIES AND EXITS
Entry Logic:
1. Calculate current volatility regime from ATR%
2. Calculate all indicator values (MACD, EMA, RSI, MFI, squeeze, volume)
3. Evaluate each signal pathway and sum points
4. Check all filters (session, cycle, dominance, kill switch)
5. If composite score >= 55 AND all filters pass, generate entry signal
6. Calculate position size based on risk per trade and regime-adjusted stop distance
7. Execute entry with regime name as comment
Position Sizing Formula:
RiskCapital = Equity * (0.65 / 100)
StopDistance = ATR * StopMultiplier(regime)
RawQuantity = RiskCapital / StopDistance
MaxQuantity = Equity * (12 / 100) / Price
Quantity = min(RawQuantity, MaxQuantity)
Quantity = round(Quantity / 0.001) * 0.001
This ensures each trade risks approximately 0.65% of equity regardless of volatility, while capping total exposure at 12% of equity.
Stop Loss Calculation:
Stop distance is ATR multiplied by a regime-specific multiplier:
Compression regime: 1.05x ATR (tighter stops because moves are smaller)
Expansion regime: 1.55x ATR (standard stops)
Velocity regime: 2.1x ATR (wider stops to avoid premature exits during volatility)
Take Profit Calculation:
Target distance is ATR multiplied by regime-specific multiplier and base risk/reward:
Compression regime: 1.6x ATR * 1.8 base R:R * 0.9 regime bonus = approximately 2.6x ATR
Expansion regime: 2.05x ATR * 1.8 base R:R * 1.0 regime bonus = approximately 3.7x ATR
Velocity regime: 2.8x ATR * 1.8 base R:R * 1.15 regime bonus = approximately 5.8x ATR
Trailing Stop Logic:
When adaptive trailing is enabled, the strategy calculates a trailing offset based on ATR and regime:
Compression regime: 1.1x base offset (looser trailing to avoid noise)
Expansion regime: 1.0x base offset (standard)
Velocity regime: 0.8x base offset (tighter trailing to lock in profits during fast moves)
The trailing stop only activates when it would be tighter than the initial stop.
Momentum Fail-Safe Exits:
The strategy closes positions early if momentum reverses:
Long positions close if MACD histogram turns negative OR EMA ribbon structure breaks (fast EMA crosses below mid EMA)
Short positions close if MACD histogram turns positive OR EMA ribbon structure breaks
This prevents holding through momentum reversals even if stop loss hasn't been hit.
Kill Switch:
If maximum drawdown exceeds 6.5%, the strategy disables new entries until manually reset. This prevents continued trading during adverse conditions.
HOW TO USE THIS STRATEGY
Step 1: Apply to Chart
Use a 5-minute chart of a high-liquidity cryptocurrency perpetual (BTC/USDT, ETH/USDT recommended)
Ensure at least 200 bars of history are loaded for indicator stabilization
Use standard candlestick charts only (not Heikin Ashi, Renko, or other non-standard types)
Step 2: Understand the Visual Elements
EMA Ribbon: Three lines (8/21/34 periods) showing trend structure. Bullish when stacked upward, bearish when stacked downward.
Background Color: Shows current volatility regime
- Indigo/dark blue = Compression (low volatility)
- Purple = Expansion (normal volatility)
- Magenta/pink = Velocity (high volatility)
Bar Colors: Reflect signal strength divergence. Brighter colors indicate stronger directional bias.
Triangle Markers: Entry signals. Up triangles below bars = long entry. Down triangles above bars = short entry.
Dashboard (top-right): Real-time display of regime, ATR%, signal strengths, position status, stops, targets, and risk metrics.
Step 3: Interpret the Dashboard
Regime: Current volatility classification (Compression/Expansion/Velocity)
ATR%: Normalized volatility as percentage of price
Long/Short Strength: Current composite signal scores (0-100)
Cycle Osc: Price deviation from 55-period EMA as percentage
Dominance: BTC.D slope and filter status
Position: Current position direction or "Flat"
Stop/Target: Current stop loss and take profit levels
Kill Switch: Status of drawdown protection
Volume Z: Current volume z-score
Impulse: Whether volume impulse condition is met
Step 4: Adjust Parameters for Your Needs
For more conservative trading: Increase "Minimum Composite Signal Strength" to 65 or higher
For more aggressive trading: Decrease to 50 (but expect more false signals)
For higher timeframes (15m+): Increase "Structure Break Window" to 12-15, increase "RSI Momentum Trigger" to 58
For lower liquidity pairs: Increase "Volume Impulse Multiplier" to 1.3, increase slippage in strategy properties
To disable short selling: Uncheck "Enable Short Structure"
To disable BTC dominance filter: Uncheck "BTC Dominance Confirmation"
STRATEGY PROPERTIES (BACKTEST SETTINGS)
These are the exact settings used in the strategy's Properties dialog box. You must use these same settings when evaluating the backtest results shown in the publication:
Initial Capital: $100,000
Justification: This amount is higher than typical retail accounts. I chose this value to demonstrate percentage-based returns that scale proportionally. The strategy uses percentage-based position sizing (0.65% risk per trade), so a $10,000 account would see the same percentage returns with 10x smaller position sizes. The absolute dollar amounts in the backtest should be interpreted as percentages of capital.
Commission: 0.04% (commission_value = 0.04)
Justification: This reflects typical perpetual futures exchange fees. Major exchanges charge between 0.02% (maker) and 0.075% (taker). The 0.04% value is a reasonable middle estimate. If your exchange charges different fees, adjust this value accordingly. Higher fees will reduce net profitability.
Slippage: 1 tick
Justification: This is conservative for liquid pairs like BTC/USDT on major exchanges during normal conditions. For less liquid altcoins or during high volatility, actual slippage may be higher. If you trade less liquid pairs, increase this value to 2-3 ticks for more realistic results.
Pyramiding: 1
Justification: No position stacking. The strategy holds only one position at a time. This simplifies risk management and prevents overexposure.
calc_on_every_tick: true
Justification: The strategy evaluates on every price update, not just bar close. This is necessary for scalping timeframes where waiting for bar close would miss opportunities. Note that this setting means backtest results may differ slightly from bar-close-only evaluation.
calc_on_order_fills: true
Justification: The strategy recalculates immediately after order fills for faster response to position changes.
RISK PER TRADE JUSTIFICATION
The default risk per trade is 0.65% of equity. This is well within the TradingView guideline that "risking more than 5-10% on a trade is not typically considered viable."
With the 12% maximum exposure cap, even if the strategy takes multiple consecutive losses, the total risk remains manageable. The kill switch at 6.5% drawdown provides additional protection by halting new entries during adverse conditions.
The position sizing formula ensures that stop distance (which varies by regime) is accounted for, so actual risk per trade remains approximately 0.65% regardless of volatility conditions.
SAMPLE SIZE CONSIDERATIONS
For statistically meaningful backtest results, you should select a dataset that generates at least 100 trades. On 5-minute BTC/USDT charts, this typically requires:
2-3 months of data during normal market conditions
1-2 months during high-volatility periods
3-4 months during low-volatility consolidation periods
The strategy's selectivity (requiring 55+ composite score plus all filters) means it generates fewer signals than less filtered approaches. If your backtest shows fewer than 100 trades, extend the date range or reduce the minimum signal strength threshold.
Fewer than 100 trades produces statistically unreliable results. Win rate, profit factor, and other metrics can vary significantly with small sample sizes.
STRATEGY DESIGN COMPROMISES AND LIMITATIONS
Every strategy involves trade-offs. Here are the compromises made in this design and the limitations you should understand:
Selectivity vs. Opportunity Trade-off
The 55-point minimum threshold filters many potential trades. This reduces false signals but also misses valid setups that don't meet all criteria. Lowering the threshold increases trade frequency but decreases win rate. There is no "correct" threshold; it depends on your preference for fewer higher-quality signals vs. more signals with lower individual quality.
Regime Classification Lag
The ATR-based regime detection uses historical data (21 periods + 13-period smoothing). It cannot predict sudden volatility spikes. During flash crashes or black swan events, the strategy may be classified in the wrong regime for several bars before the classification updates. This is an inherent limitation of any lagging indicator.
Indicator Parameter Sensitivity
The default parameters (MACD 8/21/5, EMA 8/21/34, RSI 21, etc.) are tuned for BTC/ETH perpetuals on 5-minute charts during 2024 market conditions. Different assets, timeframes, or market regimes may require different parameters. There is no guarantee that parameters optimized on historical data will perform similarly in the future.
BTC Dominance Filter Limitations
The CRYPTOCAP:BTC.D data feed may lag during low-liquidity periods or weekends. The dominance slope calculation uses a 5-bar SMA, adding additional delay. If you notice the filter behaving unexpectedly, consider disabling it.
Backtest vs. Live Execution Differences
TradingView backtesting does not replicate actual broker execution. Key differences:
Backtests assume perfect fills at calculated prices; real execution involves order book depth, latency, and partial fills
The calc_on_every_tick setting improves backtest realism but still cannot capture sub-bar price action or order book dynamics
Commission and slippage settings are estimates; actual costs vary by exchange, time of day, and market conditions
Funding rates on perpetual futures are not modeled in backtests and can significantly impact profitability over time
Exchange-specific limitations (position limits, liquidation mechanics, order types) are not modeled
Market Condition Dependencies
This strategy is designed for trending and breakout conditions. During extended sideways consolidation with no clear direction, the strategy may generate few signals or experience whipsaws. No strategy performs well in all market conditions.
Cryptocurrency-Specific Risks
Cryptocurrency markets operate 24/7 without session boundaries. This means:
No natural "overnight" risk reduction
Volatility can spike at any time
Liquidity varies significantly by time of day
Exchange outages or issues can occur at any time
WHAT THIS STRATEGY DOES NOT DO
To be straightforward about limitations:
This strategy does not guarantee profits. Past backtest performance does not indicate future results.
This strategy does not predict the future. It reacts to current conditions based on historical patterns.
This strategy does not account for funding rates, which can significantly impact perpetual futures profitability.
This strategy does not model exchange-specific execution issues (partial fills, requotes, outages).
This strategy does not adapt to fundamental news events or black swan scenarios.
This strategy is not optimized for all market conditions. It may underperform during extended consolidation.
IMPORTANT RISK WARNINGS
Past performance does not guarantee future results. The backtest results shown reflect specific historical market conditions and parameter settings. Markets change constantly, and strategies that performed well historically may underperform or lose money in the future. A single backtest run does not constitute proof of future profitability.
Trading involves substantial risk of loss. Cryptocurrency derivatives are highly volatile instruments. You can lose your entire investment. Only trade with capital you can afford to lose completely.
This is not financial advice. This strategy is provided for educational and informational purposes only. It does not constitute investment advice, trading recommendations, or any form of financial guidance. The author is not a licensed financial advisor.
You are responsible for your own decisions. Before using this strategy with real capital:
Thoroughly understand the code and logic by reading the open-source implementation
Forward test with paper trading or very small positions for an extended period
Verify that commission, slippage, and execution assumptions match your actual trading environment
Understand that live results will differ from backtest results
Consider consulting with a qualified financial advisor
No guarantees or warranties. This strategy is provided "as is" without any guarantees of profitability, accuracy, or suitability for any purpose. The author is not responsible for any losses incurred from using this strategy.
OPEN-SOURCE CODE STRUCTURE
The strategy code is organized into these sections for readability:
Configuration Architecture: Input parameters organized into logical groups (Core Controls, Optimization Constants, Regime Intelligence, Signal Pathways, Risk Architecture, Visualization)
Helper Functions: calcQty() for position sizing, clamp01() and normalize() for value normalization, calcMFI() for Money Flow Index calculation
Core Indicator Engine: EMA ribbon, ATR and regime classification, MACD with adaptive baseline, RSI, MFI, volume analytics, cycle oscillator, BTC dominance filter, squeeze detection
Signal Pathway Logic: Trend break, momentum surge, squeeze release, micro pullback pathways with composite scoring
Entry/Exit Orchestration: Signal filtering, position sizing, entry execution, stop/target calculation, trailing stop logic, momentum fail-safe exits
Visualization Layer: EMA plots, regime background, bar coloring, signal labels, dashboard table
You can read and modify any part of the code. Understanding the logic before deployment is strongly recommended.
- Made with passion by officialjackofalltrades
Intraday ORB-Anchored VWAP Structure [Arjo]Intraday ORB-Anchored VWAP Structure
This indicator is built for intraday traders. This tool helps them to see how the market is behaving today. It uses Opening Range, VWAP, and commonly used reference levels to show the market's general direction.
It will not tell you exactly when to buy or sell. Instead, it provides a clear picture of the market so you can make better decisions on your own.
What This Indicator Does
1. Defines the Trading Session
The indicator works only during the selected intraday session (for example, the Indian market). All levels reset automatically at the start of each new trading day.
2. Calculates the Opening Range (ORB)
The Opening Range is the high and low formed during the first few minutes of the session (e.g., first 15 minutes). This range helps identify early market direction.
3. Determines Early Directional Bias
After the Opening Range ends, a smooth trend filter (using a smooth function) evaluates whether price behavior is more bullish or bearish.
This step is used only to decide where VWAP should be anchored , not to generate signals.
4. Anchors VWAP from the Opening Range
If early price behavior is bullish, VWAP is anchored from the Opening Range High
If early price behavior is bearish, VWAP is anchored from the Opening Range Low
5. Plots Important Reference Levels
Previous Day High (PDH) and Low (PDL)
Central Pivot Range (TC, PP, BC)
Opening Range High and Low
Optional Opening Range box
Anchored VWAP for the current session only
How You Can Use This Indicator
Use Opening Range High and Low to understand where the market found early support and resistance.
Observe how price behaves relative to the anchored VWAP :
Staying above VWAP suggests intraday strength
Staying below VWAP suggests intraday weakness
Use PDH, PDL, and CPR levels as reference zones where price may react.
Combine these levels with your own entry rules, confirmation tools, and risk management.
Notes
This indicator is a visual reference and structure tool only.
It does not predict price, provide trade calls, or guarantee outcomes .
All calculations are non-repainting once the Opening Range is complete.
Designed for educational, discretionary, and semi-systematic intraday analysis.
Disclaimer:
This script is intended for market analysis and educational purposes only . Trading involves risk, and users are responsible for their own trading decisions.
Happy Trading
CVD Divergence Detector# CVD Divergence Detector
Clean, focused divergence detection using **Cumulative Volume Delta (CVD)** - one of the most reliable reversal signals in trading.
## 🎯 What It Does
Identifies divergences between **price action** and **volume delta**:
**🔻 Bearish Divergence**: Price makes Higher High, but CVD doesn't → Expect reversal DOWN
**🔺 Bullish Divergence**: Price makes Lower Low, but CVD doesn't → Expect reversal UP
## ✨ Key Features
### Two Detection Modes
**1. Confirmed Divergences** (High Accuracy)
- Solid red/green lines
- Labels: 🔻 Bear / 🔺 Bull
- Fully confirmed pivots (9 bars default)
- Win rate: ~70-80%
**2. Early Warning Mode** ⚡ (Fast Signals)
- Dashed yellow lines
- Labels: ⚠️ Early Bear / ⚠️ Early Bull
- Fires 6+ bars earlier (3 bars default)
- Win rate: ~55-65%
### Smart Filtering
- Minimum bars between signals (prevents spam)
- Minimum CVD strength requirement (filters weak signals)
- Adjustable pivot periods for any timeframe
### Four Alert Types
- 🔻 Confirmed Bearish Divergence
- 🔺 Confirmed Bullish Divergence
- ⚠️ Early Bearish Warning
- ⚠️ Early Bullish Warning
## ⚙️ Recommended Settings
**15m Day Trading** (Best for most traders):
```
Pivot Left/Right: 9
Early Warning Right: 3
Min Bars Between: 40
Min CVD Diff: 5%
Anchor TF: 1D
```
**5m Scalping**:
```
Pivot Left/Right: 7
Early Warning Right: 2
Min Bars Between: 60
Min CVD Diff: 5%
```
**1H Swing Trading**:
```
Pivot Left/Right: 12-14
Early Warning Right: 4-5
Min Bars Between: 30
Min CVD Diff: 8%
```
## 💡 Trading Strategies
### Strategy 1: Early Entry (Scalpers)
- ⚠️ Early warning → Enter immediately
- Stop: Just beyond pivot
- Target: 1:2 R/R minimum
- Trades/day: 3-8
### Strategy 2: Scale In (Day Traders)
- ⚠️ Early warning → 25% position
- 🔻 Confirmed → Add 75%
- Move stop to breakeven
- Trades/week: 5-15
### Strategy 3: Confirmation Only (Swing Traders)
- Wait for 🔻 confirmed signal only
- Wider stops (1-2 ATR)
- Hold for bigger moves
- Trades/month: 8-20
## 🎯 How to Use
1. **Install** indicator on your chart
2. **Choose** your timeframe (15m recommended to start)
3. **Enable** Early Warning for faster signals OR disable for confirmed only
4. **Set alerts** for your preferred divergence types
5. **Combine** with support/resistance for best results
## 🔧 Tuning Guide
**Too many signals?**
- Increase Pivot Right to 12-15
- Increase Min Bars Between to 60
- Increase Min CVD Diff to 8-10%
**Signals too slow?**
- Enable Early Warning
- Decrease Early Warning Right to 2
- Decrease Pivot Right to 6-7
**Want cleaner chart?**
- Turn off labels (lines only)
- Disable early warnings (confirmed only)
## ⚠️ Important Notes
**Requirements:**
- Volume data required (works on futures, stocks, crypto)
- May not work on some forex pairs (broker-dependent)
**Performance:**
- No indicator is 100% accurate
- Always use proper risk management
- Combine with price action and S/R levels
- Quality over quantity - don't trade every signal
**Best Results:**
- Divergence AT support/resistance = high probability
- Divergence + trend reversal pattern = confluence
- Multiple timeframe confirmation = strongest signals
## 📊 What Makes This Different?
**Other divergence indicators:**
- Use RSI, MACD, or other oscillators
- Don't show actual order flow
- Often give false signals
**This indicator:**
- Uses real CVD (Cumulative Volume Delta)
- Shows actual buying/selling pressure
- Filters for quality (not quantity)
- Two modes: fast OR accurate (your choice)
- No clutter - just clean divergence lines
## 🚀 Quick Start
1. Add to chart
2. Default settings work well for 15m
3. Watch for 1 week before trading
4. Start with small size
5. Track your results
## 📈 Typical Performance
| Mode | Win Rate | Avg R/R | Best For |
|------|----------|---------|----------|
| Early Warning | 55-65% | 1:1.5 | Scalping |
| Confirmed | 70-80% | 1:2 | Swing trading |
| Both (Scale In) | 65-75% | 1:3 | Day trading |
| With Confluence | 75-85% | 1:3+ | All styles |
## 💬 Tips from Pro Traders
- "Use early warnings for entries, confirmed for validation"
- "Best at major S/R levels - skip divergences in the middle of nowhere"
- "Lower timeframes = more signals but lower quality"
- "On 15m chart, early warnings give you 1.5 hour head start"
- "Combine with volume spikes for highest probability"
## 🔔 Alert Setup
1. Click Alert button (⏰)
2. Choose "CVD Divergence Detector"
3. Select alert type
4. Configure notifications
5. Done!
## ⚙️ Settings Explained
**Delta Source:**
- Anchor Timeframe: Higher TF for CVD calculation (1D for day trading)
- Custom Lower TF: Advanced users only
**Pivot Logic:**
- Pivot Left/Right: How many bars to confirm pivot
- Early Warning Right: How fast early signals fire
- Min Bars Between: Prevents signal spam
- Min CVD Diff %: Filters weak divergences
**Visual:**
- Show Lines/Labels: Toggle display
- Colors: Customize to your preference
- Label Size: Adjust for readability
## ❓ FAQ
**Q: No signals appearing?**
- Check volume data is available
- Lower Min CVD Diff to 2-3%
- Lower Pivot Right to 5-7
**Q: Too many signals?**
- Increase filters (see Tuning Guide above)
- Turn off early warnings
- Use confirmed only
**Q: Signals too late?**
- Enable Early Warning mode
- Decrease Early Warning Right to 2-3
**Q: Works on crypto/forex?**
- Crypto: Yes (major pairs)
- Forex: Sometimes (depends on broker volume data)
- Futures/Stocks: Yes (best performance)
## 📚 Learn More
For detailed strategies, examples, and advanced techniques, check the full user guide.
---
**Remember:** This is a tool, not a crystal ball. Combine with:
- Price action analysis
- Support/resistance levels
- Risk management
- Proper position sizing
**The best trade is the one you don't force.** 🎯
---
## 📝 Version Info
**v1.0** - Initial Release
- Confirmed divergence detection
- Early warning mode
- Smart filtering system
- Four alert types
- Clean visual design
---
**Questions? Suggestions?** Drop a comment below! 👇
**Found this helpful?** Like and follow for more professional indicators! ⭐
NQ Pro Dashboard (Master Fix)This indicator is a "Head-Up Display" designed specifically for trading NQ (Nasdaq-100 Futures). It aggregates data from the broader market (volatility) and the specific stocks that drive the Nasdaq index (The "Magnificent 7") to give you a single Trend Power Score.
Here is a breakdown of how the logic works under the hood:
1. The Inputs (Data Feed)
The script watches 9 specific assets in real-time (daily timeframe data):
Fear Gauges:
VIX: The volatility index for the S&P 500.
VXN: The volatility index specifically for the Nasdaq-100.
The Engine (Mag 7):
NVDA, AAPL, MSFT, AMZN, GOOGL, META, TSLA.
2. The Logic: "Weighted" Market Strength
Instead of treating every stock equally, the script applies a Weighting Multiplier to the Mag 7 stocks based on their approximate impact on the Nasdaq-100 index.
Heavyweights (1.5x): NVDA, AAPL, MSFT (These move the market the most).
Middleweights (1.0x): AMZN, GOOGL, META.
Lightweight (0.7x): TSLA (Has the least pull of the group).
It calculates a single percentage number (MAG 7 (W)) representing the combined push or pull of these stocks.
3. The "Trend Power" Score (0-100)
This is the core signal. It starts at a neutral 50 and adds/subtracts points based on market conditions.
Fear Factor:
If VIX or VXN drops > 2% (Fear dying), it adds points (Bullish).
If VIX or VXN spikes > 2% (Fear rising), it subtracts points (Bearish).
Stock Strength:
If the Weighted Mag 7 Average is > 1.0% (Strong Rally), it adds a massive 30 points.
If it's negative (Sell-off), it subtracts points.
The Score Breakdown:
80 - 100 (Green): STRONG BULL. The engines are firing (stocks up) and the brakes are off (VIX down). Do not short.
0 - 20 (Red): STRONG BEAR. Panic selling is occurring. Do not buy.
40 - 60 (Orange): CHOP / RANGE. Conflicting signals (e.g., stocks are up but VIX is also up). Be careful.
4. The "Exhaustion" Meter (ATR)
The RANGE row tells you if the market has "gas left in the tank."
It compares Today's Range (High - Low) to the 14-Day Average Range (ATR).
< 50% (Yellow): Compressed. The market hasn't moved much yet. Expect a breakout soon.
> 120% (Purple): Extended. The market has moved massive amounts today. A reversal or pause is statistically likely (mean reversion).
5. The Visuals (Leaders Row)
The bottom row gives you a quick visual scan of the individual stocks:
N▲ (Green): Nvidia is up.
T▼ (Red): Tesla is down.
This helps you spot "divergences"—for example, if the Trend Score is high but NVDA is Red, the rally might be fragile.
BTC - RVPM: Run Velocity & Probability MapBTC – RVPM: Run Velocity & Probability Map | RM
Strategic Context: Understanding Price Runs
A "Price Run" (also known as a streak or consecutive sessions) is a foundational concept in time-series analysis that measures the duration of a price movement without a significant counter-signal. While common indicators like RSI or MACD measure magnitude or momentum, they often ignore the Persistence of the trend. Historically, markets move through cycles of expansion and mean-reversion. A Price Run represents a period of "Unidirectional Flow" — a fingerprint of institutional accumulation or systematic distribution. However, standard "run-counting" is often too simplistic for the volatile crypto markets.
What Makes RVPM Special?
Most community run-counters are binary; they simply tell you if X days were green or red. The RVPM distinguishes itself through three proprietary layers:
• The Intensity Filter: It doesnt just count days; it counts effort . By ignoring "flat" days through a percentage-return threshold, it filters out noise that would otherwise skew the statistical probability.
• Dynamic Benchmarking: Instead of using an arbitrary number (like "7 days"), the RVPM looks back at 200 bars of history to find the local "Persistence Ceiling." It adapts to the current volatility regime of Bitcoin.
• The Velocity Score: It transform simple counts into a -100 to +100 histogram, allowing traders to see momentum "decaying" (e.g., dropping from 90 to 70) even if the price continues to rise.
The 3 Pillars of the Engine
1. Velocity Mapping (Persistence Histogram)
The histogram calculates the density of directional effort within a defined window. It functions as the "Pulse" of the trend, mapping market behavior into three distinct zones:
• High Velocity Zone (> 80 or < -80): Institutional Expansion. This identifies a "clean" move where one side of the market possesses total structural control. In this zone, the trend is efficient, and counter-signals are immediately absorbed.
• The Neutral Zone (Near Zero): Momentum Equilibrium. When the histogram fluctuates near the zero line, the market is in a "Recharge Phase." Neither bulls nor bears are achieving persistent dominance. Tactically, this is the "Waiting Room" where range-bound chop is likely, and traders should wait for a new "Expansion" spike before committing.
• Velocity Decay: The Exhaustion Warning. Velocity Decay occurs when the indicator moves from an extreme (e.g., +95) back toward the zero line (e.g., +50) while the price is still rising. This is a "Persistence Divergence." It tells you that while the trend is still moving, the consistency of the bars is fragmenting. The "fuel" is being depleted, and the trend is transitioning from an "Institutional Expansion" into a "Speculative Exhaustion."
2. n-of-m Consistency (The Pips)
The "Pips" (Circles) mark when a specific consistency threshold is met (e.g., 5 out of 7 bars in one direction). This identifies "Leaky Trends" that are still statistically dominated by one side of the ledger.
3. Statistical Exhaustion (The Arrows)
The Dark Red (Top) and Dark Green (Bottom) triangles represent the engine's "Mean-Reversion Signal." The calculation is based on a Relative Maximum Streak (RMS) logic: the script tracks the current linear, consecutive bar count (ignoring bars that fail the Intensity Filter) and continuously benchmarks this against the highest streak recorded over the last 200 bars ( ta.highest(streak, 200) ). The triangles are triggered specifically when the current run reaches 80% of this historical record (the "Anomaly Threshold"). Mathematically, this identifies a move that is statistically pushing against its half-year limit. By using this dynamic threshold rather than a fixed number, the "Extreme" signal automatically tightens during low-volatility regimes and expands during high-volatility expansions, ensuring the signal only appears when the "statistical rubber band" is at a true breaking point.
Operational Interface: The RVPM Dashboard
The Status Dashboard (Top Right) serves as a real-time monitor for momentum health, providing a clean summary of the underlying persistence data:
• Current STREAK: The active, consecutive count of bars meeting the Intensity Filter. It is dynamically color-coded (Cyan/Bullish or Red/Bearish) to provide an instant read on trend seniority.
• WINDOW Consistency: Measures the Momentum Density (the n-of-m value). A value of "6" in a "7-bar" window indicates a high-conviction regime that is successfully absorbing pullbacks without losing its primary trajectory.
Tactical Playbook: The Mean-Reversion Rule
Price action typically follows a "Rubber Band" effect. The further it is stretched without a break, the more "unstable" the trend becomes as the pool of available buyers or sellers is depleted.
• The Setup: Wait for the Triangle Arrows to appear.
• The Logic: The move has reached a 200-day anomaly. A "Liquidity Vacuum" is forming on the opposite side.
• The Action: This is a high-probability Mean-Reversion signal. It is a tactical time to take profits or look for a sharp snap-back move toward the 20-period moving average or the "Institutional Mean."
Settings & Parameters
• Window Length (m): The lookback window used to calculate the Velocity Score.
• Required Days (n): The minimum number of directional bars needed within the window to trigger a "Consistency Pip."
• Intensity Filter (%): The minimum % change required for a bar to be counted toward a run.
• Lookback Period: The historical window (Default: 200 bars) used to calculate the "Maximum Streak" records for exhaustion alerts.
Timeframe Recommendation
The RVPM is best viewed on the Daily (1D) timeframe. This filters out intraday noise and provides the most reliable statistical mapping for macro exhaustion points.
Credits & Verification
The RVPM logic aligns with institutional "Persistence" models and Glassnode's Price Stretch benchmarks. By benchmarking against a rolling 200-day window, the indicator automatically adapts to changing market volatility.
Risk Disclaimer & No Financial Advice
The information, data, and analytical models provided in this publication are for educational and informational purposes only. This script does not constitute financial, investment, or trading advice. Trading cryptocurrencies and other financial instruments carries a high degree of risk, and statistical anomalies or "Extreme Runs" do not guarantee future price action. Past performance is never indicative of future results. Every trader is responsible for their own due diligence and risk management. Rob Maths and the associated entities are not liable for any financial losses incurred through the use of this tool. Always consult with a certified financial professional before making significant investment decisions.
Tags:
bitcoin, btc, persistence, streaks, price-runs, momentum, mean-reversion, exhaustion, Rob Maths
Ultimate MACD [captainua]Ultimate MACD - Comprehensive MACD Trading System
Overview
This indicator combines traditional MACD calculations with advanced features including divergence detection, volume analysis, histogram analysis tools, regression forecasting, strong top/bottom detection, and multi-timeframe confirmation to provide a comprehensive MACD-based trading system. The script calculates MACD using configurable moving average types (EMA, SMA, RMA, WMA) and applies various smoothing methods to reduce noise while maintaining responsiveness. The combination of these features creates a multi-layered confirmation system that reduces false signals by requiring alignment across multiple indicators and timeframes.
Core Calculations
MACD Calculation:
The script calculates MACD using the standard formula: MACD Line = Fast MA - Slow MA, Signal Line = Moving Average of MACD Line, Histogram = MACD Line - Signal Line. The default parameters are Fast=12, Slow=26, Signal=9, matching the traditional MACD settings. The script supports four moving average types:
- EMA (Exponential Moving Average): Standard and most responsive, default choice
- SMA (Simple Moving Average): Equal weight to all periods
- RMA (Wilder's Moving Average): Smoother, less responsive
- WMA (Weighted Moving Average): Recent prices weighted more heavily
The price source can be configured as Close (standard), Open, High, Low, HL2, HLC3, or OHLC4. Alternative sources provide different sensitivity characteristics for various trading strategies.
Configuration Presets:
The script includes trading style presets that automatically configure MACD parameters:
- Scalping: Fast/Responsive settings (8,18,6 with minimal smoothing)
- Day Trading: Balanced settings (10,22,7 with minimal smoothing)
- Swing Trading: Standard settings (12,26,9 with moderate smoothing)
- Position Trading: Smooth/Conservative settings (15,35,12 with higher smoothing)
- Custom: Full manual control over all parameters
Histogram Smoothing:
The histogram can be smoothed using EMA to reduce noise and filter minor fluctuations. Smoothing length of 1 = raw histogram (no smoothing), higher values (3-5) = smoother histogram. Increased smoothing reduces noise but may delay signals slightly.
Percentage Mode:
MACD values can be converted to percentage of price (MACD/Close*100) for cross-instrument comparison. This is useful when comparing MACD signals across instruments with different price levels (e.g., BTC vs ETH). The percentage mode normalizes MACD values, making them comparable regardless of instrument price.
MACD Scale Factor:
A scale factor multiplier (default 1.0) allows adjusting MACD display size for better visibility. Use 0.3-0.5 if MACD appears too compressed, or 2.0-3.0 if too small.
Dynamic Overbought/Oversold Levels:
Overbought and oversold levels are calculated dynamically based on MACD's mean and standard deviation over a lookback period. The formula: OB = MACD Mean + (StdDev × OB Multiplier), OS = MACD Mean - (StdDev × OS Multiplier). This adapts to current market conditions, widening in volatile markets and narrowing in calm markets. The lookback period (default 20) controls how quickly the levels adapt: longer periods (30-50) = more stable levels, shorter (10-15) = more responsive.
OB/OS Background Coloring:
Optional background coloring can highlight the entire panel when MACD enters overbought or oversold territory, providing prominent visual indication of extreme conditions. The background colors are drawn on top of the main background to ensure visibility.
Divergence Detection
Regular Divergence:
The script uses the MACD line (not histogram) for divergence detection, which provides more reliable signals. Bullish divergence: Price makes a lower low while MACD line makes a higher low. Bearish divergence: Price makes a higher high while MACD line makes a lower high. Divergences often precede reversals and are powerful reversal signals.
Pivot-Based Divergence:
The divergence detection uses actual pivot points (pivotlow/pivothigh) instead of simple lowest/highest comparisons. This provides more accurate divergence detection by identifying significant pivot lows/highs in both price and MACD line. The pivot-based method compares two recent pivot points: for bullish divergence, price makes a lower low while MACD makes a higher low at the pivot points. This method reduces false divergences by requiring actual pivot points rather than just any low/high within a period.
The pivot lookback parameters (left and right) control how many bars on each side of a pivot are required for confirmation. Higher values = more conservative pivot detection.
Hidden Divergence:
Continuation patterns that signal trend continuation rather than reversal. Bullish hidden divergence: Price makes a higher low but MACD makes a lower low. Bearish hidden divergence: Price makes a lower high but MACD makes a higher high. These patterns indicate the trend is likely to continue in the current direction.
Zero-Line Filter:
The "Don't Touch Zero Line" option ensures divergences occur in proper context: for bullish divergence, MACD must stay below zero; for bearish divergence, MACD must stay above zero. This filters out divergences that occur in neutral zones.
Range Filtering:
Minimum and maximum lookback ranges control the time window between pivots to consider for divergence. This helps filter out divergences that are too close together (noise) or too far apart (less relevant).
Volume Confirmation System
Volume threshold filtering requires current volume to exceed the volume SMA multiplied by the threshold factor. The formula: Volume Confirmed = Volume > (Volume SMA × Threshold). If the threshold is set to 1.0 or lower, volume confirmation is effectively disabled (always returns true). This allows you to use the indicator without volume filtering if desired. Volume confirmation significantly increases divergence and signal reliability.
Volume Climax and Dry-Up Detection:
The script can mark bars with extremely high volume (volume climax) or extremely low volume (volume dry-up). Volume climax indicates potential reversal points or strong momentum continuation. Volume dry-up indicates low participation and may produce unreliable signals. These markers use standard deviation multipliers to identify extreme volume conditions.
Zero-Line Cross Detection
MACD zero-line crosses indicate momentum shifts: above zero = bullish momentum, below zero = bearish momentum. The script includes alert conditions for zero-line crosses with cooldown protection to prevent alert spam. Zero-line crosses can provide early warning signals before MACD crosses the signal line.
Histogram Analysis Tools
Histogram Moving Average:
A moving average applied to the histogram itself helps identify histogram trend direction and acts as a signal line for histogram movements. Supports EMA, SMA, RMA, and WMA types. Useful for identifying when histogram momentum is strengthening or weakening.
Histogram Bollinger Bands:
Bollinger Bands are applied to the MACD histogram instead of price. The calculation: Basis = SMA(Histogram, Period), StdDev = stdev(Histogram, Period), Upper = Basis + (StdDev × Deviation Multiplier), Lower = Basis - (StdDev × Deviation Multiplier). This creates dynamic zones around the histogram that adapt to histogram volatility. When the histogram touches or exceeds the bands, it indicates extreme conditions relative to recent histogram behavior.
Stochastic MACD (StochMACD):
Stochastic MACD applies the Stochastic oscillator formula to the MACD histogram instead of price. This normalizes the histogram to a 0-100 scale, making it easier to identify overbought/oversold conditions on the histogram itself. The calculation: %K = ((Histogram - Lowest Histogram) / (Highest Histogram - Lowest Histogram)) × 100. %K is smoothed, and %D is calculated as the moving average of smoothed %K. Standard thresholds are 80 (overbought) and 20 (oversold).
Regression Forecasting
The script includes advanced regression forecasting that predicts future MACD values using mathematical models. This helps anticipate potential MACD movements and provides forward-looking context for trading decisions.
Regression Types:
- Linear: Simple trend line (y = mx + b) - fastest, works well for steady trends
- Polynomial: Quadratic curve (y = ax² + bx + c) - captures curvature in MACD movement
- Exponential Smoothing: Weighted average with more weight on recent values - responsive to recent changes
- Moving Average: Uses difference between short and long MA to estimate trend - stable and smooth
Forecast Horizon:
Number of bars to forecast ahead (default 5, max 50 for linear/MA, max 20 for polynomial due to performance). Longer horizons predict further ahead but may be less accurate.
Confidence Bands:
Optional upper/lower bands around forecast show prediction uncertainty based on forecast error (standard deviation of prediction vs actual). Wider bands = higher uncertainty. The confidence level multiplier (default 1.5) controls band width.
Forecast Display:
Forecast appears as dotted lines extending forward from current bar, with optional confidence bands. All forecast values respect percentage mode and scale factor settings.
Strong Top/Bottom Signals
The script detects strong recovery from extreme MACD levels, generating "sBottom" and "sTop" signals. These identify significant reversal potential when MACD recovers substantially from overbought/oversold extremes.
Strong Bottom (sBottom):
Triggered when:
1. MACD was at or near its lowest point in the bottom period (default 10 bars)
2. MACD was in or near the oversold zone
3. MACD has recovered by at least the threshold amount (default 0.5) from the lowest point
4. Recovery persists for confirmation bars (default 2 consecutive bars)
5. MACD has moved out of the oversold zone
6. Volume is above average
7. All enabled filters pass
8. Minimum bars have passed since last signal (reset period, default 5 bars)
Strong Top (sTop):
Triggered when:
1. MACD was at or near its highest point in the top period (default 7 bars)
2. MACD was in or near the overbought zone
3. MACD has declined by at least the threshold amount (default 0.5) from the highest point
4. Decline persists for confirmation bars (default 2 consecutive bars)
5. MACD has moved out of the overbought zone
6. Volume is above average
7. All enabled filters pass
8. Minimum bars have passed since last signal (reset period, default 5 bars)
Label Placement:
sTop/sBottom labels appear on the historical bar where the actual extreme occurred (not on current bar), showing the exact MACD value at that extreme. Labels respect the unified distance checking system to prevent overlaps with Buy/Sell Strength labels.
Signal Strength Calculation
The script calculates a composite signal strength score (0-100) based on multiple factors:
- MACD distance from signal line (0-50 points): Larger separation indicates stronger signal
- Volume confirmation (0-15 points): Volume above average adds points
- Secondary timeframe alignment (0-15 points): Higher timeframe agreement adds points
- Distance from zero line (0-20 points): Closer to zero can indicate stronger reversal potential
Higher scores (70+) indicate stronger, more reliable signals. The signal strength is displayed in the statistics table and can be used as a filter to only accept signals above a threshold.
Smart Label Placement System
The script includes an advanced label placement system that tracks MACD extremes and places Buy/Sell Strength labels at optimal locations:
Label Placement Algorithm:
- Labels appear on the current bar at confirmation (not on historical extreme bars), ensuring they're visible when the signal is confirmed
- The system tracks pending signals when MACD enters OB/OS zones or crosses the signal line
- During tracking, the system continuously searches for the true extreme (lowest MACD for buys, highest MACD for sells) within a configurable historical lookback period
- Labels are only finalized when: (1) MACD exits the OB/OS zone, (2) sufficient bars have passed (2x minimum distance), (3) MACD has recovered/declined by a configurable percentage from the extreme (default 15%), and (4) tracking has stopped (no better extreme found)
Label Spacing and Overlap Prevention:
- Minimum Bars Between Labels: Base distance requirement (default 5 bars)
- Label Spacing Multiplier: Scales the base distance (default 1.5x) for better distribution. Higher values = more spacing between labels
- Effective distance = Base Distance × Spacing Multiplier (e.g., 5 × 1.5 = 7.5 bars minimum)
- Unified distance checking prevents overlaps between all label types (Buy Strength, Sell Strength, sTop, sBottom)
Strength-Based Filtering:
- Label Strength Minimum (%): Only labels with strength at or above this threshold are displayed (default 75%)
- When multiple potential labels are close together, the system automatically compares strengths and keeps only the strongest one
- This ensures only the most significant signals are displayed, reducing chart clutter
Zero Line Polarity Enforcement:
- Enforce Zero Line Polarity (default enabled): Ensures labels follow traditional MACD interpretation
- Buy Strength labels only appear when the tracked extreme MACD value was below zero (negative territory)
- Sell Strength labels only appear when the tracked extreme MACD value was above zero (positive territory)
- This prevents counter-intuitive labels (e.g., Buy labels above zero line) and aligns with standard MACD trading principles
Recovery/Decline Confirmation:
- Recovery/Decline Confirm (%): Percent move away from the extreme required before finalizing (default 15%)
- For Buy labels: MACD must recover by at least this percentage from the tracked bottom
- For Sell labels: MACD must decline by at least this percentage from the tracked top
- Higher values = more confirmation required, fewer but more reliable labels
Historical Lookback:
- Historical Lookback for Label Placement: Number of bars to search for true extremes (default 20)
- The system searches within this period to find the actual lowest/highest MACD value
- Higher values analyze more history but may be slower; lower values are faster but may miss some extremes
Cross Quality Score
The script calculates a MACD cross quality score (0-100) that rates crossover quality based on:
- Cross angle (0-50 points): Steeper crosses = stronger signals
- Volume confirmation (0-25 points): Volume above average adds points
- Distance from zero line (0-25 points): Crosses near zero line are stronger
This score helps identify high-quality crossovers and can be used as a filter to only accept signals meeting minimum quality threshold.
Filtering System
Histogram Filter:
Requires histogram to be above zero for buy signals, below zero for sell signals. Ensures momentum alignment before generating signals.
Signal Strength Filter:
Requires minimum signal strength score for signals. Higher threshold = only strongest signals pass. This combines multiple confirmation factors into a single filter.
Cross Quality Filter:
Requires minimum cross quality score for signals. Rates crossover quality based on angle, volume, momentum, and distance from zero. Only signals meeting minimum quality threshold will be generated.
All filters use the pattern: filterResult = not filterEnabled OR conditionMet. This means if a filter is disabled, it always passes (returns true). Filters can be combined, and all must pass for a signal to fire.
Multi-Timeframe Analysis
The script can display MACD from a secondary (higher) timeframe and use it for confirmation. When secondary timeframe confirmation is enabled, signals require the higher timeframe MACD to align (bullish/bearish) with the signal direction. This ensures signals align with the larger trend context, reducing counter-trend trades.
Secondary Timeframe MACD:
The secondary timeframe MACD uses the same calculation parameters (fast, slow, signal, MA type) as the main MACD but from a higher timeframe. This provides context for the current timeframe's MACD position relative to the larger trend. The secondary MACD lines are displayed on the chart when enabled.
Noise Filtering
Noise filtering hides small histogram movements below a threshold. This helps focus on significant moves and reduces chart clutter. When enabled, only histogram movements above the threshold are displayed. Typical threshold values are 0.1-0.5 for most instruments, depending on the instrument's price range and volatility.
Signal Debounce
Signal debounce prevents duplicate MACD cross signals within a short time period. Useful when MACD crosses back and forth quickly, creating multiple signals. Debounce ensures only one signal per period, reducing signal spam during choppy markets. This is separate from alert cooldown, which applies to all alert types.
Background Color Modes
The script offers three background color modes:
- Dynamic: Full MACD heatmap based on OB/OS conditions, confidence, and momentum. Provides rich visual feedback.
- Monotone: Soft neutral background but still allows overlays (OB/OS zones). Keeps the chart clean without overpowering candles.
- Off: No MACD background (only overlays and plots). Maximum chart cleanliness.
When OB/OS background colors are enabled, they are drawn on top of the main background to ensure visibility.
Statistics Table
A real-time statistics table displays current MACD values, signal strength, distance from zero line, secondary timeframe alignment, volume confirmation status, and all active filter statuses. The table dynamically adjusts to show only enabled features, keeping it clean and relevant. The table position can be configured (Top Left, Top Right, Bottom Left, Bottom Right).
Performance Statistics Table
An optional performance statistics table shows comprehensive filter diagnostics:
- Total buy/sell signals (raw crossover count before filters)
- Filtered buy/sell signals (signals that passed all filters)
- Overall pass rates (percentage of signals that passed filters)
- Rejected signals count
- Filter-by-filter rejection diagnostics showing which filters rejected how many signals
This table helps optimize filter settings by showing which filters are most restrictive and how they impact signal frequency. The diagnostics format shows rejections as "X B / Y S" (X buy signals rejected, Y sell signals rejected) or "Disabled" if the filter is not active.
Alert System
The script includes separate alert conditions for each signal type:
- MACD Cross: MACD line crosses above/below Signal line (with or without secondary confirmation)
- Zero-Line Cross: MACD crosses above/below zero
- Divergence: Regular and hidden divergence detections
- Secondary Timeframe: Higher timeframe MACD crosses
- Histogram MA Cross: Histogram crosses above/below its moving average
- Histogram Zero Cross: Histogram crosses above/below zero
- StochMACD: StochMACD overbought/oversold entries and %K/%D crosses
- Histogram BB: Histogram touches/breaks Bollinger Bands
- Volume Events: Volume climax and dry-up detections
- OB/OS: MACD entry/exit from overbought/oversold zones
- Strong Top/Bottom: sTop and sBottom signal detections
Each alert type has its own cooldown system to prevent alert spam. The cooldown requires a minimum number of bars between alerts of the same type, reducing duplicate alerts during volatile periods. Alert types can be filtered to only evaluate specific alert types (All, MACD Cross, Zero Line, Divergence, Secondary Timeframe, Histogram MA, Histogram Zero, StochMACD, Histogram BB, Volume Events, OB/OS, Strong Top/Bottom).
How Components Work Together
MACD crossovers provide the primary signal when the MACD line crosses the Signal line. Zero-line crosses indicate momentum shifts and can provide early warning signals. Divergences identify potential reversals before they occur.
Volume confirmation ensures signals occur with sufficient market participation, filtering out low-volume false breakouts. Histogram analysis tools (MA, Bollinger Bands, StochMACD) provide additional context for signal reliability and identify significant histogram zones.
Signal strength combines multiple confirmation factors into a single score, making it easy to filter for only the strongest signals. Cross quality score rates crossover quality to identify high-quality setups. Multi-timeframe confirmation ensures signals align with higher timeframe trends, reducing counter-trend trades.
Usage Instructions
Getting Started:
The default configuration shows MACD(12,26,9) with standard EMA calculations. Start with default settings and observe behavior, then customize settings to match your trading style. You can use configuration presets for quick setup based on your trading style.
Customizing MACD Parameters:
Adjust Fast Length (default 12), Slow Length (default 26), and Signal Length (default 9) based on your trading timeframe. Shorter periods (8,17,7) for faster signals, longer (15,30,12) for smoother signals. You can change the moving average type: EMA for responsiveness, RMA for smoothness, WMA for recent price emphasis.
Price Source Selection:
Choose Close (standard), or alternative sources (HL2, HLC3, OHLC4) for different sensitivity. HL2 uses the midpoint of the high-low range, HLC3 and OHLC4 incorporate more price information.
Histogram Smoothing:
Set smoothing to 1 for raw histogram (no smoothing), or increase (3-5) for smoother histogram that reduces noise. Higher smoothing reduces false signals but may delay signals slightly.
Percentage Mode:
Enable percentage mode when comparing MACD across instruments with different price levels. This normalizes MACD values, making them directly comparable.
Dynamic OB/OS Levels:
The dynamic thresholds automatically adapt to volatility. Adjust the multipliers (default 1.5) to fine-tune sensitivity: higher values (2.0-3.0) = more extreme thresholds (fewer signals), lower (1.0-1.5) = more frequent signals. Adjust the lookback period to control how quickly levels adapt. Enable OB/OS background colors for visual indication of extreme conditions.
Volume Confirmation:
Set volume threshold to 1.0 (default, effectively disabled) or higher (1.2-1.5) for standard confirmation. Higher values require more volume for confirmation. Set to 0.1 to completely disable volume filtering.
Filters:
Enable filters gradually to find your preferred balance. Start with histogram filter for basic momentum alignment, then add signal strength filter (threshold 50+) for moderate signals, then cross quality filter (threshold 50+) for high-quality crossovers. Combine filters for highest-quality signals but expect fewer signals.
Divergence:
Enable divergence detection and adjust pivot lookback parameters. Pivot-based divergence provides more accurate detection using actual pivot points. Hidden divergence is useful for trend-following strategies. Adjust range parameters to filter divergences by time window.
Zero-Line Crosses:
Zero-line cross alerts are automatically available when alerts are enabled. These provide early warning signals for momentum shifts.
Histogram Analysis Tools:
Enable Histogram Moving Average to see histogram trend direction. Enable Histogram Bollinger Bands to identify extreme histogram zones. Enable Stochastic MACD to normalize histogram to 0-100 scale for overbought/oversold identification.
Multi-Timeframe:
Enable secondary timeframe MACD to see higher timeframe context. Enable secondary confirmation to require higher timeframe alignment for signals.
Signal Strength:
Signal strength is automatically calculated and displayed in the statistics table. Use signal strength filter to only accept signals above a threshold (e.g., 50 for moderate, 70+ for strong signals only).
Smart Label Placement:
Configure label placement settings to control label appearance and quality:
- Label Strength Minimum (%): Set threshold (default 75%) to show only strong signals. Higher = fewer, stronger labels
- Label Spacing Multiplier: Adjust spacing (default 1.5x) for better distribution. Higher = more spacing between labels
- Recovery/Decline Confirm (%): Set confirmation requirement (default 15%). Higher = more confirmation, fewer labels
- Enforce Zero Line Polarity: Enable (default) to ensure Buy labels only appear when tracked extreme was below zero, Sell labels only when above zero
- Historical Lookback: Adjust search period (default 20 bars) for finding true extremes. Higher = more history analyzed
Cross Quality:
Cross quality score is automatically calculated for crossovers. Use cross quality filter to only accept high-quality crossovers (threshold 50+ for moderate, 70+ for high quality).
Alerts:
Set up alerts for your preferred signal types. Enable alert cooldown (default enabled, 5 bars) to prevent alert spam. Use alert type filter to only evaluate specific alert types (All, MACD Cross, Zero Line, Divergence, Secondary Timeframe, Histogram MA, Histogram Zero, StochMACD, Histogram BB, Volume Events, OB/OS, Strong Top/Bottom). Each signal type has its own alert condition, so you can be selective about which signals trigger alerts.
Visual Elements and Signal Markers
The script uses various visual markers to indicate signals and conditions:
- MACD Line: Green when above signal (bullish), red when below (bearish) if dynamic colors enabled. Optional black outline for enhanced visibility
- Signal Line: Orange line with optional black outline for enhanced visibility
- Histogram: Color-coded based on direction and momentum (green for bullish rising, lime for bullish falling, red for bearish falling, orange for bearish rising)
- Zero Line: Horizontal reference line at MACD = 0
- Fill to Zero: Green/red semi-transparent fill between MACD line and zero line showing bullish/bearish territory
- Fill Between OB/OS: Blue semi-transparent fill between overbought/oversold thresholds highlighting neutral zone
- OB/OS Background Colors: Background coloring when MACD enters overbought/oversold zones
- Background Colors: Dynamic or monotone backgrounds indicating MACD state, or custom chart background
- Divergence Labels: "🐂" for bullish, "🐻" for bearish, "H Bull" for hidden bullish, "H Bear" for hidden bearish
- Divergence Lines: Colored lines connecting pivot points when divergences are detected
- Volume Climax Markers: ⚡ symbol for extremely high volume
- Volume Dry-Up Markers: 💧 symbol for extremely low volume
- Buy/Sell Strength Labels: Show signal strength percentage (e.g., "Buy Strength: 75%")
- Strong Top/Bottom Labels: "sTop" and "sBottom" for extreme level recoveries
- Secondary MACD Lines: Purple lines showing higher timeframe MACD
- Histogram MA: Orange line showing histogram moving average
- Histogram BB: Blue bands around histogram showing extreme zones
- StochMACD Lines: %K and %D lines with overbought/oversold thresholds
- Regression Forecast: Dotted blue lines extending forward with optional confidence bands
Signal Priority and Interpretation
Signals are generated independently and can occur simultaneously. Higher-priority signals generally indicate stronger setups:
1. MACD Cross with Multiple Filters - Highest priority: Requires MACD crossover plus all enabled filters (histogram, signal strength, cross quality) and secondary timeframe confirmation if enabled. These are the most reliable signals.
2. Zero-Line Cross - High priority: Indicates momentum shift. Can provide early warning signals before MACD crosses the signal line.
3. Divergence Signals - Medium-High priority: Pivot-based divergence is more reliable than simple divergence. Hidden divergence indicates continuation rather than reversal.
4. MACD Cross with Basic Filters - Medium priority: MACD crosses signal line with basic histogram filter. Less reliable alone but useful when combined with other confirmations.
Best practice: Wait for multiple confirmations. For example, a MACD crossover combined with divergence, volume confirmation, and secondary timeframe alignment provides the strongest setup.
Chart Requirements
For proper script functionality and compliance with TradingView requirements, ensure your chart displays:
- Symbol name: The trading pair or instrument name should be visible
- Timeframe: The chart timeframe should be clearly displayed
- Script name: "Ultimate MACD " should be visible in the indicator title
These elements help traders understand what they're viewing and ensure proper script identification. The script automatically includes this information in the indicator title and chart labels.
Performance Considerations
The script is optimized for performance:
- Calculations use efficient Pine Script functions (ta.ema, ta.sma, etc.) which are optimized by TradingView
- Conditional execution: Features only calculate when enabled
- Label management: Old labels are automatically deleted to prevent accumulation
- Array management: Divergence label arrays are limited to prevent memory accumulation
The script should perform well on all timeframes. On very long historical data with many enabled features, performance may be slightly slower, but it remains usable.
Known Limitations and Considerations
- Dynamic OB/OS levels can vary significantly based on recent MACD volatility. In very volatile markets, levels may be wider; in calm markets, they may be narrower.
- Volume confirmation requires sufficient historical volume data. On new instruments or very short timeframes, volume calculations may be less reliable.
- Higher timeframe MACD uses request.security() which may have slight delays on some data feeds.
- Stochastic MACD requires the histogram to have sufficient history. Very short periods on new charts may produce less reliable StochMACD values initially.
- Divergence detection requires sufficient historical data to identify pivot points. Very short lookback periods may produce false positives.
Practical Use Cases
The indicator can be configured for different trading styles and timeframes:
Swing Trading:
Use MACD(12,26,9) with secondary timeframe confirmation. Enable divergence detection. Use signal strength filter (threshold 50+) and cross quality filter (threshold 50+) for higher-quality signals. Enable histogram analysis tools for additional context.
Day Trading:
Use MACD(8,17,7) or use "Day Trading" preset with minimal histogram smoothing for faster signals. Enable zero-line cross alerts for early signals. Use volume confirmation with threshold 1.2-1.5. Enable histogram MA for momentum tracking.
Trend Following:
Use MACD(12,26,9) or longer periods (15,30,12) for smoother signals. Enable secondary timeframe confirmation for trend alignment. Hidden divergence signals are useful for trend continuation entries. Use cross quality filter to identify high-quality crossovers.
Reversal Trading:
Focus on divergence detection (pivot-based for accuracy) combined with zero-line crosses. Enable volume confirmation. Use histogram Bollinger Bands to identify extreme histogram zones. Enable StochMACD for overbought/oversold identification.
Multi-Timeframe Analysis:
Enable secondary timeframe MACD to see context from larger timeframes. For example, use daily MACD on hourly charts to understand the larger trend context. Enable secondary confirmation to require higher timeframe alignment for signals.
Practical Tips and Best Practices
Getting Started:
Start with default settings and observe MACD behavior. The default configuration (MACD 12,26,9 with EMA) is balanced and works well across different markets. After observing behavior, customize settings to match your trading style. Consider using configuration presets for quick setup.
Reducing Repainting:
All signals are based on confirmed bars, minimizing repainting. The script uses confirmed bar data for all calculations to ensure backtesting accuracy.
Signal Quality:
MACD crosses with multiple filters provide the highest-quality signals because they require alignment across multiple indicators. These signals have lower frequency but higher reliability. Use signal strength scores to identify the strongest signals (70+). Use cross quality scores to identify high-quality crossovers (70+).
Filter Combinations:
Start with histogram filter for basic momentum alignment, then add signal strength filter for moderate signals, then cross quality filter for high-quality crossovers. Combining all filters significantly reduces false signals but also reduces signal frequency. Find your balance based on your risk tolerance.
Volume Filtering:
Set volume threshold to 1.0 (default, effectively disabled) or lower to effectively disable volume filtering if you trade instruments with unreliable volume data or want to test without volume confirmation. Standard confirmation uses 1.2-1.5 threshold.
MACD Period Selection:
Standard MACD(12,26,9) provides balanced signals suitable for most trading. Shorter periods (8,17,7) for faster signals, longer (15,30,12) for smoother signals. Adjust based on your timeframe and trading style. Consider using configuration presets for optimized settings.
Moving Average Type:
EMA provides balanced responsiveness with smoothness. RMA is smoother and less responsive. WMA gives more weight to recent prices. SMA gives equal weight to all periods. Choose based on your preference for responsiveness vs. smoothness.
Divergence:
Pivot-based divergence is more reliable than simple divergence because it uses actual pivot points. Hidden divergence indicates continuation rather than reversal, useful for trend-following strategies. Adjust pivot lookback parameters to control sensitivity.
Dynamic Thresholds:
Dynamic OB/OS thresholds automatically adapt to volatility. In volatile markets, thresholds widen; in calm markets, they narrow. Adjust the multipliers to fine-tune sensitivity. Enable OB/OS background colors for visual indication.
Zero-Line Crosses:
Zero-line crosses indicate momentum shifts and can provide early warning signals before MACD crosses the signal line. Enable alerts for zero-line crosses to catch these early signals.
Alert Management:
Enable alert cooldown (default enabled, 5 bars) to prevent alert spam. Use alert type filter to only evaluate specific alert types. Signal debounce (default enabled, 3 bars) prevents duplicate MACD cross signals during choppy markets.
Technical Specifications
- Pine Script Version: v6
- Indicator Type: Non-overlay (displays in separate panel below price chart)
- Repainting Behavior: Minimal - all signals are based on confirmed bars, ensuring accurate backtesting results
- Performance: Optimized with conditional execution. Features only calculate when enabled.
- Compatibility: Works on all timeframes (1 minute to 1 month) and all instruments (stocks, forex, crypto, futures, etc.)
- Edge Case Handling: All calculations include safety checks for division by zero, NA values, and boundary conditions. Alert cooldowns and signal debounce handle edge cases where conditions never occurred or values are NA.
Technical Notes
- All MACD values respect percentage mode conversion when enabled
- Volume confirmation uses cached volume SMA for performance
- Label arrays (divergence) are automatically limited to prevent memory accumulation
- Background coloring: OB/OS backgrounds are drawn on top of main background to ensure visibility
- All calculations are optimized with conditional execution - features only calculate when enabled (performance optimization)
- Signal strength calculation combines multiple factors into a single score for easy filtering
- Cross quality calculation rates crossover quality based on angle, volume, and distance from zero
- Secondary timeframe MACD uses request.security() for higher timeframe data access
- Histogram analysis features (Bollinger Bands, MA, StochMACD) provide additional context beyond basic MACD signals
- Statistics table dynamically adjusts to show only enabled features, keeping it clean and relevant
- Divergence detection uses MACD line (not histogram) for more reliable signals
- Configuration presets automatically optimize MACD parameters for different trading styles
- Smart label placement: Labels appear on current bar at confirmation, using strength from tracked extreme point
- Label spacing uses effective distance (base distance × spacing multiplier) for better distribution
- Zero line polarity enforcement ensures Buy labels only appear when tracked extreme MACD < 0, Sell labels only when tracked extreme MACD > 0
- Label finalization requires MACD exit from OB/OS zone, sufficient bars passed, and recovery/decline percentage confirmation
- Strength-based filtering automatically compares and keeps only the strongest label when multiple signals are close together
- Enhanced visualization: Line outlines drawn behind main lines for superior visibility (black default, configurable)
- Enhanced visualization: Fill between MACD and zero line provides instant visual feedback (green above, red below)
- Enhanced visualization: Fill between OB/OS thresholds highlights neutral zone when dynamic levels are active
- Custom chart background overrides background mode when enabled, allowing theme-consistent indicator panels
Kalman Hull Kijun [BackQuant]Kalman Hull Kijun
A trend baseline that merges three ideas into one clean overlay, Kalman filtering for noise control, Hull-style responsiveness, and a Kijun-like Donchian midline for structure and bias.
Context and lineage
This indicator sits in the same family as two related scripts:
Kalman Price Filter
This is the foundational building block. It introduces the Kalman filter concept, a state-estimation algorithm designed to infer an underlying “true” signal from noisy measurements, originally used in aerospace guidance and later adopted across robotics, economics, and markets.
Kalman Hull Supertrend
This is the original script made, which people loved. So it inspired me to create this one.
Kalman Hull Kijun uses the same core philosophy as the Supertrend variant, but instead of building a Supertrend band system, it produces a single structural baseline that behaves like a Kijun-style reference line.
What this indicator is trying to solve
Most trend baselines sit on a bad trade-off curve:
If you smooth hard, the line reacts late and misses turns.
If you react fast, the line whipsaws and tracks noise.
Kalman Hull Kijun is designed to land closer to the middle:
Cleaner than typical fast moving averages in chop.
More responsive than slow averages in directional phases.
More “structure aware” than pure averages because the baseline is range-derived (Kijun-like) after filtering.
Core idea in plain language
The plotted line is a Kijun-like baseline, but it is not built from raw candles directly.
High level flow:
Start with a chosen price stream (source input).
Reduce measurement noise using Kalman-style state estimation.
Add Hull-style responsiveness so the filtered stream stays usable for trend work.
Build a Kijun-like baseline by taking a Donchian midpoint of that filtered stream over the base period.
So the output is a single baseline that is intended to be:
Less jittery than a simple fast MA.
Less laggy than a slow MA.
More “range anchored” than standard smoothing lines.
How to read it
1) Trend and bias (the primary use)
Price above the baseline, bullish bias.
Price below the baseline, bearish bias.
Clean flips across the baseline are regime changes, especially when followed by a hold or retest.
2) Retests and dynamic structure
Treat the baseline like dynamic S/R rather than a signal generator:
In uptrends, pullbacks that respect the baseline can act as continuation context.
In downtrends, reclaim failures around the baseline can act as continuation context.
Repeated back-and-forth around the line usually means compression or chop, not clean trend.
3) Extension vs compression (using the fill)
The fill is meant to communicate “distance” and “pressure” visually:
Large separation between price and baseline suggests expansion.
Price compressing into the baseline suggests rebalancing and decision points.
Inputs and what they change
Kijun Base Period
Controls the structural memory of the baseline.
Higher values track broader swings and reduce flips.
Lower values track tighter swings and react faster.
Kalman Price Source
Defines what data the filter is estimating.
Close is usually the cleanest default.
HL2 often “feels” smoother as an average price.
High/Low sources can become more reactive and less stable depending on the market.
Measurement Noise
Think of this as the main smoothness knob:
Higher values generally produce a calmer filtered stream.
Lower values generally produce a faster, more reactive stream.
Process Noise
Think of this as adaptability:
Higher values adapt faster to changing conditions but can get twitchy.
Lower values adapt slower but stay stable.
Plotting and UI (what you see on chart)
1) Adaptive line coloring
Baseline turns bullish color when price is above it.
Baseline turns bearish color when price is below it.
This makes the state readable without extra panels.
2) Gradient “energy” fill
Bull fill appears between price and baseline when above.
Bear fill appears between price and baseline when below.
The goal is clarity on separation and control, not decoration.
3) Rim effect
A subtle band around price that only appears on the active side.
Helps highlight directional control without hiding candles.
4) Candle painting (optional)
Candles can be colored to match the current bias.
Useful for scanning many charts quickly.
Disable if you prefer raw candles.
Alerts
Long state alert when price is above the baseline.
Short state alert when price is below the baseline.
Best used as a bias or regime notification, not a standalone entry trigger.
Where it fits in a workflow
This is a context layer, it pairs well with:
Market structure tools, BOS/MSB, OBs, FVGs.
Momentum triggers that need a regime filter.
Mean reversion tools that need “do not fade trends” context.
Limitations
No baseline eliminates chop whipsaws, tuning only manages the trade-off.
Settings should not be copy pasted across assets without checking behavior.
This does not forecast, it estimates and smooths state, then expresses it as a structural baseline.
Disclaimer
Educational and informational only, not financial advice.
Not a complete trading system.
If you use it in any trading workflow, do proper backtesting, forward testing, and risk management before any live execution.






















