Double Stochastic DivergenceSame as my protected script but you can now see the code
This Study plots divergences and overlays a second %K as a fractal and changes the color of %D for the non fractal
Option to use Stochastic RSI for Fractal
Background Shading according to trend
Feel Free to change the indicator values to suit your style / system
The divergence script is thanks to @RicardoSantos, I've just adjusted it to suite my indicator
Remember that divergences work best when traded with the trend or very late in a trend when going against the trend
Common value for %K is 5, I have chosen 3 as it gives faster entries when using multiple time frames
If you are not using a momentum indicator as a trailing stop and using only cycle indicator
then I would recommended %K be 4 for exits
ابحث في النصوص البرمجية عن "Fractal"
FRAMA (Ehlers true modified calculation)Credit goes to Shizaru for the original calculation. I made just a few fixes, so that the calculation is really that of Ehlers.
Fixed H2 and L2 period, fixed w natural logarithm
Body Close Continuity & failure Backtesting @MaxMaseratiThis indicator, is a highly advanced institutional-grade tool designed to track the "lifespan" of a trend based on Body Close (BC) sequences.
Unlike basic indicators that just show direction, this script analyzes the structural integrity of a trend by monitoring how many candles continue the move before a "Touch" (retest) or a "Break" (failure) occurs.
The Continuity & Failure Stats indicator tracks sequences of Bullish Body Closes (BuBC) and Bearish Body Closes (BeBC). It measures three critical phases: Building (pure momentum), Touching (price retesting the low/high of the sequence), and Resumption (price continuing the trend after a retest). It provides a statistical distribution of how long these "buildings" typically last before failing, allowing traders to know exactly when a trend is overextended.
This comprehensive analysis blends the statistical breakdown of the Continuity & Failure Stats indicator to provide a deep understanding of the structural momentum for the S&P 500 E-mini (ES1!) on a 4-hour timeframe.
1. Extensive Table Breakdown
A. Building Distribution (Left Table): The Fatigue Gauge
This table acts as a histogram of momentum, tracking the "Building Count"—the number of consecutive candles closing in a trend without price returning to its origin.
Count Column: Represents the streak length (e.g., 1, 2, or 3 candles).
Touch Column: Shows how many times a streak was interrupted by a retest ("touch") but remained structurally intact.
Break Column: Counts total structural failures where price closed beyond the sequence's anchor.
Data Insight: For BuBC, 92 sequences reached Count 1, but only 28 remained by Count 4. This reveals a steep momentum decay after the 3rd candle, establishing a "Statistical Wall" where only 2 sequences in history reached a count of 9.
B. MMM Summary Stats (Top Right): The Mathematical DNA
This table provides the "Expected Value" and behavior of a trend over the lookback period.
Avg Building (2.39 for BuBC): On average, a bullish move lasts ~2.4 candles of pure momentum before a retest or reversal occurs.
Avg Touches (0.8): This low number indicates "clean" trends that rarely wobble back to retest levels multiple times before reaching a conclusion.
Avg R Cycles (0.55): This suggests that once a bullish trend is interrupted, it only successfully resumes its momentum about half the time.
Max R Count (1): Typically, once a trend is "touched," it only manages one more push before failing.
C. Multi-Timeframe (MTF) Quick Stats (Bottom Right): Trend Weight
This compares the 4H chart against other layers of the market to identify "global" alignment.
Sample Comparison: There are 3,594 tracked BuBC sequences on the 4H compared to only 142 on the Weekly chart.
Fractal Law: The Avg Building (2.4) is consistent across several timeframes, implying that the "Rule of Three" (momentum fading after 3 candles) is a fractal characteristic of this asset.
2. Table Comparison: Synthesizing the Data
To trade effectively, you must compare Distribution (timing) against Summary Stats (averages):
Continuity vs. Failure: The Summary Stats show an average building of 2.39. When checking the Distribution table at Count 2, the "Break" count (58) is already high relative to the "Total". This confirms that the risk of failure increases exponentially the moment you exceed the average.
Momentum vs. Mean Reversion: Distribution tells you when a trend is "tired". If the 4H is at a "Building Count 4" (statistically overextended) while the Weekly chart is at "Building Count 1" (fresh momentum), you may choose to prioritize the higher timeframe's strength despite the local overextension.
3. Strategic Summary & Application
This indicator proves that market momentum follows a predictable "Building" cycle rather than an infinite streak.
The "Rule of Three" for ES1! 4H:
The Entry Zone (Momentum Start): The most profitable entries occur at Building Count 1. Statistically, you have a high probability of reaching a count of 2 or 3.
The Exit Zone (Momentum Limit): Take profits or tighten stops at Count 3. The data shows the sample size drops by nearly 50% between Count 3 and Count 4.
The "Touch" Rule (Retest Reliability): If price returns to the sequence low (a "Touch"), do not expect a massive continuation. The Max R Count of 1 tells us that resumptions are usually short-lived.
Danger Zone: Entering at Building Count 4 or higher is statistically dangerous, as the "Break" probability significantly outweighs the "Touch" or continuation probability.
[AlscapeLabs] HTF Candle Stack (Multi-Timeframe)
Overview
The HTF Candle Stack (Multi-TF) indicator is a powerful visualization tool designed to overlay high-timeframe (HTF) price action directly onto your current chart, independent of the chart's price scale. This gives traders a clear, aligned, and non-overlapping view of simultaneous price movements across customizable timeframes.
By stacking the candles horizontally next to the chart's price action, the indicator allows for quick identification of multi-timeframe correlation, trend confluence, and key levels without switching chart timeframes.
Key Features
6 Independent Stacks: Configure up to 6 separate timeframes (e.g., 5m, 15m, 1H, 4H, Daily, Weekly) to view the complete market fractals from micro to macro.
Price-Aligned Visualization : All HTF candle stacks are perfectly aligned with the main chart's vertical price axis
Replay Mode Safe : Includes dedicated logic to prevent "duplicate candles" during Bar Replay, ensuring accurate backtesting and historical analysis.
Toggleable Stacks : Each stack can be individually enabled or disabled via input settings
Dynamic Spacing : The distance between active stacks is automatically calculated and adjusted based on the visibility of the preceding stack.
Settings Guide
Stack Configuration (1 - 6)
Each of the six stacks has identical controls:
Show/Hide : Enable or disable this specific stack.
Timeframe : The specific HTF to display (e.g., "60" for 1 Hour, "D" for Daily).
[*} Count : How many candles to show in this stack (Current Active Candle + Past Closed Candles). Tip: Use higher counts (10-12) for lower TFs (Stack 1-2) and lower counts (2-4) for higher TFs (Stack 5-6)
Candle Color
Controls global coloring
Bullish / Bearish : Customize the body colors.
Wick : Separate control for wick color and transparency
Layout
Distance from Chart : How far (in bars) to the right the first stack begins
Space between Stacks : The gap (in bars) between each active stack.
Candle Width : The thickness of the HTF candles.
Labels
Displays a time-frame next to the active (live) candle in each stack
Show TF Labels : Enable or disable labels through all stacks
Text Color : Label text color
Background : Label background color
Style : Label position (Left, Down)
Size : Label text size (Tiny, Small, Normal, Large, Huge)
Developed by AlscapeLabs
UK100 London Judas & IFVG SetupUK100 London Judas & IFVG Setup
Overview This indicator is a specialized trading tool designed to automate the ICT Judas Swing strategy specifically for the UK100 (FTSE 100) index during the London Market Open. It combines institutional time-based logic with price action confirmation using Inversion Fair Value Gaps (IFVG) to identify high-probability reversal setups.
How It Works The strategy is based on the concept that the initial move after the London Open is often a "fake-out" (manipulation) designed to trap retail traders and engineer liquidity before the true trend of the day begins.
Session & Opening Price:
The script marks the London Open price (default 09:00 Warsaw / 08:00 London time) with a dashed line.
This serves as the "line in the sand." Prices moving away from this line initially are monitored for manipulation.
Judas Swing (Liquidity Sweep):
If price moves BELOW the open, it is hunting Sell-Side Liquidity (trapping sellers).
If price moves ABOVE the open, it is hunting Buy-Side Liquidity (trapping buyers).
The Entry Trigger: Inversion FVG (IFVG):
The indicator scans for Fair Value Gaps (FVG) created during the manipulation phase.
BUY Signal: The price manipulates lower, creates a Bearish FVG (Red Box), but then aggressively reverses and closes ABOVE that gap. The gap is now "Inverted" (turns Green), acting as support.
SELL Signal: The price manipulates higher, creates a Bullish FVG (Green Box), but then aggressively reverses and closes BELOW that gap. The gap is now "Inverted" (turns Orange), acting as resistance.
Key Features
Automated Pattern Recognition: No need to manually draw gaps. The script detects valid FVG inversions that align with the Judas Swing logic.
Built-in Risk Calculator: The signal labels display the exact Lot Size you should use based on your account balance and risk percentage (default 0.5%). It calculates this dynamically based on the Stop Loss distance.
Institutional Targets: The indicator fetches H1 Fractals (Liquidity) from the 1-hour timeframe and plots them on your 1-minute chart as blue lines. These are your primary Take Profit (TP) levels.
Stop Loss Visualization: Automatically suggests a Stop Loss placement behind the swing high/low of the reversal structure.
How to Use
Timeframe: Set your chart to 1 Minute (1m).
Asset: UK100 (FTSE 100).
Wait: Allow the London session to open. Watch for price to move away from the opening line.
Execute: When a BUY or SELL label appears:
Enter the trade using the Lot Size shown on the label.
Set your Stop Loss at the price shown on the label.
Target the blue H1 Liquidity lines for profit taking.
Settings
Timezone: Set this to your chart/exchange timezone (Default: Europe/Warsaw).
Account Balance: Input your current trading capital (e.g., 100,000) for accurate risk calculations.
Risk Per Trade %: The percentage of your account you are willing to lose if the Stop Loss is hit (Standard: 0.5% - 1.0%).
Contract Size: The value of 1 point movement (Check your broker's specifications. Usually 1 for CFDs).
Alerts You can set a single alert in TradingView to capture all signals. Select the indicator and choose "Any alert() function call". You will receive a notification with the direction (Buy/Sell), Entry Price, and Lot Size.
Bassi MA Entry Helper MTF EMA , VWMA Swing , ADX , SMA200 , TPBassi MA Entry Helper is an advanced multi-timeframe confluence system designed to identify high-probability entries using trend, volume, market structure, and volatility filters.
It is built for traders who want cleaner signals, fewer false entries, and strong multi-confirmation setups.
Key Features
Multi-Timeframe EMA Crossovers – HTF signal engine
SMA200 Trend Filter – prevents counter-trend trades
VWMA Swing Confirmation – volume-validated micro-swings
ADX Filter – only trade when the trend has strength
Fractal Structure Mapping – identifies swing highs/lows
Retracement Filter – confirms pullbacks before entries
TP/SL Automation – ATR or percentage based
Clean Entry Labels – main & additional entry signals
Highly Customizable – mode, timeframe, filters, visuals
This script is ideal for:
Scalping • Intraday • Swing • Trend continuation • Volume-based setups • Multi-timeframe alignment
How It Works
Main Buy/Sell Signals
Triggered when:
✔ Fast EMA crosses Slow EMA (HTF)
✔ Price aligned with trend
✔ SMA200 filter valid
✔ VWMA confirmation (optional)
✔ ADX strong
✔ Retracement valid (optional)
Additional Buy/Sell Signals
Triggered when VWMA crosses Slow EMA during trend continuation.
TP/SL System
You can choose between:
%-based take-profit & stop-loss
ATR-based dynamic levels
Automatically projects clean visual levels on your chart.
Notes
This indicator does not repaint and is suitable for both real-time and historical analysis.
Always combine signals with proper risk management.
Initial Release – v1.0
Added multi-timeframe EMA engine
Added SMA200 trend filter
Added VWMA swing entries
Added ADX strength filter
Added retracement filter
Added fractal swing detection
Added TP/SL auto plotting
Added main & additional entry labels
Performance optimized
ATR ZigZag BreakoutATR ZigZag Breakout
This strategy uses my ATR ZigZag indicator (powered by the ZigZagCore library) to scalp breakouts at volatility-filtered highs and lows.
Everyone knows stops cluster around clear swing highs and lows. Breakout traders often pile in there, too. These levels are predictable areas where aggressive orders hit the tape. The idea here is simple:
→ Let ATR ZigZag define clean, volatility-filtered pivots
→ Arm a stop market order at those pivots
→ Join the breakout when the crowd hits the level
The key to greater success in this simple strategy lies in the ZigZag. Because the pivots are filtered by ATR instead of fixed bar counts or fractals, the levels tend to be more meaningful and less noisy.
This approach is especially suited for intraday trading on volatile instruments (e.g., NQ, GC, liquid crypto pairs).
How It Works
1. Pivot detection
The ATR ZigZag uses an ATR-based threshold to confirm swing highs and lows. Only when price has moved far enough in the opposite direction does a pivot become “official.”
2. Candidate breakout level
When a new swing direction is detected and the most recent high/low has not yet been broken in the current leg, the strategy arms a stop market order at that pivot.
• Long candidate → most recent swing high
• Short candidate → most recent swing low
These “candidate trades” are shown as dotted lines.
3. Entry, SL, and TP
If price breaks through the level, the stop order is filled and a bracket is placed:
• Stop loss = ATR × SL multiplier
• Take profit = SL distance × RR multiplier
Once a level has traded, it is not reused in the same swing leg.
4. Cancel & rotate
If the market reverses and forms a new swing in the opposite direction before the level is hit, the pending order is cancelled and a new candidate is considered in the new direction.
Additional Features
• Optional session filter for backtesting specific trading hours
ATR ZigZag - Volatility-Filtered Market StructureDescription
This indicator draws ZigZags using an ATR based threshold for direction switching to identify major swing highs and lows. Instead of relying on fractals or fixed bar-count swings, pivots are confirmed only when price moves beyond the prior extreme by:
threshold = ATR(length) × ATR_mult
This filters noise, enforces valid swing structure (high → low → high), and adapts automatically to volatility. The ATR ZigZag is ideal for traders who want a clean, objective view of swing structure without noise. This has many uses, including mapping swing structure, drawing chart patterns, and trading around extremes.
Lag and Repainting
Pivots are confirmed only after price moves sufficiently in the opposite direction. This creates necessary lag. The ZigZag is drawn when this occurs, and will anchor to the high/low in the past. Optional detection dot plots show exactly when confirmation occurred.
What You See
ZigZag: dashed gray line, repainted to anchor at the confirmed highs and lows
Latest Pivot Levels: Dashed horizontal lines at the most recent confirmed high/low.
Optional Live Swing Leg: A real-time line from the last confirmed pivot to the current swing extreme, updating until a new pivot forms.
Optional ATR Boxes: 1×ATR shaded zones around the latest pivot for structural context.
Optional Pivot Confirmation Dots: Markers show the bar where the threshold is crossed and a swing is officially confirmed. This is to understand the lag and see when the ZigZag repainted.
Impulse Reactor RSI-SMA Trend Indicator [ApexLegion]Impulse Reactor RSI-SMA Trend Indicator
Introduction and Theoretical Background
Design Rationale
Standard indicators frequently generate binary 'BUY' or 'SELL' signals without accounting for the broader market context. This often results in erratic "Flip-Flop" behavior, where signals are triggered indiscriminately regardless of the prevailing volatility regime.
Impulse Reactor was engineered to address this limitation by unifying two critical requirements: Quantitative Rigor and Execution Flexibility.
The Solution
Composite Analytical Framework This script is not a simple visual overlay of existing indicators. It is an algorithmic synthesis designed to function as a unified decision-making engine. The primary objective was to implement rigorous quantitative analysis (Volatility Normalization, Structural Filtering) directly within an alert-enabled framework. This architecture is designed to process signals through strict, multi-factor validation protocols before generating real-time notifications, allowing users to focus on structurally validated setups without manual monitoring.
How It Works
This is not a simple visual mashup. It utilizes a cross-validation algorithm where the Trend Structure acts as a gatekeeper for Momentum signals:
Logic over Lag: Unlike simple moving average crossovers, this script uses a 15-layer Gradient Ribbon to detect "Laminar Flow." If the ribbon is knotted (Compression), the system mathematically suppresses all signals.
Volatility Normalization: The core calculation adapts to ATR (Average True Range). This means the indicator automatically expands in volatile markets and contracts in quiet ones, maintaining accuracy without constant manual tweaking.
Adaptive Signal Thresholding: It incorporates an 'Anti-Greed' algorithm (Dynamic Thresholding) that automatically adjusts entry criteria based on trend duration. This logic aims to mitigate the risk of entering positions during periods of statistical trend exhaustion.
Why Use It?
Market State Decoding: The gradient Ribbon visualizes the underlying trend phase in real-time.
◦ Cyan/Blue Flow: Strong Bullish Trend (Laminar Flow).
◦ Magenta/Pink Flow: Strong Bearish Trend.
◦ Compressed/Knotted: When the ribbon lines are tightly squeezed or overlapping, it signals Consolidation. The system filters signals here to avoid chop.
Noise Reduction: The goal is not to catch every pivot, but to isolate high-confidence setups. The logic explicitly filters out minor fluctuations to help maintain position alignment with the broader trend.
⚖️ Chapter 1: System Architecture
Introduction: Composite Analytical Framework
System Overview
Impulse Reactor serves as a comprehensive technical analysis engine designed to synthesize three distinct market dimensions—Momentum, Volatility, and Trend Structure—into a unified decision-making framework. Unlike traditional methods that analyze these metrics in isolation, this system functions as a central processing unit that integrates disparate data streams to construct a coherent model of market behavior.
Operational Objective
The primary objective is to transition from single-dimensional signal generation to a multi-factor assessment model. By fusing data from the Impulse Core (Volatility), Gradient Oscillator (Momentum), and Structural Baseline (Trend), the system aims to filter out stochastic noise and identify high-probability trade setups grounded in quantitative confluence.
Market Microstructure Analysis: Limitations of Conventional Models
Extensive backtesting and quantitative analysis have identified three critical inefficiencies in standard oscillator-based strategies:
• Bounded Oscillator Limitations (The "Oscillation Trap"): Traditional indicators such as RSI or Stochastics are mathematically constrained between fixed values (0 to 100). In strong trending environments, these metrics often saturate in "overbought" or "oversold" zones. Consequently, traders relying on static thresholds frequently exit structurally valid positions prematurely or initiate counter-trend trades against prevailing momentum, resulting in suboptimal performance.
• Quantitative Blindness to Quality: Standard moving averages and trend indicators often fail to distinguish the qualitative nature of price movement. They treat low-volume drift and high-velocity expansion identically. This inability to account for "Volatility Quality" leads to delayed responsiveness during critical market events.
• Fractal Dissonance (Timeframe Disconnect): Financial markets exhibit fractal characteristics where trends on lower timeframes may contradict higher timeframe structures. Manual integration of multi-timeframe analysis increases cognitive load and susceptibility to human error, often resulting in conflicting biases at the point of execution.
Core Design Principles
To mitigate the aforementioned systemic inefficiencies, Impulse Reactor employs a modular architecture governed by three foundational principles:
Principle A:
Volatility Precursor Analysis Market mechanics demonstrate that volatility expansion often functions as a leading indicator for directional price movement. The system is engineered to detect "Volatility Deviation" — specifically, the divergence between short-term and long-term volatility baselines—prior to its manifestation in price action. This allows for entry timing aligned with the expansion phase of market volatility.
Principle B:
Momentum Density Visualization The system replaces singular momentum lines with a "Momentum Density" model utilizing a 15-layer Simple Moving Average (SMA) Ribbon.
• Concept: This visualization represents the aggregate strength and consistency of the trend.
• Application: A fully aligned and expanded ribbon indicates a robust trend structure ("Laminar Flow") capable of withstanding minor counter-trend noise, whereas a compressed ribbon signals consolidation or structural weakness.
Principle C:
Adaptive Confluence Protocols Signal validity is strictly governed by a multi-dimensional confluence logic. The system suppresses signal generation unless there is synchronized confirmation across all three analytical vectors:
1. Volatility: Confirmed expansion via the Impulse Core.
2. Momentum: Directional alignment via the Hybrid Oscillator.
3. Structure: Trend validation via the Baseline. This strict filtering mechanism significantly reduces false positives in non-trending (choppy) environments while maintaining sensitivity to genuine breakouts.
🔍 Chapter 2: Core Modules & Algorithmic Logic
Module A: Impulse Core (Normalized Volatility Deviation)
Operational Logic The Impulse Core functions as a volatility-normalized momentum gauge rather than a standard oscillator. It is designed to identify "Volatility Contraction" (Squeeze) and "Volatility Expansion" phases by quantifying the divergence between short-term and long-term volatility states.
Volatility Z-Score Normalization
The formula implements a custom normalization algorithm. Unlike standard oscillators that rely on absolute price changes, this logic calculates the Z-Score of the Volatility Spread.
◦ Numerator: (atr_f - atr_s) captures the raw momentum of volatility expansion.
◦ Denominator: (std_f + 1e-6) standardizes this value against historical variance.
◦ Result: This allows the indicator scales consistently across assets (e.g., Bitcoin vs. Euro) without manual recalibration.
f_impulse() =>
atr_f = ta.atr(fastLen) // Fast Volatility Baseline
atr_s = ta.atr(slowLen) // Slow Volatility Baseline
std_f = ta.stdev(atr_f, devLen) // Volatility Standard Deviation
(atr_f - atr_s) / (std_f + 1e-6) // Normalized Differential Calculation
Algorithmic Framework
• Differential Calculation: The system computes the spread between a Fast Volatility Baseline (ATR-10) and a Slow Volatility Baseline (ATR-30).
• Normalization Protocol: To standardize consistency across diverse asset classes (e.g., Forex vs. Crypto), the raw differential is divided by the standard deviation of the volatility itself over a 30-period lookback.
• Signal Generation:
◦ Contraction (Squeeze): When the Fast ATR compresses below the Slow ATR, it registers a potential volatility buildup phase.
◦ Expansion (Release): A rapid divergence of the Fast ATR above the Slow ATR signals a confirmed volatility expansion, validating the strength of the move.
Module B: Gradient Oscillator (RSI-SMA Hybrid)
Design Rationale To mitigate the "noise" and "false reversal" signals common in single-line oscillators (like standard RSI), this module utilizes a 15-Layer Gradient Ribbon to visualize momentum density and persistence.
Technical Architecture
• Ribbon Array: The system generates 15 sequential Simple Moving Averages (SMA) applied to a volatility-adjusted RSI source. The length of each layer increases incrementally.
• State Analysis:
Momentum Alignment (Laminar Flow): When all 15 layers are expanded and parallel, it indicates a robust trend where buying/selling pressure is distributed evenly across multiple timeframes. This state helps filter out premature "overbought/oversold" signals.
• Consolidation (Compression): When the distance between the fastest layer (Layer 1) and the slowest layer (Layer 15) approaches zero or the layers intersect, the system identifies a "Non-Tradable Zone," preventing entries during choppy market conditions.
// Laminar Flow Validation
f_validate_trend() =>
// Calculate spread between Ribbon layers
ribbon_spread = ta.stdev(ribbon_array, 15)
// Only allow signals if Ribbon is expanded (Laminar Flow)
is_flowing = ribbon_spread > min_expansion_threshold
// If compressed (Knotted), force signal to false
is_flowing ? signal : na
Module C: Adaptive Signal Filtering (Behavioral Bias Mitigation)
This subsystem, operating as an algorithmic "Anti-Greed" Mechanism, addresses the statistical tendency for signal degradation following prolonged trends.
Dynamic Threshold Adjustment
• Win Streak Detection: The algorithm internally tracks the outcome of closed trade cycles.
• Sensitivity Multiplier: Upon detecting consecutive successful signals in the same direction, a Penalty_Factor is applied to the entry logic.
• Operational Impact: This effectively raises the Required_Slope threshold for subsequent signals. For example, after three consecutive bullish signals, the system requires a 30% steeper trend angle to validate a fourth entry. This enforces stricter discipline during extended trends to reduce the probability of entering at the point of trend exhaustion.
Anti-Greed Logic: Dynamic Threshold Calculation
f_adjust_threshold(base_slope, win_streak) =>
// Adds a 10% penalty to the difficulty for every consecutive win
penalty_factor = 0.10
risk_scaler = 1 + (win_streak * penalty_factor)
// Returns the new, harder-to-reach threshold
base_slope * risk_scaler
Module D: Trend Baseline (Triple-Smoothed Structure)
The Trend Baseline serves as the structural filter for all signals. It employs a Triple-Smoothed Hybrid Algorithm designed to balance lag reduction with noise filtration.
Smoothing Stages
1. Volatility Banding: Utilizes a SuperTrend-based calculation to establish the upper and lower boundaries of price action.
2. Weighted Filter: Applies a Weighted Moving Average (WMA) to prioritize recent price data.
3. Exponential Smoothing: A final Exponential Moving Average (EMA) pass is applied to create a seamless baseline curve.
Functionality
This "Heavy" baseline resists minor intraday volatility spikes while remaining responsive to sustained structural shifts. A signal is only considered valid if the price action maintains structural integrity relative to this baseline
🚦 Chapter 3: Risk Management & Exit Protocols
Quantitative Risk Management (TP/SL & Trailing)
Foundational Architecture: Volatility-Adjusted Geometry Unlike strategies relying on static nominal values, Impulse Reactor establishes dynamic risk boundaries derived from quantitative volatility metrics. This design aligns trade invalidation levels mathematically with the current market regime.
• ATR-Based Dynamic Bracketing:
The protocol calculates Stop-Loss and Take-Profit levels by applying Fibonacci coefficients (Default: 0.786 for SL / 1.618 for TP) to the Average True Range (ATR).
◦ High Volatility Environments: The risk bands automatically expand to accommodate wider variance, preventing premature exits caused by standard market noise.
◦ Low Volatility Environments: The bands contract to tighten risk parameters, thereby dynamically adjusting the Risk-to-Reward (R:R) geometry.
• Close-Validation Protocol ("Soft Stop"):
Institutional algorithms frequently execute liquidity sweeps—driving prices briefly below key support levels to accumulate inventory.
◦ Mechanism: When the "Soft Stop" feature is enabled, the system filters out intraday volatility spikes. The stop-loss is conditional; execution is triggered only if the candle closes beyond the invalidation threshold.
◦ Strategic Advantage: This logic distinguishes between momentary price wicks and genuine structural breakdowns, preserving positions during transient volatility.
• Step-Function Trailing Mechanism:
To protect unrealized PnL while allowing for normal price breathing, a two-phase trailing methodology is employed:
◦ Phase 1 (Activation): The trailing function remains dormant until the price advances by a pre-defined percentage threshold.
◦ Phase 2 (Dynamic Floor): Once armed, the stop level creates a moving floor, adjusting relative to price action while maintaining a volatility-based (ATR) buffer to systematically protect unrealized PnL.
• Algorithmic Exit Protocols (Dynamic Liquidity Analysis)
◦ Rationale: Inefficiencies of Static Targets Static "Take Profit" levels often result in suboptimal exits. They compel traders to close positions based on arbitrary figures rather than evolving market structure, potentially capping upside during significant trends or retaining positions while the underlying trend structure deteriorates.
◦ Solution: Structural Integrity Assessment The system utilizes a Dynamic Liquidity Engine to continuously audit the validity of the position. Instead of targeting a specific price point, the algorithm evaluates whether the trend remains statistically robust.
Multi-Factor Exit Logic (The Tri-Vector System)
The Smart Exit protocol executes only when specific algorithmic invalidation criteria are met:
• 1. Momentum Exhaustion (Confluence Decay): The system monitors a 168-hour rolling average of the Confluence Score. A significant deviation below this historical baseline indicates momentum exhaustion, signaling that the driving force behind the trend has dissipated prior to a price reversal. This enables preemptive exits before a potential drawdown.
• 2. Statistical Over-Extension (Mean Reversion): Utilizing the core volatility logic, the system identifies instances where price deviates beyond 2.0 standard deviations from the mean. While the trend may be technically bullish, this statistical anomaly suggests a high probability of mean reversion (elastic snap-back), triggering a defensive exit to capitalize on peak valuation.
• 3. Oscillator Rejection (Immediate Pivot): To manage sudden V-shaped volatility, the system monitors RSI pivots. If a sharp "Pivot High" or divergence is detected, the protocol triggers an immediate "Peak Exit," bypassing standard trend filters to secure liquidity during high-velocity reversals.
🎨 Chapter 4: Visualization Guide
Gradient Oscillator Ribbon
The 15-layer SMA ribbon visualized via plot(r1...r15) represents the "Momentum Density" of the market.
• Visuals:
◦ Cyan/Blue Ribbon: Indicates Bullish Momentum.
◦ Pink/Magenta Ribbon: Indicates Bearish Momentum.
• Interpretation:
◦ Laminar Flow: When the ribbon expands widely and flows in parallel, it signifies a robust trend where momentum is distributed evenly across timeframes. This is the ideal state for trend-following.
◦ Compression (Consolidation): If the ribbon becomes narrow, twisted, or knotted, it indicates a "Non-Tradable Zone" where the market lacks a unified direction. Traders are advised to wait for clarity.
◦ Over-Extension: If the top layer crosses the Overbought (85) or Oversold (15) lines, it visually warns of potential market overheating.
Trend Baseline
The thick, color-changing line plotted via plot(baseline) represents the Structural Backbone of the market.
• Visuals: Changes color based on the trend direction (Blue for Bullish, Pink for Bearish).
• Interpretation:
Structural Filter: Long positions are statistically favored only when price action sustains above this baseline, while short positions are favored below it.
Dynamic Support/Resistance: The baseline acts as a dynamic support level during uptrends and resistance during downtrends.
Entry Signals & Labels
Text labels ("Long Entry", "Short Entry") appear when the system detects high-probability setups grounded in quantitative confluence.
• Visuals: Labeled signals appear above/below specific candles.
• Interpretation:
These signals represent moments where Volatility (Expansion), Momentum (Alignment), and Structure (Trend) are synchronized.
Smart Exit: Labels such as "Smart Exit" or "Peak Exit" appear when the system detects momentum exhaustion or structural decay, prompting a defensive exit to preserve capital.
Dynamic TP/SL Boxes
The semi-transparent colored zones drawn via fill() represent the risk management geometry.
• Visuals: Colored boxes extending from the entry point to the Take Profit (TP) and Stop Loss (SL) levels.
• Function:
Volatility-Adjusted Geometry: Unlike static price targets, these boxes expand during high volatility (to prevent wicks from stopping you out) and contract during low volatility (to optimize Risk-to-Reward ratios).
SAR + MACD Glow
Small glowing shapes appearing above or below candles.
• Visuals: Triangle or circle glows near the price bars.
• Interpretation:
This visual indicates a secondary confirmation where Parabolic SAR and MACD align with the main trend direction. It serves as an additional confluence factor to increase confidence in the trade setup.
Support/Resistance Table
A small table located at the bottom-right of the chart.
• Function: Automatically identifies and displays recent Pivot Highs (Resistance) and Pivot Lows (Support).
• Interpretation: These levels can be used as potential targets for Take Profit or invalidation points for manual Stop Loss adjustments.
🖥️ Chapter 5: Dashboard & Operational Guide
Integrated Analytics Panel (Dashboard Overview)
To facilitate rapid decision-making without manual calculation, the system aggregates critical market dimensions into a unified "Heads-Up Display" (HUD). This panel monitors real-time metrics across multiple timeframes and analytical vectors.
A. Intermediate Structure (12H Trend)
• Function: Anchors the intraday analysis to the broader market structure using a 12-hour rolling window.
• Interpretation:
◦ Bullish (> +0.5%): Indicates a positive structural bias. Long setups align with the macro flow.
◦ Bearish (< -0.5%): Indicates structural weakness. Short setups are statistically favored.
◦ Neutral: Represents a ranging environment where the Confluence Score becomes the primary weighting factor.
B. Composite Confluence Score (Signal Confidence)
• Definition: A probability metric derived from the synchronization of Volatility (Impulse Core), Momentum (Ribbon), and Trend (Baseline).
• Grading Scale:
Strong Buy/Sell (> 7.0 / < 3.0): Indicates full alignment across all three vectors. Represents a "Prime Setup" eligible for standard position sizing.
Buy/Sell (5.0–7.0 / 3.0–5.0): Indicates a valid trend but with moderate volatility confirmation.
Neutral: Signals conflicting data (e.g., Bullish Momentum vs. Bearish Structure). Trading is not recommended ("No-Trade Zone").
C. Statistical Deviation Status (Mean Reversion)
• Logic: Utilizes Bollinger Band deviation principles to quantify how far price has stretched from the statistical mean (20 SMA).
• Alert States:
Over-Extended (> 2.0 SD): Warning that price is statistically likely to revert to the mean (Elastic Snap-back), even if the trend remains technically valid. New entries are discouraged in this zone.
Normal: Price is within standard distribution limits, suitable for trend-following entries.
D. Volatility Regime Classification
• Metric: Compares current ATR against a 100-period historical baseline to categorize the market state.
• Regimes:
Low Volatility (Lvl < 1.0): Market Compression. Often precedes volatility expansion events.
Mid Volatility (Lvl 1.0 - 1.5): Standard operating environment.
High Volatility (Lvl > 1.5): Elevated market stress. Risk parameters should be adjusted (e.g., reduced position size) to account for increased variance.
E. Performance Telemetry
• Function: Displays the historical reliability of the Trend Baseline for the current asset and timeframe.
• Operational Threshold: If the displayed Win Rate falls below 40%, it suggests the current market behavior is incoherent (choppy) and does not respect trend logic. In such cases, switching assets or timeframes is recommended.
Operational Protocols & Signal Decoding
Visual Interpretation Standards
• Laminar Flow (Trade Confirmation): A valid trend is visually confirmed when the 15-layer SMA Ribbon is fully expanded and parallel. This indicates distributed momentum across timeframes.
• Consolidation (No-Trade): If the ribbon appears twisted, knotted, or compressed, the market lacks a unified directional vector.
• Baseline Interaction: The Triple-Smoothed Baseline acts as a dynamic support/resistance filter. Long positions remain valid only while price sustains above this structure.
System Calibration (Settings)
• Adaptive Signal Filtering (Prev. Anti-Greed): Enabled by default. This logic automatically raises the required trend slope threshold following consecutive wins to mitigate behavioral bias.
• Impulse Sensitivity: Controls the reactivity of the Volatility Core. Higher settings capture faster moves but may introduce more noise.
⚙️ Chapter 6: System Configuration & Alert Guide
This section provides a complete breakdown of every adjustable setting within Impulse Reactor to assist you in tailoring the engine to your specific needs.
🌐 LANGUAGE SETTINGS (Localization)
◦ Select Language (Default: English):
Function: Instantly translates all chart labels, dashboard texts into your preferred language.
Supported: English, Korean, Chinese, Spanish
⚡ IMPULSE CORE SETTINGS (Volatility Engine)
◦ Deviation Lookback (Default: 30): The period used to calculate the standard deviation of volatility.
Role: Sets the baseline for normalizing momentum. Higher values make the core smoother but slower to react.
◦ Fast Pulse Length (Default: 10): The short-term ATR period.
Role: Detects rapid volatility expansion.
◦ Slow Pulse Length (Default: 30): The long-term ATR baseline.
Role: Establishes the background volatility level. The core signal is derived from the divergence between Fast and Slow pulses.
🎯 TP/SL SETTINGS (Risk Management)
◦ SL/TP Fibonacci (Default: 0.786 / 1.618): Selects the Fibonacci ratio used for risk calculation.
◦ SL/TP Multiplier (Default: 1.5 / 2): Applies a multiplier to the ATR-based bands.
Role: Expands or contracts the Take Profit and Stop Loss boxes. Increase these values for higher volatility assets (like Altcoins) to avoid premature stop-outs.
◦ ATR Length (Default: 14): The lookback period for calculating the Average True Range used in risk geometry.
◦ Use Soft Stop (Close Basis):
Role: If enabled, Stop Loss alerts only trigger if a candle closes beyond the invalidation level. This prevents being stopped out by wick manipulations.
🔊 RIBBON SETTINGS (Momentum Visualization)
◦ Show SMA Ribbon: Toggles the visibility of the 15-layer gradient ribbon.
◦ Ribbon Line Count (Default: 15): The number of SMA lines in the ribbon array.
◦ Ribbon Start Length (Default: 2) & Step (Default: 1): Defines the spread of the ribbon.
Role: Controls the "thickness" of the momentum density visualization. A wider step creates a broader ribbon, useful for higher timeframes.
📎 DISPLAY OPTIONS
◦ Show Entry Lines / TP/SL Box / Position Labels / S/R Levels / Dashboard: Toggles individual visual elements on the chart to reduce clutter.
◦ Show SAR+MACD Glow: Enables the secondary confirmation shapes (triangles/circles) above/below candles.
📈 TREND BASELINE (Structural Filter)
◦ Supertrend Factor (Default: 12) & ATR Period (Default: 90): Controls the sensitivity of the underlying Supertrend algorithm used for the baseline calculation.
◦ WMA Length (40) & EMA Length (14): The smoothing periods for the Triple-Smoothed Baseline.
◦ Min Trend Duration (Default: 10): The minimum number of bars the trend must be established before a signal is considered valid.
🧠 SMART EXIT (Dynamic Liquidity)
◦ Use Smart Exit: Enables the momentum exhaustion logic.
◦ Exit Threshold Score (Default: 3): The sensitivity level for triggering a Smart Exit. Lower values trigger earlier exits.
◦ Average Period (168) & Min Hold Bars (5): Defines the rolling window for momentum decay analysis and the minimum duration a trade must be held before Smart Exit logic activates.
🛡️ TRAILING STOP (Step)
◦ Use Trailing Stop: Activates the step-function trailing mechanism.
◦ Step 1 Activation % (0.5) & Offset % (0.5): The price must move 0.5% in your favor to arm the first trail level, which sets a stop 0.5% behind price.
◦ Step 2 Activation % (1) & Offset % (0.2): Once price moves 1%, the trail tightens to 0.2%, securing the position.
🌀 SAR & MACD SETTINGS (Secondary Confirmation)
◦ SAR Start/Increment/Max: Standard Parabolic SAR parameters.
◦ SAR Score Scaling (ATR): Adjusts how much weight the SAR signal has in the overall confluence score.
◦ MACD Fast/Slow/Signal: Standard MACD parameters used for the "Glow" signals.
🔄 ANTI-GREED LOGIC (Behavioral Bias)
◦ Strict Entry after Win: Enables the negative feedback loop.
◦ Strict Multiplier (Default: 1.1): Increases the entry difficulty by 10% after each win.
Role: Prevents overtrading and entering at the top of an extended trend.
🌍 HTF FILTER (Multi-Timeframe)
◦ Use Auto-Adaptive HTF Filter: Automatically selects a higher timeframe (e.g., 1H -> 4H) to filter signals.
◦ Bypass HTF on Steep Trigger: Allows an entry even against the HTF trend if the local momentum slope is exceptionally steep (catch powerful reversals).
📉 RSI PEAK & CHOPPINESS
◦ RSI Peak Exit (Instant): Triggers an immediate exit if a sharp RSI pivot (V-shape) is detected.
◦ Choppiness Filter: Suppresses signals if the Choppiness Index is above the threshold (Default: 60), indicating a flat market.
📐 SLOPE TRIGGER LOGIC
◦ Force Entry on Steep Slope: Overrides other filters if the price angle is extremely vertical (high velocity).
◦ Slope Sensitivity (1.5): The angle required to trigger this override.
⛔ FLAT MARKET FILTER (ADX & ATR)
◦ Use ADX Filter: Blocks signals if ADX is below the threshold (Default: 20), indicating no trend.
◦ Use ATR Flat Filter: Blocks signals if volatility drops below a critical level (dead market).
🔔 Alert Configuration Guide
Impulse Reactor is designed with a comprehensive suite of alert conditions, allowing you to automate your trading or receive real-time notifications for specific market events.
How to Set Up:
Click the "Alert" (Clock) icon in the TradingView toolbar.
Select "Impulse Reactor " from the Condition dropdown.
Choose one of the specific trigger conditions below:
🚀 Entry Signals (Trend Initiation)
Long Entry:
Trigger: Fires when a confirmed Bullish Setup is detected (Momentum + Volatility + Structure align).
Usage: Use this to enter new Long positions.
Short Entry:
Trigger: Fires when a confirmed Bearish Setup is detected.
Usage: Use this to enter new Short positions.
🎯 Profit Taking (Target Levels)
Long TP:
Trigger: Fires when price hits the calculated Take Profit level for a Long trade.
Usage: Automate partial or full profit taking.
Short TP:
Trigger: Fires when price hits the calculated Take Profit level for a Short trade.
Usage: Automate partial or full profit taking.
🛡️ Defensive Exits (Risk Management)
Smart Exit:
Trigger: Fires when the system detects momentum decay or statistical exhaustion (even if the trend hasn't fully reversed).
Usage: Recommended for tightening stops or closing positions early to preserve gains.
Overbought / Oversold:
Trigger: Fires when the ribbon extends into extreme zones.
Usage: Warning signal to prepare for a potential reversal or pullback.
💡 Secondary Confirmation (Confluence)
SAR+MACD Bullish:
Trigger: Fires when Parabolic SAR and MACD align bullishly with the main trend.
Usage: Ideal for Pyramiding (adding to an existing winning position).
SAR+MACD Bearish:
Trigger: Fires when Parabolic SAR and MACD align bearishly.
Usage: Ideal for adding to short positions.
⚠️ Chapter 7: Conclusion & Risk Disclosure
Methodological Synthesis
Impulse Reactor represents a shift from reactive price tracking to proactive energy analysis. By decomposing market activity into its atomic components — Volatility, Momentum, and Structure — and reconstructing them into a coherent decision model, the system aims to provide a quantitative framework for market engagement. It is designed not to predict the future, but to identify high-probability conditions where kinetic energy and trend structure align.
Disclaimer & Risk Warnings
◦ Educational Purpose Only
This indicator, including all associated code, documentation, and visual outputs, is provided strictly for educational and informational purposes. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments.
◦ No Guarantee of Performance
Past performance is not indicative of future results. All metrics displayed on the dashboard (including "Win Rate" and "P&L") are theoretical calculations based on historical data. These figures do not account for real-world trading factors such as slippage, liquidity gaps, spread costs, or broker commissions.
◦ High-Risk Warning
Trading cryptocurrencies, futures, and leveraged financial products involves a substantial risk of loss. The use of leverage can amplify both gains and losses. Users acknowledge that they are solely responsible for their trading decisions and should conduct independent due diligence before executing any trades.
◦ Software Limitations
The software is provided "as is" without warranty. Users should be aware that market data feeds on analysis platforms may experience latency or outages, which can affect signal generation accuracy.
FTPM - Institutional Trend Pressure Suite @darshaksscThis indicator provides an informational view of market trend pressure using fractal-based momentum events, smoothed pressure calculations, higher timeframe confirmation, and divergence analysis. It does not produce buy or sell signals. Instead, it presents market context to help traders interpret trend conditions in a structured and data-driven way.
The indicator includes the following components:
1). Non-repainting Trend Pressure Engine
The pressure line is derived from confirmed fractal events, body-to-range ratios, displacement strength, and a controlled decay factor. The value is normalized to a 0 to 100 scale. A rising pressure value suggests increasing trend strength, while a declining value indicates weakening strength. This is informational only.
2). Pressure Shifts
The tool highlights transitions where pressure crosses above or below key thresholds. These labels do not represent entries or exits, but simply indicate contextual changes in momentum.
3). Higher Timeframe Pressure Confirmation
Users can compare current timeframe pressure to a selected higher timeframe. When both pressures align in similar regions, it may indicate agreement in broader market structure. This feature is informational only and does not generate trading signals.
4). Divergence Detection
Identifies confirmed bullish or bearish divergences between price pivots and pressure pivots. Divergences are simply analytical tools and should not be interpreted as actionable trading signals.
5). Institutional Dashboard
A multi-line dashboard summarizes current pressure, regime classification, higher timeframe regime, pressure direction, divergence status, and alignment conditions. The dashboard is informational only. No part of the dashboard should be interpreted as a trade instruction.
6). Dashboard Size Selector
Users may switch between Full, Medium, or Thin dashboard layouts to match their screen preferences. This affects only display, not indicator logic.
Important Notes
This indicator does not forecast future price movement.
It does not generate buy, sell, long, or short signals.
It does not guarantee profitable outcomes.
It is intended purely for visual analysis and market context.
All information is derived from confirmed historical data.
No part of this script is designed to automate trading decisions.
This tool is suitable for traders who want a clear, non-repainting visualization of pressure conditions and structural behavior without violating TradingView House Rules.
======================================================================
HOW TO USE
The indicator helps traders observe whether pressure is increasing or decreasing, whether higher timeframe conditions agree with the current chart, and whether divergences are present. All outputs are informational and should be combined with the user's preferred strategy or manual analysis. The indicator is not intended to signal trades or provide recommendations.
======================================================================
DISCLAIMERS
This indicator is for educational and informational purposes only.
It does not constitute financial advice.
It does not provide buy, sell, long, or short signals.
It does not predict future price movement.
Past performance does not guarantee future results.
======================================================================
MACD Momentum Structure & Volume Profile Sniper [MTF]**Description and Methodology**
This script offers a unique approach to Market Structure by moving away from traditional fractal-based highs and lows (which can be noisy). Instead, it utilizes **MACD Momentum Swings** to identify significant structural points, combined with an automated Fixed Range Volume Profile to pinpoint high-probability entry zones.
**1. Why MACD Structure? (The Core Concept)**
Traditional "ZigZag" or Fractal indicators rely solely on price action, often leading to fake-outs during low-volume consolidation.
* This script defines a "Swing High" only when the MACD Histogram crosses below zero (Momentum shifts Bearish).
* This script defines a "Swing Low" only when MACD crosses above zero (Momentum shifts Bullish).
By linking structure to momentum, we filter out weak price movements and focus on the true "heartbeat" of the trend.
**2. The "Mashup" Synergy: Structure + Volume + Logic**
This is not a random combination of indicators. Each component serves a specific step in the trading execution sequence:
* **Step 1 (Structure):** The script identifies a Change of Character (CHoCH) based on the MACD peaks described above.
* **Step 2 (Liquidity/Value):** When a CHoCH occurs, the script *automatically* draws a **Fixed Range Volume Profile (FRVP)** specifically covering the impulse leg that caused the break. This reveals the "Point of Control" (POC)—the hidden price level where the most volume occurred during the move.
* **Step 3 (The Sniper Entry):** The script creates a "Zone" around that POC. It then waits for Price to retrace into this zone.
* **Step 4 (Confirmation):** Once the zone is touched, the script monitors a lower timeframe (User selectable, default M1) for a fresh MACD crossover to trigger the final entry signal.
**Features**
* **Multi-Timeframe Dashboard:** Monitor the MACD Trend direction across 4 different timeframes simultaneously.
* **Dynamic Trendlines:** Automatically connects confirmed MACD peaks to visualize trend integrity.
* **Fibo Time Zones:** Projects potential future pivot points based on the duration of the previous swing.
* **Alert System:** Integrated alerts for Zone Touches and "Sniper" entries (Zone Touch + LTF Momentum Confirmation).
**How to Use**
1. **Identify Trend:** Look for the CHoCH labels. Green indicates a shift to Bullish, Red to Bearish.
2. **Wait for Pullback:** Do not chase the break. Wait for price to return to the Yellow POC Zone generated by the Volume Profile.
3. **Entry Trigger:** Watch for the "BUY" or "SELL" marks. These appear only when price hits the zone AND the lower-timeframe momentum aligns with the trade direction.
**Settings & Inputs**
* **Global MACD:** Adjust the sensitivity of the swing detection (Default 12, 26, 9).
* **Sniper Entry:** Select the timeframe used for the final confirmation (e.g., use M1 confirmation for an H1 chart structure).
* **VP Settings:** Customize how the Volume Profile looks on the chart.
*Disclaimer: This script is intended for educational purposes and market analysis. It does not provide financial advice.*
Bappa - Dynamic VWAP Simple Vwap, just dynamic colour Coding added to sense whether VWAP is in uptrend or downtrend. Refer to colour code to enter Call side or Put side, it never disappoints you at any timeframe. Enjoy & happy Trading!!
Better results if used in conjuction with Pivots/ fractals indicator, named as Bappa EMA + BBW (V2) indicator.
Exhaustion Zone [by rukich]🟠 OVERVIEW
The indicator shows asset exhaustion — an area of interest where potential buying opportunities can be considered.
🟠 COMPONENTS
The indicator is based on a combination of fundamental tools designed to properly react to price movement and volatility.
It is displayed on the chart as a green line. When the price touches the indicator line, the candle lights up and is highlighted in green.
🟠 HOW TO USE
The best timeframes for using the indicator: 1D and 3D.
Since the indicator is used on higher timeframes, the price rarely reaches the indicator line, but it often shows a strong reaction when it does, which suggests that the indicator can be used for investment purposes.
Since the zone suggests potential buying opportunities, it’s best to act from the zone only when a reaction is confirmed. Confirmation may include a candle close beyond nearby fractals or the invalidation of the nearest resistance zone.
🟠 CONCLUSION
The indicator highlights an area of interest where, upon confirmation of a reaction, buying opportunities may be considered.
Monitor Posición Bollinger Multi-TFThis indicator provides a comprehensive dashboard that allows you to monitor the price position relative to Bollinger Bands across 7 different timeframes simultaneously, without the need to switch charts.
It uses the %B (Percent B) logic to normalize the price position, giving you an instant "Heatmap" view of the market state (Overbought/Oversold) from the 1-minute chart up to the Weekly chart.
Key Features:
Multi-Timeframe Monitoring: Watch 1m, 5m, 15m, 1h, 4h, Daily, and Weekly timeframes in a single panel.
Dynamic Color Coding:
Dark Red: Price breaking above the Upper Band (>100%).
Light Red: Price near the Upper Band (Resistance zone).
Gray: Price in the neutral middle zone.
Light Green: Price near the Lower Band (Support zone).
Dark Green: Price breaking below the Lower Band (<0%).
Trend Arrows: Indicates momentum (▲ or ▼) based on the previous candle's position.
Current Timeframe Highlight: Automatically highlights the row corresponding to your current chart view in orange.
Fully Customizable: Adjust Bollinger settings (Length, Mult), choose your preferred timeframes, and change the table position/size.
Movable Panel: Includes X/Y offset settings to prevent the table from blocking price action or menu buttons.
How to Use:
Add the indicator to your chart.
Use the dashboard to spot confluence across timeframes.
Example: If 15m, 1H, and 4H are all showing Red, the asset is likely overextended to the upside.
Example: If the lower timeframes are turning Green while the higher timeframes remain Gray/Bullish, it might indicate a pullback opportunity.
Settings:
Bollinger Config: Length (20) and Multiplier (2.0) by default.
Timeframes: Select the 7 specific TFs you want to track.
Visuals: Change table position, text size, and offset coordinates.
This tool is essential for scalpers and day traders who need situational awareness across multiple fractals instantly.
MirPapa_Lib_trendLibrary: MirPapa_Lib_trend
getMaColor(level)
Parameters:
level (int): 1 = lowest, 2 = low, 3 = mid, 4 = high, 5 = highest, 6 = base
getMA(mode, src, len)
Parameters:
mode (string): MA type
src (float): source
len (simple int): period
Returns: selected MA
getMA(maName, src, intLow, intMid, intHigh)
Parameters:
maName (string): MA type
src (float): source
intLow (simple int): short-term
intMid (simple int): mid-term
intHigh (simple int): long-term
Returns: array
getMA(maName, src, intLowest, intLow, intMid, intHigh, intHighest, intBase)
Parameters:
maName (string): MA type
src (float): source
intLowest (simple int): ultra-short
intLow (simple int): short
intMid (simple int): mid
intHigh (simple int): long
intHighest (simple int): ultra-long
intBase (simple int): base line
Returns: array
getStochastic(src, intLen)
Parameters:
src (float): source
intLen (int): period
Returns: selected stochastic
getStochastic(src, intLow, intMid, intHigh)
Parameters:
src (float): source
intLow (int): short-term
intMid (int): mid-term
intHigh (int): long-term
Returns:
getStochastic(src, intLowest, intLow, intMid, intHigh, intHighest, intBase)
Parameters:
src (float): source
intLowest (int): ultra-short
intLow (int): short
intMid (int): mid
intHigh (int): long
intHighest (int): ultra-long
intBase (int): base
Returns:
getRSX(src, intLen)
Parameters:
src (float): source
intLen (int): period
Returns: selected RSX
getRSX(src, intLow, intMid, intHigh)
Parameters:
src (float): source
intLow (int): short-term
intMid (int): mid-term
intHigh (int): long-term
Returns:
getRSX(src, intLowest, intLow, intMid, intHigh, intHighest, intBase)
Parameters:
src (float): source
intLowest (int): ultra-short
intLow (int): short
intMid (int): mid
intHigh (int): long
intHighest (int): ultra-long
intBase (int): base
Returns:
getMACD(src, fastLen, slowLen, signalLen)
Parameters:
src (float): source
fastLen (simple int): fast EMA period
slowLen (simple int): slow EMA period
signalLen (simple int): signal line period
Returns:
getBollingerBand(src, len, mult)
Parameters:
src (float): source
len (int): period
mult (float): standard deviation multiplier
Returns:
getATR(intLen)
Parameters:
intLen (simple int): ATR period
Returns: selected ATR
getATR(intLow, intMid, intHigh)
Parameters:
intLow (simple int): short-term
intMid (simple int): mid-term
intHigh (simple int): long-term
Returns: array
getATR(intLowest, intLow, intMid, intHigh, intHighest, intBase)
Parameters:
intLowest (simple int): ultra-short
intLow (simple int): short
intMid (simple int): mid
intHigh (simple int): long
intHighest (simple int): ultra-long
intBase (simple int): base
isCross(fastLine, baseLine)
Parameters:
fastLine (float): fast line
baseLine (float): base line
Returns: state (true/false)
isMAtrend(maLow, maMid, maHigh)
Parameters:
maLow (float): fast MA
maMid (float): mid MA
maHigh (float): slow MA
Returns: trend state
isMAline(val, valPrev, intBaseLine)
Parameters:
val (float): current value
valPrev (float): previous value
intBaseLine (int): base value
Returns: state
getStage(v1, v2, v3)
Parameters:
v1 (float): first value
v2 (float): second value
v3 (float): third value
Returns: stage number (1–6)
getBgColor(stage)
Parameters:
stage (int): stage number
Returns: color
getBgColor(stage, transp)
Parameters:
stage (int): stage number
transp (int): transparency
Returns: color
getBGColor(v1, v2, v3)
Parameters:
v1 (float): first value
v2 (float): second value
v3 (float): third value
Returns: color
getBGColor(v1, v2, v3, transp)
Parameters:
v1 (float): first value
v2 (float): second value
v3 (float): third value
transp (int): transparency
Returns: color
createStackedLabel(labelText, isUp, maLowest, maLow, maMid, maHigh, maHighest, maBase)
Parameters:
labelText (string): label text
isUp (bool): true = up, false = down
maLowest (float)
maLow (float)
maMid (float)
maHigh (float)
maHighest (float)
maBase (float)
Returns: created label
isDoubleBottom(src, left, right)
Parameters:
src (float): reference series (e.g., mid MA or low)
left (int): left bar count for pivot search
right (int): right bar count for pivot search
Returns: true if double bottom detected (previous pivot low < current pivot low)
isDoubleTop(src, left, right)
Parameters:
src (float): reference series (e.g., mid MA or high)
left (int): left bar count for pivot search
right (int): right bar count for pivot search
Returns: true if double top detected (previous pivot high > current pivot high)
isFractalHigh(src, left, right)
Parameters:
src (float): high series (e.g., high or mid MA)
left (int): left confirmation bars
right (int): right confirmation bars
Returns: true if fractal high detected
isFractalLow(src, left, right)
Parameters:
src (float): low series (e.g., low or mid MA)
left (int): left confirmation bars
right (int): right confirmation bars
Returns: true if fractal low detected
FluxGate Daily Swing StrategySummary in one paragraph
FluxGate treats long and short as different ecosystems. It runs two independent engines so the long side can be bold when the tape rewards upside persistence while the short side can stay selective when downside is messy. The core reads three directional drivers from price geometry then removes overlap before gating with clean path checks. The complementary risk module anchors stop distance to a higher timeframe ATR so a unit means the same thing on SPY and BTC. It can add take profit breakeven and an ATR trail that only activates after the trade earns it. If a stop is hit the strategy can re enter in the same direction on the next bar with a daily retry cap that you control. Add it to a clean chart. Use defaults to see the intended behavior. For conservative workflows evaluate on bar close.
Scope and intent
• Markets. Large cap equities and liquid ETFs major FX pairs US index futures and liquid crypto pairs
• Timeframes. From one minute to daily
• Default demo in this publication. SPY on one day timeframe
• Purpose. Reduce false starts without missing sustained trends by fusing independent drivers and suppressing activity when the path is noisy
• Limits. This is a strategy. Orders are simulated on standard candles. Non standard chart types are not supported for execution
Originality and usefulness
• Unique fusion. FluxGate extracts three drivers that look at price from different angles. Direction measures slope of a smoothed guide and scales by realized volatility so a point of slope does not mean a different thing on different symbols. Persistence looks at short sign agreement to reward series of closes that keep direction. Curvature measures the second difference of a local fit to wake up during convex pushes. These three are then orthonormalized so a strong reading in one does not double count through another.
• Gates that matter. Efficiency ratio prefers direct paths over treadmills. Entropy turns up versus down frequency into an information read. Light fractal cohesion punishes wrinkly paths. Together they slow the system in chop and allow it to open up when the path is clean.
• Separate long and short engines. Threshold tilts adapt to the skew of score excursions. That lets long engage earlier when upside distribution supports it and keeps short cautious where downside surprise and venue frictions are common.
• Practical risk behavior. Stops are ATR anchored on a higher timeframe so the unit is portable. Take profit is expressed in R so two R means the same concept across symbols. Breakeven and trailing only activate after a chosen R so early noise does not squeeze a good entry. Re entry after stop lets the system try again without you babysitting the chart.
• Testability. Every major window and the aggression controls live in Inputs. There is no hidden magic number.
Method overview in plain language
Base measures
• Return basis. Natural log of close over prior close for stability and easy aggregation through time. Realized volatility is the standard deviation of returns over a moving window.
• Range basis for risk. ATR computed on a higher timeframe anchor such as day week or month. That anchor is steady across venues and avoids chasing chart specific quirks.
Components
• Directional intensity. Use an EMA of typical price as a guide. Take the day to day slope as raw direction. Divide by realized volatility to get a unit free measure. Soft clip to keep outliers from dominating.
• Persistence. Encode whether each bar closed up or down. Measure short sign agreement so a string of higher closes scores better than a jittery sequence. This favors push continuity without guessing tops or bottoms.
• Curvature. Fit a short linear regression and compute the second difference of the fitted series. Strong curvature flags acceleration that slope alone may miss.
• Efficiency gate. Compare net move to path length over a gate window. Values near one indicate direct paths. Values near zero indicate treadmill behavior.
• Entropy gate. Convert up versus down frequency into a probability of direction. High entropy means coin toss. The gate narrows there.
• Fractal cohesion. A light read of path wrinkliness relative to span. Lower cohesion reduces the urge to act.
• Phase assist. Map price inside a recent channel to a small signed bias that grows with confidence. This helps entries lean toward the right half of the channel without becoming a breakout rule.
• Shock control. Compare short volatility to long volatility. When short term volatility spikes the shock gate temporarily damps activity so the system waits for pressure to normalize.
Fusion rule
• Normalize the three drivers after removing overlap
• Blend with weights that adapt to your aggression input
• Multiply by the gates to respect path quality
• Smooth just enough to avoid jitter while keeping timing responsive
• Compute an adaptive mean and deviation of the score and set separate long and short thresholds with a small tilt informed by skew sign
• The result is one long score and one short score that can cross their thresholds at different times for the same tape which is a feature not a bug
Signal rule
• A long suggestion appears when the long score crosses above its long threshold while all gates are active
• A short suggestion appears when the short score crosses below its short threshold while all gates are active
• If any required gate is missing the state is wait
• When a position is open the status is in long or in short until the complementary risk engine exits or your entry mode closes and flips
Inputs with guidance
Setup Long
• Base length Long. Master window for the long engine. Typical range twenty four to eighty. Raising it improves selectivity and reduces trade count. Lowering it reacts faster but can increase noise
• Aggression Long. Zero to one. Higher values make thresholds more permissive and shorten smoothing
Setup Short
• Base length Short. Master window for the short engine. Typical range twenty eight to ninety six
• Aggression Short. Zero to one. Lower values keep shorts conservative which is often useful on upward drifting symbols
Entries and UI
• Entry mode. Both or Long only or Short only
Complementary risk engine
• Enable risk engine. Turns on bracket exits while keeping your signal logic untouched
• ATR anchor timeframe. Day Week or Month. This sets the structural unit of stop distance
• ATR length. Default fourteen
• Stop multiple. Default one point five times the anchor ATR
• Use take profit. On by default
• Take profit in R. Default two R
• Breakeven trigger in R. Default one R
Usage recipes
Intraday trend focus
• Entry mode Both
• ATR anchor Week
• Aggression Long zero point five Aggression Short zero point three
• Stop multiple one point five Take profit two R
• Expect fewer trades that stick to directional pushes and skip treadmill noise
Intraday mean reversion focus
• Session windows optional if you add them in your copy
• ATR anchor Day
• Lower aggression both sides
• Breakeven later and trailing later so the first bounce has room
• This favors fade entries that still convert into trends when the path stays clean
Swing continuation
• Signal timeframe four hours or one day
• Confirm timeframe one day if you choose to include bias
• ATR anchor Week or Month
• Larger base windows and a steady two R target
• This accepts fewer entries and aims for larger holds
Properties visible in this publication
• Initial capital 25.000
• Base currency USD
• Default order size percent of equity value three - 3% of the total capital
• Pyramiding zero
• Commission zero point zero three percent - 0.03% of total capital
• Slippage five ticks
• Process orders on close off
• Recalculate after order is filled off
• Calc on every tick off
• Bar magnifier off
• Any request security calls use lookahead off everywhere
Realism and responsible publication
• No performance promises. Past results never guarantee future outcomes
• Fills and slippage vary by venue and feed
• Strategies run on standard candles only
• Shapes can update while a bar is forming and settle on close
• Keep risk per trade sensible. Around one percent is typical for study. Above five to ten percent is rarely sustainable
Honest limitations and failure modes
• Sudden news and thin liquidity can break assumptions behind entropy and cohesion reads
• Gap heavy symbols often behave better with a True Range basis for risk than a simple range
• Very quiet regimes can reduce score contrast. Consider longer windows or higher thresholds when markets sleep
• Session windows follow the exchange time of the chart if you add them
• If stop and target can both be inside a single bar this strategy prefers stop first to keep accounting conservative
Open source reuse and credits
• No reused open source beyond public domain building blocks such as ATR EMA and linear regression concepts
Legal
Education and research only. Not investment advice. You are responsible for your decisions. Test on history and in simulation with realistic costs
ZS Master Vision Pro - Advanced Multi-Timeframe Trading SystemZS MASTER VISION PRO - PROFESSIONAL TRADING SUITE
Created by Zakaria Safri
A comprehensive, all-in-one trading system combining multiple proven technical analysis methods into a single, powerful indicator. Designed for traders who demand precision, clarity, and actionable signals across all timeframes.
KEY FEATURES
CORE TREND ALGORITHM
Adaptive ATR-based trend detection with dynamic support and resistance zones. Features Type A and Type B signal modes for different trading styles, strong signal detection in key reversal zones, and optional EMA source smoothing for noise reduction.
MULTI-LAYER EMA CLOUD SYSTEM
Five customizable EMA cloud layers for multi-timeframe analysis with theme-adaptive color coding across five professional themes. Optional line display for detailed MA tracking with configurable periods from scalping to position trading.
WAVE TREND OSCILLATOR
Advanced momentum oscillator with channel-based calculations featuring smart reversal detection at extreme overbought and oversold levels. Includes directional strength confirmation and customizable sensitivity with adjustable reaction periods.
DIVERGENCE SCANNER
Detects four types of divergence automatically:
- Regular Bullish: Price making lower lows while oscillator making higher lows
- Regular Bearish: Price making higher highs while oscillator making lower highs
- Hidden Bullish: Trend continuation signals in uptrends
- Hidden Bearish: Trend continuation signals in downtrends
Automatic fractal-based detection with clear visual labels on chart.
MARKET BIAS INDICATOR
Heikin Ashi-based trend strength analysis with real-time bias calculation showing Bullish or Bearish combined with Strong or Weak conditions. Smoothed for cleaner signals and perfect for trend confirmation.
MOMENTUM SYSTEM
Proprietary momentum calculation using adaptive smoothing with growing and falling state detection. Normalized values for consistent interpretation and responsive to rapid market changes.
DYNAMIC SUPPORT AND RESISTANCE
Automatic pivot-based support and resistance level detection with adjustable left and right bar lookback. Non-repainting levels with visual clarity through color-coded lines.
LIVE INFORMATION DASHBOARD
Real-time market analysis panel displaying current trend direction, market bias based on Heikin Ashi, Wave Trend status and value, and momentum trend with state. Customizable display options with theme-adaptive colors.
VISUAL CUSTOMIZATION
FIVE PROFESSIONAL COLOR THEMES:
Pro - Modern green and red color scheme (default)
Classic - Traditional teal and red combination
Cyberpunk - Neon cyan and magenta contrast
Ocean - Blue and orange contrast
Sunset - Gold and red warmth
SIGNAL STYLES:
Labels with emoji indicators (BUY with rocket, SELL with bear, STRONG with lightning)
Arrows for clean minimal appearance
Triangles for classic approach
DISPLAY OPTIONS:
Color-coded candles following trend direction
Trend background highlighting for instant trend recognition
Optional EMA line display for detailed analysis
Adjustable transparency levels for personal preference
SMART ALERTS
Pre-configured alert conditions for all major signals:
Buy signals for standard entry opportunities
Sell signals for standard exit or short opportunities
Strong buy signals for high-confidence long entries
Strong sell signals for high-confidence short entries
Bullish divergence detection alerts
Bearish divergence detection alerts
Alert messages automatically include ticker symbol, current price, and specific signal type for quick decision making.
HOW TO USE
FOR TREND TRADERS:
Enable EMA Clouds with focus on Cloud 5 featuring 50 and 200 period moving averages. Wait for trend background color change to confirm direction. Enter on STRONG signals aligned with higher timeframe trend direction. Use support and resistance levels for strategic exits.
FOR SWING TRADERS:
Enable Wave Trend Oscillator information display. Look for oversold and overbought reversal setups. Confirm potential reversals with divergence scanner. Enter on smart reversal signals with proper risk management.
FOR SCALPERS:
Use Type B signal mode for more frequent trading signals. Enable Cloud 1 with 5 and 13 periods for quick trend confirmation. Focus on momentum growing and falling states for entry timing. Take quick entries on regular buy and sell signals.
FOR POSITION TRADERS:
Use Type A mode with higher ATR multiplier set to 3.0 or above. Enable only Cloud 5 with 50 and 200 periods for major trend confirmation. Only take STRONG signals for highest probability setups. Hold positions through minor pullbacks and noise.
RECOMMENDED SETTINGS
STOCKS ON DAILY TIMEFRAME:
Trend Period: 180
ATR Period: 155
ATR Multiplier: 2.1
Signal Mode: Type A
FOREX ON HOURLY AND 4-HOUR TIMEFRAMES:
Trend Period: 150
ATR Period: 120
ATR Multiplier: 2.5
Signal Mode: Type A
CRYPTOCURRENCY ON 15-MINUTE AND 1-HOUR TIMEFRAMES:
Trend Period: 100
ATR Period: 80
ATR Multiplier: 3.0
Signal Mode: Type B
SCALPING ON 1-MINUTE AND 5-MINUTE TIMEFRAMES:
Trend Period: 50
ATR Period: 40
ATR Multiplier: 2.0
Signal Mode: Type B
WHAT IS INCLUDED
Trend Analysis using ATR-based adaptive algorithm
Five EMA Cloud Layers for multi-timeframe confluence
Wave Trend Oscillator for momentum and reversal detection
Divergence Scanner detecting four types of divergence
Market Bias using Heikin Ashi-based trend strength
Momentum System with advanced momentum tracking
Support and Resistance Levels with automatic pivot detection
Live Dashboard showing real-time market analysis
Smart Alerts featuring six pre-configured alert types
Five Color Themes offering professional visual options
TECHNICAL DETAILS
CALCULATION METHODS:
Average True Range (ATR) for volatility adaptation
Exponential Moving Average (EMA) and Simple Moving Average (SMA) for trend smoothing
Wave Trend channel oscillator for momentum analysis
Fractal-based divergence detection algorithm
Heikin Ashi transformation for bias calculation
Logarithmic momentum calculation for precision
PERFORMANCE CHARACTERISTICS:
Optimized for maximum speed and efficiency
No repainting signals ensuring reliability
Works on all timeframes from 1 minute to monthly
Compatible with all instruments including stocks, forex, crypto, and futures
RISK DISCLAIMER
This indicator is a technical analysis tool and should not be used as the sole basis for trading decisions. Always use proper risk management and never risk more than you can afford to lose. Combine with other analysis methods and practice on demo accounts first. Past performance does not guarantee future results. Trading carries substantial risk and is not suitable for all investors.
SUPPORT AND UPDATES
Regular updates and continuous improvements
Based on proven technical analysis principles
Developed following Pine Coders best practices and standards
Clean, well-documented, and optimized code structure
WHY CHOOSE ZS MASTER VISION PRO
All-in-one solution eliminating the need for multiple indicators
Highly customizable to adapt to your specific trading style
Professional grade analysis with institutional-quality standards
Clean interface that is not cluttered or confusing
Works everywhere across all markets and all timeframes
Smart signals filtered for quality over quantity
Beautiful design featuring five professional color themes
Active development with regular improvements and updates
Transform your trading with ZS Master Vision Pro today.
Version 2.0 | Created by Zakaria Safri | Pine Script Version 5
Market Structure ICT Screener [TradingFinder] BoS ChoCh🔵 Introduction
Market Structure is the foundation of every Smart Money and ICT based trading model. It describes how price moves through a sequence of highs and lows, forming clear phases of expansion, retracement and reversal. Understanding this structure allows traders to read institutional order flow and align their positions with the true direction of liquidity.
Two of the most critical components in Market Structure are the Break of Structure (BOS) and Change of Character (CHOCH). A BOS represents trend continuation, confirming strength within the current direction. In contrast, CHOCH also known as a Market Structure Shift (MSS) signals the first sign of a trend reversal or liquidity shift where order flow begins to change from bullish to bearish or vice versa.
Because the market is fractal, structure can exist at multiple levels known as Major (External) and Minor (Internal). Major structure defines the overall trend on higher timeframes while minor or internal structure reveals short term swings and early reversals within that larger move.
🔵 How to Use
Understanding Market Structure starts with identifying how price interacts with previous swing highs and swing lows. Every trend in the market, whether bullish or bearish, is built from a sequence of impulsive and corrective moves. Impulsive legs show strong displacement in the direction of liquidity flow, while corrective legs represent temporary pullbacks as the market rebalances before the next expansion. Recognizing these sequences is essential for reading the story of price and anticipating what may happen next.
A Break of Structure (BOS) occurs when price decisively moves beyond a previous structural point by breaking above the last high in an uptrend or falling below the last low in a downtrend. This event confirms that the current trend remains intact and that liquidity has been successfully taken from one side of the market. A BOS acts as confirmation of continuation and reflects strength within the existing directional bias.
A Change of Character (CHOCH) appears when price violates structure in the opposite direction of the prevailing trend. This is the first signal that market sentiment and order flow may be shifting. For example, during a downtrend if price breaks above a previous high, it indicates that sellers are losing control and a potential bullish reversal may be developing. In an uptrend, when price drops below a recent low, it suggests a possible bearish transition.
Because the market is fractal, structure exists across multiple layers. Major structure reflects the dominant movement visible on higher timeframes and defines the broader directional bias. Minor or internal structure represents smaller swings within that move and helps identify early transitions before they appear on the higher timeframe. When internal and external structures align, they offer a high probability signal for trend continuation or reversal.
By observing BOS and CHOCH across both internal and external structures, traders can clearly visualize when the market is expanding, contracting or preparing to shift direction. This structured understanding of price movement forms the foundation for precise trend analysis and high quality decision making in any Smart Money or ICT based trading approach.
🔵 Settings
🟣 Display Settings
Table on Chart : Allows users to choose the position of the signal dashboard either directly on the chart or below it, depending on their layout preference.
Number of Symbols : Enables users to control how many symbols are displayed in the screener table, from 10 to 20, adjustable in increments of 2 symbols for flexible screening depth.
Table Mode : This setting offers two layout styles for the signal table :
Basic : Mode displays symbols in a single column, using more vertical space.
Extended : Mode arranges symbols in pairs side-by-side, optimizing screen space with a more compact view.
Table Size : Lets you adjust the table’s visual size with options such as: auto, tiny, small, normal, large, huge.
Table Position : Sets the screen location of the table. Choose from 9 possible positions, combining vertical (top, middle, bottom) and horizontal (left, center, right) alignments.
🟣 Symbol Settings
Each of the 20 symbol slots comes with a full set of customizable parameters :
Symbol : Define or select the asset (e.g., XAUUSD, BTCUSD, EURUSD, etc.).
Timeframe : Set your desired timeframe for each symbol (e.g., 15, 60, 240, 1D).
Pivot Period : Set the length used to detect swing highs and lows. Shorter values increase sensitivity, longer ones focus on major structures.
🔵 Conclusion
Mastering Market Structure and understanding the relationship between BOS and CHOCH allows traders to see the market with greater clarity and confidence. These two elements reveal how liquidity moves through different phases of expansion and retracement and how institutional order flow shifts between accumulation and distribution.
By analyzing both internal and external structures, traders can align short term and long term perspectives and anticipate where price is most likely to react. The ability to read these structural shifts helps identify continuation points, reversals and areas where liquidity is engineered or collected.
Incorporating Market Structure into a consistent trading process transforms the way a trader views the chart. Instead of reacting to random movements, each swing, break and shift becomes part of a logical framework that reflects the true behavior of the market. Understanding BOS and CHOCH is not just a concept but a complete language of price that guides every professional decision in Smart Money and ICT based trading.
FiniteStateMachine🟩 OVERVIEW
A flexible framework for creating, testing and implementing a Finite State Machine (FSM) in your script. FSMs use rules to control how states change in response to events.
This is the first Finite State Machine library on TradingView and it's quite a different way to think about your script's logic. Advantages of using this vs hardcoding all your logic include:
• Explicit logic : You can see all rules easily side-by-side.
• Validation : Tables show your rules and validation results right on the chart.
• Dual approach : Simple matrix for straightforward transitions; map implementation for concurrent scenarios. You can combine them for complex needs.
• Type safety : Shows how to use enums for robustness while maintaining string compatibility.
• Real-world examples : Includes both conceptual (traffic lights) and practical (trading strategy) demonstrations.
• Priority control : Explicit control over which rules take precedence when multiple conditions are met.
• Wildcard system : Flexible pattern matching for states and events.
The library seems complex, but it's not really. Your conditions, events, and their potential interactions are complex. The FSM makes them all explicit, which is some work. However, like all "good" pain in life, this is front-loaded, and *saves* pain later, in the form of unintended interactions and bugs that are very hard to find and fix.
🟩 SIMPLE FSM (MATRIX-BASED)
The simple FSM uses a matrix to define transition rules with the structure: state > event > state. We look up the current state, check if the event in that row matches, and if it does, output the resulting state.
Each row in the matrix defines one rule, and the first matching row, counting from the top down, is applied.
A limitation of this method is that you can supply only ONE event.
You can design layered rules using widlcards. Use an empty string "" or the special string "ANY" for any state or event wildcard.
The matrix FSM is foruse where you have clear, sequential state transitions triggered by single events. Think traffic lights, or any logic where only one thing can happen at a time.
The demo for this FSM is of traffic lights.
🟩 CONCURRENT FSM (MAP-BASED)
The map FSM uses a more complex structure where each state is a key in the map, and its value is an array of event rules. Each rule maps a named condition to an output (event or next state).
This FSM can handle multiple conditions simultaneously. Rules added first have higher priority.
Adding more rules to existing states combines the entries in the map (if you use the supplied helper function) rather than overwriting them.
This FSM is for more complex scenarios where multiple conditions can be true simultaneously, and you need to control which takes precedence. Like trading strategies, or any system with concurrent conditions.
The demo for this FSM is a trading strategy.
🟩 HOW TO USE
Pine Script libraries contain reusable code for importing into indicators. You do not need to copy any code out of here. Just import the library and call the function you want.
For example, for version 1 of this library, import it like this:
import SimpleCryptoLife/FiniteStateMachine/1
See the EXAMPLE USAGE sections within the library for examples of calling the functions.
For more information on libraries and incorporating them into your scripts, see the Libraries section of the Pine Script User Manual.
🟩 TECHNICAL IMPLEMENTATION
Both FSM implementations support wildcards using blank strings "" or the special string "ANY". Wildcards match in this priority order:
• Exact state + exact event match
• Exact state + empty event (event wildcard)
• Empty state + exact event (state wildcard)
• Empty state + empty event (full wildcard)
When multiple rules match the same state + event combination, the FIRST rule encountered takes priority. In the matrix FSM, this means row order determines priority. In the map FSM, it's the order you add rules to each state.
The library uses user-defined types for the map FSM:
• o_eventRule : Maps a condition name to an output
• o_eventRuleWrapper : Wraps an array of rules (since maps can't contain arrays directly)
Everything uses strings for maximum library compatibility, though the examples show how to use enums for type safety by converting them to strings.
Unlike normal maps where adding a duplicate key overwrites the value, this library's `m_addRuleToEventMap()` method *combines* rules, making it intuitive to build rule sets without breaking them.
🟩 VALIDATION & ERROR HANDLING
The library includes comprehensive validation functions that catch common FSM design errors:
Error detection:
• Empty next states
• Invalid states not in the states array
• Duplicate rules
• Conflicting transitions
• Unreachable states (no entry/exit rules)
Warning detection:
• Redundant wildcards
• Empty states/events (potential unintended wildcards)
• Duplicate conditions within states
You can display validation results in tables on the chart, with tooltips providing detailed explanations. The helper functions to display the tables are exported so you can call them from your own script.
🟩 PRACTICAL EXAMPLES
The library includes four comprehensive demos:
Traffic Light Demo (Simple FSM) : Uses the matrix FSM to cycle through traffic light states (red → red+amber → green → amber → red) with timer events. Includes pseudo-random "break" events and repair logic to demonstrate wildcards and priority handling.
Trading Strategy Demo (Concurrent FSM) : Implements a realistic long-only trading strategy using BOTH FSM types:
• Map FSM converts multiple technical conditions (EMA crosses, gaps, fractals, RSI) into prioritised events
• Matrix FSM handles state transitions (idle → setup → entry → position → exit → re-entry)
• Includes position management, stop losses, and re-entry logic
Error Demonstrations : Both FSM types include error demos with intentionally malformed rules to showcase the validation system's capabilities.
🟩 BRING ON THE FUNCTIONS
f_printFSMMatrix(_mat_rules, _a_states, _tablePosition)
Prints a table of states and rules to the specified position on the chart. Works only with the matrix-based FSM.
Parameters:
_mat_rules (matrix)
_a_states (array)
_tablePosition (simple string)
Returns: The table of states and rules.
method m_loadMatrixRulesFromText(_mat_rules, _rulesText)
Loads rules into a rules matrix from a multiline string where each line is of the form "current state | event | next state" (ignores empty lines and trims whitespace).
This is the most human-readable way to define rules because it's a visually aligned, table-like format.
Namespace types: matrix
Parameters:
_mat_rules (matrix)
_rulesText (string)
Returns: No explicit return. The matrix is modified as a side-effect.
method m_addRuleToMatrix(_mat_rules, _currentState, _event, _nextState)
Adds a single rule to the rules matrix. This can also be quite readble if you use short variable names and careful spacing.
Namespace types: matrix
Parameters:
_mat_rules (matrix)
_currentState (string)
_event (string)
_nextState (string)
Returns: No explicit return. The matrix is modified as a side-effect.
method m_validateRulesMatrix(_mat_rules, _a_states, _showTable, _tablePosition)
Validates a rules matrix and a states array to check that they are well formed. Works only with the matrix-based FSM.
Checks: matrix has exactly 3 columns; no empty next states; all states defined in array; no duplicate states; no duplicate rules; all states have entry/exit rules; no conflicting transitions; no redundant wildcards. To avoid slowing down the script unnecessarily, call this method once (perhaps using `barstate.isfirst`), when the rules and states are ready.
Namespace types: matrix
Parameters:
_mat_rules (matrix)
_a_states (array)
_showTable (bool)
_tablePosition (simple string)
Returns: `true` if the rules and states are valid; `false` if errors or warnings exist.
method m_getStateFromMatrix(_mat_rules, _currentState, _event, _strictInput, _strictTransitions)
Returns the next state based on the current state and event, or `na` if no matching transition is found. Empty (not na) entries are treated as wildcards if `strictInput` is false.
Priority: exact match > event wildcard > state wildcard > full wildcard.
Namespace types: matrix
Parameters:
_mat_rules (matrix)
_currentState (string)
_event (string)
_strictInput (bool)
_strictTransitions (bool)
Returns: The next state or `na`.
method m_addRuleToEventMap(_map_eventRules, _state, _condName, _output)
Adds a single event rule to the event rules map. If the state key already exists, appends the new rule to the existing array (if different). If the state key doesn't exist, creates a new entry.
Namespace types: map
Parameters:
_map_eventRules (map)
_state (string)
_condName (string)
_output (string)
Returns: No explicit return. The map is modified as a side-effect.
method m_addEventRulesToMapFromText(_map_eventRules, _configText)
Loads event rules from a multiline text string into a map structure.
Format: "state | condName > output | condName > output | ..." . Pairs are ordered by priority. You can have multiple rules on the same line for one state.
Supports wildcards: Use an empty string ("") or the special string "ANY" for state or condName to create wildcard rules.
Examples: " | condName > output" (state wildcard), "state | > output" (condition wildcard), " | > output" (full wildcard).
Splits lines by \n, extracts state as key, creates/appends to array with new o_eventRule(condName, output).
Call once, e.g., on barstate.isfirst for best performance.
Namespace types: map
Parameters:
_map_eventRules (map)
_configText (string)
Returns: No explicit return. The map is modified as a side-effect.
f_printFSMMap(_map_eventRules, _a_states, _tablePosition)
Prints a table of map-based event rules to the specified position on the chart.
Parameters:
_map_eventRules (map)
_a_states (array)
_tablePosition (simple string)
Returns: The table of map-based event rules.
method m_validateEventRulesMap(_map_eventRules, _a_states, _a_validEvents, _showTable, _tablePosition)
Validates an event rules map to check that it's well formed.
Checks: map is not empty; wrappers contain non-empty arrays; no duplicate condition names per state; no empty fields in o_eventRule objects; optionally validates outputs against matrix events.
NOTE: Both "" and "ANY" are treated identically as wildcards for both states and conditions.
To avoid slowing down the script unnecessarily, call this method once (perhaps using `barstate.isfirst`), when the map is ready.
Namespace types: map
Parameters:
_map_eventRules (map)
_a_states (array)
_a_validEvents (array)
_showTable (bool)
_tablePosition (simple string)
Returns: `true` if the event rules map is valid; `false` if errors or warnings exist.
method m_getEventFromConditionsMap(_currentState, _a_activeConditions, _map_eventRules)
Returns a single event or state string based on the current state and active conditions.
Uses a map of event rules where rules are pre-sorted by implicit priority via load order.
Supports wildcards using empty string ("") or "ANY" for flexible rule matching.
Priority: exact match > condition wildcard > state wildcard > full wildcard.
Namespace types: series string, simple string, input string, const string
Parameters:
_currentState (string)
_a_activeConditions (array)
_map_eventRules (map)
Returns: The output string (event or state) for the first matching condition, or na if no match found.
o_eventRule
o_eventRule defines a condition-to-output mapping for the concurrent FSM.
Fields:
condName (series string) : The name of the condition to check.
output (series string) : The output (event or state) when the condition is true.
o_eventRuleWrapper
o_eventRuleWrapper wraps an array of o_eventRule for use as map values (maps cannot contain collections directly).
Fields:
a_rules (array) : Array of o_eventRule objects for a specific state.
On-Balance Volume with Multiple MA TypesOn-Balance Volume with Multiple MA Types
English Description
Overview
This is the first version of the "On-Balance Volume with Multiple MA Types" indicator designed to overlay directly on the price chart, a significant evolution from its previous iterations, which functioned solely as an oscillator in a separate window. The indicator calculates On-Balance Volume (OBV) and applies various smoothing methods to provide a clear view of volume dynamics in relation to price movements. It is pinned to the price scale for seamless integration with the chart.
Interpretation Recommendations
Price Pushing the OBV Line from Below: When the price chart pushes the OBV line upward and remains below it, this indicates rising volume, suggesting strong buying pressure.
Price Above the OBV Line: When the price chart is above the OBV line, it signals falling volume, indicating weakening momentum or selling pressure.
OBV Line Crossings: When the price crosses the OBV line, it represents a balance point in volume dynamics. The price level at the current crossing can be compared to the previous crossing to assess changes in market sentiment or momentum.
Moving Average Types
The indicator offers eight smoothing options for the OBV line, each with unique characteristics:
EMA (Exponential Moving Average): A weighted average that prioritizes recent data, providing a smooth yet responsive line.
DEMA (Double Exponential Moving Average): Uses two EMAs to reduce lag, offering faster response to volume changes.
HMA (Hull Moving Average): Combines weighted moving averages to minimize lag while maintaining smoothness.
WMA (Weighted Moving Average): Assigns more weight to recent data, balancing responsiveness and noise reduction.
TMA (Triangular Moving Average): A double-smoothed simple moving average, emphasizing central data points for smoother output.
VIDYA (Variable Index Dynamic Average): Adapts smoothing based on market volatility, using a CMO (Chande Momentum Oscillator) for dynamic weighting. Controlled by the VIDYA Alpha parameter (default: 0.2, range: 0–1), which adjusts sensitivity to volatility.
FRAMA (Fractal Adaptive Moving Average): Adjusts smoothing based on fractal dimensions of the OBV data, adapting to market conditions.
JMA (Jurik Moving Average): A proprietary adaptive average designed for minimal lag and high smoothness. Controlled by two parameters:
JMA Phase (default: 50, range: -100 to 100): Adjusts the balance between responsiveness and smoothness.
JMA Power (default: 1, range: 0.1+): Controls the strength of smoothing.
Input Parameters
OBV MA Length (default: 10): The lookback period for smoothing the OBV. Higher values produce smoother results but increase lag.
OBV MA Type (default: JMA): Selects the moving average type from the eight options listed above.
Line Width (default: 2): Thickness of the OBV line on the chart.
Bullish Color (default: Blue): Color of the OBV line when rising (indicating increasing volume).
Bearish Color (default: Red): Color of the OBV line when falling (indicating decreasing volume).
JMA Phase (default: 50): Adjusts the JMA’s responsiveness (used only when JMA is selected).
JMA Power (default: 1): Adjusts the JMA’s smoothing strength (used only when JMA is selected).
VIDYA Alpha (default: 0.2): Controls the sensitivity of VIDYA to market volatility (used only when VIDYA is selected).
How to Use
Add the indicator to your TradingView chart. It will overlay directly on the price chart, aligned with the price scale.
Adjust the OBV MA Type to select your preferred smoothing method based on your trading style (e.g., JMA for low lag, TMA for smoothness).
Modify the OBV MA Length to balance responsiveness and noise reduction. Shorter periods (e.g., 5–10) are better for short-term trading, while longer periods (e.g., 20–50) suit longer-term analysis.
Use the Bullish Color and Bearish Color to visually distinguish rising and falling volume trends.
For JMA or VIDYA, fine-tune the JMA Phase, JMA Power, or VIDYA Alpha to optimize the indicator for specific market conditions.
Interpret the OBV line in relation to price:
Watch for price pushing the OBV line upward (rising volume) or moving above it (falling volume).
Note crossings of the OBV line to identify balance points and compare with prior crossings to gauge momentum shifts.
Combine with other technical tools (e.g., support/resistance levels, trendlines) for a comprehensive trading strategy.
Notes
This indicator is designed to work on any timeframe and market, but its effectiveness depends on the chosen moving average type and parameters.
Experiment with different MA types and lengths to find the best fit for your trading approach.
The indicator is licensed under the Mozilla Public License 2.0 and copyrighted by TradingStrategyCourses © 2025.
Jimb0ws Strategy Trending Info PanelsJimb0ws Strategy — Golden Candles + Bubble Zones
A price-action/EMA strategy built for FX scalping and intraday swings. It colors Golden Candles when strong bodies touch/skim EMA20/50 in trend (“bubble”) and optionally highlights Robin Candles (break of the prior golden body). Signals are throttled per bubble and filtered by multiple higher-timeframe conditions.
How it trades
Trend bubbles: Uses EMA20/50/100/200 alignment on the chart timeframe; also reads 1H & 4H bubbles for context.
Entries: BUY/SELL labels appear only when a golden setup aligns with fractal/structure checks and all active filters pass.
Stops/Targets (strategy mode):
• Longs: SL = EMA100 if EMA200 > EMA100, else SL = EMA200.
• Shorts: SL = EMA100 if EMA200 < EMA100, else SL = EMA200.
• TP = RR × risk (default 2R).
An on-chart SL/TP info label prints the exact prices at each signal.
Risk filter options: disable beyond 1H EMA50, proximity band around 1H EMA50, wick overdrive veto, session filter (toggle on/off), max signals per bubble.
Visuals & tools
Colored EMAs (20/50/100/200), bubble zone background.
4H info panel (state, start time, duration); Prev-Day ATR panel sits above it.
Optional 1H info panel and consolidation warning.
Fractal markers (size selectable).
Alerts
1H bubble state change (Long/Short/Consolidation).
BUY/SELL signals.
Inputs worth checking
Session & timezone, min body size, pip tolerances, proximity/WOD filters, max signals per bubble, RR, SL/TP label offset.
Notes
Best on FX pairs; pip = mintick × 10. Backtest and adjust to your instrument and session. This is not financial advice.
3D Surface Modeling [PhenLabs]📊 3D Surface Modeling
Version: PineScript™ v6
📌 Description
The 3D Surface Modeling indicator revolutionizes technical analysis by generating three-dimensional visualizations of multiple technical indicators across various timeframes. This advanced analytical tool processes and renders complex indicator data through a sophisticated matrix-based calculation system, creating an intuitive 3D surface representation of market dynamics.
The indicator employs array-based computations to simultaneously analyze multiple instances of selected technical indicators, mapping their behavior patterns across different temporal dimensions. This unique approach enables traders to identify complex market patterns and relationships that may be invisible in traditional 2D charts.
🚀 Points of Innovation
Matrix-Based Computation Engine: Processes up to 500 concurrent indicator calculations in real-time
Dynamic 3D Rendering System: Creates depth perception through sophisticated line arrays and color gradients
Multi-Indicator Integration: Seamlessly combines VWAP, Hurst, RSI, Stochastic, CCI, MFI, and Fractal Dimension analyses
Adaptive Scaling Algorithm: Automatically adjusts visualization parameters based on indicator type and market conditions
🔧 Core Components
Indicator Processing Module: Handles real-time calculation of multiple technical indicators using array-based mathematics
3D Visualization Engine: Converts indicator data into three-dimensional surfaces using line arrays and color mapping
Dynamic Scaling System: Implements custom normalization algorithms for different indicator types
Color Gradient Generator: Creates depth perception through programmatic color transitions
🔥 Key Features
Multi-Indicator Support: Comprehensive analysis across seven different technical indicators
Customizable Visualization: User-defined color schemes and line width parameters
Real-time Processing: Continuous calculation and rendering of 3D surfaces
Cross-Timeframe Analysis: Simultaneous visualization of indicator behavior across multiple periods
🎨 Visualization
Surface Plot: Three-dimensional representation using up to 500 lines with dynamic color gradients
Depth Indicators: Color intensity variations showing indicator value magnitude
Pattern Recognition: Visual identification of market structures across multiple timeframes
📖 Usage Guidelines
Indicator Selection
Type: VWAP, Hurst, RSI, Stochastic, CCI, MFI, Fractal Dimension
Default: VWAP
Starting Length: Minimum 5 periods
Default: 10
Step Size: Interval between calculations
Range: 1-10
Visualization Parameters
Color Scheme: Green, Red, Blue options
Line Width: 1-5 pixels
Surface Resolution: Up to 500 lines
✅ Best Use Cases
Multi-timeframe market analysis
Pattern recognition across different technical indicators
Trend strength assessment through 3D visualization
Market behavior study across multiple periods
⚠️ Limitations
High computational resource requirements
Maximum 500 line restriction
Requires substantial historical data
Complex visualization learning curve
🔬 How It Works
1. Data Processing:
Calculates selected indicator values across multiple timeframes
Stores results in multi-dimensional arrays
Applies custom scaling algorithms
2. Visualization Generation:
Creates line arrays for 3D surface representation
Applies color gradients based on value magnitude
Renders real-time updates to surface plot
3. Display Integration:
Synchronizes with chart timeframe
Updates surface plot dynamically
Maintains visual consistency across updates
🌟 Credits:
Inspired by LonesomeTheBlue (modified for multiple indicator types with scaling fixes and additional unique mappings)
💡 Note:
Optimal performance requires sufficient computing resources and historical data. Users should start with default settings and gradually adjust parameters based on their analysis requirements and system capabilities.






















