QuantLabs Multi Asset Similarity Matrix [V3 Final]The Market is a graph. See the flows:
The QuantLabs MASM is not a standard correlation table. It is an Alpha-Grade Scanner architected to reveal the hidden "hydraulic" relationships between global macro assets in real-time.
Rebuilt from the ground up for Version 3, this engine pushes the absolute limits of the Pine Script™ runtime. It utilizes a proprietary Logarithmic Math Engine, Symmetric Compute Optimization, and a futuristic "Ghost Mode" interface to deliver a 15x15 real-time correlation matrix with zero lag.
Under the Hood: The Quant Architecture
We stripped away standard libraries to build a lean, high-performance engine designed for institutional-grade accuracy.
1. Alpha Math Engine (Logarithmic Returns) Most tools calculate correlation based on Price, which generates spurious signals (e.g., "Everything is correlated in a bull run").
The Solution: Our engine computes Logarithmic Returns (log(close /close )) by default. This measures the correlation of change (Velocity & Vector), not price levels.
The Result: A mathematically rigorous view of statistical relationships that filters out the noise of general market drift.
Dual-Core: Toggle seamlessly between "Alpha Mode" (Log Returns) for verified stats and "Visual Mode" (Price) for trend alignment.
Calculation Modes: Pearson (Standard), Euclidean (Distance), Cosine (Vector), Manhattan (Grid).
2. Symmetric Compute Optimization Calculating a 15x15 matrix requires evaluating 225 unique relationships per bar, which often crashes memory limits.
The Fix: The V3 Engine utilizes Symmetric Logic, recognizing that Correlation(A, B) == Correlation(B, A).
The Gain: By computing only the lower triangle of the matrix and mirroring pointers to the upper triangle, we reduced computational load by 50%, ensuring a lightning-fast data feed even on lower timeframes.
3. Context-Aware "Ghost Mode" The UI is designed for professional traders who need focus, not clutter.
Smart Detection: The matrix automatically detects your current chart's Ticker ID. If you are trading QQQ, the matrix will visually highlight the Nas100 row and column, making them opaque and bright while dimming the rest.
Dynamic Transparency: Irrelevant data ("Noise" < 0.3 correlation) fades into the background. Only significant "Alpha Signals" (> 0.7) glow with full Neon Saturation.
Key Features
Dominant Flow Scanner: The matrix scans all 105 unique pairs every tick and prints the #1 Strongest Correlation at the bottom of the pane (e.g., DOMINANT FLOW: Bitcoin ↔ Nas100 ).
Streak Counter: A "Stubbornness" metric that tracks how many consecutive days a strong correlation has persisted. Instantly identify if a move is a "flash event" or a "structural trend."
Neon Palette: Proprietary color mapping using Electric Blue (+1.0) for lockstep correlation and Deep Red (-1.0) for inverse hedging.
Usage Guide
Placement: Best viewed in a bottom pane (Footer).
Assets: Pre-loaded with the Essential 15 Macro Drivers (Indices, BTC, Gold, Oil, Rates, FX, Key Sectors). Fully editable via settings (Ticker|Name).
Reading the Grid:
🔵 Bright Blue: Assets moving in lockstep (Risk-On).
🔴 Bright Red: Assets moving perfectly opposite (Hedge/Risk-Off).
⚫ Faded/Black: No statistical relationship (Decoupled).
Key Improvements Made:
Formatting: Added clear bullet points and bolding to make it scannable.
Clarity: Clarified the "Logarithmic Returns" section to explain why it matters (Velocity vs. Price Levels).
Tone: Maintained the "high-tech/quant" vibe but removed slightly clunky phrases like "spurious signals" (unless you prefer that academic tone, in which case I left it in as it fits the persona).
Structure: Grouped the "Modes" under the Math Engine for better logic.
Created and designed with love by David James @QuantLabs : )
Indikator dan strategi
Monthly High/Low - [JTCAPITAL]Monthly High/Low Probability Table - is a modified way to use historical monthly high and low tracking combined with probabilistic analysis for bullish and bearish months to detect potential patterns in monthly price behavior.
The indicator works by calculating in the following steps:
Variable Declaration
Persistent variables ( var ) are used to store monthly highs, lows, open and close prices, and the days on which highs and lows occurred. Separate arrays track bullish and bearish month statistics for highs and lows ( highBull, lowBull, highBear, lowBear ). Counters ( bullCount, bearCount ) store the number of bullish and bearish months recorded.
New Month Detection
The script detects the start of a new month by comparing the current bar’s month to the previous bar’s month. If a new month is detected, the script proceeds to update statistics for the previous month.
Monthly High/Low Recording and Classification
At the start of each new month, the previous month’s high, low, open, and close are evaluated:
If monthClose > monthOpen , the month is classified as bullish.
If monthClose < monthOpen , the month is classified as bearish.
The arrays ( highBull, lowBull, highBear, lowBear ) are updated at the respective high and low days of the month by incrementing counts, which allows the script to keep track of the frequency of monthly highs and lows occurring on specific days.
Monthly High/Low Tracking
During the month, the script continuously updates monthHigh and monthLow if the current bar’s high exceeds monthHigh or the low is below monthLow . The days on which these highs and lows occur are recorded ( highDay and lowDay ). The monthClose variable is continuously updated to the latest closing price.
Probability Calculation
Once monthly data is accumulated, the script calculates probabilities for each day of the month:
bullHighProb and bullLowProb represent the probability (in percentage) that a bullish month’s high or low occurred on a given day.
bearHighProb and bearLowProb represent the probability for bearish months.
These probabilities are calculated by dividing the count of high or low occurrences on each day by the total number of bullish or bearish months, then multiplying by 100. This probabilistic approach allows traders to see recurring patterns for highs and lows across multiple months.
Gradient Coloring Function
The helper function gradientRelative computes a color gradient between lowColor and highColor based on the relative probability value. Higher probabilities are colored closer to highColor , and lower probabilities closer to lowColor . This visual representation allows for quick identification of the most probable days for highs and lows in bullish or bearish months.
Dynamic Updates
As new bars are processed, the table is updated in real-time with new probabilities reflecting the most recent month’s data. This dynamic behavior ensures that the table remains accurate and responsive to the latest market information.
Buy and Sell Conditions:
This indicator does not provide direct buy or sell signals. Instead, it provides probabilistic information about historical patterns for bullish and bearish months. Traders can use the table to:
Identify days in the month where highs or lows are statistically more likely to occur.
Combine with other trend-following or reversal strategies to optimize entry and exit points.
For example, if a trader notices that bullish month highs frequently occur around day 15, they may plan trades around that period when other indicators align.
Features and Parameters:
Dynamic Probability Table : Updates in real-time as new monthly data becomes available.
Historical Pattern Tracking : Maintains arrays for highs and lows in bullish and bearish months.
Gradient Visualization : Uses color interpolation to quickly highlight higher probability days.
Specifications:
Monthly High/Low Tracking
Tracks the highest and lowest prices within each month. This is the foundation of the probability calculations. It allows traders to understand when significant price events historically occur.
Bullish/Bearish Month Classification
Each month is classified based on the relationship between monthClose and monthOpen . This provides context for the high/low occurrences: whether they happened in bullish or bearish months.
High/Low Occurrence Arrays
Four arrays ( highBull, lowBull, highBear, lowBear ) store the count of high and low occurrences for each day of the month. These arrays are the core of the statistical analysis.
Probability Calculation
Divides the count of occurrences for each day by the total number of months in that category (bullish/bearish). Multiplying by 100 converts this to a percentage probability, giving traders a numerical sense of recurrence.
Real-Time Updates
The table and probabilities are recalculated and refreshed with each new bar. This ensures that traders have the most current information available without manual recalculation.
User-Centric Visualization
By showing probabilities for both bullish and bearish months separately, traders gain a deeper understanding of market tendencies and recurring monthly patterns, which can be leveraged for improved timing and strategy alignment.
Important:
There is a misalign in percentages due to not all months having the same amount of days.
BK AK-Zenith💥 Introducing BK AK-ZENITH — Adaptive Rhythm RSI for Peak/Valley Warfare 💥
This is not another generic RSI. This is ZENITH: it measures where momentum is on the scale, then tells you when it’s hitting extremes, when it’s turning, and when price is lying through its teeth with divergence.
At its core, ZENITH does one thing ruthlessly well:
it matches the oscillator’s period to the market’s current rhythm—adaptive when the market is fast, adaptive when the market is slow—so your signals stop being “late because the settings were wrong.”
🎖 Full Credit — Respect the Origin (AlgoAlpha)
The core RSI architecture in this form belongs to AlgoAlpha—one of the best introducers and coders on TradingView. They originated this adaptive/Rhythm-RSI framework and the way it’s presented and engineered.
BK AK-ZENITH is my enhancement layer on top of AlgoAlpha’s foundation.
I kept the spine intact, and I added tactical systems: clearer Peak/Valley warfare logic, pivot governance (anti-spam), divergence strike markers, momentum flip confirmation, and a war-room readout—so it trades like a weapon, not a toy.
Respect where it started: AlgoAlpha built the engine. I tuned it for battlefield use.
🧠 What Exactly is BK AK-ZENITH?
BK AK-ZENITH is an Adaptive Period RSI (or fixed if you choose), designed to read momentum like a range of intent rather than a single overbought/oversold gimmick.
Core Systems Inside ZENITH
✅ Adaptive Period RSI (Rhythm Engine)
Automatically adjusts its internal RSI length to match current market cadence.
(Optional fixed length mode if you want static.)
✅ Optional HMA Smoothing
Cleaner shape without turning it into a laggy moving average.
✅ Peak / Valley Zones (default 80/20)
Hard boundaries that define “true extremes” so you stop treating every wiggle like a signal.
✅ Pivot-Based BUY/SELL Triangles + Cooldown
Signals are governed by pivots and a cooldown so it doesn’t machine-gun trash.
✅ Momentum Flip Diamonds (◇)
Shows when the oscillator’s slope flips—clean confirmation for “engine change.”
✅ Divergence Lightning (⚡)
Exposes when price is performing confidence while momentum is quietly breaking.
✅ War-Room Table / Meter
Bias, zone, reading, and adaptive period printed so you don’t “interpret”—you execute.
✅ Alerts Suite
Pivots, divergences, zone entries—so the chart calls you, not your emotions.
🎯 How to use it (execution rules)
1) Zones = permission
Valley (≤ Valley level): demand territory. Stalk reversal structure; stop chasing breakdown candles.
Peak (≥ Peak level): supply territory. Harvest, tighten, stop adding risk at the top.
2) Pivot triangles = the shot clock
Your ▲/▼ signals are pivot-confirmed with a cooldown. That’s intentional.
This is designed to force patience and prevent overtrading.
3) Divergence = truth serum
When price makes the “confident” high/high or low/low but ZENITH disagrees, you’re seeing internal change before the crowd does.
Treat divergence as warning + timing context, not a gambling button.
4) Meter/Table = discipline
If you can’t summarize the state in one glance, you’ll overtrade. ZENITH prints the state so your brain stops inventing stories.
🔧 Settings that actually matter
Adaptive Period ON (default): the whole point of ZENITH
Peak/Valley levels: how strict extremes must be
Pivot strength + Cooldown: your anti-spam governor
Divergence pivot length: controls how “major” divergence must be
The “AK” in the name is an acknowledgment of my mentor A.K. His standards—patience, precision, clarity, emotional control—are why this tool is built with governors instead of hype.
And above all: all praise to Gd—the true source of wisdom, restraint, and right timing.
👑 King Solomon Lens — ZENITH Discernment
Solomon asked Gd for something most people never ask for: not wealth, not victory—discernment. The ability to separate what looks true from what is true.
That is exactly what momentum work is supposed to do.
1) Honest weights, honest measures.
In Solomon’s world, crooked scales were an abomination because they disguised reality. In trading, the crooked scale is your own excitement: you see one green candle and call it strength. ZENITH forces an honest measure—0 to 100—so you deal in degree, not drama. A Peak is not “bullish.” A Peak is “momentum priced in.” A Valley is not “bearish.” A Valley is “selling pressure reaching exhaustion.”
2) Wisdom adapts to seasons.
Solomon’s order wasn’t chaos—there was a time to build, a time to harvest, a time to wait. Markets have seasons too: trend seasons, chop seasons, compression seasons, expansion seasons. Fixed-length RSI pretends every season is the same. ZENITH does not. It listens for rhythm and adjusts its internal timing so your read stays relevant to today’s market tempo—not last month’s.
3) The sword test: revealing what’s hidden.
Solomon’s most famous judgment wasn’t about theatrics—it was about revealing the truth beneath appearances. Divergence is that same test in markets: price can perform strength while the engine quietly weakens, or perform weakness while momentum secretly repairs. The ⚡ is not a prophecy. It’s a revelation: “what you see on price is not the full story.”
That’s ZENITH discipline: measure → discern → execute.
And may Gd bless your judgment to act only when the measure is clean.
⚔️ Final
BK AK-ZENITH is a momentum fire-control system: adaptive rhythm + extreme zones + pivot timing + divergence truth.
Use it to stop feeling trades and start weighing them. Praise to Gd always. 🙏
BK AK-IED💥 Introducing BK AK-IED — Volatility Ignition / Expansion / Detonation 💥
A pressure-to-release weapon system for traders who want timing, not noise.
Markets don’t move clean because they “feel like it.” They load, they ignite, and then they detonate into expansion. BK AK-IED is built to expose that sequence in real time—so you stop trading randomness and start trading regime shifts.
⚔️ What BK AK-IED is
BK AK-IED is a 3-speed VWMA energy oscillator that blends price movement + volume into a single pressure readout:
Fast (5) = ignition energy (range-driven)
Medium (21) = core pressure engine
Slow (55) = structural volatility backdrop
It’s not a “direction oracle.” It’s an energy meter that tells you when the market is coiling, when it’s waking up, and when it’s breaking out with force.
🧠 Core Weapon Systems
✅ Dynamic Scaling
Keeps the oscillator readable across symbols (no ridiculous y-axis blowouts).
✅ Volatility State Bar (Bottom Strip) — Your War Room
🟨 CONTRACTION = VWMA convergence / coil / pressure loading
🟩 EXPANSION = energy spike begins
🟥 BREAKOUT = expansion without contraction (release phase)
⬜ NEUTRAL = dead zone, don’t force it
✅ Breakout Peak Icons (Crown markers)
Crowns print only when there’s true breakout energy and the move hits major peak territory versus recent extremes. Translation:
tighten risk, scale-out, stop getting greedy. These are exhaustion warnings—not automatic reversals.
Timeframe-adaptive peak filtering is built in:
< 1H: stricter peak requirement
≥ 1H: more realistic swing threshold
🧭 How to use it (execution, not opinions)
1) 🟨 Contraction = don’t bleed.
This is the chop factory. You wait. You map levels. You stalk.
2) 🟩 Expansion = prepare.
Start aligning with structure: trend framework, VWAP, key levels, HTF bias.
3) 🟥 Breakout = engage.
This is where moves pay. Trade the direction your structure supports and manage risk like a professional.
4) 👑 Peak during breakout = harvest / protect.
Scale. Tighten stops. Don’t turn winners into donations.
🧱 Inputs that matter (what you’re actually tuning)
Amplitude Multiplier = how aggressive the energy read is
VWMA Spread Contraction Threshold = how tight “coil” must be to count
Scale Lookback = how far back the dynamic scaling references
Peak Thresholds = how selective peaks are (auto-switches based on timeframe)
The “AK” in the name is an acknowledgment of my mentor A.K. His standards (patience, precision, clarity, and emotional control) are a major reason I build tools with structure instead of hype.
And above all: all praise to Gd — the true source of wisdom, restraint, and right timing.
👑 King Solomon Lens — ZENITH Discipline
Solomon didn’t build greatness by impulse. He built it by measure, order, and restraint.
When the Temple was built, the stones were prepared away from the site—so the structure went up with precision, not chaos. That is the market lesson: the decisive moment is loud, but the preparation is silent. If you only show up for the noise, you will always arrive late.
BK AK-IED is that Solomon blueprint on a chart:
🟨 Contraction is the quarry.
The market is cutting the stones in silence. This is where the undisciplined burn money “doing something.” The wise do the opposite: they reduce noise, define levels, and wait.
🟩 Expansion is the line being set.
Pressure starts to move. This is where you bring structure online—bias, levels, risk plan. Not excitement.
🟥 Breakout is the placement.
The stone drops into position. This is the only phase where aggression is righteous—because it’s backed by a real shift, not hope.
👑 Peak icons are ZENITH—crown-of-the-move logic.
Zenith is where force and momentum reach their highest point before decay begins. The crown is not “celebrate and add.” The crown is govern yourself: harvest, tighten, protect. Solomon’s edge wasn’t prediction—it was rule over the self. That’s what separates profit from punishment.
This is what wisdom looks like in trading: not guessing the future—governing your exposure when the present is telling you the truth. And may Gd bless your restraint as much as your entries, because restraint is where survival becomes power.
✅ Final
BK AK-IED is your volatility weapon for market warfare:
Load → Ignite → Detonate.
Use it with structure. Use it with discipline. And give praise to Gd for every protected loss, every clean entry, and every moment you didn’t force a trade. 🙏
First presented FVG (w/stats) w/statistical hourly ranges & biasOverview
This indicator identifies the first Fair Value Gap (FVG) that forms during each hourly session and provides comprehensive statistical analysis based on 12 years of historical NASDAQ (NQ) data. It combines price action analysis with probability-based statistics to help traders make informed decisions.
⚠️ IMPORTANT - Compatibility
Market: This indicator is designed exclusively for NASDAQ futures (NQ/MNQ)
Timeframe: Statistical data is based on FVGs formed on the 5-minute timeframe
FVG Detection: Works on any timeframe, but use 5-minute for accuracy matching the statistical analysis
All hardcoded statistics are derived from 12 years of NQ historical data
What It Does
1. FVG Detection & Visualization
Automatically detects the first FVG (bullish or bearish) that forms each hour
Draws colored boxes around FVGs:
Blue boxes = Bullish FVG (gap up)
Red boxes = Bearish FVG (gap down)
FVG boxes extend to the end of the hour
Optional midpoint lines show the center of each FVG
Uses volume imbalance logic (outside prints) to refine FVG boundaries
2. Hourly Reference Lines
Vertical Delimiter: Marks the start of each hour
Hourly Open Line: Shows where the current hour opened
Expected Range Lines: Projects the anticipated high/low based on historical data
Choose between Mean (average) or Median (middle value) statistics
Upper range line (teal/green)
Lower range line (red)
All lines span exactly one hour from the moment it opens
Optional labels show price values at line ends
3. Real-Time Statistics Table
The table displays live data for the current hour only:
Hour: Current hour in 12-hour format (AM/PM)
FVG Status: Shows if a Bull FVG, Bear FVG, or no FVG has formed yet
Green background = Bullish FVG detected
Red background = Bearish FVG detected
1st 15min: Direction of the first 15 minutes (Bullish/Bearish/Neutral/Pending)
Continuation %: Historical probability that the hour continues in the first 15-minute direction
Color-coded: Green for bullish, red for bearish
Avg Range %: Expected percentage range for the current hour (based on 12-year mean)
FVG Effect %: Historical probability that FVG direction predicts hourly close direction
Shows BISI→Bull % for bullish FVGs
Shows SIBI→Bear % for bearish FVGs
Blank if no FVG has formed yet
Time Left: Countdown timer showing MM:SS remaining in the hour (updates in real-time)
Hourly Bias: Historical directional tendency (bullish % or bearish %)
H Open: Current hour's opening price
Exp Range: Projected price range (Low - High) based on historical average
Customization Options
Detection Settings:
Lower Timeframe Selection (15S, 1min, 5min) - controls FVG detection granularity
Display Settings:
FVG box colors (bullish/bearish)
Midpoint lines (show/hide, color, style)
Table Settings:
Position (9 locations: corners, edges, center)
Text size (Tiny, Small, Normal, Large)
Hourly Lines:
Toggle each line type on/off
Hour delimiter (color, width)
Open line (color, width, style)
Range lines (color, width, style)
Choose Mean or Median statistics for range calculation
Show/hide labels with customizable text size
How to Use
Apply to NQ futures chart (NQ1! or MNQ1!)
Set chart to 5-minute timeframe for optimal FVG detection matching the statistical data
Watch for the first FVG to form each hour
Reference the table for probability-based decision support:
High continuation % = strong directional bias
FVG Effect % shows reliability of the FVG signal
Time Left helps manage entries/exits within the hour
Use range lines as potential targets or reversal zones
Statistical Foundation
All statistics are derived from:
12 years of NASDAQ (NQ) historical data
Hourly analysis of FVG formation patterns
First 15-minute directional analysis
Mean and Median calculations for range expectations
Data encompasses 2,400+ samples per hour
Best Practices
✅ Use on NQ/MNQ futures only
✅ Best on 5-minute charts (matches statistical data)
✅ Combine FVG signals with continuation probabilities
✅ Use range lines as potential profit targets
✅ Watch the countdown timer for hour-end setups
❌ Do not use on other markets (statistics won't apply)
❌ Avoid using during low-liquidity hours (5PM ET has minimal data)
Technical Notes
Timezone: America/New_York (EST/EDT)
Weekend filtering: Automatically hides data during market closure
Updates in real-time on live bars
Maximum 500 boxes/lines for performance
FVG detection includes volume imbalance (body gap) refinement
Credits
Statistical analysis based on 12 years of NASDAQ historical data. FVG detection methodology follows ICT concepts with volume imbalance refinement.
Disclaimer: This indicator provides statistical analysis based on historical data. Past performance does not guarantee future results. Always use proper risk management.
Would you like me to adjust any section or add/remove anything?6-9 Session & Levels - Customizable Range Analysis Indicator
Description:
This indicator provides comprehensive session-based range analysis designed for intraday traders. It calculates and displays key levels based on a customizable session period (default 6:00-9:00 AM ET).
Core Features:
Sespastedthis is a summary for another indicator- i was hoping for something more like this in terms of content etc22:23Architected comprehensive indicator summary matching professional documentation style.The user wants me to rewrite the summary for their FVG indicator in a similar style to the example provided. The example is more structured, detailed, and professional. Let me create a comprehensive summary that follows that format:
Clear title
Description/Overview
Core Features (broken down into sections)
Input Settings Explained (detailed breakdown of all customization options)
How It Works section
Use Case
Note/Disclaimer
Let me make it thorough and match the style while being accurate to their indicator's functionality.Here's a detailed summary in that format:
Every Hour 1st FVG with Statistical Analysis - NASDAQ Hourly Trading Intelligence
Description:
This indicator identifies the first Fair Value Gap (FVG) that forms during each hourly session and provides comprehensive probability-based statistical analysis derived from 12 years of NASDAQ (NQ) historical data. It combines real-time FVG detection with hardcoded statistical probabilities to help intraday traders make informed decisions based on historical patterns and hourly price action dynamics.
IMPORTANT: This indicator is specifically calibrated for NASDAQ futures (NQ/MNQ) only. All statistical data is derived from 12 years of NQ historical analysis with FVGs detected on the 5-minute timeframe. Using this indicator on other markets will produce invalid statistical results.
Core Features:
FVG Detection & Visualization
Automatically detects and displays the first Fair Value Gap (bullish or bearish) that forms within each hourly session
Color-coded boxes mark FVG zones: Blue for bullish FVGs (gap up), Red for bearish FVGs (gap down)
FVG boxes extend precisely to the end of the hour boundary
Optional midpoint lines show the center point of each FVG
Uses volume imbalance logic (outside prints) to refine FVG boundaries beyond simple wick-to-wick gaps
Supports both chart timeframe detection and lower timeframe detection via request.security_lower_tf
Hourly Reference Lines
Vertical Hour Delimiter: Marks the exact start of each new hour with an extendable vertical line
Hourly Open Line: Displays the opening price of the current hour
Expected Range Lines: Projects anticipated high and low levels based on 12 years of statistical data
Choose between Mean (average) or Median (middle value) calculations
Upper range line shows expected high
Lower range line shows expected low
All lines span exactly one hour from open to close
Optional labels display exact price values at the end of each line
Real-Time Statistics Table
Displays comprehensive live data for the current hour only:
Hour: Current hour in 12-hour format (e.g., "9AM", "2PM")
FVG Status: Shows detection state with color coding
"None Yet" (white background) - No FVG detected
"Bull FVG" (green background) - Bullish FVG identified
"Bear FVG" (red background) - Bearish FVG identified
1st 15min: Direction of first 15 minutes (Bullish/Bearish/Neutral/Pending)
Continuation %: Historical probability that the hour closes in the direction of the first 15 minutes
Green background with up arrow (↑) for bullish continuation probability
Red background with down arrow (↓) for bearish continuation probability
Avg Range %: Expected percentage range for the current hour based on 12-year mean
FVG Effect %: Historical effectiveness of FVG directional prediction
Shows "BISI→Bull %" for bullish FVGs (gap up predicting bullish hourly close)
Shows "SIBI→Bear %" for bearish FVGs (gap down predicting bearish hourly close)
Displays blank if no FVG has formed yet
Time Left: Real-time countdown timer showing minutes and seconds remaining in the hour (MM:SS format)
Hourly Bias: Historical directional tendency showing bullish or bearish percentage bias
H Open: Current hour's opening price
Exp Range: Projected price range showing "Low - High" based on selected statistic (mean or median)
Input Settings Explained:
Detection Settings
Lower Timeframe: Select the base timeframe for FVG detection
Options: 15S (15 seconds), 1 (1 minute), 5 (5 minutes)
Recommendation: Use 5-minute to match the statistical data sample
The indicator uses this timeframe to scan for FVG patterns even when viewing higher timeframes
Display Settings
Bullish FVG Color: Set the color and transparency for bullish (upward) FVG boxes
Bearish FVG Color: Set the color and transparency for bearish (downward) FVG boxes
Show Midpoint Lines: Toggle horizontal lines at the center of each FVG box
Midpoint Line Color: Customize the midpoint line color
Midpoint Line Style: Choose between Solid, Dotted, or Dashed line styles
Table Settings
Table Position: Choose from 9 locations:
Top: Left, Center, Right
Middle: Left, Center, Right
Bottom: Left, Center, Right
Table Text Size: Select from Tiny, Small, Normal, or Large for readability on different screen sizes
Hourly Lines Settings
Show Hourly Lines: Master toggle for all hourly reference lines
Show Hour Delimiter: Toggle the vertical line marking each hour's start
Delimiter Color: Customize color and transparency
Delimiter Width: Set line thickness (1-5)
Show Hourly Open: Toggle the horizontal line at the hour's opening price
Open Line Color: Customize color
Open Line Width: Set thickness (1-5)
Open Line Style: Choose Solid, Dashed, or Dotted
Show Range Lines: Toggle the expected high/low projection lines
Range Statistic: Choose "Mean" (12-year average) or "Median" (12-year middle value)
Range High Color: Customize upper range line color and transparency
Range Low Color: Customize lower range line color and transparency
Range Line Width: Set thickness (1-5)
Range Line Style: Choose Solid, Dashed, or Dotted
Show Line Labels: Toggle price labels at the end of all horizontal lines
Label Text Size: Choose Tiny, Small, or Normal
How It Works:
FVG Detection Logic:
The indicator scans price action on the selected lower timeframe (default: 1-minute) looking for Fair Value Gaps using a 3-candle pattern:
Bullish FVG: Formed when candle 's high is below candle 's low, creating an upward gap
Bearish FVG: Formed when candle 's low is above candle 's high, creating a downward gap
The detection is refined using volume imbalance logic by checking for body gaps (outside prints) on both sides of the middle candle. This narrows the FVG zone to areas where bodies don't touch, indicating stronger imbalances.
Only the first FVG that forms during each hour is displayed. If a bullish FVG forms first, it takes priority. The FVG box is drawn from the formation time through to the end of the hour.
Statistical Analysis:
All probability statistics are hardcoded from 12 years (2,400+ samples per hour) of NASDAQ futures analysis:
First 15-Minute Direction: At 15 minutes into each hour, the indicator determines if price closed above, below, or equal to the hour's opening price
Continuation Probability: Historical analysis shows the likelihood that the hour closes in the same direction as the first 15 minutes
Example: If 9AM's first 15 minutes are bullish, there's a 60.1% chance the entire 9AM hour closes bullish (lowest continuation hour)
4PM shows the highest continuation at 86.1% for bullish first 15 minutes
FVG Effectiveness: Tracks how often the first FVG's direction correctly predicts the hourly close direction
BISI (Bullish Imbalance/Sell-side Inefficiency) → Bullish close probability
SIBI (Bearish Imbalance/Buy-side Inefficiency) → Bearish close probability
Range Expectations: Mean and median values represent typical price movement percentage for each hour
9AM and 10AM show the largest ranges (~0.6%)
5PM shows minimal range (~0.06%) due to low liquidity
Hourly Reference Lines:
When each new hour begins:
Vertical delimiter marks the hour's start
Hourly open line plots at the first bar's opening price
Range projection lines calculate expected high/low:
Upper Range = Hourly Open + (Range% / 100 × Hourly Open)
Lower Range = Hourly Open - (Range% / 100 × Hourly Open)
Lines extend exactly to the hour's end time
Labels appear at line endpoints showing exact prices
Real-Time Updates:
FVG Status: Updates immediately when the first FVG forms
First 15min Direction: Locked in at the 15-minute mark
Countdown Timer: Uses timenow to update every second
Table Statistics: Refresh on every bar close
Timezone Handling:
All times are in America/New_York (Eastern Time)
Automatically filters weekend periods (Saturday and Sunday before 6PM)
Hour detection accounts for daylight saving time changes
Use Cases:
Intraday Trading Strategy Development:
FVG Entry Signals: Use the first hourly FVG as a directional bias
Bullish FVG + High continuation % = Strong long setup
Bearish FVG + High continuation % = Strong short setup
First 15-Minute Breakout: Combine first 15-min direction with continuation probabilities
Wait for first 15 minutes to complete
If continuation % is above 70%, trade in that direction
Example: 4PM bullish first 15 min = 86.1% chance hour closes bullish
Range Targeting: Use expected high/low lines as profit targets or reversal zones
Price approaching mean high = potential resistance
Price approaching mean low = potential support
Compare mean vs median for different risk tolerance (median is more conservative)
Hour Selection: Focus trading on hours with:
High FVG effectiveness (11AM: 81.5% BISI→Bull)
High continuation rates (4PM: 86.1% bull continuation)
Avoid low-continuation hours like 9AM (60.1%)
Time Management: Use the countdown timer to:
Enter early in the hour when FVG forms
Exit before hour-end if no follow-through
Avoid late-hour entries with <15 minutes remaining
Statistical Edge Identification:
Compare current hour's FVG against historical effectiveness
Identify when first 15-min direction contradicts FVG direction (conflict = caution)
Use hourly bias to confirm or contradict FVG signals
Monitor if price stays within expected range or breaks out (outlier moves)
Risk Management:
Expected range lines provide logical stop-loss placement
FVG Effect % helps size positions (higher % = larger position)
Time Left countdown aids in time-based stop management
Avoid trading hours with neutral bias or low continuation rates
Statistical Foundation:
All embedded statistics are derived from:
12 years of NASDAQ futures (NQ) continuous contract data
5-minute timeframe FVG detection methodology
24 hours per day analysis (excluding weekends)
2,400+ samples per hour for robust statistical validity
America/New_York timezone for session alignment
Data includes:
Hourly range analysis (mean, median, standard deviation)
First 15-minute directional analysis
FVG formation frequency and effectiveness
Continuation probability matrices
Bullish/bearish bias percentages
Best Practices:
✅ Do:
Use exclusively on NASDAQ futures (NQ1! or MNQ1!)
Apply on 5-minute charts for optimal FVG detection matching statistical samples
Wait for first 15 minutes to complete before acting on continuation probabilities
Combine FVG signals with continuation % and FVG Effect % for confluence
Use expected range lines as initial profit targets
Monitor the countdown timer for time-based trade management
Focus on hours with high statistical edges (4PM, 11AM, 10AM)
❌ Don't:
Use on other markets (ES, RTY, YM, stocks, forex, crypto) - statistics will be invalid
Rely solely on FVG without confirming with continuation probabilities
Trade during low-liquidity hours (5PM shows only 0.06% average range)
Ignore the first 15-minute direction when it conflicts with FVG direction
Apply to timeframes significantly different from 5-minute for FVG detection
Use median range expectations aggressively (they're conservative)
Technical Implementation Notes:
Timezone: Fixed to America/New_York with automatic DST adjustment
Weekend Filtering: Automatically hides data Saturday and Sunday before 6PM ET
Performance: Maximum 500 boxes and 500 lines for optimal chart rendering
Update Frequency: Table updates on every bar close; timer updates every second using timenow
FVG Priority: Bullish FVGs take precedence when both form simultaneously
Lower Timeframe Detection: Uses request.security_lower_tf for accurate sub-chart-timeframe FVG detection
Precision: All price labels use format.mintick for appropriate decimal precision
Big thanks to @Trades-Dont-Lie for the FPFVG code in his excellent indicator that I've used here
History Trading SessionsThis indicator helps visually structure the trading day by highlighting custom time zones on the chart.
It is designed for historical analysis, trading discipline, and clear separation between analysis time, active trading, and no-trade periods.
Recommended to use on 4h and below time frames.
Trading Volatility Clock⏰ TRADING VOLATILITY CLOCK - Know When the Action Happens (Anywhere in the World)
A real-time session tracker with multi-timezone support for active traders who need to know when US market volatility strikes - no matter where they are in the world. Perfect for day traders, scalpers, and anyone trading liquid US markets.
══════════════════════════════════════════════════════
📊 WHAT IT DOES
This indicator displays a live clock showing:
- Current time in YOUR selected timezone (10 major timezones supported)
- Active US market session with color-coded volatility levels
- Countdown timer showing time remaining in current session
- Preview of the next upcoming session
- Optional alerts when entering high-volatility periods
══════════════════════════════════════════════════════
🌍 MULTI-TIMEZONE SUPPORT
SESSIONS ALWAYS TRACK US MARKET HOURS (Eastern Time):
No matter which timezone you select, the sessions always trigger at the correct US market times. Perfect for international traders who want to:
• See their local time while tracking US market sessions
• Know exactly when US volatility hits in their timezone
• Plan their trading day around US market hours
SUPPORTED TIMEZONES:
• America/New_York (ET) - Eastern Time
• America/Chicago (CT) - Central Time
• America/Los_Angeles (PT) - Pacific Time
• Europe/London (GMT) - Greenwich Mean Time
• Europe/Berlin (CET) - Central European Time
• Asia/Tokyo (JST) - Japan Standard Time
• Asia/Shanghai (CST) - China Standard Time
• Asia/Hong_Kong (HKT) - Hong Kong Time
• Australia/Sydney (AEDT) - Australian Eastern Time
• UTC - Coordinated Universal Time
EXAMPLE: A trader in Tokyo selects "Asia/Tokyo"
• Clock shows: 11:30 PM JST
• Session shows: "Opening Drive" 🔥 HIGH
• They know: US market just opened (9:30 AM ET in New York)
══════════════════════════════════════════════════════
🎯 WHY IT'S USEFUL
Whether you trade futures, high-volume stocks, or ETFs, volatility isn't constant throughout the day. Knowing WHEN to expect movement is critical:
🔥 HIGH VOLATILITY (Red):
• Opening Drive (9:30-10:30 AM ET) - Highest volume of the day
• Power Hour (3:00-4:00 PM ET) - Second-highest volume, final push
⚡ MEDIUM VOLATILITY (Yellow):
• Pre-Market (8:00-9:30 AM ET) - Building momentum
• Lunch Return (1:00-2:00 PM ET) - Traders returning
• Afternoon Session (2:00-3:00 PM ET) - Trend continuation
• After Hours (4:00-5:00 PM ET) - News reactions
💤 LOW VOLATILITY (Gray):
• Overnight Grind (12:00-8:00 AM ET) - Thin volume
• Mid-Morning Chop (10:30-11:30 AM ET) - Ranges form
• Lunch Hour (11:30 AM-1:00 PM ET) - Dead zone
• Evening Fade (5:00-8:00 PM ET) - Volume dropping
══════════════════════════════════════════════════════
⚙️ CUSTOMIZATION OPTIONS
TIMEZONE SETTINGS:
• Select from 10 major timezones worldwide
• Clock automatically displays in your local time
• Sessions remain locked to US market hours
SESSION TIME CUSTOMIZATION:
• Every session boundary is adjustable (in minutes from midnight ET)
• Perfect for traders who define sessions differently
• Advanced users can create custom volatility schedules
DISPLAY OPTIONS:
• Toggle next session preview on/off
• Enable/disable high volatility alerts
• Clean, unobtrusive table display in top-right corner
══════════════════════════════════════════════════════
💡 HOW TO USE
1. Add indicator to any chart (works on all timeframes)
2. Select your timezone in Settings → Timezone Settings
3. Set your chart to 1-minute timeframe for real-time updates
4. Customize session times if needed (Settings → Session Time Customization)
5. Watch the top-right corner for live session tracking
TRADING APPLICATIONS:
• Avoid trading during dead zones (lunch hour, mid-morning chop)
• Increase position size during high volatility windows
• Set alerts for Opening Drive and Power Hour
• Plan your trading day around US market volatility schedule
• International traders can track US sessions in their local time
══════════════════════════════════════════════════════
🎓 EDUCATIONAL VALUE
This indicator teaches traders:
• Market microstructure and volume patterns
• Why certain times produce better opportunities
• How institutional flows create intraday patterns
• The importance of timing in active trading
• How to adapt US market trading to any timezone
══════════════════════════════════════════════════════
⚠️ IMPORTANT NOTES
- Works best on 1-minute charts for frequent updates
- Sessions are ALWAYS based on US Eastern Time (ET)
- Timezone selection only changes the clock display
- Clock updates when new bar closes (not tick-by-tick)
- Alerts trigger once per bar when enabled
- Perfect for international traders tracking US markets
══════════════════════════════════════════════════════
📈 BEST USED WITH
- High-volume US stocks: TSLA, NVDA, AAPL, AMD, META
- Major US ETFs: SPY, QQQ, IWM, DIA
- US Futures: ES, NQ, RTY, YM, MES, MNQ
- Any liquid US instrument with clear intraday volume patterns
══════════════════════════════════════════════════════
🌏 FOR INTERNATIONAL TRADERS
This tool is specifically designed for traders outside the US who need to:
• Track US market sessions in their local timezone
• Know when to be at their desk for US volatility
• Avoid waking up for low-volatility periods
• Maximize trading efficiency around US market hours
No more timezone confusion. No more missing the opening bell. Just set your timezone and trade with confidence.
══════════════════════════════════════════════════════
This is an open-source educational tool. Feel free to modify and adapt to your trading style!
Happy Trading! 🚀
MACD + Divergence Indicator [Dynamic Filter]Title: MACD + Divergence
Description: This is an enhanced momentum analysis suite based on the classic Moving Average Convergence Divergence (MACD). It addresses the common weakness of the standard MACD—false signals during low-volatility consolidation—by integrating a Dynamic Volatility Filter and a Multi-Timeframe (MTF) Dashboard.
The Problem It Solves: Standard MACD indicators often generate "whipsaw" crossovers when the market is ranging (moving sideways). Traders often struggle to identify these consolidation zones until it is too late. This script solves this by calculating a dynamic "Consolidation Zone" based on Standard Deviation, visually warning traders when momentum is too weak to be reliable.
Key Features:
1. Dynamic Consolidation Filter (The Grey Zone)
The script calculates Upper and Lower bands around the MACD line using Standard Deviation (Volatility).
Grey Fill: When the MACD line is inside the grey bands, the market is in a "Squeeze" or low-volatility consolidation. Crossovers in this zone are often lower probability.
Breakout: When the MACD line exits the bands, it indicates a volatility expansion and a potentially stronger trend.
2. Automated Divergence Detection
Automatically scans for both Regular (Reversal) and Hidden (Continuation) divergences between Price and Momentum.
Bullish: Marked with Green lines/labels.
Bearish: Marked with Red lines/labels.
Customization: You can choose to calculate divergence based on the MACD Line or the Histogram via settings.
3. Multi-Timeframe (MTF) Dashboard
A customizable information table (optional) displays the MACD state across 4 different timeframes (e.g., 15m, 1H, 4H, Daily).
It checks for Trend Alignment (e.g., are all timeframes Bullish?) to help you trade in the direction of the higher timeframes.
4. Enhanced Visuals
4-Color Histogram: Visualizes momentum growing (bright) vs. momentum fading (pale) for both bullish and bearish phases.
Line Highlights: The MACD and Signal lines are clearly distinct, with configurable smoothing options (EMA/SMA).
Settings Guide:
Consolidation Filter: Increase the Dynamic Filter Multiplier (Default: 0.5) to widen the grey zone if you want to filter out more noise.
Oscillator Source: Switch between "MACD Line" or "Histogram" for divergence detection depending on your strategy.
Table: You can toggle the dashboard on/off or change its position to fit your chart layout.
Credits: Base MACD logic derived from standard technical analysis concepts. Dynamic filtering logic adapted from volatility band theories.
EURUSD Pre-London Open Range MarkerEURUSD Pre-London Open Range Marker
This script marks the high and low formed in the pre-London open period on EURUSD, and extends those levels forward once London opens.
It is intended as a neutral reference tool for traders who pay attention to time-based structure around the London session.
What it does
Automatically tracks London time, including daylight-saving changes
Identifies the pre-London open range
Plots the high and low of that range
Extends those levels forward from the London open
Displays the range size (pips)
What it does not do
No trade signals
No alerts
No entries, stops, or targets
No performance claims
This script provides structure only. Interpretation and execution are left to the user.
Intended use
This tool is for traders who:
Trade EURUSD
Care about London session behaviour
Prefer simple, time-based reference levels over indicators
Scope and design
Hard-coded for EURUSD
Pre-London open window is fixed and not user-configurable
Built to prioritise consistency and repeatability over flexibility
Additional context
I use this pre-London range as part of a fully documented, rules-based EURUSD trading system focused on risk management and repeatable execution which I have traded for two years.
The strategy itself is not included here.
Disclaimer
This script is provided for educational and reference purposes only.
All trading involves risk. You are responsible for your own decisions.
One-line link
For those interested in how this range is used within a complete, rules-based EURUSD trading system, further documentation is available here:
BTC ETF Average Inflow Cost BasisConcept
Since the historic launch of Bitcoin Spot ETFs on January 11, 2024, institutional flows have become a major driver of price action. This indicator aims to visualize the aggregate Cost Basis (average entry price) of the major Bitcoin ETFs relative to the underlying asset.
It serves as an on-chain proxy for institutional positioning, helping traders identify critical support levels where ETF inflows have historically concentrated.
How it Works
The script aggregates daily volume data from the top Bitcoin ETFs (IBIT, FBTC, ARKB, GBTC, BITB) and compares it against the Bitcoin price (BTCUSDT).
ETF Cost Basis (Pink Line):
This is calculated as a Cumulative Volume-Weighted Average Price (VWAP), anchored specifically to the ETF launch date (Jan 11, 2024).
Formula: It accumulates (BTC Price * Total ETF Volume) and divides it by the Cumulative Total ETF Volume.
This creates a dynamic level representing the "breakeven" price for the aggregate volume traded through these funds.
True Market Mean (Gray Line):
This represents the simple cumulative average of the Bitcoin price since the ETF launch date. It acts as a neutral baseline for the post-ETF market era.
How to Use
Institutional Support: The Cost Basis line often acts as a strong dynamic support level during corrections. When price revisits this level, it suggests the market is returning to the average institutional entry price.
Trend Filter:
Price > Cost Basis: The market is in a net profit state relative to ETF flows (Bullish/Trend continuation).
Price < Cost Basis: The market is in a net loss state (Bearish/Capitulation risk).
Confluence: The intersection of the Cost Basis and the True Market Mean can signal pivotal moments of trend reset.
Features
Data Aggregation: Pulls data from 5 major ETFs via request.security without repainting (using closed bars).
Dashboard: Includes a table in the top-right corner displaying real-time values for Price, Cost Basis, and Market Mean.
Customization: You can toggle individual ETF Moving Averages in the settings (disabled by default due to price scale differences between BTC and ETF shares).
Disclaimer
This tool is for educational purposes only and attempts to estimate institutional cost basis using volume proxies. It does not represent financial advice.
Nifty Hierarchical Macro GuardOverview
The Nifty Hierarchical Macro Guard is a "Market Compass" indicator specifically designed for Indian equity traders. It locks its logic to the Nifty 50 Index (NSE:NIFTY) and applies a strict hierarchy of trend analysis. The goal is simple: prioritize the long-term trend (Monthly/Weekly) to decide if you should even be in the market, then use the short-term trend (Daily) for precise exit timing.
This script ensures you never ignore a macro "crash" signal while trying to trade minor daily fluctuations.
The Color Hierarchy (Priority Logic)
The indicator uses a "Top-Down" filter. Higher timeframe signals override lower timeframe signals:
Level 1: Monthly (Ultra-Macro) — Deep Maroon
Condition: Nifty 10 EMA is below the 20 EMA on the Monthly chart.
Action: This is the highest priority. The background will turn Deep Maroon, overriding all other colors. This is your "Forget Trading" signal. The long-term structural trend is broken.
Level 2: Weekly (Macro Warning) — Dark Red
Condition: Monthly is Bullish, but Nifty 10 EMA is below the 20 EMA on the Weekly chart.
Action: The background turns Dark Red. This indicates a significant macro correction. You should stay out of fresh positions and protect capital.
Level 3: Daily (Tactical) — Light Red / Light Green
Condition: Both Monthly and Weekly are Bullish (Green).
Action: The background will now react to the Daily 10/20 EMA cross.
Light Green: Nifty is healthy; safe for fresh positions.
Light Red: Tactical exit signal. Nifty is seeing short-term weakness; exit positions quickly.
Key Features
Symbol Locked: No matter what stock you are viewing (Reliance, HDFC, Midcaps), the background only reacts to NSE:NIFTY.
Clean Interface: No messy lines or labels on the price chart. The information is conveyed purely through background color shifts.
Customizable: Change the MA types (EMA/SMA) and lengths (e.g., 10/20 or 20/50) in the settings.
Macro Dashboard: A small, transparent table in the top-right corner displays exactly which timeframe is currently controlling the background color.
How to Use for Nifty Strategy
Stay Out: If the chart is Deep Maroon or Dark Red, do not look for "buying the dip." Wait for the macro health to return.
Take Exits: If the background is Light Green and suddenly turns Light Red, it means the Daily Daily 10/20 cross has happened. Exit your Nifty-sensitive positions immediately.
Quasimodo (QML) Pattern [Kodexius]Quasimodo (QML) Pattern is a market structure indicator that automatically detects Bullish and Bearish Quasimodo formations using confirmed swing pivots, then visualizes the full structure directly on the chart. The script focuses on the classic liquidity-grab narrative of the QML: a sweep beyond a prior swing (the Head) followed by a decisive market structure break (MSB), leaving behind a clearly defined reaction zone between the Left Shoulder and the Head.
Detection is built on pivot highs and lows, so patterns are evaluated only after swing points are validated. Once a valid 4 pivot sequence is identified, the indicator draws the pattern legs, highlights the internal triangle area to emphasize the grab, marks the MSB leg, and projects a QML zone that can be used as a potential area of interest for retests.
This tool is designed for traders who work with structure, liquidity concepts, and reversal/continuation triggers, and who want a clean, repeatable QML visualization without manually marking swings.
🔹 Features
🔸 Confirmed Pivot Based Structure Mapping
The script uses classic built-in pivot logic to detect swing highs and swing lows.
🔸 Automatic Bullish and Bearish QML Detection
The indicator evaluates the most recent 4 pivots and checks for a valid alternating sequence (High-Low-High-Low or Low-High-Low-High). When the sequence matches QML requirements, the script classifies the setup as bullish or bearish:
Bullish logic (structure reversal up):
- Left Shoulder is a pivot Low
- Head is a lower Low than the Left Shoulder (liquidity sweep)
- MSB pivot exceeds the Reaction pivot
Bearish logic (structure reversal down):
- Left Shoulder is a pivot High
- Head is a higher High than the Left Shoulder (liquidity sweep)
- MSB pivot breaks below the Reaction pivot
🔸 Full Pattern Visualization (Legs + Highlighted Core)
When a pattern triggers, the script draws:
Three main legs: Left Shoulder to Reaction, Reaction to Head, Head to MSB
A shaded triangular highlight over the internal structure to make the liquidity-grab shape easy to spot at a glance
🔸 QML Zone Projection
A QML Zone box is drawn using the price range defined between the Left Shoulder and the Head, then extended to the right to remain visible as price develops. This zone is intended to act as a practical reference area for potential retests and reaction planning after MSB confirmation.
🔸 MSB Emphasis
A dotted MSB line is drawn between the Reaction point and the MSB point to visually emphasize the confirmation leg that completes the pattern logic.
🔸 Clean Point Tagging and Directional Labeling
Key points are labeled directly on the chart:
- “LS” at the Left Shoulder
- “Head” at the sweep pivot
- “MSB” at the break pivot
A directional label (“Bullish QML” or “Bearish QML”) is also printed to quickly identify the detected bias.
🔸 Configurable Visual Style
All main visual components are user configurable:
- Bullish and bearish colors
- Line width
- Label size
🔸 Efficient Update Logic
Pattern checks are only performed when a new pivot is confirmed, avoiding unnecessary repeated calculations on every bar. The most recent pattern’s projected elements (zone and label positioning) are updated as new bars print to keep the latest setup readable.
🔹 Calculations
This section summarizes the core logic used for detection and plotting.
1. Pivot Detection (Swing Highs and Lows)
The script relies on confirmed pivots using the user inputs:
Left Bars: how many bars must exist to the left of the pivot
Right Bars: how many bars must exist to the right to confirm it
float ph = ta.pivothigh(leftLen, rightLen)
float pl = ta.pivotlow(leftLen, rightLen)
When a pivot is confirmed, its true bar index is the pivot bar, not the current bar, so the script stores:
bar_index
2. Pivot Storage and History Window
Each pivot is stored as a structured object containing:
- price
- index
- isHigh (true for pivot high, false for pivot low)
A rolling history is maintained (up to 50 pivots) to keep processing stable and memory usage controlled.
3. Sequence Validation (Alternation Check)
The pattern evaluation always uses the latest 4 pivots:
p0: Left Shoulder candidate
p1: Reaction candidate
p2: Head candidate
p3: MSB candidate
Before checking bullish/bearish rules, the script enforces alternating pivot types:
bool correctSequence =
(p0.isHigh != p1.isHigh) and
(p1.isHigh != p2.isHigh) and
(p2.isHigh != p3.isHigh)
This prevents invalid structures like consecutive highs or consecutive lows from being interpreted as QML.
4. Bullish QML Conditions
A bullish QML is evaluated when the Left Shoulder is a Low:
Head must be lower than Left Shoulder (sweep)
MSB must be higher than Reaction (break)
if not p0.isHigh
if p2.price < p0.price and p3.price > p1.price
// Bullish QML confirmed
Interpretation:
p2 < p0 represents the liquidity grab below the prior swing low
p3 > p1 represents the market structure break above the reaction high
5. Bearish QML Conditions
A bearish QML is evaluated when the Left Shoulder is a High:
Head must be higher than Left Shoulder (sweep)
MSB must be lower than Reaction (break)
if p0.isHigh
if p2.price > p0.price and p3.price < p1.price
// Bearish QML confirmed
Interpretation:
p2 > p0 represents the liquidity grab above the prior swing high
p3 < p1 represents the market structure break below the reaction low
6. Drawing Logic (Structure, Highlight, Zone, Labels)
When confirmed, the script draws:
Three connecting legs (LS to Reaction, Reaction to Head, Head to MSB)
A shaded triangle using a transparent “ghost” line to enable filling
A dotted MSB emphasis line between Reaction and MSB
A QML Zone box spanning the LS to Head price range and projecting to the right
Point labels: LS, Head, MSB
A direction label: “Bullish QML” or “Bearish QML”
7. Latest Pattern Extension
To keep the newest setup readable, the script updates the most recently detected pattern by extending its projected elements as new bars print:
QML zone right edge is pushed forward
The main label x position is pushed forward
This keeps the last identified QML zone visible as price evolves, without having to redraw historical patterns on every bar.
FVG Heatmap [Hash Capital Research]FVG Map
FVG Map is a visual Fair Value Gap (FVG) mapping tool built to make displacement imbalances easy to see and manage in real time. It detects 3-candle FVG zones, plots them as clean heatmap boxes, tracks partial mitigation (how much of the zone has been filled), and summarizes recent “fill speed” behavior in a small regime dashboard.
This is an indicator (not a strategy). It does not place trades and it does not publish performance claims. It is a market-structure visualization tool intended to support discretionary or systematic workflows.
What this script detects
Bullish FVG (gap below price)
A bullish FVG is detected when the candle from two bars ago has a high below the current candle’s low.
The zone spans from that prior high up to the current low.
Bearish FVG (gap above price)
A bearish FVG is detected when the candle from two bars ago has a low above the current candle’s high.
The zone spans from the current high up to that prior low.
What makes it useful
Heatmap zones (clean, readable FVG boxes)
Bullish zones plot below price. Bearish zones plot above price.
Partial fill tracking (mitigation progress)
As price trades back into a zone, the script visually shows how much of the zone has been filled.
Mitigation modes (your definition of “filled”)
• Full Fill: price fully trades through the zone
• 50% Fill: price reaches the midpoint of the zone
• First Touch: price touches the zone one time
Optional auto-cleanup
Optionally remove zones once they’re mitigated to keep the chart clean.
Fill-Speed Regime Dashboard
When zones get mitigated, the script records how many bars it took to fill and summarizes the recent environment:
• Average fill time
• Median fill time
• % fast fills vs % slow fills
• Regime label: choppy/mean-revert, trending/displacement, or mixed
How to use
Use FVG zones as structure, not guaranteed signals.
• Bullish zones are often watched as potential support on pullbacks.
• Bearish zones are often watched as potential resistance on rallies.
The fill-speed dashboard helps provide context: fast fills tend to appear in more rotational conditions, while slow fills tend to appear in stronger trend/displacement conditions.
Alerts
Bullish FVG Created
Bearish FVG Created
Notes
FVGs are not guaranteed reversal points. Fill-speed/regime is descriptive of recent behavior and should be treated as context, not prediction. On realtime candles, visuals may update as the bar forms.
Arbitrage Detector [LuxAlgo]The Arbitrage Detector unveils hidden spreads in the crypto and forex markets. It compares the same asset on the main crypto exchanges and forex brokers and displays both prices and volumes on a dashboard, as well as the maximum spread detected on a histogram divided by four user-selected percentiles. This allows traders to detect unusual, high, typical, or low spreads.
This highly customizable tool features automatic source selection (crypto or forex) based on the asset in the chart, as well as current and historical spread detection. It also features a dashboard with sortable columns and a historical histogram with percentiles and different smoothing options.
🔶 USAGE
Arbitrage is the practice of taking advantage of price differences for the same asset across different markets. Arbitrage traders look for these discrepancies to profit from buying where it’s cheaper and selling where it’s more expensive to capture the spread.
For begginers this tool is an easy way to understand how prices can vary between markets, helping you avoid trading at a disadvantage.
For advanced traders it is a fast tool to spot arbitrage opportunities or inefficiencies that can be exploited for profit.
Arbitrage opportunities are often short‑lived, but they can be highly profitable. By showing you where spreads exist, this tool helps traders:
Understand market inefficiencies
Avoid trading at unfavorable prices
Identify potential profit opportunities across exchanges
As we can see in the image, the tool consists of two main graphics: a dashboard on the main chart and a histogram in the pane below.
Both are useful for understanding the behavior of the same asset on different crypto exchanges or forex brokers.
The tool's main goal is to detect and categorize spread activity across the major crypto and forex sources. The comparison uses data from up to 19 crypto exchanges and 13 forex brokers.
🔹 Forex or Crypto
The tool selects the appropriate sources (crypto exchanges or forex brokers) based on the asset in the chart. Traders can choose which one to use.
The image shows the prices and volumes for Bitcoin and the euro across the main sources, sorted by descending average price over the last 20 days.
🔹 Dashboard
The dashboard displays a list of all sources with four main columns: last price, average price, volume, and total volume.
All four columns can be sorted in ascending or descending order, or left unsorted. A background gradient color is displayed for the sorted column.
Price and volume delta information between the chart asset and each exchange can be enabled or disabled from the settings panel.
🔹 Histogram
The histogram is excellent for visualizing historical values and comparing them with the asset price.
In this case, we have the Euro/U.S. Dollar daily chart. As we can see, the unusual spread activity detected since 2016, with values at or above 98%, is usually a good indication of increased trader activity, which may result in a key price area where the market could turn around.
By default, the histogram has the gradient and smoothing auto features enabled.
The differences are visible in the chart above. On top is an adaptive moving average with higher values for unusual activity. At the bottom is an exponential moving average with a length of 9.
The differences between the gradient and solid colors are evident. In the first case, the colors are in sync with the data values, becoming more yellow with higher values and more green with lower values. In the second case, the colors are solid and only distinguish data above or below the defined percentiles.
🔶 SETTINGS
Sources: Choose between crypto exchanges, forex brokers, or automatic selection based on the asset in the chart.
Average Length: Select the length for the price and volume averages.
🔹 Percentiles
Percentile Length: Select the length for the percentile calculation, or enable the use of the full dataset. Enabling this option may result in runtime errors due to exceeding the allotted resources.
Unusual % >: Select the unusual percentile.
High % >: Select the high percentile.
Typical % >: Select the typical percentile.
🔹 Dashboard
Dashboard: Enable or disable the dashboard.
Sorting: Select the sorting column and direction.
Position: Select the dashboard location.
Size: Select the dashboard size.
Price Delta: Show the price difference between each exchange and the asset on the chart.
Volume Delta: Show the volume difference between each exchange and the asset on the chart.
🔹 Style
Unusual: Enable the plot of the unusual percentile and select its color.
High: Enable the plot of the high percentile and select its color.
Typical: Enable the plot of the typical percentile and select its color.
Low: Select the color for the low percentile.
Percentiles Auto Color: Enable auto color for all plotted percentiles.
Histogram Gradient: Enable the gradient color for the histogram.
Histogram Smoothing: Select the length of the EMA smoothing for the histogram or enable the Auto feature. The Auto feature uses an adaptive moving average with the data percent rank as the efficiency ratio.
RSI Distribution [Kodexius]RSI Distribution is a statistics driven visualization companion for the classic RSI oscillator. In addition to plotting RSI itself, it continuously builds a rolling sample of recent RSI values and projects their distribution as a forward drawn histogram, so you can see where RSI has spent most of its time over the selected lookback window.
The indicator is designed to add context to oscillator readings. Instead of only treating RSI as a single point estimate that is either “high” or “low”, you can evaluate the current RSI level relative to its own recent history. This makes it easier to recognize when the market is operating inside a familiar regime, and when RSI is pushing into rarer tail conditions that tend to appear during momentum bursts, exhaustion, or volatility expansion.
To complement the histogram, the script can optionally overlay a Gaussian curve fitted to the sample mean and standard deviation. It also runs a Jarque Bera normality check, based on skewness and excess kurtosis, and surfaces the result both visually and in a compact dashboard. On the oscillator panel itself, RSI is presented with a clean gradient line and standard overbought and oversold references, with fills that become more visible when RSI meaningfully extends beyond key thresholds.
🔹 Features
1. Distribution Histogram of Recent RSI Values
The script stores the last N RSI values in an internal sample and uses that rolling window to compute a frequency distribution across a user selected number of bins. The histogram is drawn into the future by a configurable width in bars, which keeps it readable and prevents it from colliding with the active RSI plot. The result is a compact visual summary of where RSI clusters most often, whether it is spending more time near the center, or shifting toward higher or lower regimes.
2. Gaussian Overlay for Shape Intuition
If enabled, a fitted bell curve is drawn on top of the histogram using the sample mean and standard deviation. This overlay is not intended as a direct trading signal. Its purpose is to provide a fast visual comparator between the empirical RSI distribution and a theoretical normal shape. When the histogram diverges strongly from the curve, you can quickly spot skew, heavy tails, or regime changes that often occur when market structure or volatility conditions shift.
3. Jarque Bera Normality Check With Clear PASS/FAIL Feedback
The script computes skewness and excess kurtosis from the RSI sample, then forms the Jarque Bera statistic and compares it to a fixed 95% critical value. When the distribution is closer to normal under this test, the status is marked as PASS, otherwise it is marked as FAIL. This result is displayed in the dashboard and can also influence the histogram styling, giving immediate feedback about whether the recent RSI behavior resembles a bell shaped distribution or a more distorted, regime driven profile.
Jarque Bera is a goodness of fit test that evaluates whether a dataset looks consistent with a normal distribution by checking two shape properties: skewness (asymmetry) and kurtosis (tail heaviness, expressed here as excess kurtosis where a perfect normal has 0). Under the null hypothesis of normality, skewness should be near 0 and excess kurtosis should be near 0. The test combines deviations in both into a single statistic, which is then compared to a chi square threshold. A PASS in this script means the sample does not show strong evidence against normality at the chosen threshold, while a FAIL means the sample is meaningfully skewed, heavy tailed, or both. In practical trading terms, a FAIL often suggests RSI is behaving in a regime where extremes and asymmetry are more common, which is typical during strong trends, volatility expansions, or one sided market pressure. It is still a statistical diagnostic, not a prediction tool, and results can vary with lookback length and market conditions.
4. Integrated Stats Dashboard
A compact table in the top right summarizes key distribution moments and the normality result: Mean, StdDev, Skewness, Kurtosis, and the JB statistic with PASS/FAIL text. Skewness is color coded by sign to quickly distinguish right skew (more time at higher RSI) versus left skew (more time at lower RSI), which can be helpful when diagnosing trend bias and momentum persistence.
5. RSI Visual Quality and Context Zones
RSI is plotted with a gradient color scheme and standard overbought and oversold reference lines. The overbought and oversold areas are filled with a smart gradient so visual emphasis increases when RSI meaningfully extends beyond the 70 and 30 regions, improving readability without overwhelming the panel.
🔹 Calculations
This section summarizes the main calculations and transformations used internally.
1. RSI Series
RSI is computed from the selected source and length using the standard RSI function:
rsi_val = ta.rsi(rsi_src, rsi_len)
2. Rolling Sample Collection
A float array stores recent RSI values. Each bar appends the newest RSI, and if the array exceeds the configured lookback, the oldest value is removed. Conceptually:
rsi_history.push(rsi_val)
if rsi_history.size() > lookback
rsi_history.shift()
This maintains a fixed size window that represents the most recent RSI behavior.
3. Mean, Variance, and Standard Deviation
The script computes the sample mean across the array. Variance is computed as sample variance using (n - 1) in the denominator, and standard deviation is the square root of that variance. These values serve both the dashboard display and the Gaussian overlay parameters.
4. Skewness and Excess Kurtosis
Skewness is calculated from the standardized third central moment with a small sample correction. Kurtosis is computed as excess kurtosis (kurtosis minus 3), so the normal baseline is 0. These two metrics summarize asymmetry and tail heaviness, which are the core ingredients for the Jarque Bera statistic.
5. Jarque Bera Statistic and Decision Rule
Using skewness S and excess kurtosis K, the Jarque Bera statistic is computed as:
JB = (n / 6.0) * (S^2 + 0.25 * K^2)
Normality is flagged using a fixed critical value:
is_normal = JB < 5.991
This produces a simple PASS/FAIL classification suitable for fast chart interpretation.
6. Histogram Binning and Scaling
The RSI domain is treated as 0 to 100 and divided into a configurable number of bins. Bin size is:
bin_size = 100.0 / bins
Each RSI sample maps to a bin index via floor(rsi / bin_size), with clamping to ensure the index stays within valid bounds. The script counts occurrences per bin, tracks the maximum frequency, and normalizes each bar height by freq/max_freq so the histogram remains visually stable and comparable as the window updates.
7. Gaussian Curve Overlay (Optional)
The Gaussian overlay uses the normal probability density function with mu as the sample mean and sigma as the sample standard deviation:
normal_pdf(x) = (1 / (sigma * sqrt(2*pi))) * exp(-0.5 * ((x - mu)/sigma)^2)
For drawing, the script samples x across the histogram width, evaluates the PDF, and normalizes it relative to its peak so the curve fits within the same visual height scale as the histogram.
QUANT TRADING ENGINE [PointAlgo]Quant Trading Engine is a quantitative market-analysis indicator that combines multiple statistical factors to study trend behavior, mean reversion, volatility, execution efficiency, and market stability.
The indicator converts raw price behavior into standardized signals to help evaluate directional bias and risk conditions in a systematic way.
This script focuses on factor alignment and regime awareness, not prediction certainty.
Design Philosophy
Markets move through different regimes such as trending, ranging, volatile expansion, and instability.
This indicator attempts to model these regimes by blending:
Momentum strength
Mean-reversion pressure
Volatility risk
Trend filtering
Execution context (VWAP)
Correlation structure
Each component is normalized and combined into a single Quant Alpha framework.
Factor Construction
1. Momentum Factor
Measures directional strength using percentage price change over a rolling window.
Standardized using mean and standard deviation.
Represents trend continuation pressure.
2. Mean Reversion Factor
Measures deviation from a longer moving average.
Standardized to identify stretched conditions.
Designed to capture counter-trend behavior.
Directional Clamping
Mean-reversion signals are dynamically restricted:
No counter-trend buying during downtrends.
No counter-trend selling during uptrends.
Allows both sides only in neutral regimes.
This prevents conflicting signals in strong trends.
3. Volatility Factor
Uses realized volatility derived from price changes.
Penalizes environments where volatility deviates significantly from its norm.
Acts as a risk adjustment rather than a directional driver.
4. Composite Quant Alpha
The final Quant Alpha is a weighted blend of:
Momentum
Mean reversion (trend-clamped)
Volatility risk
The composite is standardized into a Z-score, allowing consistent interpretation across instruments and timeframes.
Signal Logic
Buy signal occurs when Quant Alpha crosses above zero.
Sell signal occurs when Quant Alpha crosses below zero.
Zero-cross logic is used to represent shifts from negative to positive statistical bias and vice versa.
Signals reflect statistical regime change, not trade instructions.
Volatility Smile Context
Measures price deviation from its statistical distribution.
Identifies skewed conditions where upside or downside volatility becomes dominant.
Highlights extreme deviations that may imply elevated derivative risk.
Exotic Risk Conditions
Detects sudden price expansion combined with volatility spikes.
Highlights environments where execution and risk become unstable.
Visual background cues are used for awareness only.
Execution Context (VWAP)
Measures price distance from VWAP.
Used to assess execution efficiency rather than direction.
Helps identify stretched conditions relative to average traded price.
Correlation Structure
Evaluates short-term return correlations.
Detects when price behavior becomes less predictable.
Flags structural instability rather than trend direction.
Visualization
The indicator plots:
Quant Alpha (scaled) with directional coloring
Volatility smile deviation
Price vs VWAP distance
Correlation structure
Signal markers indicate Quant Alpha zero-cross events and risk conditions.
Dashboard
A compact dashboard summarizes:
Trend filter state
Quant Alpha polarity and value
Individual factor readings
Current action state (Buy / Sell / Wait / Risk)
The dashboard provides a real-time snapshot of internal model conditions.
Usage Notes
Designed for analytical interpretation and research.
Best used alongside price action and risk management tools.
Factor behavior depends on instrument liquidity and volatility.
Not optimized for illiquid or irregular markets.
Disclaimer
This script is provided for educational and analytical purposes only.
It does not provide financial, investment, or trading advice.
All outputs should be independently validated before making any trading decisions.
Amihud Illiquidity Ratio [MarkitTick]💡This indicator implements the Amihud Illiquidity Ratio, a financial metric designed to measure the price impact of trading volume. It assesses the relationship between absolute price returns and the volume required to generate that return, providing traders with insight into the "stress" levels of the market liquidity.
Concept and Originality
Standard volume indicators often look at volume in isolation. This script differentiates itself by contextualizing volume against price movement. It answers the question: "How much did the price move per unit of volume?" Furthermore, unlike static indicators, this implementation utilizes dynamic percentile zones (Linear Interpolation) to adapt to the changing volatility profile of the specific asset you are viewing.
Methodology
The calculation proceeds in three distinct steps:
1. Daily Return: The script calculates the absolute percentage change of the closing price relative to the previous close.
2. Raw Ratio: The absolute return is divided by the volume. I have introduced a standard scaling factor (1,000,000) to the calculation. This resolves the issue of the values being astronomically small (displayed as roughly 0) without altering the fundamental logic of the Amihud ratio (Absolute Return / Volume).
- High Ratio: Indicates that price is moving significantly on low volume (Illiquid/Thin Order Book).
- Low Ratio: Indicates that price requires massive volume to move (Liquid/Deep Order Book).
3. Dynamic Regimes: The script calculates the 75th and 25th percentiles of the ratio over a lookback period. This creates adaptive bands that define "High Stress" and "Liquid" zones relative to recent history.
How to Use
Traders can use this tool to identify market fragility:
- High Stress Zone (Red Background): When the indicator crosses above the 75th percentile, the market is in a High Illiquidity Regime. Price is slipping easily. This is often observed during panic selling or volatile tops where the order book is thin.
- Liquid Zone (Green Background): When the indicator drops below the 25th percentile, the market is in a Liquid Regime. The market is absorbing volume well, which is often characteristic of stable trends or accumulation phases.
- Dashboard: A visual table on the chart displays the current Amihud Ratio and the active Market Regime (High Stress, Normal, or Liquid).
Inputs
- Calculation Period: The lookback length for the average illiquidity (Default: 20).
- Smoothing Period: The length of the additional moving average to smooth out noise (Default: 5).
- Show Quant Dashboard: Toggles the visibility of the on-screen information table.
● How to read this chart
• Spike in Illiquidity (Red Zones)
Price is moving on "thin air." Expect high volatility or potential reversals.
• Low Illiquidity (Green/Stable Zones)
The market is deep and liquid. Trends here are more sustainable and reliable.
• Divergence
Watch for price making new highs while liquidity is drying up—a classic sign of an exhausted trend.
Example:
● Chart Overview
The chart displays the Amihud Illiquidity indicator applied to a Gold (XAUUSD) 4-hour timeframe.
Top Pane: Price action with manual text annotations highlighting market reversals relative to liquidity zones.
Bottom Pane: The specific technical indicator defined in the logic. It features a Blue Line (Raw Illiquidity), a Red Line (Signal/Smoothed), and dynamic background coloring (Red and Green vertical strips).
● Deep Visual Analysis
• High Stress Regime (Red Zones)
Visual Event: In the bottom pane, the background periodically shifts to a translucent red.
Technical Logic: This event is triggered when the amihudAvg (the smoothed illiquidity ratio) exceeds the 75th percentile ( hZone ) of the lookback period.
Forensic Interpretation: The logic calculates the absolute price change relative to volume. A spike into the red zone indicates that price is moving significantly on relatively lower volume (high price impact). Visually, the chart shows these red zones aligning with local price peaks (volatility expansion), leading to the bearish reversal marked by the red box in the top pane.
• Liquid Regime (Green Zones)
Visual Event: The background shifts to a translucent green in the bottom pane.
Technical Logic: This triggers when the amihudAvg falls below the 25th percentile ( lZone ).
Forensic Interpretation: This state represents a period where large volumes are absorbed with minimal price impact (efficiency). On the chart, this green zone corresponds to the consolidation trough (green box, top pane), validating the annotated accumulation phase before the bullish breakout.
• Indicator Lines
Blue Line: This is the illiquidityRaw value. It represents the raw daily return divided by volume.
Red Line: This is the smoothedVal , a Simple Moving Average (SMA) of the raw data, used to filter out noise and define the trend of liquidity stress.
● Anomalies & Critical Data
• The Reversal Pivot
The transition from the "High Stress" (Red) background to the "Liquid" (Green) background serves as a visual proxy for market regime change. The chart shows that as the Red zones dissipate (volatility contraction), the market enters a Green zone (efficient liquidity), which acted as the precursor to the sustained upward trend on the right side of the chart.
● About Yakov Amihud
Yakov Amihud is a leading researcher in market liquidity and asset pricing.
• Brief Background
Professor of Finance, affiliated with New York University (NYU).
Specializes in market microstructure, liquidity, and quantitative finance.
His work has had a major impact on both academic research and practical investment models.
● The Amihud (2002) Paper
In 2002, he published his influential paper: “Illiquidity and Stock Returns: Cross-Section and Time-Series Effects” .
• Key Contributions
Introduced the Amihud Illiquidity Measure, a simple yet powerful proxy for market liquidity.
Demonstrated that less liquid stocks tend to earn higher expected returns as compensation for liquidity risk.
The measure became one of the most widely used liquidity metrics in finance research.
● Why It Matters in Practice
Used in quantitative trading models.
Applied in portfolio construction and risk management.
Helpful as a liquidity filter to avoid assets with excessive price impact.
In short: Yakov Amihud established a practical and robust link between liquidity and returns, making his 2002 work a cornerstone in modern financial economics.
Disclaimer: All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion.
Wide Bodied Bar (WBB) IdentifierThis script is inspired by Peter L.Brandt's Wide Bodied Bar/WBB. It uses ATR to detect the wide bodied bars. Peter prefered WBB's for his entries. I believe this bar made him feel that the breakout is real and will continue on the same direction as the breakout. Enjoy
Enhanced Swing Trading Confluence [Hidden Div Bonus + Dashboard]powerful swing trading indicator combining multiple confluence factors for high-probability setups.
This indicator identifies premium long and short opportunities by requiring alignment across:
• Trend direction (price above/below 200 EMA + optional 50/100/200 EMA stacking)
• RSI oversold/overbought conditions (with optional strict crossover requirement)
• MACD line/signal crossover
• Price touching Bollinger Band extremes
• Optional Bollinger Band squeeze (low volatility contraction)
• Optional volume spike confirmation
Features:
• Clean entry arrows for ready signals
• Real-time confluence dashboard showing which conditions are met
• Accurate regular RSI divergence detection (reversal signals)
• Hidden RSI divergence detection (trend continuation signals)
• Optional use of recent hidden divergence as a bonus confirmation filter
• Customizable inputs and alerts
Ideal for swing traders seeking multi-factor confirmation before entries. Works across all markets and timeframes. Alerts fire only when full confluence is achieved for disciplined, high-quality trade setups.
Ultimate Institutional Order Flow Pro [Pointalgo]Ultimate Institutional Order Flow (UIOF Pro)
Ultimate Institutional Order Flow (UIOF Pro) is a multi-component market analysis indicator designed to study order flow behavior, liquidity interaction, volatility structure, and session-based participation.
It integrates several commonly used market structure and order-flow concepts into a single visual framework.
This script focuses on context and alignment, not on isolated signals.
Core Objective
The indicator aims to identify areas where price, volume, liquidity, and structure appear aligned in the same direction.
It does this by combining:
VWAP behavior
Volume participation
Cumulative delta analysis
Liquidity pool interaction
Order blocks and fair value gaps
Market structure shifts
Session and higher-timeframe confirmation
VWAP & Volatility Framework
Calculates VWAP using session, weekly, or monthly anchors.
Optional VWAP standard-deviation bands visualize price dispersion.
VWAP slope and price position are used to classify directional bias.
VWAP is treated as a dynamic equilibrium reference rather than a signal.
Cumulative Volume Delta (CVD)
Estimates buy and sell pressure based on intrabar price movement.
Tracks cumulative delta and a smoothed delta average.
Uses delta change normalization to highlight abnormal activity.
Detects potential delta divergences when price and participation differ.
CVD is used to assess whether participation supports or contradicts price movement.
Liquidity Zones & Sweeps
Identifies recent swing highs and lows as potential liquidity pools.
Tracks buy-side and sell-side liquidity areas.
Flags conditions where price sweeps liquidity beyond recent extremes.
Liquidity interaction is treated as context, not prediction.
Order Blocks
1. Detects potential bullish and bearish order blocks using:
Candle structure
Volatility thresholds
Volume confirmation
2.Highlights areas where strong participation followed opposing price movement.
Order blocks are visual reference zones and do not imply guaranteed reactions.
Fair Value Gaps (FVG)
Identifies imbalance zones where price moves without overlapping structure.
Filters gaps using ATR-based size conditions.
Visual shading is used to highlight imbalance areas.
These zones may represent inefficient price movement requiring further interaction.
Volume Profile & Point of Control (POC)
Builds a simplified volume profile over a configurable lookback window.
Determines the price level with the highest traded volume (POC).
POC is used as a reference for acceptance or rejection behavior.
Market Structure
Evaluates recent highs and lows to identify structure breaks.
Classifies directional structure as bullish, bearish, or neutral.
Structure is used as a directional filter rather than a trigger.
Multi-Timeframe Confirmation
Optional higher-timeframe confirmation aligns lower-timeframe behavior with broader context.
Prevents analysis from relying on isolated timeframe conditions.
Session Filtering
1. Allows analysis to be limited to specific trading sessions.
2. Helps reduce signals during low-participation periods.
3. Session logic affects signal eligibility, not calculations.
Signal Logic
Signals are generated only when multiple independent conditions align, including:
Liquidity interaction
Order block presence
VWAP bias
Delta confirmation
Structure alignment
Volume participation
Optional higher-timeframe confirmation
Active trading session
Strong continuation conditions are also highlighted when price, volume, and participation remain aligned.
Signals represent confluence states, not trade instructions.
Dashboard Summary
A real-time dashboard summarizes:
VWAP bias and slope
CVD strength and direction
Delta behavior
Market structure state
Higher-timeframe context
Volume conditions
Liquidity pool counts
Session activity
This provides a high-level snapshot of market conditions without manual calculation.
Alerts are available for:
Institutional alignment conditions
Strong continuation pressure
Liquidity sweeps
Delta divergences
Alerts are informational and reflect internal indicator states only.
Usage Notes
Designed for analytical interpretation and market study.
Best used alongside price action and risk management methods.
Performance depends on instrument liquidity and volume quality.
All visual elements can be individually enabled or disabled.
Disclaimer
This script is provided for educational and analytical purposes only.
It does not provide financial, investment, or trading advice.
All outputs should be independently verified before making trading decisions.
Better VWAP (Current + Prev) Lines by D-conTired of the basic single VWAP? This indicator gives you multi-timeframe VWAPs (Yearly, Quarterly, Monthly, Weekly) with VAH/VAL bands for both current AND previous periods - all fully customizable with individual colors, styles, and label positioning.
Perfect for traders who need reference levels across different timeframes without cluttering their chart, with smart label management and historical data warnings.
Forked from Micha Stocks WatermarkShow Alternate data for selected symbol, ticker ID, MarkCap, SMA Below or Above Icon (red/green), ATR, Next Earning Days left, I added Float (Outstanding Number of Shares tradable)
FVG MTF Consensus OscillatorFVG MTF Consensus Oscillator
A multi-timeframe, multi-component oscillator that combines momentum, deviation, and slope analysis across multiple timeframes using Zeiierman's Chebyshev-filtered trend calculation. This indicator identifies potential turning points with zone-based signal classification and timeframe consensus filtering.
Backed by ML/Deep Learning evaluation on ES Futures data from 2015-2024.
🎯 Concept
Traditional oscillators suffer from two major weaknesses:
Single measurement - relying on one metric makes them susceptible to noise
Single timeframe - missing the bigger picture leads to fighting the trend
The FVG MTF Consensus Oscillator addresses both issues by combining three independent measurements across three timeframes into a weighted consensus signal.
The Three Components
Momentum - How fast is the trend moving?
Deviation - How far has price stretched from the trend?
Slope - What is the short-term directional bias?
The Three Timeframes
TF1 (Chart) - Your current chart timeframe (lowest weight)
TF2 (Medium) - Typically 1H or 4H (medium weight)
TF3 (High) - Typically 4H or Daily (highest weight)
By requiring agreement across multiple components AND multiple timeframes, the oscillator filters out noise while capturing meaningful, high-probability market movements.
🔧 How It Works
The Core: Chebyshev Type 1 Filter
At its heart, this indicator uses a Chebyshev Type 1 low-pass filter (inspired by Zeiierman's FVG Trend) to extract a clean trend line from price action. Unlike simple moving averages, the Chebyshev filter offers:
Sharper cutoff between trend and noise
Minimal lag for a given smoothness level
Controlled overshoot via the ripple parameter
Three Oscillator Components
1. Momentum Component
Momentum = Current Trend Value - Previous Trend Value
Measures the velocity of the trend. High positive values indicate strong upward acceleration, while high negative values show downward acceleration.
2. Deviation Component
Deviation = Close Price - Trend Value
Measures how far price has stretched away from the trend line. Useful for identifying overextended conditions and mean reversion opportunities.
3. Slope Component
Slope = Change in Trend over 3 bars
Captures the short-term directional bias of the trend itself, helping confirm trend changes.
Normalization & Component Consensus
Each component is individually normalized to a -100 to +100 scale using adaptive scaling. The oscillator output is a weighted average of all three components, allowing you to emphasize different aspects based on your trading style.
Multi-Timeframe Weighting
The final oscillator value combines all three timeframes using configurable weights:
Combined = (TF1 × Weight1 + TF2 × Weight2 + TF3 × Weight3) / Total Weight
Default weights (1, 2, 3) ensure higher timeframes have more influence, keeping you aligned with the dominant trend while timing entries on lower timeframes.
📊 Zone System
The oscillator uses a fuzzy zone system to classify market conditions:
ZoneRangeInterpretationSignal ColorNeutral-5 to +5No clear bias, avoid tradingGrayContinuation±5 to ±25Trend pullback, continuation setupsAquaDeep Swing±25 to ±50Extended move, stronger setupsGreenReversalBeyond ±50Extreme extension, reversal potentialOrange
When "Show Zone Background" is enabled, the background shading darkens as the oscillator moves into more extreme zones, providing instant visual feedback.
📈 Signal Interpretation
Turn Signals
The indicator plots triangular markers when the oscillator changes direction:
▲ Triangle Up (bottom): Oscillator turning up from a low
▼ Triangle Down (top): Oscillator turning down from a high
Signal Quality by Zone
Not all signals are equal. The signal color indicates which zone the turn occurred in:
ColorZoneProbabilityBest UseGrayNeutralLowAvoid or use very tight stopsAquaContinuationModerateTrend continuation entriesGreenDeep SwingHigherSwing trade entriesOrangeReversalHighestCounter-trend with caution
Timeframe Consensus Filter
Signals only fire when the required number of timeframes agree on direction. With default settings (TF Consensus = 2), at least 2 of 3 timeframes must be moving in the same direction for a signal to trigger.
This prevents:
Taking longs when higher timeframes are bearish
Taking shorts when higher timeframes are bullish
Whipsaws during timeframe disagreement
Trend Coloring
The combined oscillator line changes color based on trend direction:
Light purple (RGB 240, 174, 252): Majority of timeframes trending up
Dark purple (RGB 84, 19, 95): Majority of timeframes trending down
Info Table
When MTF is enabled, a table in the top-right corner displays:
Current oscillator values for each timeframe (TF1, TF2, TF3)
Combined value (CMB)
Color coding: Green = rising, Red = falling
⚙️ Settings Guide
Timeframe Settings
SettingDefaultDescriptionEnable Multi-TimeframeOnMaster switch for MTF functionalityTF1 (Chart)"" (current)First timeframe, typically your chart TFTF2 (Medium)60Second timeframe, typically 1HTF3 (High)240Third timeframe, typically 4HTF1/TF2/TF3 Weight1 / 2 / 3Influence of each TF on combined signal
Timeframe Tips:
Keep TF1 ≤ TF2 ≤ TF3 (ascending order)
For day trading: 5m / 15m / 1H
For swing trading: 1H / 4H / Daily
For position trading: 4H / Daily / Weekly
Display Settings
SettingDefaultDescriptionShow All TimeframesOffDisplay individual TF oscillator linesShow Combined LineOnDisplay the weighted combined oscillatorShow Zone BackgroundOffShade background based on current zone
Trend Filter Settings
SettingDefaultDescriptionTrend Ripple4.0Filter responsiveness (1-10). Higher = faster but more overshootTrend Cutoff0.1Cutoff frequency (0.01-0.5). Lower = smoother trendNormalization Length50Lookback for scaling. Longer = more stable
Component Weights
SettingDefaultDescriptionMomentum Weight1.0Emphasis on trend speedDeviation Weight1.0Emphasis on price stretch from trendSlope Weight1.0Emphasis on short-term trend direction
Component Tips:
For trend-following: Increase Momentum and Slope weights
For mean reversion: Increase Deviation weight
Set any weight to 0 to disable that component
Zone Thresholds
SettingDefaultDescriptionNeutral Zone5Inner boundary (±5 = neutral)Continuation Zone25Middle boundary for continuation setupsDeep Swing Zone50Outer boundary for reversal zone
Adjust based on instrument volatility. More volatile instruments may need wider zones.
Signal Filters
SettingDefaultDescriptionSignal Cooldown3Minimum bars between signalsMin Turn Size2.0Minimum oscillator change for valid turnTF Consensus Required2Minimum TFs agreeing for signal (1-3)
💡 Usage Examples
Example 1: Trend Continuation (Dip Buying)
Setup: Uptrend confirmed by higher timeframes
Check the info table - TF2 and TF3 should show green (rising)
Wait for TF1 to pull back, oscillator enters Continuation zone
Enter on Aqua ▲ signal (turn up with TF consensus)
Stop below recent swing low
Target: Previous high or next resistance
Why it works: You're buying a dip in an established uptrend with multi-timeframe confirmation.
Example 2: Deep Swing Entry
Setup: Extended move showing exhaustion
Oscillator reaches Deep Swing zone (±25 to ±50)
At least 2 TFs start showing the same direction
Enter on Green signal indicating momentum exhaustion
Use tighter stop as the move is already extended
Target: Return to Continuation zone or trend line
Why it works: Extended moves tend to mean-revert. The zone system identifies these opportunities.
Example 3: Reversal Setup (Advanced)
Setup: Extreme extension with diverging timeframes
Oscillator reaches Reversal zone (beyond ±50)
Watch for TF1 to turn while TF3 is still extended
Enter on Orange signal - this is counter-trend!
Use smaller position size and wider stops
Target: Return to Deep Swing or Continuation zone
Why it works: Extreme extensions eventually correct. The orange signal marks high-probability reversal points.
Example 4: Avoiding Bad Trades
What to avoid:
Gray signals in Neutral zone - No edge, random noise
Signals against TF3 direction - Fighting the dominant trend
Signals without TF consensus - Timeframe disagreement = choppy market
Multiple signals in quick succession - Let cooldown filter work
🔬 Multi-Timeframe Analysis Tips
Reading the Info Table
The info table shows real-time oscillator values:
| TF1 | TF2 | TF3 | CMB |
| 23.5 | 45.2 | 67.8 | 52.1 |
All green: Strong uptrend across all timeframes
All red: Strong downtrend across all timeframes
Mixed colors: Potential transition or consolidation
Timeframe Alignment States
TF1TF2TF3Interpretation↑↑↑Strong bull - look for long entries↓↓↓Strong bear - look for short entries↑↑↓Pullback in downtrend - caution on longs↓↓↑Pullback in uptrend - caution on shorts↑↓↑Choppy - reduce position size↓↑↓Choppy - reduce position size
The Power of Consensus
With TF Consensus = 2, signals only fire when 2+ timeframes agree. This single filter eliminates most whipsaws and keeps you aligned with the dominant trend.
For more conservative trading, set TF Consensus = 3 (all timeframes must agree).
⚠️ Important Notes
This indicator does not predict the future. It measures current market conditions and momentum across multiple timeframes.
Always use proper risk management. No indicator is 100% accurate.
Combine with price action. The oscillator works best when confirmed by support/resistance, candlestick patterns, or other confluence factors.
Respect the higher timeframe. When TF3 disagrees, trade smaller or sit out.
Zone signals are probabilistic. Orange (reversal) signals have higher probability but aren't guaranteed reversals.
Adjust settings per instrument. Default settings are optimized for ES Futures but may need tuning for other markets.
🧪 ML/Deep Learning Background
The default parameters and zone thresholds were evaluated using machine learning techniques on ES Futures data spanning 2015-2024. This included:
Optimization of component weights
Zone threshold calibration
Timeframe weight balancing
Signal filter tuning
While past performance doesn't guarantee future results, the parameters represent a data-driven starting point rather than arbitrary defaults.
🙏 Credits
This indicator is inspired by Zeiierman's Multitimeframe Fair Value Gap (FVG) indicator, specifically utilizing concepts from his Chebyshev Type 1 filter implementation for trend calculation.
Original indicator: Multitimeframe Fair Value Gap – FVG (Zeiierman)
📝 Changelog
v1.0
Initial release
Three-component consensus oscillator (Momentum, Deviation, Slope)
Multi-timeframe support with weighted combination
Fuzzy zone classification system
Configurable component and timeframe weights
TF consensus filter for signal quality
Signal cooldown and minimum turn size filters
Real-time info table with TF values
Optional zone background shading






















