Three-Bar Reversal/ContinuationThis indicator identifies a three-bar expansion pattern based on range and volume, designed to highlight moments when the market pushes strongly, pauses, and then resumes with confirmation.
Detection Logic
* Bar (two bars ago) must show sufficient strength, determined by the number of conditions met.
* Bar (one bar ago) must be neutral (strength = 0), marking a brief pause.
*Bar (current bar) must continue the expansion, with range and volume greater than the prior bar.
(Bar is used as a safeguard to prevent repeated detection during ongoing strong moves)
Strength Scoring
Each bar is scored 0–3 based on which of the following conditions it satisfies:
* Range exceeds a multiple of the recent average
* Volume exceeds a multiple of the recent average
* Range × volume exceeds a multiple of the recent average
The detection level input controls how many of these conditions must hold to classify a bar as “strong.” This allows tuning from permissive (1 condition) to strict (all 3 conditions).
Parameters & Utility
* length: Lookback period for moving averages of span, volume, and span×volume. Larger values smooth the averages, reducing false positives; smaller values increase sensitivity.
* coeff: Multiplicative threshold to define an unusually strong bar. Higher values reduce frequency but increase reliability.
* detectLevel: Minimum number of conditions that must be met for a bar to count as “strong.”
* showCont: Whether to allow continuation signals away from local extrema (if false, only reversals near highs/lows are considered).
* symbolUp / symbolDown: Customizable plotting symbols for bullish/bearish signals.
* showStrength: Plots tiny dots indicating the strength of each bar (1–3).
Rationale
This structure captures a recurring market motif: strong push → brief pause → renewed push, where the renewed activity is confirmed by both price expansion and volume. Using a combination of statistical thresholds (range, volume, range×volume) and price structure ensures that signals are both measurable and visually interpretable.
Usage Notes
* This setup allows traders to visually or systematically identify potential reversal or continuation points while controlling sensitivity to noise.
* Designed as a mechanical filter rather than a fully automated trading system. Signals highlight notable activity but do not dictate entry, exit, or risk management.
* Works best when combined with trend/context filters or higher-timeframe analysis.
* Adjust the parameters based on the volatility of the instrument and timeframe.
المؤشرات والاستراتيجيات
Top and Bottom Probability
The top and bottom probability oscillator is an educational indicator that estimates the probability of a local top or bottom using four ingredients:
price extension since the last RSI overbought/oversold,
time since that OB/OS event,
RSI divergence strength,
Directional Momentum Velocity (DMV) — a normalized, signed trend velocity.
It plots RSI, two probability histograms (Top %, Bottom %), and an optional 0–100 velocity gauge.
How to read it
RSI & Levels: Standard RSI with OB/OS lines (70/30 by default).
Prob Top (%): Red histogram, 0–100. Higher values suggest increasing risk of a local top after an RSI overbought anchor.
Prob Bottom (%): Green histogram, 0–100. Higher values suggest increasing chance of a local bottom after an RSI oversold anchor.
Velocity (0–100): Optional line. Above 50 = positive/upward DMV; below 50 = negative/downward DMV. DMV pushes Top risk when trending down and Bottom chance when trending up.
These are composite, scale-free scores, not certainties or trade signals.
What the probabilities consider
Price Delta: How far price has moved beyond the last OB (for tops) or below the last OS (for bottoms). More extension → higher probability.
Time Since OB/OS: Longer time since the anchor → higher probability (until capped by the “Time Normalization (bars)” input).
Oscillator Divergence: RSI pulling away from its last OB/OS reading in the opposite direction implies weakening momentum and increases probability.
Directional Momentum Velocity (DMV):
Computes a regression slope of hlc3 vs. bar index, normalized by ATR, then squashed with tanh.
Downward DMV boosts Top probability; upward DMV boosts Bottom probability.
Toggle the velocity plot and adjust its sensitivity with Velocity Lookback, ATR Length, and Velocity Gain.
All four terms are blended with user-set weights. If Normalize Weights is ON, weights are rescaled to sum to 1.
Inputs (most useful)
RSI Length / OB / OS: Core RSI setup.
Time Normalization (bars): Sets how quickly the “time since OB/OS” term ramps from 0→1.
Weights:
Price Delta, Time Since OB/OS, Osc Divergence, Directional Velocity.
Turn Normalize Weights ON to keep the blend consistent when you experiment.
Settings:
Velocity Lookback: Window for slope estimation (shorter = more reactive).
ATR Length: Normalizes slope so symbols/timeframes are comparable.
Velocity Gain: Steepens or softens the tanh curve (higher = punchier extremes).
Show Velocity (0–100): Toggles the DMV display.
Tip: If you prefer momentum measured on RSI rather than price, in the DMV block replace hlc3 with rsi (concept stays identical).
Practical tips
Use Top/Bottom % as context, not triggers. Combine with structure (S/R), trend filters, and risk management.
On strong trends, expect the opposite probability (e.g., Top % during an uptrend) to stay suppressed longer.
Calibrate weights: e.g., raise Osc Divergence on mean-reversion symbols; raise Velocity in trending markets.
For lower noise: lengthen Velocity Lookback and ATR Length, or reduce Velocity Gain.
FibADX MTF Dashboard — DMI/ADX with Fibonacci DominanceFibADX MTF Dashboard — DMI/ADX with Fibonacci Dominance (φ)
This indicator fuses classic DMI/ADX with the Fibonacci Golden Ratio to score directional dominance and trend tradability across multiple timeframes in one clean panel.
What’s unique
• Fibonacci dominance tiers:
• BULL / BEAR → one side slightly stronger
• STRONG when one DI ≥ 1.618× the other (φ)
• EXTREME when one DI ≥ 2.618× (φ²)
• Rounded dominance % in the +DI/−DI columns (e.g., STRONG BULL 72%).
• ADX column modes: show the value (with strength bar ▂▃▅… and slope ↗/↘) or a tier (Weak / Tradable / Strong / Extreme).
• Configurable intraday row (30m/1H/2H/4H) + D/W/M toggles.
• Threshold line: color & width; Extended (infinite both ways) or Not extended (historical plot).
• Theme presets (Dark / Light / High Contrast) or full custom colors.
• Optional panel shading when all selected TFs are strong (and optionally directionally aligned).
How to use
1. Choose an intraday TF (30/60/120/240). Enable D/W/M as needed.
2. Use ADX ≥ threshold (e.g., 21 / 34 / 55) to find tradable trends.
3. Read the +DI/−DI labels to confirm bias (BULL/BEAR) and conviction (STRONG/EXTREME).
4. Prefer multi-TF alignment (e.g., 4H & D & W all strong bull).
5. Treat EXTREME as a momentum regime—trail tighter and scale out into spikes.
Alerts
• All selected TFs: Strong BULL alignment
• All selected TFs: Strong BEAR alignment
Notes
• Smoothing selectable: RMA (Wilder) / EMA / SMA.
• Percentages are whole numbers (72%, not 72.18%).
• Shorttitle is FibADX to comply with TV’s 10-char limit.
Why We Use Fibonacci in FibADX
Traditional DMI/ADX indicators rely on fixed numeric thresholds (e.g., ADX > 20 = “tradable”), but they ignore the relationship between +DI and −DI, which is what really determines trend conviction.
FibADX improves on this by introducing the Fibonacci Golden Ratio (φ ≈ 1.618) to measure directional dominance and classify trend strength more intelligently.
⸻
1. Fibonacci as a Natural Strength Threshold
The golden ratio φ appears everywhere in nature, growth cycles, and fractals.
Since financial markets also behave fractally, Fibonacci levels reflect natural crowd behavior and trend acceleration points.
In FibADX:
• When one DI is slightly larger than the other → BULL or BEAR (mild advantage).
• When one DI is at least 1.618× the other → STRONG BULL or STRONG BEAR (trend conviction).
• When one DI is 2.618× or more → EXTREME BULL or EXTREME BEAR (high momentum regime).
This approach adds structure and consistency to trend classification.
⸻
2. Why 1.618 and 2.618 Instead of Random Numbers
Other traders might pick thresholds like 1.5 or 2.0, but φ has special mathematical properties:
• φ is the most irrational ratio, meaning proportions based on φ retain structure even when scaled.
• Using φ makes FibADX naturally adaptive to all timeframes and asset classes — stocks, crypto, forex, commodities.
⸻
3 . Trading Advantages
Using the Fibonacci Golden Ratio inside DMI/ADX has several benefits:
• Better trend filtering → Avoid false DI crossovers without conviction.
• Catch early momentum shifts → Spot when dominance ratios approach φ before ADX reacts.
• Consistency across markets → Because φ is scalable and fractal, it works everywhere.
⸻
4. How FibADX Uses This
FibADX combines:
• +DI vs −DI ratio → Measures directional dominance.
• φ thresholds (1.618, 2.618) → Classifies strength into BULL, STRONG, EXTREME.
• ADX threshold → Confirms whether the move is tradable or just noise.
• Multi-timeframe dashboard → Aligns bias across 4H, D, W, M.
⸻
Quick Blurb for TradingView
FibADX uses the Fibonacci Golden Ratio (φ ≈ 1.618) to classify trend strength.
Unlike classic DMI/ADX, FibADX measures how much one side dominates:
• φ (1.618) = STRONG trend conviction
• φ² (2.618) = EXTREME momentum regime
This creates an adaptive, fractal-aware framework that works across stocks, crypto, forex, and commodities.
⚠️ Disclaimer : This script is provided for educational purposes only.
It does not constitute financial advice.
Use at your own risk. Always do your own research before making trading decisions.
Created by @nomadhedge
POC Migration Velocity (POC-MV) [PhenLabs]📊POC Migration Velocity (POC-MV)
Version: PineScript™v6
📌Description
The POC Migration Velocity indicator revolutionizes market structure analysis by tracking the movement, speed, and acceleration of Point of Control (POC) levels in real-time. This tool combines sophisticated volume distribution estimation with velocity calculations to reveal hidden market dynamics that conventional indicators miss.
POC-MV provides traders with unprecedented insight into volume-based price movement patterns, enabling the early identification of continuation and exhaustion signals before they become apparent to the broader market. By measuring how quickly and consistently the POC migrates across price levels, traders gain early warning signals for significant market shifts and can position themselves advantageously.
The indicator employs advanced algorithms to estimate intra-bar volume distribution without requiring lower timeframe data, making it accessible across all chart timeframes while maintaining sophisticated analytical capabilities.
🚀Points of Innovation
Micro-POC calculation using advanced OHLC-based volume distribution estimation
Real-time velocity and acceleration tracking normalized by ATR for cross-market consistency
Persistence scoring system that quantifies directional consistency over multiple periods
Multi-signal detection combining continuation patterns, exhaustion signals, and gap alerts
Dynamic color-coded visualization system with intensity-based feedback
Comprehensive customization options for resolution, periods, and thresholds
🔧Core Components
POC Calculation Engine: Estimates volume distribution within each bar using configurable price bands and sophisticated weighting algorithms
Velocity Measurement System: Tracks the rate of POC movement over customizable lookback periods with ATR normalization
Acceleration Calculator: Measures the rate of change of velocity to identify momentum shifts in POC migration
Persistence Analyzer: Quantifies how consistently POC moves in the same direction using exponential weighting
Signal Detection Framework: Combines trend analysis, velocity thresholds, and persistence requirements for signal generation
Visual Rendering System: Provides dynamic color-coded lines and heat ribbons based on velocity and price-POC relationships
🔥Key Features
Real-time POC calculation with 10-100 configurable price bands for optimal precision
Velocity tracking with customizable lookback periods from 5 to 50 bars
Acceleration measurement for detecting momentum changes in POC movement
Persistence scoring to validate signal strength and filter false signals
Dynamic visual feedback with blue/orange color scheme indicating bullish/bearish conditions
Comprehensive alert system for continuation patterns, exhaustion signals, and POC gaps
Adjustable information table displaying real-time metrics and current signals
Heat ribbon visualization showing price-POC relationship intensity
Multiple threshold settings for customizing signal sensitivity
Export capability for use with separate panel indicators
🎨Visualization
POC Connecting Lines: Color-coded lines showing POC levels with intensity based on velocity magnitude
Heat Ribbon: Dynamic colored ribbon around price showing POC-price basis intensity
Signal Markers: Clear exhaustion top/bottom signals with labeled shapes
Information Table: Real-time display of POC value, velocity, acceleration, basis, persistence, and current signal status
Color Gradients: Blue gradients for bullish conditions, orange gradients for bearish conditions
📖Usage Guidelines
POC Calculation Settings
POC Resolution (Price Bands): Default 20, Range 10-100. Controls the number of price bands used to estimate volume distribution within each bar
Volume Weight Factor: Default 0.7, Range 0.1-1.0. Adjusts the influence of volume in POC calculation
POC Smoothing: Default 3, Range 1-10. EMA smoothing period applied to the calculated POC to reduce noise
Velocity Settings
Velocity Lookback Period: Default 14, Range 5-50. Number of bars used to calculate POC velocity
Acceleration Period: Default 7, Range 3-20. Period for calculating POC acceleration
Velocity Significance Threshold: Default 0.5, Range 0.1-2.0. Minimum normalized velocity for continuation signals
Persistence Settings
Persistence Lookback: Default 5, Range 3-20. Number of bars examined for persistence score calculation
Persistence Threshold: Default 0.7, Range 0.5-1.0. Minimum persistence score required for continuation signals
Visual Settings
Show POC Connecting Lines: Toggle display of colored lines connecting POC levels
Show Heat Ribbon: Toggle display of colored ribbon showing POC-price relationship
Ribbon Transparency: Default 70, Range 0-100. Controls transparency level of heat ribbon
Alert Settings
Enable Continuation Alerts: Toggle alerts for continuation pattern detection
Enable Exhaustion Alerts: Toggle alerts for exhaustion pattern detection
Enable POC Gap Alerts: Toggle alerts for significant POC gaps
Gap Threshold: Default 2.0 ATR, Range 0.5-5.0. Minimum gap size to trigger alerts
✅Best Use Cases
Identifying trend continuation opportunities when POC velocity aligns with price direction
Spotting potential reversal points through exhaustion pattern detection
Confirming breakout validity by monitoring POC gap behavior
Adding volume-based context to traditional technical analysis
Managing position sizing based on POC-price basis strength
⚠️Limitations
POC calculations are estimations based on OHLC data, not true tick-by-tick volume distribution
Effectiveness may vary in low-volume or highly volatile market conditions
Requires complementary analysis tools for complete trading decisions
Signal frequency may be lower in ranging markets compared to trending conditions
Performance optimization needed for very short timeframes below 1-minute
💡What Makes This Unique
Advanced Estimation Algorithm: Sophisticated method for calculating POC without requiring lower timeframe data
Velocity-Based Analysis: Focus on POC movement dynamics rather than static levels
Comprehensive Signal Framework: Integration of continuation, exhaustion, and gap detection in one indicator
Dynamic Visual Feedback: Intensity-based color coding that adapts to market conditions
Persistence Validation: Unique scoring system to filter signals based on directional consistency
🔬How It Works
Volume Distribution Estimation:
Divides each bar into configurable price bands for volume analysis
Applies sophisticated weighting based on OHLC relationships and proximity to close
Identifies the price level with maximum estimated volume as the POC
Velocity and Acceleration Calculation:
Measures POC rate of change over specified lookback periods
Normalizes values using ATR for consistent cross-market performance
Calculates acceleration as the rate of change of velocity
Signal Generation Process:
Combines trend direction analysis using EMA crossovers
Applies velocity and persistence thresholds to filter signals
Generates continuation, exhaustion, and gap alerts based on specific criteria
💡Note:
This indicator provides estimated POC calculations based on available OHLC data and should be used in conjunction with other analysis methods. The velocity-based approach offers unique insights into market structure dynamics but requires proper risk management and complementary analysis for optimal trading decisions.
jsonbuilderLibrary "jsonbuilder"
JsonBuilder for easiest way to generate json string
JSONBuilder(pairs)
Create JSONBuilder instance
Parameters:
pairs (array) : Pairs list, not required for users
method addField(this, key, value, kind)
Add Json Object
Namespace types: _JSONBuilder
Parameters:
this (_JSONBuilder)
key (string) : Field key
value (string) : Field value
kind (series Kind) : Kind value
method execute(this)
Create json string
Namespace types: _JSONBuilder
Parameters:
this (_JSONBuilder)
method addArray(this, key, value)
Add Json Array
Namespace types: _JSONBuilder
Parameters:
this (_JSONBuilder)
key (string) : Field key
value (array<_JSONBuilder>) : Object value array
method addObject(this, key, value)
Add Json Object
Namespace types: _JSONBuilder
Parameters:
this (_JSONBuilder)
key (string) : Field key
value (_JSONBuilder) : Object value
_JSONBuilder
JSONBuilder type
Fields:
pairs (array) : Pairs data
Ultra Volume DetectorNative Volume — Auto Levels + Ultra Label
What it does
This indicator classifies volume bars into four categories — Low, Medium, High, and Ultra — using rolling percentile thresholds. Instead of fixed cutoffs, it adapts dynamically to recent market activity, making it useful across different symbols and timeframes. Ultra-high volume bars are highlighted with labels showing compacted values (K/M/B/T) and the appropriate unit (shares, contracts, ticks, etc.).
Core Logic
Dynamic thresholds: Calculates percentile levels (e.g., 50th, 80th, 98th) over a user-defined window of bars.
Categorization: Bars are colored by category (Low/Med/High/Ultra).
Ultra labeling: Only Ultra bars are labeled, preventing chart clutter.
Optional MA: A moving average of raw volume can be plotted for context.
Alerts: Supports both alert condition for Ultra events and dynamic alert() messages that include the actual volume value at bar close.
How to use
Adjust window size: Larger windows (e.g., 200+) provide stable thresholds; smaller windows react more quickly.
Set percentiles: Typical defaults are 50 for Medium, 80 for High, and 98 for Ultra. Lower the Ultra percentile to see more frequent signals, or raise it to isolate only extreme events.
Read chart signals:
Bar colors show the category.
Labels appear only on Ultra bars.
Alerts can be set up for automatic notification when Ultra volume occurs.
Why it’s unique
Adaptive: Uses rolling statistics, not static thresholds.
Cross-asset ready: Adjusts units automatically depending on instrument type.
Efficient visualization: Focuses labels only on the most significant events, reducing noise.
⚠️ Disclaimer: This tool is for educational and analytical purposes only. It does not provide financial advice. Always test and manage risk before trading live
Machine Learning-Inspired Supply & Demand Zones [AlgoPoint]This indicator is a Smart Supply & Demand Zone tool, developed with principles inspired by Machine Learning (ML). It intelligently filters out market noise, allowing you to focus only on the most significant zones where institutional order flow is likely present.
💡 How It Works: Why Is This Indicator "Smart"?
Unlike traditional indicators that only measure simple price movements, this script uses an algorithm that asks the same critical questions an experienced market analyst would to qualify a zone:
- 1. Price Imbalance: How fast and aggressively did the price leave the zone? Our algorithm measures the body size of the "departure candle" relative to the current market volatility (ATR). A zone is only considered if it was formed by an explosive move that is statistically significant, indicating a major imbalance between buyers and sellers.
- 2. Volume Confirmation: Did the "smart money" participate in this move? The script checks if the volume on the departure candle was significantly higher than the recent average volume. A spike in volume confirms that the move was backed by institutional interest, adding strength and validity to the zone.
- 3. Valid Pivot Structure: Did the zone originate from a meaningful swing high or low? The algorithm first identifies a valid pivot structure, ensuring that zones are not drawn from insignificant or random price fluctuations.
Only when a potential zone passes these three critical tests—our "quality filter"—is it drawn on your chart.
🚀 Features & How to Use
Using the indicator is straightforward. You will see two primary types of boxes on your chart:
* 🟥 Red Box (Supply Zone): An area of potential resistance where selling pressure is likely to be strong. Look for potential shorting opportunities as the price approaches this zone.
* 🟩 Green Box (Demand Zone): An area of potential support where buying pressure is likely to be strong. Look for potential long opportunities as the price pulls back into this zone.
Dynamic Zone Management
This indicator is not static; it lives and breathes with the market:
- Fresh Zone: A newly formed zone appears in its full, vibrant color. These are the highest-probability zones as they have not yet been re-tested.
- Broken / Flipped Zone: You have full control over what happens when a zone is broken! In the settings, you can choose:
- Delete Zone: The zone will be removed completely when the price closes through it.
- Show as Broken (Flip): When broken, the zone will turn gray, stop extending, and remain on your chart. This is extremely useful for identifying Support/Resistance Flips, where a broken demand zone becomes new resistance, or a broken supply zone becomes new support.
⚙️ Settings & Customization
Fine-tune the indicator to match your personal trading style via the settings menu:
- Breakout Behavior: The most powerful feature. Choose between Delete Zone and Show as Broken (Flip) to customize your chart.
- Zone Finding Logic: Control the indicator's sensitivity.
- Selective: Requires both strong imbalance and high volume. Finds fewer, but higher-quality, zones.
- Moderate: Requires either strong imbalance or high volume. Finds more potential zones.
- Sensitivity Settings: Adjust the ATR Multiplier and Volume Multiplier to make the criteria for a "strong" zone stricter or looser.
BE-Fib Channel 2 Sided Trading█ Overview:
"BE-Fib Channel 2 Sided Trading" indicator is built with the thought of 2 profound setups named "Cup & Handle (C&H)" and "Fibonacci Channel Trading (FCT)" with the context of "day trading" or with a minimum holding period.
█ Similarities, Day Trading Context & Error Patterns:
While the known fact is that both C&H and FCT provide setups with lesser risk with bigger returns, they both share the similar "Base Pattern".
Note: Inverse of the above Image shall switch the setups between long vs short.
Since the indicator is designed for smaller time-frame candles, there may be instances where the "base pattern" does not visually resemble a Cup & Handle (C&H) pattern. However, patterns are validated using pivot points. The points labeled "A" and "C" can be equal or slightly slanted. Settings of the Indicator allows traders a flexibility to control the angle of these points to spot the strategies according to set conditions. Therefore, understanding the nuances of these patterns is crucial for effective decision-making.
█ 2 Sided Edge: FCT suggests to take trade closer to the yellow line to get better RR ratio. this leaves a small chance of doubt as to; what if price is intended to break the Yellow line thereby activating the C&H.
Wait for the confirmation is a Big FOMO with a compromised RR.
Hence, This indicator is designed to handle both the patterns based on the strength, FIFO and pattern occurring delay.
█ How to Use this Indicator:
Step 1: Enable the Show Sample Sensitivity option to understand the angle of yellow line shown in the sample image. By enabling this option, On the last bar you shall see 4 lines being plotted depicting the max angle which is acceptable for both long and short trades.
Note: Angle can be controlled via setting "Sensitivity".
Higher Sensitivity --> Higher Setup identification --> can lead to failed setups due to 2 sided trading.
Lower Sensitivity --> Lower Setup identification --> can increase the changes of being right.
Step 2: Adjust the look back & look forward periods which shall be used for identifying patterns.
Note: Smaller values can lead to more setups being identified but can hamper the performance of the indicator while increasing the chances of failures. larger values identifies more significant setup but leads to more waiting period thereby compromising on the RR.
Step 3: Adjust the Base Range.
Note: Smaller values can lead to more setups being identified but can hamper the performance of the indicator while increasing the chances of failures. larger values identifies more significant setup but leads to more Risk on play.
Step 4: set the Entry level for FCT & Set the SL for Both FCT & C&H and Target Reward ratio for C&H.
█ Features of Indicator & How it works:
1. Patterns are being identified using Pivot Points method.
2. Tracks & validates both the setups simultaneously on every candle and traded one at a time based on FIFO, New setups found in-between, Defined Entry Levels while on wait for the other pattern to get activated.
3. Alerts added for trade events.
4. FCT setups are generally traded with trailed SL level and increasing Target level on every completed bar. while C&H has the standard SL & TP level with no Trail SL option.
DISCLAIMER: No sharing, copying, reselling, modifying, or any other forms of use are authorized for our documents, script / strategy, and the information published with them. This informational planning script / strategy is strictly for individual use and educational purposes only. This is not financial or investment advice. Investments are always made at your own risk and are based on your personal judgement. I am not responsible for any losses you may incur. Please invest wisely.
Happy to receive suggestions and feedback in order to improve the performance of the indicator better.
ATR% | Volatility NormalizerThis indicator measures true volatility by expressing the Average True Range (ATR) as a percentage of price. Unlike basic ATR plots, which show raw values, this version normalizes volatility to make it directly comparable across instruments and timeframes.
How it works:
Uses True Range (High–Low plus gaps) to capture actual market movement.
Normalizes by dividing ATR by the chosen price base (default: Close).
Multiplies by 100 to output a clean ATR% line.
Smoothing is flexible: choose from RMA, SMA, EMA, or WMA.
Optional Feature:
For comparison, you can toggle an auxiliary line showing the average absolute close-to-close % move, highlighting the difference between simplified and true volatility.
Why use it:
Track regime shifts: identify when volatility expands or contracts in % terms.
Compare volatility across different markets (equities, crypto, forex, commodities).
Integrate into risk management: position sizing, stop placement, or volatility filters for entries.
Interpretation:
Rising ATR% → expanding volatility, potential breakouts or unstable ranges.
Falling ATR% → contracting volatility, possible consolidation or range-bound conditions.
Sudden spikes → market “shocks” worth paying attention to.
EMA/VWAP SuiteEMA/VWAP Suite
Overview
The EMA/VWAP Suite is a versatile and customizable Pine Script indicator designed for traders who want to combine Exponential Moving Averages (EMAs) and Volume Weighted Average Prices (VWAPs) in a single, powerful tool. It overlays up to eight EMAs and six VWAPs (three anchored, three rolling) on the chart, each with percentage difference labels to show how far the current price is from these key levels. This indicator is perfect for technical analysis, supporting strategies like trend following, mean reversion, and VWAP-based trading.
By default, the indicator displays eight EMAs and a session-anchored VWAP (AVWAP 1, in fuchsia) with their respective percentage difference labels, keeping the chart clean yet informative. Other VWAPs and their bands are disabled by default but can be enabled and customized as needed. The suite is designed to minimize clutter while providing maximum flexibility for traders.
Features
- Eight Customizable EMAs: Plot up to eight EMAs with user-defined lengths (default: 3, 9, 19, 38, 50, 65, 100, 200), each with a unique color for easy identification.
- EMA Percentage Difference Labels: Show the percentage difference between the current price and each EMA, displayed only for visible EMAs when enabled.
- Three Anchored VWAPs: Plot VWAPs anchored to the start of a session, week, or month, with customizable source, offset, and band multipliers. AVWAP 1 (session-anchored, fuchsia) is enabled by default.
- Three Rolling VWAPs: Plot VWAPs calculated over fixed periods (default: 20, 50, 100), with customizable source, offset, and band multipliers.
- VWAP Bands: Optional upper and lower bands for each VWAP, based on standard deviation with user-defined multipliers.
- VWAP Percentage Difference Labels: Display the percentage difference between the current price and each VWAP, shown only for visible VWAPs. Enabled by default to show the AVWAP 1 label.
- Customizable Colors: Each VWAP has a user-defined color via input settings, with labels matching the VWAP line colors (e.g., AVWAP 1 defaults to fuchsia).
Flexible Display Options: Toggle individual EMAs, VWAPs, bands, and labels on or off to reduce chart clutter.
Settings
The indicator is organized into intuitive setting groups:
EMA Settings
Show EMA 1–8 : Toggle each EMA on or off (default: all enabled).
EMA 1–8 Length : Set the period for each EMA (default: 3, 9, 19, 38, 50, 65, 100, 200).
Show EMA % Difference Labels : Enable/disable percentage difference labels for all EMAs (default: enabled).
EMA Label Font Size (8–20) : Adjust the font size for EMA labels (default: 10, mapped to “tiny”).
Anchored VWAP 1–3 Settings
Show AVWAP 1–3 : Toggle each anchored VWAP on or off (default: AVWAP 1 enabled, others disabled).
AVWAP 1–3 Color : Set the color for each VWAP line and its label (default: fuchsia for AVWAP 1, purple for AVWAP 2, teal for AVWAP 3).
AVWAP 1–3 Anchor : Choose the anchor period (“Session,” “Week,” “Month”; default: Session for AVWAP 1, Week for AVWAP 2, Month for AVWAP 3).
AVWAP 1–3 Source : Select the price source (default: hlc3).
AVWAP 1–3 Offset : Set the horizontal offset for the VWAP line (default: 0).
Show AVWAP 1–3 Bands : Toggle upper/lower bands (default: disabled).
AVWAP 1–3 Band Multiplier : Adjust the standard deviation multiplier for bands (default: 1.0).
Rolling VWAP 1–3 Settings
Show RVWAP 1–3 : Toggle each rolling VWAP on or off (default: disabled).
RVWAP 1–3 Color : Set the color for each VWAP line and its label (default: navy for RVWAP 1, maroon for RVWAP 2, fuchsia for RVWAP 3).
RVWAP 1–3 Period Length : Set the period for the rolling VWAP (default: 20, 50, 100).
RVWAP 1–3 Source : Select the price source (default: hlc3).
RVWAP 1–3 Offset : Set the horizontal offset (default: 0).
Show RVWAP 1–3 Bands : Toggle upper/lower bands (default: disabled).
RVWAP 1–3 Band Multiplier : Adjust the standard deviation multiplier for bands (default: 1.0).
VWAP Label Settings
Show VWAP % Difference Labels : Enable/disable percentage difference labels for all VWAPs (default: enabled, showing AVWAP 1 label).
VWAP Label Font Size (8–20) : Adjust the font size for VWAP labels (default: 10, mapped to “tiny”).
How It Works
EMAs : Calculated using ta.ema(close, length) for each user-defined period. Percentage differences are computed as ((close - ema) / close) * 100 and displayed as labels for visible EMAs when show_ema_labels is enabled.
Anchored VWAPs : Calculated using ta.vwap(source, anchor, 1), where the anchor is determined by the selected timeframe (Session, Week, or Month). Bands are computed using the standard deviation from ta.vwap.
Rolling VWAPs : Calculated using ta.vwap(source, length), with bands based on ta.stdev(source, length).
Labels : Updated on each new bar (ta.barssince(ta.change(time) != 0) == 0) to show percentage differences. Labels are only displayed for visible EMAs/VWAPs to avoid clutter.
Color Matching: VWAP labels use the same color as their corresponding VWAP lines, set via input settings (e.g., avwap1_color for AVWAP 1).
Example Use Cases
- Trend Following: Use longer EMAs (e.g., 100, 200) to identify trends and shorter EMAs (e.g., 3, 9) for entry/exit signals.
- Mean Reversion: Monitor percentage difference labels to spot overbought/oversold conditions relative to EMAs or VWAPs.
- VWAP Trading: Use the default session-anchored AVWAP 1 for intraday trading, adding weekly/monthly VWAPs or rolling VWAPs for broader context.
- Intraday Analysis: Leverage the session-anchored AVWAP 1 (enabled by default) for day trading, with bands as support/resistance zones.
BTC/USD 3-Min Binary Prediction [v7.2 EN]BTC/USD 3-Minute Binary Prediction Indicator v7.2 - Complete Guide
Overview
This is an advanced technical analysis indicator designed for Bitcoin/USD binary options trading with 3-minute expiration times. The system aims for an 83% win rate by combining multiple analysis layers and pattern recognition.
How It Works
Core Prediction Logic
- Timeframe: Predicts whether BTC price will be ±$25 higher (HIGH) or lower (LOW) after 3 minutes
- Entry Signals: Generates HIGH/LOW signals when confidence exceeds threshold (default 75%)
- Verification: Automatically tracks and displays win/loss statistics in real-time
5-Layer Filter System
The indicator uses a sophisticated scoring system (0-100 points):
1. Trend Filter (25 points) - Analyzes EMA alignments and price momentum
2. Leading Indicators (25 points) - RSI and MACD divergence analysis
3. Volume Confirmation (20 points) - Detects unusual volume patterns
4. Support/Resistance (15 points) - Identifies key price levels
5. Momentum Alignment (15 points) - Measures acceleration and deceleration
Pattern Recognition
Automatically detects and visualizes:
- Double Tops/Bottoms - Reversal patterns
- Triangles - Ascending, descending, symmetrical
- Channels - Trending price channels
- Candlestick Patterns - Engulfing, hammer, hanging man
Multi-Timeframe Analysis
- Uses 1-minute and 5-minute data for confirmation
- Aligns multiple timeframes for higher probability trades
- Monitors trend consistency across timeframes
Key Features
Display Panels
1. Statistics Panel (Top Right)
- Overall win rate percentage
- Hourly performance (wins/losses)
- Daily performance
- Current system status
2. Analysis Panel (Left Side)
- Market trend analysis
- RSI status (overbought/oversold)
- Volume conditions
- Filter scores for each component
- Final HIGH/LOW/WAIT decision
Visual Signals
- Green Triangle (↑) = HIGH prediction
- Red Triangle (↓) = LOW prediction
- Yellow Background = Entry opportunity
- Blue Background = Waiting for result
Configuration Options
Basic Settings
- Range Width: Target price movement (default $50 = ±$25)
- Min Confidence: Minimum confidence to enter (default 75%)
- Max Daily Trades: Risk management limit (default 5)
Filters (Can be toggled on/off)
- Trend Filter
- Volume Confirmation
- Support/Resistance Filter
- Momentum Alignment
Display Options
- Show/hide signals, statistics, analysis
- Minimal Mode for cleaner charts
- EMA line visibility
Important Risk Warnings
Binary Options Trading Risks:
1. High Risk Product - Binary options are extremely risky and banned in many countries
2. Not Investment Advice - This tool is for educational/analytical purposes only
3. No Guaranteed Returns - Past performance doesn't predict future results
4. Capital at Risk - You can lose your entire investment in seconds
Technical Limitations:
- Requires stable internet connection
- Performance varies with market conditions
- High volatility can reduce accuracy
- Not suitable for news events or low liquidity periods
Best Practices
1. Paper Trade First - Test thoroughly on demo accounts
2. Risk Management - Never risk more than 1-2% per trade
3. Market Conditions - Works best in normal volatility conditions
4. Avoid Major Events - Don't trade during major news releases
5. Monitor Performance - Track your actual results vs displayed statistics
Setup Instructions
1. Add to TradingView chart (BTC/USD preferred)
2. Use 30-second or 1-minute chart timeframe
3. Adjust settings based on your risk tolerance
4. Monitor F-Score (should be >65 for entries)
5. Wait for clear HIGH/LOW signals with high confidence
Alert Configuration
The indicator provides three alert types:
- HIGH Signal alerts
- LOW Signal alerts
- General entry opportunity alerts
Legal Disclaimer
Binary options trading may not be legal in your jurisdiction. Many countries including the USA, Canada, and EU nations have restrictions or outright bans on binary options. Always check local regulations and consult with financial advisors before trading.
Remember: This is a technical analysis tool, not a money-printing machine. Successful trading requires discipline, risk management, and continuous learning. The displayed statistics are historical and don't guarantee future performance.
News Volatility Bracketing StrategyThis is a news-volatility bracketing strategy. Five seconds before a scheduled release, the strategy brackets price with a buy-stop above and a sell-stop below (OCO), then converts the untouched side into nothing while the filled side runs with a 1:1 TP/SL set the same distance from entry. Distances are configurable in USD or %, so it scales to the instrument and can run on 1-second data (or higher TF with bar-magnifier). The edge it’s trying to capture is the immediate, one-directional burst and liquidity vacuum that often follows market-moving news—entering on momentum rather than predicting direction. Primary risks are slippage/spread widening and whipsaws right after the print, which can trigger an entry then snap back to the stop.
Volatility % Bands (O→C)Volatility % Bands (O→C) is an indicator designed to visualize the percentage change from Open to Close of each candle, providing a clear view of short-term momentum and volatility.
**Histogram**: Displays bar-by-bar % change (Close vs Open). Green bars indicate positive changes, while red bars indicate negative ones, making momentum shifts easy to identify.
**Moving Average Line**: Plots the Simple Moving Average (SMA) of the absolute % change, helping traders track the average volatility over a chosen period.
**Background Bands**: Based on the user-defined Level Step, ±1 to ±5 zones are highlighted as shaded bands, allowing quick recognition of whether volatility is low, moderate, or extreme.
**Label**: Shows the latest candle’s % change and the current SMA value as a floating label on the right, making it convenient for real-time monitoring.
This tool can be useful for volatility breakout strategies, day trading, and short-term momentum analysis.
Ranges by TraderHaroThis indicator highlights a custom price range for a selected date/time period on your chart. It draws key levels (0.00, 0.25, 0.50, 0.75, 1.00) within the range, visually marking the Premium Zone (upper range) and Discount Zone (lower range).
Features:
- Define a specific date/time range for the analysis.
- Optional fill between top and bottom levels with customizable color and transparency.
- Shows mid-levels (0.25, 0.50, 0.75) for additional guidance.
- Lines and fill can be extended to the right side of the chart.
- Labels for levels can be displayed or hidden.
Use Case:
Quickly identify where price is trading relative to a defined range, visualize potential zones of premium (resistance) and discount (support), and make better-informed trading decisions.
Benchmark Relative Performance BRPBenchmark Relative Performance (BRP) is a comprehensive technical analysis tool that compares any stock's performance against a chosen benchmark (QQQ, SPY, IWM, etc.) to identify outperformance and underperformance patterns.
Key Features:
Dual-line visualization: Shows both ticker and relative strength performance
Dynamic color coding: 5-level color system indicating performance strength
Customizable benchmark: Choose from any ticker via TradingView's symbol picker
Volume weighting: Optional volume analysis for stronger signal confirmation
Performance zones: Visual thresholds for strong/moderate performance levels
Compact info table: Real-time performance status and values
What It Shows:
Benchmark Performance Line (Blue): Shows your chosen benchmark's percentage performance
Relative Strength Line (Color-coded): Shows how much the ticker outperforms/underperforms
Fill Area: Visual gap between ticker and benchmark performance
Performance Zones: Dotted lines marking significant performance thresholds
Color System:
Green: Strong outperformance (above custom threshold)
Lime: Standard outperformance
Yellow: Neutral/Equal performance
Orange: Standard underperformance
Red: Strong underperformance (below custom threshold)
Best Used For:
Stock selection and rotation strategies
Sector/ETF relative strength analysis
Identifying momentum shifts vs benchmarks
Portfolio performance evaluation
Market timing based on relative performance
Settings:
Customizable lookback period (default: 20)
Adjustable strong performance threshold (default: 5%)
Optional volume weighting factor
Full table customization (position, colors, fonts)
Performance display (percentage or decimal)
Perfect for traders and investors who want to identify stocks showing relative strength or weakness compared to major market benchmarks.
BTC Power-Law Decay Channel Oscillator (0–100)🟠 BTC Power-Law Decay Channel Oscillator (0–100)
This indicator calculates Bitcoin’s position inside its long-term power-law decay channel and normalizes it into an easy-to-read 0–100 oscillator.
🔎 Concept
Bitcoin’s long-term price trajectory can be modeled by a log-log power-law channel.
A baseline is fitted, then an upper band (excess/euphoria) and a lower band (capitulation/fear).
The oscillator shows where the current price sits between those bands:
0 = near the lower band (historical bottoms)
100 = near the upper band (historical tops)
📊 How to Read
Oscillator > 80 → euphoric excess, often cycle tops
Oscillator < 20 → capitulation, often cycle bottoms
Works best on weekly or bi-weekly timeframes.
⚙️ Adjustable Parameters
Anchor date: starting point for the power-law fit (default: 2011).
Smoothing days: moving average applied to log-price (default: 365 days).
Upper / Lower multipliers: scale the bands to align with historical highs and lows.
✅ Best Use
Combine with other cycle signals (dominance ratios, macro indicators, sentiment).
Designed for long-term cycle analysis, not intraday trading.
PnL Bubble [%] | Fractalyst1. What's the indicator purpose?
The PnL Bubble indicator transforms your strategy's trade PnL percentages into an interactive bubble chart with professional-grade statistics and performance analytics. It helps traders quickly assess system profitability, understand win/loss distribution patterns, identify outliers, and make data-driven strategy improvements.
How does it work?
Think of this indicator as a visual report card for your trading performance. Here's what it does:
What You See
Colorful Bubbles: Each bubble represents one of your trades
Blue/Cyan bubbles = Winning trades (you made money)
Red bubbles = Losing trades (you lost money)
Bigger bubbles = Bigger wins or losses
Smaller bubbles = Smaller wins or losses
How It Organizes Your Trades:
Like a Photo Album: Instead of showing all your trades at once (which would be messy), it shows them in "pages" of 500 trades each:
Page 1: Your first 500 trades
Page 2: Trades 501-1000
Page 3: Trades 1001-1500, etc.
What the Numbers Tell You:
Average Win: How much money you typically make on winning trades
Average Loss: How much money you typically lose on losing trades
Expected Value (EV): Whether your trading system makes money over time
Positive EV = Your system is profitable long-term
Negative EV = Your system loses money long-term
Payoff Ratio (R): How your average win compares to your average loss
R > 1 = Your wins are bigger than your losses
R < 1 = Your losses are bigger than your wins
Why This Matters:
At a Glance: You can instantly see if you're a profitable trader or not
Pattern Recognition: Spot if you have more big wins than big losses
Performance Tracking: Watch how your trading improves over time
Realistic Expectations: Understand what "average" performance looks like for your system
The Cool Visual Effects:
Animation: The bubbles glow and shimmer to make the chart more engaging
Highlighting: Your biggest wins and losses get extra attention with special effects
Tooltips: hover any bubble to see details about that specific trade.
What are the underlying calculations?
The indicator processes trade PnL data using a dual-matrix architecture for optimal performance:
Dual-Matrix System:
• Display Matrix (display_matrix): Bounded to 500 trades for rendering performance
• Statistics Matrix (stats_matrix): Unbounded storage for complete statistical accuracy
Trade Classification & Aggregation:
// Separate wins, losses, and break-even trades
if val > 0.0
pos_sum += val // Sum winning trades
pos_count += 1 // Count winning trades
else if val < 0.0
neg_sum += val // Sum losing trades
neg_count += 1 // Count losing trades
else
zero_count += 1 // Count break-even trades
Statistical Averages:
avg_win = pos_count > 0 ? pos_sum / pos_count : na
avg_loss = neg_count > 0 ? math.abs(neg_sum) / neg_count : na
Win/Loss Rates:
total_obs = pos_count + neg_count + zero_count
win_rate = pos_count / total_obs
loss_rate = neg_count / total_obs
Expected Value (EV):
ev_value = (avg_win × win_rate) - (avg_loss × loss_rate)
Payoff Ratio (R):
R = avg_win ÷ |avg_loss|
Contribution Analysis:
ev_pos_contrib = avg_win × win_rate // Positive EV contribution
ev_neg_contrib = avg_loss × loss_rate // Negative EV contribution
How to integrate with any trading strategy?
Equity Change Tracking Method:
//@version=6
strategy("Your Strategy with Equity Change Export", overlay=true)
float prev_trade_equity = na
float equity_change_pct = na
if barstate.isconfirmed and na(prev_trade_equity)
prev_trade_equity := strategy.equity
trade_just_closed = strategy.closedtrades != strategy.closedtrades
if trade_just_closed and not na(prev_trade_equity)
current_equity = strategy.equity
equity_change_pct := ((current_equity - prev_trade_equity) / prev_trade_equity) * 100
prev_trade_equity := current_equity
else
equity_change_pct := na
plot(equity_change_pct, "Equity Change %", display=display.data_window)
Integration Steps:
1. Add equity tracking code to your strategy
2. Load both strategy and PnL Bubble indicator on the same chart
3. In bubble indicator settings, select your strategy's equity tracking output as data source
4. Configure visualization preferences (colors, effects, page navigation)
How does the pagination system work?
The indicator uses an intelligent pagination system to handle large trade datasets efficiently:
Page Organization:
• Page 1: Trades 1-500 (most recent)
• Page 2: Trades 501-1000
• Page 3: Trades 1001-1500
• Page N: Trades to
Example: With 1,500 trades total (3 pages available):
• User selects Page 1: Shows trades 1-500
• User selects Page 4: Automatically falls back to Page 3 (trades 1001-1500)
5. Understanding the Visual Elements
Bubble Visualization:
• Color Coding: Cyan/blue gradients for wins, red gradients for losses
• Size Mapping: Bubble size proportional to trade magnitude (larger = bigger P&L)
• Priority Rendering: Largest trades displayed first to ensure visibility
• Gradient Effects: Color intensity increases with trade magnitude within each category
Interactive Tooltips:
Each bubble displays quantitative trade information:
tooltip_text = outcome + " | PnL: " + pnl_str +
" Date: " + date_str + " " + time_str +
" Trade #" + str.tostring(trade_number) + " (Page " + str.tostring(active_page) + ")" +
" Rank: " + str.tostring(rank) + " of " + str.tostring(n_display_rows) +
" Percentile: " + str.tostring(percentile, "#.#") + "%" +
" Magnitude: " + str.tostring(magnitude_pct, "#.#") + "%"
Example Tooltip:
Win | PnL: +2.45%
Date: 2024.03.15 14:30
Trade #1,247 (Page 3)
Rank: 5 of 347
Percentile: 98.6%
Magnitude: 85.2%
Reference Lines & Statistics:
• Average Win Line: Horizontal reference showing typical winning trade size
• Average Loss Line: Horizontal reference showing typical losing trade size
• Zero Line: Threshold separating wins from losses
• Statistical Labels: EV, R-Ratio, and contribution analysis displayed on chart
What do the statistical metrics mean?
Expected Value (EV):
Represents the mathematical expectation per trade in percentage terms
EV = (Average Win × Win Rate) - (Average Loss × Loss Rate)
Interpretation:
• EV > 0: Profitable system with positive mathematical expectation
• EV = 0: Break-even system, profitability depends on execution
• EV < 0: Unprofitable system with negative mathematical expectation
Example: EV = +0.34% means you expect +0.34% profit per trade on average
Payoff Ratio (R):
Quantifies the risk-reward relationship of your trading system
R = Average Win ÷ |Average Loss|
Interpretation:
• R > 1.0: Wins are larger than losses on average (favorable risk-reward)
• R = 1.0: Wins and losses are equal in magnitude
• R < 1.0: Losses are larger than wins on average (unfavorable risk-reward)
Example: R = 1.5 means your average win is 50% larger than your average loss
Contribution Analysis (Σ):
Breaks down the components of expected value
Positive Contribution (Σ+) = Average Win × Win Rate
Negative Contribution (Σ-) = Average Loss × Loss Rate
Purpose:
• Shows how much wins contribute to overall expectancy
• Shows how much losses detract from overall expectancy
• Net EV = Σ+ - Σ- (Expected Value per trade)
Example: Σ+: 1.23% means wins contribute +1.23% to expectancy
Example: Σ-: -0.89% means losses drag expectancy by -0.89%
Win/Loss Rates:
Win Rate = Count(Wins) ÷ Total Trades
Loss Rate = Count(Losses) ÷ Total Trades
Shows the probability of winning vs losing trades
Higher win rates don't guarantee profitability if average losses exceed average wins
7. Demo Mode & Synthetic Data Generation
When using built-in sources (close, open, etc.), the indicator generates realistic demo trades for testing:
if isBuiltInSource(source_data)
// Generate random trade outcomes with realistic distribution
u_sign = prand(float(time), float(bar_index))
if u_sign < 0.5
v_push := -1.0 // Loss trade
else
// Skewed distribution favoring smaller wins (realistic)
u_mag = prand(float(time) + 9876.543, float(bar_index) + 321.0)
k = 8.0 // Skewness factor
t = math.pow(u_mag, k)
v_push := 2.5 + t * 8.0 // Win trade
Demo Characteristics:
• Realistic win/loss distribution mimicking actual trading patterns
• Skewed distribution favoring smaller wins over large wins
• Deterministic randomness for consistent demo results
• Includes jitter effects to prevent visual overlap
8. Performance Limitations & Optimizations
Display Constraints:
points_count = 500 // Maximum 500 dots per page for optimal performance
Pine Script v6 Limits:
• Label Count: Maximum 500 labels per indicator
• Line Count: Maximum 100 lines per indicator
• Box Count: Maximum 50 boxes per indicator
• Matrix Size: Efficient memory management with dual-matrix system
Optimization Strategies:
• Pagination System: Handle unlimited trades through 500-trade pages
• Priority Rendering: Largest trades displayed first for maximum visibility
• Dual-Matrix Architecture: Separate display (bounded) from statistics (unbounded)
• Smart Fallback: Automatic page clamping prevents empty displays
Impact & Workarounds:
• Visual Limitation: Only 500 trades visible per page
• Statistical Accuracy: Complete dataset used for all calculations
• Navigation: Use page input to browse through entire trade history
• Performance: Smooth operation even with thousands of trades
9. Statistical Accuracy Guarantees
Data Integrity:
• Complete Dataset: Statistics matrix stores ALL trades without limit
• Proper Aggregation: Separate tracking of wins, losses, and break-even trades
• Mathematical Precision: Pine Script v6's enhanced floating-point calculations
• Dual-Matrix System: Display limitations don't affect statistical accuracy
Calculation Validation:
// Verified formulas match standard trading mathematics
avg_win = pos_sum / pos_count // Standard average calculation
win_rate = pos_count / total_obs // Standard probability calculation
ev_value = (avg_win * win_rate) - (avg_loss * loss_rate) // Standard EV formula
Accuracy Features:
• Mathematical Correctness: Formulas follow established trading statistics
• Data Preservation: Complete dataset maintained for all calculations
• Precision Handling: Proper rounding and boundary condition management
• Real-Time Updates: Statistics recalculated on every new trade
10. Advanced Technical Features
Real-Time Animation Engine:
// Shimmer effects with sine wave modulation
offset = math.sin(shimmer_t + phase) * amp
// Dynamic transparency with organic flicker
new_transp = math.min(flicker_limit, math.max(-flicker_limit, cur_transp + dir * flicker_step))
• Sine Wave Shimmer: Dynamic glowing effects on bubbles
• Organic Flicker: Random transparency variations for natural feel
• Extreme Value Highlighting: Special visual treatment for outliers
• Smooth Animations: Tick-based updates for fluid motion
Magnitude-Based Priority Rendering:
// Sort trades by magnitude for optimal visual hierarchy
sort_indices_by_magnitude(values_mat)
• Largest First: Most important trades always visible
• Intelligent Sorting: Custom bubble sort algorithm for trade prioritization
• Performance Optimized: Efficient sorting for real-time updates
• Visual Hierarchy: Ensures critical trades never get hidden
Professional Tooltip System:
• Quantitative Data: Pure numerical information without interpretative language
• Contextual Ranking: Shows trade position within page dataset
• Percentile Analysis: Performance ranking as percentage
• Magnitude Scaling: Relative size compared to page maximum
• Professional Format: Clean, data-focused presentation
11. Quick Start Guide
Step 1: Add Indicator
• Search for "PnL Bubble | Fractalyst" in TradingView indicators
• Add to your chart (works on any timeframe)
Step 2: Configure Data Source
• Demo Mode: Leave source as "close" to see synthetic trading data
• Strategy Mode: Select your strategy's PnL% output as data source
Step 3: Customize Visualization
• Colors: Set positive (cyan), negative (red), and neutral colors
• Page Navigation: Use "Trade Page" input to browse trade history
• Visual Effects: Built-in shimmer and animation effects are enabled by default
Step 4: Analyze Performance
• Study bubble patterns for win/loss distribution
• Review statistical metrics: EV, R-Ratio, Win Rate
• Use tooltips for detailed trade analysis
• Navigate pages to explore full trade history
Step 5: Optimize Strategy
• Identify outlier trades (largest bubbles)
• Analyze risk-reward profile through R-Ratio
• Monitor Expected Value for system profitability
• Use contribution analysis to understand win/loss impact
12. Why Choose PnL Bubble Indicator?
Unique Advantages:
• Advanced Pagination: Handle unlimited trades with smart fallback system
• Dual-Matrix Architecture: Perfect balance of performance and accuracy
• Professional Statistics: Institution-grade metrics with complete data integrity
• Real-Time Animation: Dynamic visual effects for engaging analysis
• Quantitative Tooltips: Pure numerical data without subjective interpretations
• Priority Rendering: Intelligent magnitude-based display ensures critical trades are always visible
Technical Excellence:
• Built with Pine Script v6 for maximum performance and modern features
• Optimized algorithms for smooth operation with large datasets
• Complete statistical accuracy despite display optimizations
• Professional-grade calculations matching institutional trading analytics
Practical Benefits:
• Instantly identify system profitability through visual patterns
• Spot outlier trades and risk management issues
• Understand true risk-reward profile of your strategies
• Make data-driven decisions for strategy optimization
• Professional presentation suitable for performance reporting
Disclaimer & Risk Considerations:
Important: Historical performance metrics, including positive Expected Value (EV), do not guarantee future trading success. Statistical measures are derived from finite sample data and subject to inherent limitations:
• Sample Bias: Historical data may not represent future market conditions or regime changes
• Ergodicity Assumption: Markets are non-stationary; past statistical relationships may break down
• Survivorship Bias: Strategies showing positive historical EV may fail during different market cycles
• Parameter Instability: Optimal parameters identified in backtesting often degrade in forward testing
• Transaction Cost Evolution: Slippage, spreads, and commission structures change over time
• Behavioral Factors: Live trading introduces psychological elements absent in backtesting
• Black Swan Events: Extreme market events can invalidate statistical assumptions instantaneously
Machine Learning Z-Score Buy and Sell [SS]Hey everyone,
Releasing this Z-Score based buy and sell indicator.
What it does
This indicator:
Uses Z-score and trend to identify potential buy and sell areas.
Signals those buy and sell areas and provides a target price based on the mean.
Plots the target price for buy and sell signals as a red line (for sell signals) or green line (for buy signals).
Has some "machine learning" aspects, namely, it is able to auto select its lookback length based on its analysis of the trend using Pienscript's trend correlation function iterated over multiple lengths, in order for the indicator to identify:
a) The strongest trend; and
b) The correct target price
What is Z-Score
Z-Score is a measure of the mean. Thus, this is a mean reverting type strategy, as it uses z-score to determine price's distance from the mean (or a Z-Score of 0) and then it looks at historic deviations from the mean to signal the buy and sell signals (i.e. how far has price traditionally drifted from the mean before reverting).
Z-Score is a powerful tool in this sense, and if you folow my other indicators, you will know how much I love Z-score!
How to use the indicator
If you want to use the full Machine Learning capabilities of the indicator, its best to just leave all default settings. These default settings will automatically adjust the mean target price and buy and sell signals to align with the current price action.
If you want to be more aggressive in your
Target Price; and
Signals
Then you can opt to manually input a lookback length and mean reversion standard deviation. However, I generally suggest to avoid this as you are then making your own determination of trend by qualitative assessment. It can work, but its just not suggested.
In the input menu, you will see the option to "Manually select lookback" thus over-riding the auto-determination of trend and targets.
You will also see "manual pullback" enabler and "Pullback Standard Deviation". You can set your pullback standard deviation if you want to be more aggressive. The indicator will naturally shift to conservative target prices based on a neutral mean. However, if you want to increase the aggressiveness of the target price, you can increase or decrease the pullback standard deviation.
General Tips about Manually Adjusting Pullback Target
Here are some tips if you want to manually adjust the pullback targets:
The pullback target needs to be in a standard deviation value, this can be anywhere from 0 to 4 or 0 to -4 (you can theoretically go higher but its not really realistic). You can also do decimals, so 1.5 or 1.25 etc.
To determine whether you should be doing negative or positive standard deviation, you should determine the trend. If it is a downtrend and you are looking to short the rips, you will want to select a negative number, like -1.
If it is an uptrend and you want to buy the dips, you should be selecting a positive number, like 1 or 1.5.
Again, I do suggest leaving the indicator to decide for itself, but the options are there for those who wish.
Overall strategy
This is a mean reverting strategy. So if you are a mean reversion trader, this may be of particular interest to you.
Optional
Optionally, you can have the indicator plot the target prices or not, simply toggle this functionality off or on in the settings menu.
Concluding remarks
That is the indicator in a nutshell!
I hope you enjoy it and find it helpful.
Feel free to check out my other Z-Score based indicators if you find this interesting or want to learn more about the power of Z-Score in trading!
Thanks all and safe trades!
Support and Resistance levels from Options DataINTRODUCTION
This script is designed to visualize key support and resistance levels derived from options data on TradingView charts. It overlays lines, labels, and boxes to highlight levels such as Put Walls (gamma support), Call Walls (gamma resistance), Gamma Flip points, Vanna levels, and more.
These levels are intended to help traders identify potential areas of price magnetism, reversal, or breakout based on options market dynamics. All calculations and visualizations are based on user-provided data pasted into the input field, as Pine Script cannot directly fetch external options data due to platform limitations (explained below).
For convenience, my website allows users to interact with a bot that will generate the string for up to 30 tickers at once getting nearly real-time data on demand (data is cached for 15min). With the output string pasted into this indicator, it's a bliss to shuffle through your portfolio and see those levels for each ticker.
The script is open-source under TradingView's terms, allowing users to study, modify, and improve it. It draws inspiration from common options-derived metrics like gamma exposure and vanna, which are widely discussed in financial literature. No external code is copied without rights; all logic is original or based on standard mathematical formulas.
How the Options Levels Are Calculated
The levels displayed by this script are not computed within Pine Script itself—instead, they rely on pre-calculated values provided by the user (via a pasted data string). These values are derived from options chain data fetched from financial APIs (e.g., using libraries like yfinance in Python). Here's a step-by-step overview of how these levels are generally calculated externally before being input into the script:
Fetching Options Data:
Historical and current options chain data for a ticker (e.g., strikes, open interest, volume, implied volatility, expirations) is retrieved for near-term expirations (e.g., up to 90 days).
Current stock price is obtained from recent history.
Gamma Support (Put Wall) and Resistance (Call Wall):
Gamma Calculation: For each option, gamma (the rate of change of delta) is computed using the Black-Scholes formula:
gamma = N'(d1) / (S * sigma * sqrt(T))
where S is the stock price, K is the strike, T is time to expiration (in years), sigma is implied volatility, r is the risk-free rate (e.g., 0.0445), and N'(d1) is the normal probability density function.
Weighted gamma is multiplied by open interest and aggregated by strike.
The Put Wall is the strike below the current price with the highest weighted gamma from puts (acting as support).
The Call Wall is the strike above the current price with the highest weighted gamma from calls (acting as resistance).
Short-term versions focus on strikes closer to the money (e.g., within 10-15% of the price).
Gamma Flip Level:
Net dealer gamma exposure (GEX) is calculated across all strikes:
GEX = sum (gamma * OI * 100 * S^2 * sign * decay)
where sign is +1 for calls/-1 for puts, and decay is 1 / sqrt(T).
The flip point is the price where net GEX changes sign (from positive to negative or vice versa), interpolated between strikes.
Vanna Levels:
Vanna (sensitivity of delta to volatility) is calculated:
vanna = -N'(d1) * d2 / sigma
where d2 = d1 - sigma * sqrt(T).
Weighted by open interest, the highest positive and negative vanna strikes are identified.
Other Levels:
S1/R1: Significant strikes with high combined open interest and volume (80% OI + 20% volume), below/above price for support/resistance.
Implied Move: ATM implied volatility scaled by S * sigma * sqrt(d/365) (e.g., for 7 days).
Call/Put Ratio: Total call contracts divided by put contracts (OI + volume).
IV Percentage: Average ATM implied volatility.
Options Activity Level: Average contracts per unique strike, binned into levels (0-4).
Stop Loss: Dynamically set below the lowest support (e.g., Put Wall, Gamma Flip), adjusted by IV (tighter in low IV).
Fib Target: 1.618 extension from Put Wall to Call Wall range.
Previous day levels are stored for comparison (e.g., to detect Call Wall movement >2.5% for alerts).
Effect as Support and Resistance in Technical Trading
Options levels like gamma walls influence price action due to market maker hedging:
Put Wall (Gamma Support): High put gamma below price creates a "magnet" effect—market makers buy stock as price falls, providing support. Traders might look for bounces here as entry points for longs.
Call Wall (Gamma Resistance): High call gamma above price leads to selling pressure from hedging, acting as resistance. Rejections here could signal trims, sells or even shorts.
Gamma Flip: Where gamma exposure flips sign, often a volatility pivot—crossing it can accelerate moves (bullish above, bearish below).
Vanna Levels: Positive/negative vanna indicate volatility sensitivity; crosses may signal regime shifts.
Implied Move: Shows expected range; prices outside suggest overextension.
S1/R1 and Fib Target: Volume/OI clusters act as classic S/R; Fib extensions project upside targets post-breakout.
In trading, these are not guarantees—combine with TA (e.g., volume, trends). High activity levels imply stronger effects; low CP ratio suggests bearish sentiment. Alerts trigger on proximities/crosses for awareness, not advice.
Limitations of the TradingView Platform for Data Pulling
TradingView's Pine Script is sandboxed for security and performance:
No direct internet access or API calls (e.g., can't fetch yfinance data in-script).
Limited to chart data/symbol info; no real-time options chains.
Inputs are static per load; updates require manual pasting.
Caching isn't persistent across sessions.
This prevents dynamic data pulling, ensuring scripts remain lightweight but requiring external tools for fresh data.
Creative Solution for On-Demand Data Pulling
To overcome these limitations, users can use external tools or scripts (e.g., Python-based) to fetch and compute levels on demand. The tool processes tickers, generates a formatted string (e.g., "TICKER:level1,level2,...;TIMESTAMP:unix;"), and users paste it into the script's input. This keeps data fresh without violating platform rules, as computation happens off-platform. For example, run a local script to query APIs and output the string—adaptable for any ticker.
Script Functionality Breakdown
Inputs: Custom data string (parsed for levels/timestamp); toggles for short-term/previous/Vanna/stop loss; style options (colors, transparency).
Parsing: Extracts levels for the chart symbol; gets timestamp for "updated ago" display.
Drawing: Lines/labels for levels; boxes for gamma zones/implied move; clears old elements on updates.
Info Panel: Top-right summary with metrics (CP ratio, IV, distances, activity); emojis for quick status.
Alerts: Conditions for proximities, crosses, bounces (e.g., 0.5% bounce from Put Wall).
Performance: Uses vars for persistence; efficient for real-time.
This script is educational—test thoroughly. Not financial advice; past performance isn't indicative of future results. Feedback welcome via TradingView comments.
Draw Trend LinesSometimes the simplest indicators help traders make better decisions. This indicator draws simple trend lines, the same lines you would draw manually.
To trade with an edge, traders need to interpret the recent price action, whether it's noisy or choppy, or it's trending. Trend Lines will help traders with that interpretation.
The lines drawn are:
1. lower tops
2. higher bottoms
Because trends are defined as higher lows, or lower highs.
When you see "Wedges", formed by prices chopping between top and bottom trend lines, that's noisy environment not to be traded. When you learn to "stop yourself", you already have an edge.
Often when you see a trend, it's still not too late. Trend will continue until it doesn't. But the caveat is a very steep trend is unlikely to continue, because buying volume is extremely unbalanced to cause the steep trend, and that volume will run out of energy. (Same on the sell side of course)
Trends can reverse, and when price action breaks the trend line, Breakout/Breakdown traders can take this as an entry signal.
Enjoy, and good trading!
Volume Profile + Pivot Levels [ChartPrime]⯁ OVERVIEW
Volume Profile + Pivot Levels combines a rolling volume profile with price pivots to surface the most meaningful levels in your selected lookback window. It builds a left-side profile from traded volume, highlights the session’s Point of Control (PoC) , and then filters pivot highs/lows so only those aligned with significant profile volume are promoted to chart levels. Each promoted level extends forward until price retests it—so your chart stays focused on levels that actually matter.
⯁ KEY FEATURES
Rolling Volume Profile (Period & Resolution)
Calculates a profile over the last Period bars (default 200). The profile is discretized into Volume Profile Resolution bins (default 50) between the highest high and lowest low inside the window. Each bin accumulates traded volume and is drawn as a smooth left-side polyline for compact, lightweight rendering.
HL = array.new()
// collect highs/lows over 'start' bars to define profile range
for i = 0 to start - 1
HL.push(high ), HL.push(low )
H = HL.max(), L = HL.min()
bin_size = (H - L) / bins
// accumulate per-bin volume
for i = 0 to bins - 1
for j = 0 to start - 1
if close >= (L + bin_sizei) - bin_size and close < (L + bin_size*(i+1)) + bin_size
Bins += volume
Delta-Aware Coloring
The script tracks up-minus-down volume across all period to compute a net Delta . The profile, PoC line, and PoC label adopt a teal tone when net positive, and maroon when net negative—an immediate read on buyer/seller dominance inside the window.
Point of Control (PoC) + Volume Label
Automatically marks the highest-volume bin as the PoC . A horizontal PoC line extends to the last bar, and a label shows the absolute volume at the PoC. Toggle visibility via PoC input.
Pivot Detection with Volume Filter
Identifies raw pivots using Length (default 10) on both sides of the bar. Each candidate pivot is then validated against the profile: only pivots that land within their bin and meet or exceed the Filter % threshold (percentage of PoC volume) are promoted to chart levels. This removes weak, low-participation pivots.
// pivot promotion when volume% >= pivotFilter
if abs(mid - p.value) <= bin_size and volPercent >= pivotFilter
// draw labeled pivot level
line.new(p.index - pivotLength, p.value, p.index + pivotLength, p.value, width = 2)
Forward-Extending, Self-Stopping Levels
Promoted pivot levels extend forward as dotted rays. As soon as price intersects a level (high/low straddles it), that level stops extending—so your chart doesn’t clutter with stale zones.
Concise Level Labels (Volume + %)
Each promoted pivot prints a compact label at the pivot bar with its bin’s absolute volume and percentage of PoC volume (ordering flips for highs vs. lows for quick read).
Lightweight Visuals
The volume profile is rendered as a smooth polyline rather than dozens of boxes, keeping charts responsive even at higher resolutions.
⯁ SETTINGS
Volume Profile → Period : Lookback window used to compute the profile (max 500).
Volume Profile → Resolution : Number of bins; higher = finer structure.
Volume Profile → PoC : Toggle PoC line and volume label.
Pivots → Display : Show/hide volume-validated pivot levels.
Pivots → Length : Pivot detection left/right bars.
Pivots → Filter % 0–100 : Minimum bin strength (as % of PoC) required to promote a pivot level.
⯁ USAGE
Read PoC direction/color for a quick net-flow bias within your window.
Prioritize promoted pivot levels —they’re backed by meaningful participation.
Watch for first retests of promoted levels; the line will stop extending once tested.
Adjust Period / Resolution to match your timeframe (scalps → higher resolution, shorter period; swings → lower resolution, longer period).
Tighten or loosen Filter % to control how selective the level promotion is.
⯁ WHY IT’S UNIQUE
Instead of plotting every pivot or every profile bar, this tool cross-checks pivots against the profile’s internal volume weighting . You only see levels where price structure and liquidity overlap—clean, data-driven levels that self-retire after interaction, so you can focus on what the market actually defends.
Pivot Points mura visionWhat it is
A clean, single-set pivot overlay that lets you choose the pivot type (Traditional/Fibonacci), the anchor timeframe (Daily/Weekly/Monthly/Quarterly, or Auto), and fully customize colors, line width/style , and labels . The script never draws duplicate sets—exactly one pivot pack is displayed for the chosen (or auto-detected) anchor.
How it works
Pivots are computed with ta.pivot_point_levels() for the selected anchor timeframe .
The script supports the standard 7 levels: P, R1/S1, R2/S2, R3/S3 .
Lines span exactly one anchor period forward from the current bar time.
Label suffix shows the anchor source: D (Daily), W (Weekly), M (Monthly), Q (Quarterly).
Auto-anchor logic
Intraday ≤ 15 min → Daily pivots (D)
Intraday 20–120 min → Weekly pivots (W)
Intraday > 120 min (3–4 h) → Monthly pivots (M)
Daily and above → Quarterly pivots (Q)
This keeps the chart readable while matching the most common trader expectations across timeframes.
Inputs
Pivot Type — Traditional or Fibonacci.
Pivots Timeframe — Auto, Daily (1D), Weekly (1W), Monthly (1M), Quarterly (3M).
Line Width / Line Style — width 1–10; style Solid, Dashed, or Dotted.
Show Labels / Show Prices — toggle level tags and price values.
Colors — user-selectable colors for P, R*, S* .
How to use
Pick a symbol/timeframe.
Leave Pivots Timeframe = Auto to let the script choose; or set a fixed anchor if you prefer.
Toggle labels and prices to taste; adjust line style/width and colors for your theme.
Read the market like a map:
P often acts as a mean/rotation point.
R1/S1 are common first reaction zones; R2/S2 and R3/S3 mark stronger extensions.
Confluence with S/R, trendlines, session highs/lows, or volume nodes improves context.
Good practices
Use Daily pivots for intraday scalps (≤15m).
Use Weekly/Monthly for swing bias on 1–4 h.
Use Quarterly when analyzing on Daily and higher to frame larger cycles.
Combine with trend filters (e.g., EMA/KAMA 233) or volatility tools for entries and risk.
Notes & limitations
The script shows one pivot pack at a time by design (prevents clutter and duplicates).
Historical values follow TradingView’s standard pivot definitions; results can vary across assets/exchanges.
No alerts are included (levels are static within the anchor period).
PulseMA Oscillator Normalized v2█ OVERVIEW
PulseMA Oscillator Normalized v2 is a technical indicator designed for the TradingView platform, assisting traders in identifying potential trend reversal points based on price dynamics derived from moving averages. The indicator is normalized for easier interpretation across various market conditions, and its visual presentation with gradients and signals facilitates quick decision-making.
█ CONCEPTS
The core idea of the indicator is to analyze trend dynamics by calculating an oscillator based on a moving average (EMA), which is then normalized and smoothed. It provides insights into trend strength, overbought/oversold levels, and reversal signals, enhanced by gradient visualizations.
Why use it?
Identifying reversal points: The indicator detects overbought and oversold levels, generating buy/sell signals at their crossovers.
Price dynamics analysis: Based on moving averages, it measures how long the price stays above or below the EMA, incorporating trend slope.
Visual clarity: Gradients, fills, and colored lines enable quick chart analysis.
Flexibility: Configurable parameters, such as moving average lengths or normalization period, allow adaptation to various strategies and markets.
How it works?
Trend detection: Calculates a base exponential moving average (EMA with PulseMA Length) and measures how long the price stays above or below it, multiplied by the slope for the oscillator.
Normalization: The oscillator is normalized based on the minimum and maximum values over a lookback period (default 150 bars), scaling it to a range from -100 to 100: (oscillator - min) / (max - min) * 200 - 100. This ensures values are comparable across different instruments and timeframes.
Smoothing: The main line (PulseMA) is the normalized oscillator (oscillatorNorm). The PulseMA MA line is a smoothed version of PulseMA, calculated using an SMA with the PulseMA MA length. As PulseMA MA is smoothed, it reacts more slowly and can be used as a noise filter.
Signals: Generates buy signals when crossing the oversold level upward and sell signals when crossing the overbought level downward. Signals are stronger when PulseMA MA is in the overbought or oversold zone (exceeding the respective thresholds for PulseMA MA).
Visualization: Draws lines with gradients for PulseMA and PulseMA MA, levels with gradients, gradient fill to the zero line, and signals as triangles.
Alerts: Built-in alerts for buy and sell signals.
Settings and customization
PulseMA Length: Length of the base EMA (default 20).
PulseMA MA: Length of the SMA for smoothing PulseMA MA (default 20).
Normalization Lookback Period: Normalization period (default 150, minimum 10).
Overbought/Oversold Levels: Levels for the main line (default 100/-100) and thresholds for PulseMA MA, indicating zones where PulseMA MA exceeds set values (default 50/-50).
Colors and gradients: Customize colors for lines, gradients, and levels; options to enable/disable gradients and fills.
Visualizations: Show PulseMA MA, gradients for overbought/oversold/zero levels, and fills.
█ OTHER SECTIONS
Usage examples
Trend analysis: Observe PulseMA above 0 for an uptrend or below 0 for a downtrend. Use different values for PulseMA Length and PulseMA MA to gain a clearer trend picture. PulseMA MA, being smoothed, reacts more slowly and can serve as a noise filter to confirm trend direction.
Reversal signals: Look for buy triangles when PulseMA crosses the oversold level, especially when PulseMA MA is in the oversold zone. Similarly, look for sell triangles when crossing the overbought level with PulseMA MA in the overbought zone. Such confirmation increases signal reliability.
Customization: Test different values for PulseMA Length and PulseMA MA on a given instrument and timeframe to minimize false signals and tailor the indicator to market specifics.
Notes for users
Combine with other tools, such as support/resistance levels or other oscillators, for greater accuracy.
Test different settings for PulseMA Length and PulseMA MA on the chosen instrument and timeframe to find optimal values.