Auto-Anchored Fibonacci Volume Profile [Custom Array Engine]Description:
1. The Theoretical Foundation: Structure vs. Participation In professional technical analysis, traders often struggle to reconcile two distinct datasets: Price Geometry (where price should go) and Market Participation (where money actually went).
Why Fibonacci? (The Structure) Fibonacci Retracements map the mathematical structure of a trend. They identify psychological and algorithmic "interest zones" (0.382, 0.5, 0.618) where a correction is statistically likely to terminate. However, Fibonacci levels are theoretical—they are "lines in the sand" that do not guarantee liquidity or reaction.
Why Volume Profile? (The Verification) Volume Profile maps the historical exchange of shares at specific price levels. It reveals "fair value" (High Volume Nodes) and "market imbalance" (Low Volume Nodes). It is the only tool that verifies if a specific price level was actually accepted by institutional participants.
2. Underlying Calculations (The Custom Engine) This script operates on a custom-built calculation engine that bypasses standard built-in functions entirely. It uses Pine Script Arrays to build a Volume Profile from scratch. Here is the breakdown of the proprietary code logic:
A. The "Smart-Fill" Distribution Algorithm (Solves Gapping)
The Problem: Standard volume scripts often assign a candle's entire volume to a single price row. In volatile markets or steep trends, this creates visual "gaps" or a "barcode" effect because price moved too fast to register on every row.
My Solution: I wrote a custom loop that calculates the vertical overlap of every candle against the profile grid.
The Math: Volume Per Bin = Total Candle Volume / Bins Touched.
The Result: If a single volatile candle spans 10 price rows (bins), the script mathematically divides that volume and distributes it equally into all 10 array indices. This generates a solid, continuous distribution curve that accurately reflects price action through the entire candle range, not just the close.
B. Dynamic Arrays & Split-Volume Logic The script initializes two separate floating-point arrays (buyVolArray and sellVolArray) sized to the user's resolution (up to 300 rows). It iterates through the specific time-window of the swing:
If Close >= Open, the calculated volume slice is injected into the Buy Array.
If Close < Open, it is injected into the Sell Array.
These arrays are then visually stacked to render the dual-color profile, allowing traders to see the "Delta" (Buyer vs. Seller aggression) at key structural levels.
C. Custom Garbage Collection (Performance) To enable the "Auto-Anchoring" feature without causing chart lag or visual artifacts ("ghosting"), the script includes a Garbage Collection System. Before drawing a new profile, the script iterates through a tracking array of all existing objects (box.delete, line.delete) and clears them from memory. This ensures the indicator remains lightweight and responsive even when dragging chart margins or switching timeframes.
3. The Synthesis: Why Combine Them? The core philosophy of this script is Confluence . A Fibonacci level without volume is merely a suggestion; a Fibonacci level backed by volume is a defensive wall. By algorithmically anchoring a Volume Profile to the exact coordinates of a Fibonacci swing, this tool allows traders to instantly answer critical questions:
"Is the Golden Pocket (0.618) supported by a High Volume Node (HVN), or is it a Low Volume Node (LVN) that price might slice through?"
"Is the Shallow Retracement (0.382) holding because of structural support, or just a lack of selling pressure?"
4. How to Read the Indicator
The Geometry: The script automatically detects the trend and draws standard Fib levels (0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0).
The Confluence Check: Look for the Point of Control (Red Line). If this High Volume Node aligns with a key Fib level (e.g., the 0.618), the probability of a reversal increases significantly.
The Imbalance Check: Look for "Valleys" in the profile (Low Volume Nodes). These gaps often act as "slippage zones" where price travels quickly between structural levels.
Buy/Sell Splits: The dual-color bars (Teal/Red) reveal the composition of the volume. A 0.618 level held up by dominant Buy Volume is a stronger bullish signal than one with mixed volume.
5. Settings & Customization
Lookback Length: Sensitivity of the swing detection (Default: 200 bars).
Resolution: Granularity of the profile rows (Default: 100). Higher values provide smoother definition.
Width (%): Responsive sizing that scales the profile relative to the trend's duration.
Extend Lines: Option to project structural levels infinitely to the right.
Disclaimer This script is an analytical tool for visualizing historical market data. It does not provide trade signals or financial advice.
In den Scripts nach "track" suchen
BTC Halving VWAP [Cycle Analysis]█ OVERVIEW
This indicator plots Anchored Volume Weighted Average Prices (VWAPs) from each Bitcoin halving date, revealing the "fair value" of each market cycle.
The key insight: When price closes below the current cycle's VWAP on the monthly chart (after 1+ year into the cycle), it historically signals the end of the bull market and continuation toward the previous halving's VWAP.
█ HALVING DATES
• H1: November 28, 2012 (Block 210,000)
• H2: July 9, 2016 (Block 420,000)
• H3: May 11, 2020 (Block 630,000)
• H4: April 19, 2024 (Block 840,000)
█ FEATURES
◽ Anchored VWAPs — VWAP lines calculated from each halving date
◽ Consolidation Bands — Adjustable percentage bands around each VWAP (default ±15%)
◽ Cycle Top Detection — Tracks the highest high before VWAP breakdown
◽ Breakdown Signals — Visual markers when price breaks below cycle VWAP (bearish confirmation)
◽ Interactive Dashboard — Shows cycle progress, VWAP levels, and historical comparison
◽ Alerts — Configurable alerts for VWAP crossovers and breakdowns
█ HOW TO USE
1. Apply to BTCUSD on the Monthly timeframe for best results
2. Watch the H4 VWAP (gold line) — this is the current cycle's fair value
3. When price is ABOVE the VWAP → Bullish bias
4. When price is BELOW the VWAP → Bearish bias, expect move to previous cycle VWAP
5. The ▼ signal marks confirmed cycle tops (VWAP breakdown after 1+ year)
█ DASHBOARD GUIDE
• Price — Current price and gain from halving
• Day — Days since halving and cycle progress %
• VWAP Levels — Current VWAP values with status (ABOVE/BELOW/CONSOL)
• Cycle Tops — Historical days to cycle top for H2 and H3
• Next Halving — Estimated date and countdown
█ SETTINGS
Display:
• Toggle dashboard, consolidation bands, vertical lines, cycle tops, breakdown signals
VWAPs:
• Show/hide individual halving VWAPs (H1-H4)
Settings:
• Dashboard text size
• Consolidation band percentage
• Cycle top label size
█ ALERTS
• VWAP Breakdown — Price breaks below any halving VWAP
• VWAP Reclaim — Price reclaims a halving VWAP
• Consolidation Zone — Price enters consolidation around VWAP
█ NOTES
• Best used on Monthly (1M) timeframe for cycle analysis
• Weekly timeframe also works for more granular view
• H1 VWAP disabled by default (requires data from 2012)
• Cycle top locks when price closes below VWAP after 365+ days into the cycle
Liquidity Lines (Pivots)📌 Indicator Description
MTF Liquidity Levels (Pivots) — Wick / Close Sweeps is a multi-timeframe liquidity indicator designed to help traders identify and track buy-side and sell-side liquidity based on pivot highs and lows.
The indicator automatically detects liquidity levels on selected higher or lower timeframes and projects them forward on your chart as horizontal levels. These levels often act as price magnets, targets, or areas of potential reversals, especially in institutional-style trading approaches.
🔍 How It Works
Liquidity levels are derived from confirmed pivot highs and pivot lows.
Each level is drawn from the candle wick where liquidity is formed.
Levels can be displayed from multiple timeframes simultaneously (MTF).
When price sweeps a liquidity level, the indicator can:
Terminate the line and apply a swept style, or
Remove the level entirely.
Sweep detection can be based on:
Wicks (high/low crossing the level), or
Closes (close price crossing the level).
⚙️ Key Features
✅ Multi-timeframe liquidity detection (1m → Weekly)
✅ Buy-side (highs) and sell-side (lows) liquidity levels
✅ Wick-based or close-based sweep detection
✅ Configurable behavior after a sweep (terminate or delete)
✅ Separate styling for active vs swept levels
✅ Line style selection (solid / dashed / dotted)
✅ Maximum levels per timeframe to avoid chart clutter
✅ Optimized and safe execution (no repainting of confirmed pivots)
📈 Typical Use Cases
Identifying liquidity pools above highs or below lows
Targeting price runs into liquidity
Anticipating stop hunts and reversals
Combining with market structure, FVGs, or session highs/lows
Refining entries and exits using higher-timeframe liquidity
⚠️ Important Notes
Pivot-based liquidity levels are confirmed only after the pivot is formed (non-repainting).
Liquidity sweeps are detected in real time once price interacts with the level.
This indicator is a tool, not a trading strategy — always combine it with proper risk management.
📬 Contact & Support
If you have questions, suggestions, or feature requests, feel free to reach out:
Email: jakub.doskar@gmail.com
LinkedIn: www.linkedin.com
Enigma UnlockedENIGMA Indicator: A Comprehensive Market Bias & Success Tracker
The ENIGMA Indicator is a powerful tool designed for traders who aim to identify market bias, track price movements, and evaluate trade performance using multiple timeframes. It combines multiple indicators and advanced logic to provide real-time insights into market trends, helping traders make more informed decisions.
Key Features
1. Multi-Timeframe Bias Calculation:
The ENIGMA Indicator tracks the market bias across multiple timeframes—Daily (D), 4-Hour (H4), 1-Hour (H1), 30-Minute (30M), 15-Minute (15M), 5-Minute (5M), and 1-Minute (1M).
How the Bias is Created:
The Bias is a key feature of the ENIGMA Indicator and is determined by comparing the current price with previous price levels for each timeframe.
- Bullish Bias (1): The market is considered **bullish** if the **current closing price** is higher than the **previous timeframe’s high**. This suggests that the market is trending upwards, and buyers are in control.
- Bearish Bias (-1): The market is considered **bearish** if the **current closing price** is lower than the **previous timeframe’s low**. This suggests that the market is trending downwards, and sellers are in control.
- Neutral Bias (0): The market is considered **neutral** if the price is between the **previous high** and **previous low**, indicating indecision or a range-bound market.
This bias calculation is performed independently for each timeframe. The **Bias** for each timeframe is then displayed in the **Bias Table** on your chart, providing a clear view of market direction across multiple timeframes.
2. **Customizable Table Display:**
- The indicator provides a table that displays the bias for each selected timeframe, clearly marking whether the market is **Bullish**, **Bearish**, or **Neutral**.
- Users can choose where to place the table on the chart: top-left, top-right, bottom-left, bottom-right, or center positions, allowing for easy and personalized chart management.
3. **Win/Loss Tracker:**
- The table also tracks the **success rate** of **buy** and **sell** trades based on price retests of key bias levels.
- For each period (Day, Week, Month), it tracks how often the price has moved in the direction of the initial bias, counting **Buy Wins**, **Sell Wins**, **Buy Losses**, and **Sell Losses**.
- This helps traders assess the effectiveness of the market bias over time and adjust their strategies accordingly.
#### **How the Success Calculation Determines the Success Rate:**
The **Success Calculation** is designed to track how often the price follows the direction of the market bias. It does this by evaluating how the price retests key levels associated with the identified market bias:
1. **Buy Success Calculation**:
- The success of a **Buy Trade** is determined when the price breaks above the **previous high** after a **bullish bias** has been identified.
- If the price continues to move higher (i.e., makes a new high) after breaking the previous high, the **buy trade is considered successful**.
- The indicator tracks how many times this condition is met and counts it as a **Buy Win**.
2. **Sell Success Calculation**:
- The success of a **Sell Trade** is determined when the price breaks below the **previous low** after a **bearish bias** has been identified.
- If the price continues to move lower (i.e., makes a new low) after breaking the previous low, the **sell trade is considered successful**.
- The indicator tracks how many times this condition is met and counts it as a **Sell Win**.
3. **Failure Calculations**:
- If the price does not move as expected (i.e., it does not continue in the direction of the identified bias), the trade is considered a **loss** and is tracked as **Buy Loss** or **Sell Loss**, depending on whether it was a bullish or bearish trade.
The ENIGMA Indicator keeps a running tally of **Buy Wins**, **Sell Wins**, **Buy Losses**, and **Sell Losses** over a set period (which can be customized to Days, Weeks, or Months). These statistics are updated dynamically in the **Bias Table**, allowing you to track your success rate in real-time and gain insights into the effectiveness of the market bias.
#### **Customizable Period Tracking:**
- The ENIGMA Indicator allows you to set custom tracking periods (e.g., 30 days, 2 weeks, etc.). The performance metrics reset after each tracking period, helping you monitor your success in different market conditions.
5. **Interactive Settings:**
- **Lookback Period**: Define how many bars the indicator should consider for bias calculations.
- **Success Tracking**: Set the number of candles to track for calculating the win/loss performance.
- **Time Threshold**: Set a time threshold to help define the period during which price retests are considered valid.
- **Info Tooltip**: You can enable the information tool in the settings to view detailed explanations of how wins and losses are calculated, ensuring you understand how the indicator works and how the results are derived.
#### **How to Use the ENIGMA Indicator:**
1. **Install the Indicator**:
- Add the ENIGMA Indicator to your chart. It will automatically calculate and display the bias for multiple timeframes.
2. **Interpret the Bias Table**:
- The bias table will show whether the market is **Bullish**, **Bearish**, or **Neutral** across different timeframes.
- Look for alignment between the timeframes—when multiple timeframes show the same bias, it may indicate a stronger trend.
3. **Use the Win/Loss Tracker**:
- Track how well your trades align with the bias using the **Win/Loss Tracker**. This helps you refine your strategy by understanding which timeframes and biases lead to higher success rates.
- For example, if you see a high number of **Buy Wins** and a low number of **Sell Wins**, you may decide to focus more on buying during bullish trends and avoid selling during bearish retracements.
4. **Track Your Period Performance**:
- The indicator will automatically track your performance over the set period (Days, Weeks, Months). Use this data to adjust your approach and evaluate the effectiveness of your trading strategy.
5. **Position the Table**:
- Customize the placement of the table on your chart based on your preferences. You can choose from options like **Top Left**, **Top Right**, **Bottom Left**, **Bottom Right**, or **Center** to keep the chart uncluttered.
6. **Adjust Settings**:
- Modify the indicator settings according to your trading style. You can adjust the **Lookback Period**, **Number of Candles to Track**, and **Time Threshold** to match the pace of your trading.
7. **Use the Info Tooltip**:
- Enable the **Info Tool** in the settings to understand how the Buy/Sell Wins and Losses are calculated. The tooltip provides a breakdown of how the indicator tracks price movements and calculates the success rate.
**Conclusion:**
The **ENIGMA Indicator** is designed to help traders make informed decisions by providing a clear view of the market bias and performance data. With the ability to track bias across multiple timeframes and evaluate your trading success, it can be a powerful tool for refining your trading strategies.
Whether you're looking to focus on a single timeframe or analyze multiple timeframes for a stronger bias, the ENIGMA Indicator adapts to your needs, providing both real-time market insights and performance feedback.
ORB Fusion ML AdaptiveORB FUSION ML - ADAPTIVE OPENING RANGE BREAKOUT SYSTEM
INTRODUCTION
ORB Fusion ML is an advanced Opening Range Breakout (ORB) system that combines traditional ORB methodology with machine learning probability scoring and adaptive reversal trading. Unlike basic ORB indicators, this system features intelligent breakout filtering, failed breakout detection, and complete trade lifecycle management with real-time visual feedback.
This guide explains the theoretical concepts, system components, and educational examples of how the indicator operates.
WHAT IS OPENING RANGE BREAKOUT (ORB)?
Core Concept:
The Opening Range Breakout strategy is based on the observation that the first 15-60 minutes of trading often establish a range that serves as support/resistance for the remainder of the session. Breakouts beyond this range have historically indicated potential directional moves.
How It Works:
Range Formation: System identifies high and low during opening period (default 30 minutes)
Breakout Detection: Monitors price for confirmed breaks above/below range
Signal Generation: Generates signals based on breakout method and filters
Target Projection: Projects extension targets based on range size
Why ORB May Be Effective:
Opening period often represents institutional positioning
Range boundaries historically act as support/resistance
Breakouts may indicate strong directional bias
Failed breakouts may signal reversal opportunities
Note: Historical patterns do not guarantee future occurrences.
SYSTEM COMPONENTS
1. OPENING RANGE DETECTION
Primary ORB:
Default: First 30 minutes of regular trading hours (9:30-10:00 AM ET)
Configurable: 5, 15, 30, or 60-minute ranges
Precision: Optional lower timeframe (LTF) data for exact high/low detection
LTF Precision Mode:
When enabled, system uses 1-minute data to identify precise range boundaries, even on higher timeframe charts. This may improve accuracy of breakout detection.
Session ORBs (Optional):
Asian Session: Typically 00:00-01:00 UTC
London Session: Typically 08:00-09:00 UTC
NY Session: Typically 13:30-14:30 UTC
These provide additional reference levels for 24-hour markets.
2. INITIAL BALANCE (IB)
The Initial Balance concept extends ORB methodology:
Components:
A-Period: First 30 minutes (9:30-10:00)
B-Period: Second 30 minutes (10:00-10:30)
IB Range: Combined high/low of both periods
IB Extensions:
System projects multiples of IB range (0.5×, 1.0×, 1.5×, 2.0×) as potential targets and key reference levels.
Historical Context:
IB methodology was popularized by traders observing that the first hour often establishes the day's trading range. Extensions beyond IB may indicate trend day development.
3. BREAKOUT CONFIRMATION METHODS
The system offers three confirmation methods:
A. Close Beyond Range (Default):
Bullish: Close > ORB High
Bearish: Close < ORB Low
Most balanced approach - requires bar to close beyond level.
B. Wick Beyond Range:
Bullish: High > ORB High
Bearish: Low < ORB Low
Most sensitive - any touch triggers. May generate more signals but higher false breakout rate.
C. Body Beyond Range:
Bullish: Min(Open, Close) > ORB High
Bearish: Max(Open, Close) < ORB Low
Most conservative - entire candle body must be beyond range.
Volume Confirmation:
Optional requirement that breakout occurs on above-average volume (default 1.5× 20-bar average). May filter weak breakouts lacking institutional participation.
4. MACHINE LEARNING PROBABILITY SCORING
The system's key differentiator is ML-based breakout filtering using logistic regression.
How It Works:
Feature Extraction:
When breakout candidate detected, system calculates:
ORB Range / ATR (range size normalization)
Volume Ratio (current vs. average)
VWAP Distance × Direction (alignment)
Gap Size × Direction (overnight gap influence)
Bar Impulse (momentum strength)
Probability Calculation:
pContinue = Probability breakout continues
pFail = Probability breakout fails and reverses
Calculated via logistic regression:
P = 1 / (1 + e^(-z))
where z = β₀ + β₁×Feature₁ + β₂×Feature₂ + ...
Coefficient Examples (User Configurable):
pContinue Model:
Intercept: -0.20 (slight bearish bias)
ORB Range/ATR: +0.80 (larger ranges favored)
Volume Ratio: +0.60 (higher volume increases probability)
VWAP Alignment: +0.50 (aligned with VWAP helps)
pFail Model:
Intercept: -0.30 (assumes most breakouts valid)
Volume Ratio: -0.50 (low volume increases failure risk)
VWAP Alignment: -0.90 (breaking away from VWAP risky)
ML Gating:
When enabled, breakout only signaled if:
pContinue ≥ Minimum Threshold (default 55%)
pFail ≤ Maximum Threshold (default 35%)
This filtering aims to reduce false breakouts by requiring favorable probability scores.
Model Training:
Users should backtest and optimize coefficients for their specific instrument and timeframe. Default values are educational starting points, not guaranteed optimal parameters.
Educational Note: ML models assume past feature relationships continue into the future. Market conditions may change in ways not captured by historical data.
5. FAILED BREAKOUT DETECTION & REVERSAL TRADING
A unique feature is automatic detection of failed breakouts and generation of counter-trend reversal setups.
Detection Logic:
Failure Conditions:
For Bullish Breakout that fails:
- Initially broke above ORB High
- After N bars (default 3), price closes back inside range
- Must close below (ORB High - Buffer)
- Buffer = ATR × 0.1 (default)
For Bearish Breakout that fails:
- Initially broke below ORB Low
- After N bars, price closes back inside range
- Must close above (ORB Low + Buffer)
Automatic Reversal Entry:
When failure detected, system automatically:
Generates reversal entry at current close
Sets stop loss beyond recent extreme + small buffer
Projects 3 targets based on ORB range multiples
Target Calculations:
For failed bullish breakout (now SHORT):
Entry = Close (when failure confirmed)
Stop = Recent High + (ATR × 0.10)
T1 = ORB High - (ORB Range × 0.5) // 50% retracement
T2 = ORB High - (ORB Range × 1.0) // Full retracement
T3 = ORB High - (ORB Range × 1.5) // Beyond opposite boundary
Trade Lifecycle Management:
The system tracks reversal trades in real-time through multiple states:
State 0: No trade
State 1: Breakout active (monitoring for failure)
State 2: Breakout failed (not used currently)
State 3: Reversal entry taken
State 4: Target 1 hit
State 5: Target 2 hit
State 6: Target 3 hit
State 7: Stopped out
State 8: Complete
Real-Time Tracking:
MFE (Maximum Favorable Excursion): Best price achieved
MAE (Maximum Adverse Excursion): Worst price against position
Dynamic Lines & Labels: Visual updates as trade progresses
Color Coding: Green for hit targets, gray for stopped trades
Visual Feedback:
Entry line (solid when active, dotted when stopped)
Stop loss line (red dashed)
Target lines (green when hit, gray when stopped)
Labels update in real-time with status
This complete lifecycle tracking provides educational insight into trade development and risk/reward realization.
Educational Context: Failed breakouts are a recognized pattern in technical analysis. The theory is that trapped traders may need to exit, creating momentum in the opposite direction. However, not all failed breakouts result in profitable reversals.
6. EXTENSION TARGETS
System projects Fibonacci-based extension levels beyond ORB boundaries.
Bullish Extensions (Above ORB High):
1.272× (ORB High + ORB Range × 0.272)
1.5× (ORB High + ORB Range × 0.5)
1.618× (ORB High + ORB Range × 0.618)
2.0× (ORB High + ORB Range × 1.0)
2.618× (ORB High + ORB Range × 1.618)
3.0× (ORB High + ORB Range × 2.0)
Bearish Extensions (Below ORB Low):
Same multipliers applied below ORB Low
Visual Representation:
Dotted lines until reached
Solid lines after price touches level
Color coding (green for bullish, red for bearish)
These serve as potential profit targets and key reference levels.
7. DAY TYPE CLASSIFICATION
System attempts to classify trading day based on price movement relative to Initial Balance.
Classification Logic:
IB Extension = (Current Price - IB Boundary) / IB Range
Day Types:
Trend Day: Extension ≥ 1.5× IB Range
- Strong directional movement
- Price extends significantly beyond IB
Normal Day: Extension between 0.5× and 1.5×
- Moderate movement
- Some extension but not extreme
Rotation Day: Price stays within IB
- Range-bound conditions
- Limited directional conviction
Historical Context:
Day type classification comes from market profile analysis, suggesting different trading approaches for different conditions. However, classification is backward-looking and may change throughout the session.
8. VWAP INTEGRATION
Volume-Weighted Average Price included as institutional reference level.
Calculation:
VWAP = Σ(Typical Price × Volume) / Σ(Volume)
Typical Price = (High + Low + Close) / 3
Standard Deviation Bands:
Band 1: VWAP ± 1.0 σ
Band 2: VWAP ± 2.0 σ
Usage:
Alignment with VWAP may indicate institutional support
Distance from VWAP factored into ML probability scoring
Bands suggest potential overbought/oversold extremes
Note: VWAP is widely used by institutional traders as a benchmark, but this does not guarantee its predictive value.
9. GAP ANALYSIS
Tracks overnight gaps and fill statistics.
Gap Detection:
Gap Size = Open - Previous Close
Classification:
Gap Up: Gap > ATR × 0.1
Gap Down: Gap < -ATR × 0.1
No Gap: Otherwise
Gap Fill Tracking:
Monitors if price returns to previous close
Calculates fill rate over time
Displays previous close as reference level
Historical Context:
Market folklore suggests "gaps get filled," though statistical evidence varies by market and timeframe.
10. MOMENTUM CANDLE VISUALIZATION
Optional colored boxes around candles showing position relative to ORB.
Color Coding:
Blue: Inside ORB range
Green: Above ORB High (bullish momentum)
Red: Below ORB Low (bearish momentum)
Bright Green: Breakout bar
Orange: Failed breakout bar
Gray: Stopped out bar
Lime: Target hit bar
Provides quick visual context of price location and key events.
DISPLAY MODES
Three complexity levels to suit different user preferences:
SIMPLE MODE
Minimal display focusing on essentials:
✓ Primary ORB levels (High, Low, Mid)
✓ Basic breakout signals
✓ Essential dashboard metrics
✗ No session ORBs
✗ No IB analysis
✗ No extensions
Best for: Clean charts, beginners, focus on core ORB only
STANDARD MODE
Balanced feature set:
✓ Primary ORB levels
✓ Initial Balance with extensions
✓ Session ORBs (Asian, London, NY)
✓ VWAP with bands
✓ Breakout and reversal signals
✓ Gap analysis
✗ Detailed statistics
Best for: Most traders, good balance of information and clarity
ADVANCED MODE
Full feature set:
✓ All Standard features
✓ ORB extensions (1.272×, 1.5×, 1.618×, 2.0×, etc.)
✓ Complete statistics dashboard
✓ Detailed performance metrics
✓ All visual enhancements
Best for: Experienced users, research, full analysis
DASHBOARD INTERPRETATION
Main Dashboard Sections:
ORB Status:
Status: Complete / Building / Waiting
Range: Actual range size in price units
Trade State:
State: Current trade status (see 8 states above)
Vol: Volume confirmation (Confirmed / Low)
Targets (when reversal active):
T1, T2, T3: Hit / Pending / Stopped
Color: Green = hit, Gray = pending or stopped
ML Section (when enabled):
ML: ON Pass / ON Reject / OFF
pC/pF: Probability scores as percentages
Setup:
Action: LONG / SHORT / REVERSAL / FADE / WAIT
Grade: A+ to D based on confidence
Status: ACTIVE / STOPPED / T1 HIT / etc.
Conf: Confidence percentage
Context:
Bias: Overall market direction assessment
VWAP: Above / Below / At VWAP
Gap: Gap type and fill status
Statistics (Advanced Mode):
Bull WR: Bullish breakout win rate
Bear WR: Bearish breakout win rate
Rev WR: Reversal trade win rate
Rev Count: Total reversals taken
Narrative Dashboard:
Plain-language interpretation:
Phase: Building ORB / Trading Phase / Pre-market
Status: Current market state in plain English
ML: Probability scores
Setup: Trade recommendation with grade
All metrics based on historical simulation, not live trading results.
USAGE GUIDELINES - EDUCATIONAL EXAMPLES
Getting Started:
Step 1: Chart Setup
Add indicator to chart
Select appropriate timeframe (1-5 min recommended for ORB trading)
Choose display mode (start with Standard)
Step 2: Opening Range Formation
During first 30 minutes (9:30-10:00 ET default)
Watch ORB High/Low levels form
Note range size relative to ATR
Step 3: Breakout Monitoring
After ORB complete, watch for breakout candidates
Check ML scores if enabled
Verify volume confirmation
Step 4: Signal Evaluation
Consider confidence grade
Review trade state and targets
Evaluate risk/reward ratio
Interpreting ML Scores:
Example 1: High Probability Breakout
Breakout: Bullish
pContinue: 72%
pFail: 18%
ML Status: Pass
Grade: A
Interpretation:
- High continuation probability
- Low failure probability
- Passes ML filter
- May warrant consideration
Example 2: Rejected Breakout
Breakout: Bearish
pContinue: 48%
pFail: 52%
ML Status: Reject
Grade: D
Interpretation:
- Low continuation probability
- High failure probability
- ML filter blocks signal
- Small 'X' marker shows rejection
Note: ML scores are mathematical outputs based on historical data. They do not guarantee outcomes.
Reversal Trade Example:
Scenario:
9:45 AM: Bullish breakout above ORB High
9:46 AM: Price extends to +0.8× ORB range
9:48 AM: Price reverses, closes back below ORB High
9:49 AM: Failure confirmed (3 bars inside range)
System Response:
- Marks failed breakout with 'FAIL' label
- Generates SHORT reversal entry
- Sets stop above recent high
- Projects 3 targets
- Trade State → 3 (Reversal Active)
- Entry line and targets display
Potential Outcomes:
- Stop hit → State 7 (Stopped), lines gray out
- T1 hit → State 4, T1 line turns green
- T2 hit → State 5, T2 line turns green
- T3 hit → State 6, T3 line turns green
All tracked in real-time with visual updates.
Risk Management Considerations:
Position Sizing Example:
Account: $25,000
Risk per trade: 1% = $250
Stop distance: 1.5 ATR = $150 per share
Position size: $250 / $150 = 1.67 shares (round to 1)
Stop Loss Guidelines:
Breakout trades: ORB midpoint or opposite boundary
Reversal trades: System-provided stop (recent extreme + buffer)
Never widen system stops
Target Management:
Consider scaling out at T1, T2, T3
Trail stops after T1 reached
Full exit if stopped
These are educational examples, not recommendations. Users must develop their own risk management based on personal tolerance and account size.
OPTIMIZATION SUGGESTIONS
For Stock Indices (ES, NQ):
Suggested Settings:
ORB Timeframe: 30 minutes
Confirmation: Close
Volume Filter: ON (1.5×)
ML Filter: ON
Display Mode: Standard
Rationale:
30-min ORB standard for equity indices
Close confirmation balances speed and reliability
Volume important for institutional participation
ML helps filter noise
Historical Observation:
Indices often respect ORB levels during regular hours.
For Individual Stocks:
Suggested Settings:
ORB Timeframe: 5-15 minutes
Confirmation: Close or Body
Volume Filter: ON (1.8-2.0×)
RTH Only: ON
Failed Breakouts: ON
Rationale:
Shorter ORB may be appropriate for volatile stocks
Volume critical to filter low-liquidity moves
RTH avoids pre-market noise
Failed breakouts common in stocks
For Forex:
Suggested Settings:
ORB Timeframe: 60 minutes
Session ORBs: ON (Asian, London)
Volume Filter: OFF or low threshold
24-hour mode: ON
Rationale:
Forex trades 24 hours, need session awareness
Volume data less reliable in forex
Longer ORB for slower forex movement
For Crypto:
Suggested Settings:
ORB Timeframe: 30-60 minutes
Confirmation: Body (more conservative)
Volume Filter: ON (2.0×+)
Display Mode: Advanced
Rationale:
High volatility requires conservative confirmation
Volume crucial to distinguish real moves from noise
24-hour market benefits from multiple session ORBs
ML COEFFICIENT TUNING
Users can optimize ML model coefficients through backtesting.
Approach:
Data Collection: Review rejected breakouts - were they correct to reject?
Pattern Analysis: Which features correlate with success/failure?
Coefficient Adjustment: Increase weights for predictive features
Threshold Tuning: Adjust minimum pContinue and maximum pFail
Validation: Test on out-of-sample data
Example Optimization:
If finding:
High-volume breakouts consistently succeed
Low-volume breakouts often fail
Action:
Increase pCont w(Volume Ratio) from 0.60 to 0.80
Increase pFail w(Volume Ratio) magnitude (more negative)
If finding:
VWAP alignment highly predictive
Gap direction not helpful
Action:
Increase pCont w(VWAP Distance×Dir) from 0.50 to 0.70
Decrease pCont w(Gap×Dir) toward 0.0
Important: Optimization should be done on historical data and validated on out-of-sample periods. Overfitting to past data does not guarantee future performance.
STATISTICS & PERFORMANCE TRACKING
System maintains comprehensive statistics:
Breakout Statistics:
Total Days: Number of trading days analyzed
Bull Breakouts: Total bullish breakouts
Bull Wins: Breakouts that reached 2.0× extension
Bull Win Rate: Percentage that succeeded
Bear Breakouts: Total bearish breakouts
Bear Wins: Breakouts that reached 2.0× extension
Bear Win Rate: Percentage that succeeded
Reversal Statistics:
Reversals Taken: Total failed breakouts traded
T1 Hit: Number reaching first target
T2 Hit: Number reaching second target
T3 Hit: Number reaching third target
Stopped: Number stopped out
Reversal Win Rate: Percentage reaching at least T1
Day Type Statistics:
Trend Days: Days with 1.5×+ IB extension
Normal Days: Days with 0.5-1.5× extension
Rotation Days: Days staying within IB
Extension Statistics:
Average Extension: Mean extension level reached
Max Extension: Largest extension observed
Gap Statistics:
Total Gaps: Number of significant gaps
Gaps Filled: Number that filled during session
Gap Fill Rate: Percentage filled
Note: All statistics based on indicator's internal simulation logic, not actual trading results. Past statistics do not predict future outcomes.
ALERTS
Customizable alert system for key events:
Available Alerts:
Breakout Alert:
Trigger: Initial breakout above/below ORB
Message: Direction, price, volume status, ML scores, grade
Frequency: Once per bar
Failed Breakout Alert:
Trigger: Breakout failure detected
Message: Reversal setup with entry, stop, and 3 targets
Frequency: Once per bar
Extension Alert:
Trigger: Price reaches extension level
Message: Extension multiple and price level
Frequency: Once per bar per level
IB Break Alert:
Trigger: Price breaks Initial Balance
Message: Potential trend day warning
Frequency: Once per bar
Reversal Stopped Alert:
Trigger: Reversal trade hits stop loss
Message: Stop level and original entry
Frequency: Once per bar
Target Hit Alert:
Trigger: T1, T2, or T3 reached
Message: Which target and price level
Frequency: Once per bar
Users can enable/disable alerts individually based on preferences.
VISUAL CUSTOMIZATION
Extensive visual options:
Color Schemes:
All colors fully customizable:
ORB High, Low, Mid colors
Extension colors (bull/bear)
IB colors
VWAP colors
Momentum box colors
Session ORB colors
Display Options:
Line widths (1-5 pixels)
Box transparencies (50-95%)
Fill transparencies (80-98%)
Momentum box transparency
Label Behavior:
Label Modes:
All: Always show all labels
Adaptive: Fade labels far from price
Minimal: Only show labels very close to price
Label Proximity:
Adjustable threshold (1.0-5.0× ATR)
Labels beyond threshold fade or hide
Reduces clutter on wide-range charts
Gradient Fills:
Optional gradient zones between levels:
ORB High to Mid (bullish gradient)
ORB Mid to Low (bearish gradient)
Creates visual "heatmap" of tension
FREQUENTLY ASKED QUESTIONS
Q: What timeframe should I use?
A: ORB methodology is typically applied to intraday charts. Suggestions:
1-5 min: Active trading, multiple setups per day
5-15 min: Balanced view, clearer signals
15-30 min: Higher timeframe confirmation
The indicator works on any timeframe, but ORB is traditionally an intraday concept.
Q: Do I need the ML filter enabled?
A: This is a user choice:
ML Enabled:
Fewer signals
Potentially higher quality (filters low-probability)
Requires coefficient optimization
More complex
ML Disabled:
More signals
Simpler operation
Traditional ORB approach
May include lower-quality breakouts
Consider paper trading both approaches to determine preference.
Q: How should I interpret pContinue and pFail?
A: These are probability estimates from the logistic regression model:
pContinue 70% / pFail 25%: Model suggests favorable continuation odds
pContinue 45% / pFail 55%: Model suggests breakout likely to fail
pContinue 60% / pFail 35%: Borderline, depends on thresholds
Remember: These are mathematical outputs based on historical feature relationships. They are not certainties.
Q: Should I always take reversal trades?
A: Reversal trades are optional setups. Considerations:
Potential Advantages:
Trapped traders may need to exit
Clear stop loss levels
Defined targets
Potential Risks:
Counter-trend trading
Original breakout may resume
Requires quick reaction
Users should evaluate reversal setups like any other trade based on personal strategy and risk tolerance.
Q: What if ORB range is very small?
A: Small ranges may indicate:
Low volatility session opening
Potential for expansion later
Less reliable breakout levels
Considerations:
Larger ranges often more significant
Small ranges may need wider stops relative to range
ORB Range/ATR ratio helps normalize
The ML model includes this via the ORB Range/ATR feature.
Q: Can I use this on stocks, forex, crypto?
A: System is adaptable:
Stocks: Designed primarily for stock indices and equities. Use RTH mode.
Forex: Enable session ORBs. Volume filter less relevant. Adjust for 24-hour nature.
Crypto: Very volatile. Consider conservative confirmation method (Body). Higher volume thresholds.
Each market has unique characteristics. Extensive testing recommended.
Q: How do I optimize ML coefficients?
A: Systematic approach:
Collect data on 50-100+ breakouts
Note which succeeded/failed
Analyze feature values for each
Identify correlations
Adjust coefficients to emphasize predictive features
Validate on different time period
Iterate
Alternatively, use regression analysis on historical breakout data if you have programming skills.
Q: What does "Stopped Out" mean for reversals?
A: Reversal trade hit its stop loss:
Price moved against reversal position
Original breakout may have resumed
Trade closed at loss
Lines and labels gray out
Trade State → 7
This is part of normal trading - not all reversals succeed.
Q: Can I change ORB timeframe intraday?
A: ORB timeframe setting affects the next day's ORB. Current day's ORB remains fixed. To see different ORB sizes, you would need to change setting and wait for next session.
Q: Why do rejected breakouts show an 'X'?
A: When "Mark Rejected Breakout Candidates" enabled:
Small 'X' appears when ML filter rejects a breakout
Shows where system prevented a signal
Useful for model calibration
Helps evaluate if ML making good decisions
You can disable this marker if it creates clutter.
ADVANCED CONCEPTS
1. Adaptive vs. Static ORB:
Traditional ORB uses fixed time windows. This system adds adaptability through:
ML probability scoring (adapts to current conditions)
Multiple session ORBs (adapts to global markets)
Failed breakout detection (adapts when setup fails)
Real-time trade management (adapts as trade develops)
This creates a more dynamic approach than simple static levels.
2. Confluence Scoring:
System internally calculates confluence (agreement of factors):
Breakout direction
Volume confirmation
VWAP alignment
ML probability scores
Gap direction
Momentum strength
Higher confluence typically results in higher grade (A+, A, B+, etc.).
3. Trade State Machine:
The 8-state system provides complete trade lifecycle:
State 0: Waiting → No setup
State 1: Breakout → Monitoring for failure
State 2: Failed → (transition state)
State 3: Reversal Active → In counter-trend position
State 4: T1 Hit → First target reached
State 5: T2 Hit → Second target reached
State 6: T3 Hit → Third target reached (full success)
State 7: Stopped → Hit stop loss
State 8: Complete → Trade resolved
Each state has specific visual properties and logic.
4. Real-Time Performance Attribution:
MFE/MAE tracking provides insight:
Maximum Favorable Excursion (MFE):
Best price achieved during trade
Shows potential if optimal exit used
Educational metric for exit strategy analysis
Maximum Adverse Excursion (MAE):
Worst price against position
Shows drawdown during trade
Helps evaluate stop placement
These appear in Narrative Dashboard during active reversals.
THEORETICAL FOUNDATIONS
Why Opening Range Matters:
Several theories support ORB methodology:
1. Information Incorporation:
Opening period represents initial consensus on overnight news and pre-market sentiment. Range boundaries may reflect this information.
2. Order Flow:
Institutional traders often execute during opening period, establishing supply/demand zones.
3. Behavioral Finance:
Traders psychologically anchor to opening range levels. Self-fulfilling prophecy may strengthen these levels.
4. Market Microstructure:
Opening auction establishes price discovery. Breaks beyond may indicate new information or momentum.
Academic Note: While ORB is widely used, academic evidence on its effectiveness varies. Like all technical analysis, it should be evaluated empirically for each specific application.
Machine Learning in Trading:
This system uses supervised learning (logistic regression):
Advantages:
Interpretable (can see feature weights)
Fast calculation
Probabilistic output
Well-understood mathematically
Limitations:
Assumes linear relationships
Requires feature engineering
Needs periodic retraining
Not adaptive to regime changes automatically
More sophisticated ML (neural networks, ensemble methods) could potentially improve performance but at cost of interpretability and speed.
Failed Breakouts & Market Psychology:
Failed breakout trading exploits several concepts:
1. Stop Hunting:
Large players may push price to trigger stops, then reverse.
2. False Breakouts:
Insufficient conviction leads to failed breakout and quick reversal.
3. Trapped Traders:
Those who entered breakout now forced to exit, creating momentum opposite direction.
4. Mean Reversion:
After failed directional attempt, price may revert to range or beyond.
These are theoretical frameworks, not guaranteed patterns.
BEST PRACTICES - EDUCATIONAL SUGGESTIONS
1. Paper Trade Extensively:
Before live trading:
Test on historical data
Forward test in real-time (paper)
Evaluate statistics over 50+ occurrences
Understand system behavior in different conditions
2. Start with Simple Mode:
Initial learning:
Use Simple or Standard mode
Focus on primary ORB only
Master basic breakout interpretation
Add features incrementally
3. Optimize ML Coefficients:
If using ML filter:
Backtest on your specific instrument
Note which features predictive
Adjust coefficients systematically
Validate on out-of-sample data
Re-optimize periodically
4. Respect Risk Management:
Always:
Define maximum risk per trade (1-2% recommended)
Use system-provided stops
Size positions appropriately
Never override stops wider
Keep statistics of your actual trading
b]5. Understand Context:
Consider:
Is it a trending or ranging market?
What's the day type developing?
Is volume confirming moves?
Are you aligned with VWAP?
What's the overall market condition?
Context may inform which setups to emphasize.
6. Journal Results:
Track:
Which setup types work best for you
Your execution quality
Emotional responses to different scenarios
Missed opportunities and why
Losses and lessons
Systematic journaling improves over time.
FINAL EDUCATIONAL SUMMARY
ORB Fusion ML combines traditional Opening Range Breakout methodology with modern
enhancements:
✓ ML Probability Scoring: Filters breakouts using logistic regression
✓ Failed Breakout Detection: Automatic reversal trade generation
✓ Complete Trade Management: Real-time tracking with visual updates
✓ Multi-Session Support: Asian, London, NY ORBs for global markets
✓ Institutional Reference: VWAP and Initial Balance integration
✓ Comprehensive Statistics: Track performance across breakout types
✓ Full Customization: Three display modes, extensive visual options
✓ Educational Transparency: Dashboard shows all relevant metrics
This is an educational tool demonstrating advanced ORB concepts.
Critical Reminders:
The system:
✓ Identifies potential ORB breakout and reversal setups
✓ Provides ML-based probability estimates
✓ Tracks trades through complete lifecycle
✓ Offers comprehensive performance statistics
Users must understand:
✓ No system guarantees profitable results
✓ Past performance does not predict future results
✓ All indicators require proper risk management
✓ Paper trading essential before live trading
✓ Market conditions change unpredictably
✓ This is educational software, not financial advice
Success requires: Proper education, disciplined risk management, realistic expectations, personal responsibility for all trading decisions, and understanding that indicators are tools, not crystal balls.
For Educational Use Only - ORB Fusion ML Development Staff
⚠️ FINAL DISCLAIMER
This indicator and documentation are provided strictly for educational and informational purposes.
NOT FINANCIAL ADVICE: Nothing in this guide constitutes financial advice, investment advice, trading advice, or any recommendation to buy or sell any security or engage in any trading strategy.
NO GUARANTEES: No representation is made that any account will or is likely to achieve profits or losses similar to those shown. The statistics, probabilities, and examples are from historical backtesting and do not represent actual trading results.
SUBSTANTIAL RISK: Trading involves substantial risk of loss and is not suitable for every investor. The high degree of leverage can work against you as well as for you.
YOUR RESPONSIBILITY: You are solely responsible for your own trading decisions. You should conduct your own research, perform your own analysis, paper trade extensively, and consult with qualified financial advisors before making any trading decisions.
NO LIABILITY: The developers, contributors, and distributors of this indicator disclaim all liability for any losses or damages, direct or indirect, that may result from use of this indicator or reliance on any information provided.
PAPER TRADE FIRST: Users are strongly encouraged to thoroughly test this indicator in a paper trading environment before risking any real capital.
By using this indicator, you acknowledge that you have read this disclaimer, understand the substantial risks involved in trading, and agree that you are solely responsible for your own trading decisions and their outcomes.
Educational Software Only | Trade at Your Own Risk | Not Financial Advice
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Major Crypto Relative Strength Portfolio System Majors RSPS - Relative Strength Portfolio System for Major Cryptocurrencies
Overview
Majors RSPS (Relative Strength Portfolio System) is an advanced portfolio allocation indicator that combines relative strength analysis, trend consensus, and macro risk factors to dynamically allocate capital across major cryptocurrency assets. The system leverages the NormalizedIndicators Library to evaluate both absolute trends and relative performance, creating an adaptive portfolio that automatically adjusts exposure based on market conditions.
This indicator is designed for portfolio managers, asset allocators, and systematic traders who want a data-driven approach to cryptocurrency portfolio construction with automatic rebalancing signals.
🎯 Core Concept
What is RSPS?
RSPS (Relative Strength Portfolio System) evaluates each asset on two key dimensions:
Relative Strength: How is the asset performing compared to other major cryptocurrencies?
Absolute Trend: Is the asset itself in a bullish trend?
Assets that show both strong relative performance AND positive absolute trends receive higher allocations. Weak performers are automatically filtered out, with capital reallocated to cash or stronger assets.
Dual-Layer Architecture
Layer 1: Majors Portfolio (Orange Zone)
Evaluates 14 major cryptocurrency assets
Calculates relative strength against all other majors
Applies trend filters to ensure absolute momentum
Dynamically allocates capital based on comparative strength
Layer 2: Cash/Risk Position (Navy Zone)
Evaluates macro risk factors and market conditions
Determines optimal cash allocation
Acts as a risk-off mechanism during adverse conditions
Provides downside protection through dynamic cash holdings
📊 Tracked Assets
Major Cryptocurrencies (14 Assets)
BTC - Bitcoin (Benchmark L1)
ETH - Ethereum (Smart Contract L1)
SOL - Solana (High-Performance L1)
SUI - Sui (Move-Based L1)
TRX - Tron (Payment-Focused L1)
BNB - Binance Coin (Exchange L1)
XRP - Ripple (Payment Network)
FTM - Fantom (DeFi L1)
CELO - Celo (Mobile-First L1)
TAO - Bittensor (AI Network)
HYPE - Hyperliquid (DeFi Exchange)
HBAR - Hedera (Enterprise L1)
ADA - Cardano (Research-Driven L1)
THETA - Theta (Video Network)
🔧 How It Works
Step 1: Relative Strength Calculation
For each asset, the system calculates relative strength by:
RSPS Score = Average of:
- Asset/BTC trend consensus
- Asset/ETH trend consensus
- Asset/SOL trend consensus
- Asset/SUI trend consensus
- ... (all 14 pairs)
- Asset's absolute trend consensus
Key Logic:
Each pair is evaluated using the eth_4d_cal() calibration from NormalizedIndicators
If an asset's absolute trend is extremely weak (≤ 0.1), it receives a penalty score (-0.5)
Otherwise, it gets the average of all its relative strength comparisons
Step 2: Trend Filtering
Assets must pass a trend filter to receive allocation:
Trend Score = Average of:
- Asset/BTC trend (filtered for positivity)
- Asset/ETH trend (filtered for positivity)
- Asset's absolute trend (filtered for positivity)
Only positive values contribute to the trend score, ensuring bearish assets don't receive allocation.
Step 3: Portfolio Allocation
Capital is allocated proportionally based on filtered RSPS scores:
Asset Allocation % = (Asset's Filtered RSPS Score / Sum of All Filtered Scores) × Main Portfolio %
Example:
SOL filtered score: 0.6
BTC filtered score: 0.4
All others: 0
Total: 1.0
SOL receives: (0.6 / 1.0) × Main% = 60% of main portfolio
BTC receives: (0.4 / 1.0) × Main% = 40% of main portfolio
Step 4: Cash/Risk Allocation
The system evaluates macro conditions across 6 factors:
Inverse Major Crypto Trends (40% weight)
When BTC, ETH, SOL, SUI, DOGE, etc. trend down → Cash allocation increases
Evaluates total market cap trends (TOTAL, TOTAL2, OTHERS)
Stablecoin Dominance (10% weight)
USDC dominance vs. major crypto dominances
Higher stablecoin dominance → Higher cash allocation
MVRV Ratios (10% weight)
BTC and ETH Market Value to Realized Value
High MVRV (overvaluation) → Higher cash allocation
BTC/ETH Ratio (15% weight)
Relative performance between two market leaders
Indicates market phase (BTC dominance vs. alt season)
Active Address Ratios (5% weight)
USDC active addresses vs. BTC/ETH active addresses
Network activity comparison
Macro Indicators (15% weight)
Global currency circulation (USD, EUR, CNY, JPY)
Treasury yield curve (10Y-2Y)
High yield spreads
Central bank balance sheets and money supply
Cash Allocation Formula:
Cash % = (Sum of Risk Factors × 0.5) / (Risk Factors + Majors TPI)
When risk factors are elevated, cash allocation increases, reducing exposure to volatile assets.
📈 Visual Components
Orange Zone (Majors Portfolio)
Fill: Light orange area showing aggregate portfolio strength
Line: Average trend power index (TPI) of allocated assets
Baseline: 0 level (neutral)
Interpretation:
Above 0: Bullish allocation environment
Rising: Strengthening portfolio momentum
Falling: Weakening portfolio momentum
Below 0: No allocation (100% cash)
Navy Zone (Cash Position)
Fill: Navy blue area showing cash allocation strength
Line: Risk-adjusted cash allocation signal
Baseline: 0 level
Interpretation:
Higher navy zone: Elevated risk-off signal → More cash
Lower navy zone: Risk-on environment → Less cash
Zero: No cash allocation (100% invested)
Performance Line (Orange/Blue)
Orange: Main portfolio allocation dominant (risk-on mode)
Blue: Cash allocation dominant (risk-off mode)
Tracks: Cumulative portfolio returns with dynamic rebalancing
Allocation Table (Bottom Left)
Shows real-time portfolio composition:
ColumnDescriptionAssetCryptocurrency nameRSPS ValuePercentage allocation (of main portfolio)CashDollar amount (if enabled)
Color Coding:
Orange: Active allocation
Gray: Weak signal (borderline)
Blue: Cash position
Missing: No allocation (filtered out)
⚙️ Settings & Configuration
Required Setup
Chart Symbol
MUST USE: INDEX:BTCUSD or similar major crypto index
Recommended Timeframe: 1D (Daily) or 4D (4-Day)
Why: System needs price data for all 14 majors, BTC provides stable reference
Hide Chart Candles
For clean visualization:
Right-click on chart
Select "Hide Symbol" or set candle opacity to 0
This allows the indicator fills and table to be clearly visible
User Inputs
plot_table (Default: true)
Enable/disable the allocation table
Set to false if you only want the visual zones
use_cash (Default: false)
Enable portfolio dollar value calculations
Shows actual dollar allocations per asset
cash (Default: 100)
Total portfolio size in dollars/currency units
Used when use_cash is enabled
Example: Set to 10000 for a $10,000 portfolio
💡 Interpretation Guide
Entry Signals
Strong Allocation Signal:
✓ Orange zone elevated (> 0.3)
✓ Navy zone low (< 0.2)
✓ Performance line orange
✓ Multiple assets in allocation table
→ Action: Deploy capital to allocated assets per table percentages
Risk-Off Signal:
✓ Orange zone near zero
✓ Navy zone elevated (> 0.4)
✓ Performance line blue
✓ Few or no assets in table (high cash %)
→ Action: Reduce exposure, increase cash holdings
Rebalancing Triggers
Monitor the allocation table for changes:
New assets appearing: Add to portfolio
Assets disappearing: Remove from portfolio
Percentage changes: Rebalance existing positions
Cash % changes: Adjust overall exposure
Market Regime Detection
Risk-On (Bull Market):
Orange zone high and rising
Navy zone minimal
Many assets allocated (8-12)
High individual allocations (15-30% each)
Risk-Off (Bear Market):
Orange zone near zero or negative
Navy zone elevated
Few assets allocated (0-3)
Cash allocation dominant (70-100%)
Transition Phase:
Both zones moderate
Medium number of assets (4-7)
Balanced cash/asset allocation (40-60%)
🎯 Trading Strategies
Strategy 1: Pure RSPS Following
1. Check allocation table daily
2. Rebalance portfolio to match percentages
3. Follow cash allocation strictly
4. Review weekly, act on significant changes (>5%)
Best For: Systematic portfolio managers, passive allocators
Strategy 2: Threshold-Based
Entry Rules:
- Orange zone > 0.4 AND Navy zone < 0.3
- At least 5 assets in allocation table
- Total non-cash allocation > 60%
Exit Rules:
- Orange zone < 0.1 OR Navy zone > 0.5
- Fewer than 3 assets allocated
- Cash allocation > 70%
Best For: Active traders wanting clear rules
Strategy 3: Relative Strength Overlay
1. Use RSPS for broad allocation framework
2. Within allocated assets, overweight top 3 performers
3. Scale position sizes by RSPS score
4. Use individual asset charts for entry/exit timing
Best For: Discretionary traders with portfolio focus
Strategy 4: Risk-Adjusted Position Sizing
For each allocated asset:
Position Size = Base Position × (Asset's RSPS Score / Max RSPS Score) × (1 - Cash Allocation)
Example:
- $10,000 portfolio
- SOL RSPS: 0.6 (highest)
- BTC RSPS: 0.4
- Cash allocation: 30%
SOL Size = $10,000 × (0.6/0.6) × (1-0.30) = $7,000
BTC Size = $10,000 × (0.4/0.6) × (1-0.30) = $4,667
Cash = $10,000 × 0.30 = $3,000
Best For: Risk-conscious allocators
📊 Advanced Usage
Multi-Timeframe Confirmation
Use on multiple timeframes for robust signals:
1D Chart: Tactical allocation (daily rebalancing)
4D Chart: Strategic allocation (weekly review)
Strong Confirmation:
- Both timeframes show same top 3 assets
- Both show similar cash allocation levels
- Orange zones aligned on both
Weak/Conflicting:
- Different top performers
- Diverging cash allocations
→ Wait for alignment or use shorter timeframe
Sector Rotation Analysis
Group assets by type and watch rotation:
L1 Dominance: BTC, ETH, SOL, SUI, ADA high → Layer 1 season
Alt L1s: TRX, FTM, CELO rising → Alternative platform season
Specialized: TAO, THETA, HYPE strong → Niche narrative season
Payment/Stable: XRP, BNB allocation → Risk reduction phase
Divergence Trading
Bullish Divergence:
Navy zone declining (less risk-off)
Orange zone flat or slightly rising
Few assets still allocated but strengthening
→ Early accumulation signal
Bearish Divergence:
Orange zone declining
Navy zone rising
Asset count decreasing in table
→ Distribution/exit signal
Performance Tracking
The performance line (overlay) shows cumulative strategy returns:
Compare to BTC/ETH: Is RSPS outperforming?
Drawdown analysis: How deep are pullbacks?
Correlation: Does it track market or provide diversification?
🔬 Technical Details
Data Sources
Price Data:
COINEX: Primary exchange for alt data
CRYPTO: Alternative price feeds
INDEX: Aggregated index prices (recommended for BTC)
Macro Data:
Dominance metrics (SUI.D, BTC.D, etc.)
MVRV ratios (on-chain valuation)
Active addresses (network activity)
Global money supply and macro indicators
Calculation Methodology
RSPS Scoring:
For each asset, calculate 14 relative trends (vs. all others)
Calculate asset's absolute trend
Average all 15 values
Apply penalty filter for extremely weak trends (≤ 0.1)
Trend Consensus:
Uses eth_4d_cal() from NormalizedIndicators library
Combines 8 normalized indicators per measurement
Returns value from -1 (bearish) to +1 (bullish)
Performance Calculation:
Daily Return = Σ(Asset ROC × Asset Allocation)
Cumulative Performance = Previous Perf × (1 + Daily Return / 100)
Assumes perfect rebalancing and no slippage (theoretical performance).
Filtering Logic
filter() function:
pinescriptfilter(input) => input >= 0 ? input : 0
This zero-floor filter ensures:
Only positive trend values contribute to allocation
Bearish assets receive 0 weight
No short positions or inverse allocations
Anti-Manipulation Safeguards
Null Handling:
All values wrapped in nz() to handle missing data
Prevents calculation errors from data gaps
Normalization:
Allocations always sum to 100%
Prevents over/under-allocation
Conditional Logic:
Assets need positive values on multiple metrics
Single metric cannot drive allocation alone
⚠️ Important Considerations
Required Timeframes
1D (Daily): Recommended for most users
4D (4-Day): More stable, fewer rebalances
Other timeframes: Use at your own discretion, may require recalibration
Data Requirements
Needs INDEX:BTCUSD or equivalent major crypto symbol
All 14 tracked assets must have available data
Macro indicators require specific TradingView data feeds
Rebalancing Frequency
System provides daily allocation updates
Practical rebalancing: Weekly or on significant changes (>10%)
Consider transaction costs and tax implications
Performance Notes
Theoretical returns: No slippage, fees, or execution delays
Backtest carefully: Validate on your specific market conditions
Past performance: Does not guarantee future results
Risk Warnings
⚠️ High Concentration Risk: May allocate heavily to 1-3 assets
⚠️ Volatility: Crypto markets are inherently volatile
⚠️ Liquidity: Some allocated assets may have lower liquidity
⚠️ Correlation: All assets correlated to BTC/ETH to some degree
⚠️ System Risk: Relies on continued availability of data feeds
Not Financial Advice
This indicator is a tool for analysis and research. It does not constitute:
Investment advice
Portfolio management services
Trading recommendations
Guaranteed returns
Always perform your own due diligence and risk assessment.
🎓 Use Cases
For Portfolio Managers
Systematic allocation framework
Objective rebalancing signals
Risk-adjusted exposure management
Performance tracking vs. benchmarks
For Active Traders
Identify strongest assets to focus trading on
Gauge overall market regime (risk-on/off)
Time entry/exit for portfolio shifts
Complement technical analysis with allocation data
For Institutional Allocators
Quantitative portfolio construction
Multi-asset exposure optimization
Drawdown management through cash allocation
Compliance-friendly systematic approach
For Researchers
Study relative strength dynamics in crypto markets
Analyze correlation between majors
Test macro factor impact on crypto allocations
Develop derived strategies and signals
🔧 Setup Checklist
✅ Chart Configuration
Set chart to INDEX:BTCUSD
Set timeframe to 1D or 4D
Hide chart candles for clean visualization
Add indicator from library
✅ Indicator Settings
Enable plot_table (see allocation table)
Set use_cash if tracking dollar amounts
Input your portfolio size in cash parameter
✅ Monitoring Setup
Bookmark chart for daily review
Set alerts for major allocation changes (optional)
Create spreadsheet to track allocations (optional)
Establish rebalancing schedule (weekly recommended)
✅ Validation
Verify all 14 assets appear in table (when allocated)
Check that percentages sum to ~100%
Confirm performance line is tracking
Test cash allocation calculation if enabled
📋 Quick Reference
Signal Interpretation
ConditionOrange ZoneNavy ZoneActionStrong BullHigh (>0.4)Low (<0.2)Full allocationModerate BullMid (0.2-0.4)Low-MidStandard allocationNeutralLow (0.1-0.2)Mid (0.3-0.4)Balanced allocationModerate BearVery Low (<0.1)Mid-HighReduce exposureStrong BearZero/NegativeHigh (>0.5)High cash/exit
Rebalancing Thresholds
Change TypeThresholdActionIndividual asset±5%Consider rebalanceIndividual asset±10%Strongly rebalanceCash allocation±10%Adjust exposureAsset entry/exitAnyAdd/remove position
Color Legend
Orange: Main portfolio strength/allocation
Navy: Cash/risk-off allocation
Blue text: Cash position in table
Orange text: Active asset allocation
Gray text: Weak/borderline allocation
White: Headers and labels
🚀 Getting Started
Beginner Path
Add indicator to INDEX:BTCUSD daily chart
Hide candles for clarity
Enable plot_table to see allocations
Check table daily, note top 3-5 assets
Start with small allocation, observe behavior
Gradually increase allocation as you gain confidence
Intermediate Path
Set up on both 1D and 4D charts
Enable use_cash with your portfolio size
Create tracking spreadsheet
Implement weekly rebalancing schedule
Monitor divergences between timeframes
Compare performance to buy-and-hold BTC
Advanced Path
Modify code to add/remove tracked assets
Adjust relative strength calculation methodology
Customize cash allocation factors and weights
Integrate with portfolio management platform
Develop algorithmic rebalancing system
Create alerts for specific allocation conditions
📖 Additional Resources
Related Indicators
NormalizedIndicators Library: Core calculation engine
Individual asset trend indicators for deeper analysis
Macro indicator dashboards for cash allocation factors
Complementary Analysis
On-chain metrics (MVRV, active addresses, etc.)
Order book liquidity for execution planning
Correlation matrices for diversification analysis
Volatility indicators for position sizing
Learning Materials
Study relative strength portfolio theory
Research tactical asset allocation strategies
Understand crypto market cycles and phases
Learn about risk management in volatile assets
🎯 Key Takeaways
✅ Systematic allocation across 14 major cryptocurrencies
✅ Dual-layer approach: Asset selection + Cash management
✅ Relative strength focused: Invests in comparatively strong assets
✅ Trend filtering: Only allocates to assets in positive trends
✅ Dynamic rebalancing: Automatically adjusts to market conditions
✅ Risk-managed: Increases cash during adverse conditions
✅ Transparent methodology: Clear calculation logic
✅ Practical visualization: Easy-to-read table and zones
✅ Performance tracking: See cumulative strategy returns
✅ Highly customizable: Adjust assets, weights, and factors
📋 License
This code is subject to the Mozilla Public License 2.0 at mozilla.org
Majors RSPS transforms complex multi-asset portfolio management into a systematic, data-driven process. By combining relative strength analysis with trend consensus and macro risk factors, it provides traders and portfolio managers with a robust framework for navigating cryptocurrency markets with discipline and objectivity.WiederholenClaude kann Fehler machen. Bitte überprüfen Sie die Antworten. Sonnet 4.5
Flux-Tensor Singularity [ML/RL PRO]Flux-Tensor Singularity
This version of the Flux-Tensor Singularity (FTS) represents a paradigm shift in technical analysis by treating price movement as a physical system governed by volume-weighted forces and volatility dynamics. Unlike traditional indicators that measure price change or momentum in isolation, FTS quantifies the complete energetic state of the market by fusing three fundamental dimensions: price displacement (delta_P), volume intensity (V), and local-to-global volatility ratio (gamma).
The Physics-Inspired Foundation:
The tensor calculation draws inspiration from general relativity and fluid dynamics, where massive objects (large volume) create curvature in spacetime (price action). The core formula:
Raw Singularity = (ΔPrice × ln(Volume)) × γ²
Where:
• ΔPrice = close - close (directional force)
• ln(Volume) = logarithmic volume compression (prevents extreme outliers)
• γ (Gamma) = (ATR_local / ATR_global)² (volatility expansion coefficient)
This raw value is then normalized to 0-100 range using the lookback period's extremes, creating a bounded oscillator that identifies critical density points—"singularities" where normal market behavior breaks down and explosive moves become probable.
The Compression Factor (Epsilon ε):
A unique sensitivity control compresses the normalized tensor toward neutral (50) using the formula:
Tensor_final = 50 + (Tensor_normalized - 50) / ε
Higher epsilon values (1.5-3.0) make threshold breaches rare and significant, while lower values (0.3-0.7) increase signal frequency. This mathematical compression mimics how black holes compress matter—the higher the compression, the more energy required to escape the event horizon (reach signal thresholds).
Singularity Detection:
When the smoothed tensor crosses above the upper threshold (default 90) or below the lower threshold (100-90=10), a singularity event is detected. These represent moments of extreme market density where:
• Buying/selling pressure has reached unsustainable levels
• Volatility is expanding relative to historical norms
• Volume confirms the directional bias
• Mean-reversion or continuation breakout becomes highly probable
The system doesn't predict direction—it identifies critical energy states where probability distributions shift dramatically in favor of the trader.
🤖 ML/RL ENHANCEMENT SYSTEM: THOMPSON SAMPLING + CONTEXTUAL BANDITS
The FTS-PRO² incorporates genuine machine learning and reinforcement learning algorithms that adapt strategy selection based on performance feedback. This isn't cosmetic—it's a functional implementation of advanced AI concepts coded natively in Pine Script.
Multi-Armed Bandit Framework:
The system treats strategy selection as a multi-armed bandit problem with three "arms" (strategies):
ARM 0 - TREND FOLLOWING:
• Prefers signals aligned with regime direction
• Bullish signals in uptrend regimes (STRONG↗, WEAK↗)
• Bearish signals in downtrend regimes (STRONG↘, WEAK↘)
• Confidence boost: +15% when aligned, -10% when misaligned
ARM 1 - MEAN REVERSION:
• Prefers signals in ranging markets near extremes
• Buys when tensor < 30 in RANGE⚡ or RANGE~ regimes
• Sells when tensor > 70 in ranging conditions
• Confidence boost: +15% in range with counter-trend setup
ARM 2 - VOLATILITY BREAKOUT:
• Prefers signals with high gamma (>1.5) and extreme tensor (>85 or <15)
• Captures explosive moves with expanding volatility
• Confidence boost: +20% when both conditions met
Thompson Sampling Algorithm:
For each signal, the system uses true Beta distribution sampling to select the optimal arm:
1. Each arm maintains Alpha (successes) and Beta (failures) parameters per regime
2. Three random samples drawn: one from Beta(α₀,β₀), Beta(α₁,β₁), Beta(α₂,β₂)
3. Highest sample wins and that arm's strategy applies
4. After trade outcome:
- Win → Alpha += 1.0, reward += 1.0
- Loss → Beta += 1.0, reward -= 0.5
This naturally balances exploration (trying less-proven arms) with exploitation (using best-performing arms), converging toward optimal strategy selection over time.
Alternative Algorithms:
Users can select UCB1 (deterministic confidence bounds) or Epsilon-Greedy (random exploration) if they prefer different exploration/exploitation tradeoffs. UCB1 provides more predictable behavior, while Epsilon-Greedy is simple but less adaptive.
Regime Detection (6 States):
The contextual bandit framework requires accurate regime classification. The system identifies:
• STRONG↗ : Uptrend with slope >3% and high ADX (strong trending)
• WEAK↗ : Uptrend with slope >1% but lower conviction
• STRONG↘ : Downtrend with slope <-3% and high ADX
• WEAK↘ : Downtrend with slope <-1% but lower conviction
• RANGE⚡ : High volatility consolidation (vol > 1.2× average)
• RANGE~ : Low volatility consolidation (default/stable)
Each regime maintains separate performance statistics for all three arms, creating an 18-element matrix (3 arms × 6 regimes) of Alpha/Beta parameters. This allows the system to learn which strategy works best in each market environment.
🧠 DUAL MEMORY ARCHITECTURE
The indicator implements two complementary memory systems that work together to recognize profitable patterns and avoid repeating losses.
Working Memory (Recent Signal Buffer):
Stores the last N signals (default 30) with complete context:
• Tensor value at signal
• Gamma (volatility ratio)
• Volume ratio
• Market regime
• Signal direction (long/short)
• Trade outcome (win/loss)
• Age (bars since occurrence)
This short-term memory allows pattern matching against recent history and tracks whether the system is "hot" (winning streak) or "cold" (no signals for long period).
Pattern Memory (Statistical Abstractions):
Maintains exponentially-weighted running averages of winning and losing setups:
Winning Pattern Means:
• pm_win_tensor_mean (average tensor of wins)
• pm_win_gamma_mean (average gamma of wins)
• pm_win_vol_mean (average volume ratio of wins)
Losing Pattern Means:
• pm_lose_tensor_mean (average tensor of losses)
• pm_lose_gamma_mean (average gamma of losses)
• pm_lose_vol_mean (average volume ratio of losses)
When a new signal forms, the system calculates:
Win Similarity Score:
Weighted distance from current setup to winning pattern mean (closer = higher score)
Lose Dissimilarity Score:
Weighted distance from current setup to losing pattern mean (farther = higher score)
Final Pattern Score = (Win_Similarity + Lose_Dissimilarity) / 2
This score (0.0 to 1.0) feeds into ML confidence calculation with 15% weight. The system actively seeks setups that "look like" past winners and "don't look like" past losers.
Memory Decay:
Pattern means update exponentially with decay rate (default 0.95):
New_Mean = Old_Mean × 0.95 + New_Value × 0.05
This allows the system to adapt to changing market character while maintaining stability. Faster decay (0.80-0.90) adapts quickly but may overfit to recent noise. Slower decay (0.95-0.99) provides stability but adapts slowly to regime changes.
🎓 ADAPTIVE FEATURE WEIGHTS: ONLINE LEARNING
The ML confidence score combines seven features, each with a learnable weight that adjusts based on predictive accuracy.
The Seven Features:
1. Overall Win Rate (15% initial) : System-wide historical performance
2. Regime Win Rate (20% initial) : Performance in current market regime
3. Score Strength (15% initial) : Bull vs bear score differential
4. Volume Strength (15% initial) : Volume ratio normalized to 0-1
5. Pattern Memory (15% initial) : Similarity to winning patterns
6. MTF Confluence (10% initial) : Higher timeframe alignment
7. Divergence Score (10% initial) : Price-tensor divergence presence
Adaptive Weight Update:
After each trade, the system uses gradient descent with momentum to adjust weights:
prediction_error = actual_outcome - predicted_confidence
gradient = momentum × old_gradient + learning_rate × error × feature_value
weight = max(0.05, weight + gradient × 0.01)
Then weights are normalized to sum to 1.0.
Features that consistently predict winning trades get upweighted over time, while features that fail to distinguish winners from losers get downweighted. The momentum term (default 0.9) smooths the gradient to prevent oscillation and overfitting.
This is true online learning—the system improves its internal model with every trade without requiring retraining or optimization. Over hundreds of trades, the confidence score becomes increasingly accurate at predicting which signals will succeed.
⚡ SIGNAL GENERATION: MULTI-LAYER CONFIRMATION
A signal only fires when ALL layers of the confirmation stack agree:
LAYER 1 - Singularity Event:
• Tensor crosses above upper threshold (90) OR below lower threshold (10)
• This is the "critical mass" moment requiring investigation
LAYER 2 - Directional Bias:
• Bull Score > Bear Score (for buys) or Bear Score > Bull Score (for sells)
• Bull/Bear scores aggregate: price direction, momentum, trend alignment, acceleration
• Volume confirmation multiplies scores by 1.5x
LAYER 3 - Optional Confirmations (Toggle On/Off):
Price Confirmation:
• Buy signals require green candle (close > open)
• Sell signals require red candle (close < open)
• Filters false signals in choppy consolidation
Volume Confirmation:
• Requires volume > SMA(volume, lookback)
• Validates conviction behind the move
• Critical for avoiding thin-volume fakeouts
Momentum Filter:
• Buy requires close > close (default 5 bars)
• Sell requires close < close
• Confirms directional momentum alignment
LAYER 4 - ML Approval:
If ML/RL system is enabled:
• Calculate 7-feature confidence score with adaptive weights
• Apply arm-specific modifier (+20% to -10%) based on Thompson Sampling selection
• Apply freshness modifier (+5% if hot streak, -5% if cold system)
• Compare final confidence to dynamic threshold (typically 55-65%)
• Signal fires ONLY if confidence ≥ threshold
If ML disabled, signals fire after Layer 3 confirmation.
Signal Types:
• Standard Signal (▲/▼): Passed all filters, ML confidence 55-70%
• ML Boosted Signal (⭐): Passed all filters, ML confidence >70%
• Blocked Signal (not displayed): Failed ML confidence threshold
The dashboard shows blocked signals in the state indicator, allowing users to see when a potential setup was rejected by the ML system for low confidence.
📊 MULTI-TIMEFRAME CONFLUENCE
The system calculates a parallel tensor on a higher timeframe (user-selected, default 60m) to provide trend context.
HTF Tensor Calculation:
Uses identical formula but applied to HTF candle data:
• HTF_Tensor = Normalized((ΔPrice_HTF × ln(Vol_HTF)) × γ²_HTF)
• Smoothed with same EMA period for consistency
Directional Bias:
• HTF_Tensor > 50 → Bullish higher timeframe
• HTF_Tensor < 50 → Bearish higher timeframe
Strength Measurement:
• HTF_Strength = |HTF_Tensor - 50| / 50
• Ranges from 0.0 (neutral) to 1.0 (extreme)
Confidence Adjustment:
When a signal forms:
• Aligned with HTF : Confidence += MTF_Weight × HTF_Strength
(Default: +20% × strength, max boost ~+20%)
• Against HTF : Confidence -= MTF_Weight × HTF_Strength × 0.6
(Default: -20% × strength × 0.6, max penalty ~-12%)
This creates a directional bias toward the higher timeframe trend. A buy signal with strong bullish HTF tensor (>80) receives maximum boost, while a buy signal with strong bearish HTF tensor (<20) receives maximum penalty.
Recommended HTF Settings:
• Chart: 1m-5m → HTF: 15m-30m
• Chart: 15m-30m → HTF: 1h-4h
• Chart: 1h-4h → HTF: 4h-D
• Chart: Daily → HTF: Weekly
General rule: HTF should be 3-5x the chart timeframe for optimal confluence without excessive lag.
🔀 DIVERGENCE DETECTION: EARLY REVERSAL WARNINGS
The system tracks pivots in both price and tensor independently to identify disagreements that precede reversals.
Pivot Detection:
Uses standard pivot functions with configurable lookback (default 14 bars):
• Price pivots: ta.pivothigh(high) and ta.pivotlow(low)
• Tensor pivots: ta.pivothigh(tensor) and ta.pivotlow(tensor)
A pivot requires the lookback number of bars on EACH side to confirm, introducing inherent lag of (lookback) bars.
Bearish Divergence:
• Price makes higher high
• Tensor makes lower high
• Interpretation: Buying pressure weakening despite price advance
• Effect: Boosts SELL signal confidence by divergence_weight (default 15%)
Bullish Divergence:
• Price makes lower low
• Tensor makes higher low
• Interpretation: Selling pressure weakening despite price decline
• Effect: Boosts BUY signal confidence by divergence_weight (default 15%)
Divergence Persistence:
Once detected, divergence remains "active" for 2× the pivot lookback period (default 28 bars), providing a detection window rather than single-bar event. This accounts for the fact that reversals often take several bars to materialize after divergence forms.
Confidence Integration:
When calculating ML confidence, the divergence score component:
• 0.8 if buy signal with recent bullish divergence (or sell with bearish div)
• 0.2 if buy signal with recent bearish divergence (opposing signal)
• 0.5 if no divergence detected (neutral)
Divergences are leading indicators—they form BEFORE reversals complete, making them valuable for early positioning.
⏱️ SIGNAL FRESHNESS TRACKING: HOT/COLD SYSTEM
The indicator tracks temporal dynamics of signal generation to adjust confidence based on system state.
Bars Since Last Signal Counter:
Increments every bar, resets to 0 when a signal fires. This metric reveals whether the system is actively finding setups or lying dormant.
Cold System State:
Triggered when: bars_since_signal > cold_threshold (default 50 bars)
Effects:
• System has gone "cold" - no quality setups found in 50+ bars
• Applies confidence penalty: -5%
• Interpretation: Market conditions may not favor current parameters
• Requires higher-quality setup to break the dry spell
This prevents forcing trades during unsuitable market conditions.
Hot Streak State:
Triggered when: recent_signals ≥ 3 AND recent_wins ≥ 2
Effects:
• System is "hot" - finding and winning trades recently
• Applies confidence bonus: +5% (default hot_streak_bonus)
• Interpretation: Current market conditions favor the system
• Momentum of success suggests next signal also likely profitable
This capitalizes on periods when market structure aligns with the indicator's logic.
Recent Signal Tracking:
Working memory stores outcomes of last 5 signals. When 3+ winners occur in this window, hot streak activates. After 5 signals, the counter resets and tracking restarts. This creates rolling evaluation of recent performance.
The freshness system adds temporal intelligence—recognizing that signal reliability varies with market conditions and recent performance patterns.
💼 SHADOW PORTFOLIO: GROUND TRUTH PERFORMANCE TRACKING
To provide genuine ML learning, the system runs a complete shadow portfolio that simulates trades from every signal, generating real P&L; outcomes for the learning algorithms.
Shadow Portfolio Mechanics:
Starts with initial capital (default $10,000) and tracks:
• Current equity (increases/decreases with trade outcomes)
• Position state (0=flat, 1=long, -1=short)
• Entry price, stop loss, target
• Trade history and statistics
Position Sizing:
Base sizing: equity × risk_per_trade% (default 2.0%)
With dynamic sizing enabled:
• Size multiplier = 0.5 + ML_confidence
• High confidence (0.80) → 1.3× base size
• Low confidence (0.55) → 1.05× base size
Example: $10,000 equity, 2% risk, 80% confidence:
• Impact: $10,000 × 2% × 1.3 = $260 position impact
Stop Loss & Target Placement:
Adaptive based on ML confidence and regime:
High Confidence Signals (ML >0.7):
• Tighter stops: 1.5× ATR
• Larger targets: 4.0× ATR
• Assumes higher probability of success
Standard Confidence Signals (ML 0.55-0.7):
• Standard stops: 2.0× ATR
• Standard targets: 3.0× ATR
Ranging Regimes (RANGE⚡/RANGE~):
• Tighter setup: 1.5× ATR stop, 2.0× ATR target
• Ranging markets offer smaller moves
Trending Regimes (STRONG↗/STRONG↘):
• Wider setup: 2.5× ATR stop, 5.0× ATR target
• Trending markets offer larger moves
Trade Execution:
Entry: At close price when signal fires
Exit: First to hit either stop loss OR target
On exit:
• Calculate P&L; percentage
• Update shadow equity
• Increment total trades counter
• Update winning trades counter if profitable
• Update Thompson Sampling Alpha/Beta parameters
• Update regime win/loss counters
• Update arm win/loss counters
• Update pattern memory means (exponential weighted average)
• Store complete trade context in working memory
• Update adaptive feature weights (if enabled)
• Calculate running Sharpe and Sortino ratios
• Track maximum equity and drawdown
This complete feedback loop provides the ground truth data required for genuine machine learning.
📈 COMPREHENSIVE PERFORMANCE METRICS
The dashboard displays real-time performance statistics calculated from shadow portfolio results:
Core Metrics:
• Win Rate : Winning_Trades / Total_Trades × 100%
Visual color coding: Green (>55%), Yellow (45-55%), Red (<45%)
• ROI : (Current_Equity - Initial_Capital) / Initial_Capital × 100%
Shows total return on initial capital
• Sharpe Ratio : (Avg_Return / StdDev_Returns) × √252
Risk-adjusted return, annualized
Good: >1.5, Acceptable: >0.5, Poor: <0.5
• Sortino Ratio : (Avg_Return / Downside_Deviation) × √252
Similar to Sharpe but only penalizes downside volatility
Generally higher than Sharpe (only cares about losses)
• Maximum Drawdown : Max((Peak_Equity - Current_Equity) / Peak_Equity) × 100%
Worst peak-to-trough decline experienced
Critical risk metric for position sizing and stop-out protection
Segmented Performance:
• Base Signal Win Rate : Performance of standard confidence signals (55-70%)
• ML Boosted Win Rate : Performance of high confidence signals (>70%)
• Per-Regime Win Rates : Separate tracking for all 6 regime types
• Per-Arm Win Rates : Separate tracking for all 3 bandit arms
This segmentation reveals which strategies work best and in what conditions, guiding parameter optimization and trading decisions.
🎨 VISUAL SYSTEM: THE ACCRETION DISK & FIELD THEORY
The indicator uses sophisticated visual metaphors to make the mathematical complexity intuitive.
Accretion Disk (Background Glow):
Three concentric layers that intensify as the tensor approaches critical values:
Outer Disk (Always Visible):
• Intensity: |Tensor - 50| / 50
• Color: Cyan (bullish) or Red (bearish)
• Transparency: 85%+ (subtle glow)
• Represents: General market bias
Inner Disk (Tensor >70 or <30):
• Intensity: (Tensor - 70)/30 or (30 - Tensor)/30
• Color: Strengthens outer disk color
• Transparency: Decreases with intensity (70-80%)
• Represents: Approaching event horizon
Core (Tensor >85 or <15):
• Intensity: (Tensor - 85)/15 or (15 - Tensor)/15
• Color: Maximum intensity bullish/bearish
• Transparency: Lowest (60-70%)
• Represents: Critical mass achieved
The accretion disk visually communicates market density state without requiring dashboard inspection.
Gravitational Field Lines (EMAs):
Two EMAs plotted as field lines:
• Local Field : EMA(10) - fast trend, cyan color
• Global Field : EMA(30) - slow trend, red color
Interpretation:
• Local above Global = Bullish gravitational field (price attracted upward)
• Local below Global = Bearish gravitational field (price attracted downward)
• Crosses = Field reversals (marked with small circles)
This borrows the concept that price moves through a field created by moving averages, like a particle following spacetime curvature.
Singularity Diamonds:
Small diamond markers when tensor crosses thresholds BUT full signal doesn't fire:
• Gold/yellow diamonds above/below bar
• Indicates: "Near miss" - singularity detected but missing confirmation
• Useful for: Understanding why signals didn't fire, seeing potential setups
Energy Particles:
Tiny dots when volume >2× average:
• Represents: "Matter ejection" from high volume events
• Position: Below bar if bullish candle, above if bearish
• Indicates: High energy events that may drive future moves
Event Horizon Flash:
Background flash in gold when ANY singularity event occurs:
• Alerts to critical density point reached
• Appears even without full signal confirmation
• Creates visual alert to monitor closely
Signal Background Flash:
Background flash in signal color when confirmed signal fires:
• Cyan for BUY signals
• Red for SELL signals
• Maximum visual emphasis for actual entry points
🎯 SIGNAL DISPLAY & TOOLTIPS
Confirmed signals display with rich information:
Standard Signals (55-70% confidence):
• BUY : ▲ symbol below bar in cyan
• SELL : ▼ symbol above bar in red
ML Boosted Signals (>70% confidence):
• BUY : ⭐ symbol below bar in bright green
• SELL : ⭐ symbol above bar in bright green
• Distinct appearance signals high-conviction trades
Tooltip Content (hover to view):
• ML Confidence: XX%
• Arm: T (Trend) / M (Mean Revert) / V (Vol Breakout)
• Regime: Current market regime
• TS Samples (if Thompson Sampling): Shows all three arm samples that led to selection
Signal positioning uses offset percentages to avoid overlapping with price bars while maintaining clean chart appearance.
Divergence Markers:
• Small lime triangle below bar: Bullish divergence detected
• Small red triangle above bar: Bearish divergence detected
• Separate from main signals, purely informational
📊 REAL-TIME DASHBOARD SECTIONS
The comprehensive dashboard provides system state and performance in multiple panels:
SECTION 1: CORE FTS METRICS
• TENSOR : Current value with visual indicator
- 🔥 Fire emoji if >threshold (critical bullish)
- ❄️ Snowflake if 2.0× (extreme volatility)
- ⚠ Warning if >1.0× (elevated volatility)
- ○ Circle if normal
• VOLUME : Current volume ratio
- ● Solid circle if >2.0× average (heavy)
- ◐ Half circle if >1.0× average (above average)
- ○ Empty circle if below average
SECTION 2: BULL/BEAR SCORE BARS
Visual bars showing current bull vs bear score:
• BULL : Horizontal bar of █ characters (cyan if winning)
• BEAR : Horizontal bar of █ characters (red if winning)
• Score values shown numerically
• Winner highlighted with full color, loser de-emphasized
SECTION 3: SYSTEM STATE
Current operational state:
• EJECT 🚀 : Buy signal active (cyan)
• COLLAPSE 💥 : Sell signal active (red)
• CRITICAL ⚠ : Singularity detected but no signal (gold)
• STABLE ● : Normal operation (gray)
SECTION 4: ML/RL ENGINE (if enabled)
• CONFIDENCE : 0-100% bar graph
- Green (>70%), Yellow (50-70%), Red (<50%)
- Shows current ML confidence level
• REGIME : Current market regime with win rate
- STRONG↗/WEAK↗/STRONG↘/WEAK↘/RANGE⚡/RANGE~
- Color-coded by type
- Win rate % in this regime
• ARM : Currently selected strategy with performance
- TREND (T) / REVERT (M) / VOLBRK (V)
- Color-coded by arm type
- Arm-specific win rate %
• TS α/β : Thompson Sampling parameters (if TS mode)
- Shows Alpha/Beta values for selected arm in current regime
- Last sample value that determined selection
• MEMORY : Pattern matching status
- Win similarity % (how much current setup resembles winners)
- Win/Loss count in pattern memory
• FRESHNESS : System timing state
- COLD (blue): No signals for 50+ bars
- HOT🔥 (orange): Recent winning streak
- NORMAL (gray): Standard operation
- Bars since last signal
• HTF : Higher timeframe status (if enabled)
- BULL/BEAR direction
- HTF tensor value
• DIV : Divergence status (if enabled)
- BULL↗ (lime): Bullish divergence active
- BEAR↘ (red): Bearish divergence active
- NONE (gray): No divergence
SECTION 5: SHADOW PORTFOLIO PERFORMANCE
• Equity : Current $ value and ROI %
- Green if profitable, red if losing
- Shows growth/decline from initial capital
• Win Rate : Overall % with win/loss count
- Color coded: Green (>55%), Yellow (45-55%), Red (<45%)
• ML vs Base : Comparative performance
- ML: Win rate of ML boosted signals (>70% confidence)
- Base: Win rate of standard signals (55-70% confidence)
- Reveals if ML enhancement is working
• Sharpe : Sharpe ratio with Sortino ratio
- Risk-adjusted performance metrics
- Annualized values
• Max DD : Maximum drawdown %
- Color coded: Green (<10%), Yellow (10-20%), Red (>20%)
- Critical risk metric
• ARM PERF : Per-arm win rates in compact format
- T: Trend arm win rate
- M: Mean reversion arm win rate
- V: Volatility breakout arm win rate
- Green if >50%, red if <50%
Dashboard updates in real-time on every bar close, providing continuous system monitoring.
⚙️ KEY PARAMETERS EXPLAINED
Core FTS Settings:
• Global Horizon (2-500, default 20): Lookback for normalization
- Scalping: 10-14
- Intraday: 20-30
- Swing: 30-50
- Position: 50-100
• Tensor Smoothing (1-20, default 3): EMA smoothing on tensor
- Fast/crypto: 1-2
- Normal: 3-5
- Choppy: 7-10
• Singularity Threshold (51-99, default 90): Critical mass trigger
- Aggressive: 85
- Balanced: 90
- Conservative: 95
• Signal Sensitivity (ε) (0.1-5.0, default 1.0): Compression factor
- Aggressive: 0.3-0.7
- Balanced: 1.0
- Conservative: 1.5-3.0
- Very conservative: 3.0-5.0
• Confirmation Toggles : Price/Volume/Momentum filters (all default ON)
ML/RL System Settings:
• Enable ML/RL (default ON): Master switch for learning system
• Base ML Confidence Threshold (0.4-0.9, default 0.55): Minimum to fire
- Aggressive: 0.40-0.50
- Balanced: 0.55-0.65
- Conservative: 0.70-0.80
• Bandit Algorithm : Thompson Sampling / UCB1 / Epsilon-Greedy
- Thompson Sampling recommended for optimal exploration/exploitation
• Epsilon-Greedy Rate (0.05-0.5, default 0.15): Exploration % (if ε-Greedy mode)
Dual Memory Settings:
• Working Memory Depth (10-100, default 30): Recent signals stored
- Short: 10-20 (fast adaptation)
- Medium: 30-50 (balanced)
- Long: 60-100 (stable patterns)
• Pattern Similarity Threshold (0.5-0.95, default 0.70): Match strictness
- Loose: 0.50-0.60
- Medium: 0.65-0.75
- Strict: 0.80-0.90
• Memory Decay Rate (0.8-0.99, default 0.95): Exponential decay speed
- Fast: 0.80-0.88
- Medium: 0.90-0.95
- Slow: 0.96-0.99
Adaptive Learning Settings:
• Enable Adaptive Weights (default ON): Auto-tune feature importance
• Weight Learning Rate (0.01-0.3, default 0.10): Gradient descent step size
- Very slow: 0.01-0.03
- Slow: 0.05-0.08
- Medium: 0.10-0.15
- Fast: 0.20-0.30
• Weight Momentum (0.5-0.99, default 0.90): Gradient smoothing
- Low: 0.50-0.70
- Medium: 0.75-0.85
- High: 0.90-0.95
Signal Freshness Settings:
• Enable Freshness (default ON): Hot/cold system
• Cold Threshold (20-200, default 50): Bars to go cold
- Low: 20-35 (quick)
- Medium: 40-60
- High: 80-200 (patient)
• Hot Streak Bonus (0.0-0.15, default 0.05): Confidence boost when hot
- None: 0.00
- Small: 0.02-0.04
- Medium: 0.05-0.08
- Large: 0.10-0.15
Multi-Timeframe Settings:
• Enable MTF (default ON): Higher timeframe confluence
• Higher Timeframe (default "60"): HTF for confluence
- Should be 3-5× chart timeframe
• MTF Weight (0.0-0.4, default 0.20): Confluence impact
- None: 0.00
- Light: 0.05-0.10
- Medium: 0.15-0.25
- Heavy: 0.30-0.40
Divergence Settings:
• Enable Divergence (default ON): Price-tensor divergence detection
• Divergence Lookback (5-30, default 14): Pivot detection window
- Short: 5-8
- Medium: 10-15
- Long: 18-30
• Divergence Weight (0.0-0.3, default 0.15): Confidence impact
- None: 0.00
- Light: 0.05-0.10
- Medium: 0.15-0.20
- Heavy: 0.25-0.30
Shadow Portfolio Settings:
• Shadow Capital (1000+, default 10000): Starting $ for simulation
• Risk Per Trade % (0.5-5.0, default 2.0): Position sizing
- Conservative: 0.5-1.0%
- Moderate: 1.5-2.5%
- Aggressive: 3.0-5.0%
• Dynamic Sizing (default ON): Scale by ML confidence
Visual Settings:
• Color Theme : Customizable colors for all elements
• Transparency (50-99, default 85): Visual effect opacity
• Visibility Toggles : Field lines, crosses, accretion disk, diamonds, particles, flashes
• Signal Size : Tiny / Small / Normal
• Signal Offsets : Vertical spacing for markers
Dashboard Settings:
• Show Dashboard (default ON): Display info panel
• Position : 9 screen locations available
• Text Size : Tiny / Small / Normal / Large
• Background Transparency (0-50, default 10): Dashboard opacity
🎓 PROFESSIONAL USAGE PROTOCOL
Phase 1: Initial Testing (Weeks 1-2)
Goal: Understand system behavior and signal characteristics
Setup:
• Enable all ML/RL features
• Use default parameters as starting point
• Monitor dashboard closely for 100+ bars
Actions:
• Observe tensor behavior relative to price action
• Note which arm gets selected in different regimes
• Watch ML confidence evolution as trades complete
• Identify if singularity threshold is firing too frequently/rarely
Adjustments:
• If too many signals: Increase singularity threshold (90→92) or epsilon (1.0→1.5)
• If too few signals: Decrease threshold (90→88) or epsilon (1.0→0.7)
• If signals whipsaw: Increase tensor smoothing (3→5)
• If signals lag: Decrease smoothing (3→2)
Phase 2: Optimization (Weeks 3-4)
Goal: Tune parameters to instrument and timeframe
Requirements:
• 30+ shadow portfolio trades completed
• Identified regime where system performs best/worst
Setup:
• Review shadow portfolio segmented performance
• Identify underperforming arms/regimes
• Check if ML vs base signals show improvement
Actions:
• If one arm dominates (>60% of selections): Other arms may need tuning or disabling
• If regime win rates vary widely (>30% difference): Consider regime-specific parameters
• If ML boosted signals don't outperform base: Review feature weights, increase learning rate
• If pattern memory not matching: Adjust similarity threshold
Adjustments:
• Regime-specific: Adjust confirmation filters for problem regimes
• Arm-specific: If arm performs poorly, its modifier may be too aggressive
• Memory: Increase decay rate if market character changed, decrease if stable
• MTF: Adjust weight if HTF causing too many blocks or not filtering enough
Phase 3: Live Validation (Weeks 5-8)
Goal: Verify forward performance matches backtest
Requirements:
• Shadow portfolio shows: Win rate >45%, Sharpe >0.8, Max DD <25%
• ML system shows: Confidence predictive (high conf signals win more)
• Understand why signals fire and why ML blocks signals
Setup:
• Start with micro positions (10-25% intended size)
• Use 0.5-1.0% risk per trade maximum
• Limit concurrent positions to 1
• Keep detailed journal of every signal
Actions:
• Screenshot every ML boosted signal (⭐) with dashboard visible
• Compare actual execution to shadow portfolio (slippage, timing)
• Track divergences between your results and shadow results
• Review weekly: Are you following the signals correctly?
Red Flags:
• Your win rate >15% below shadow win rate: Execution issues
• Your win rate >15% above shadow win rate: Overfitting or luck
• Frequent disagreement with signal validity: Parameter mismatch
Phase 4: Scale Up (Month 3+)
Goal: Progressively increase position sizing to full scale
Requirements:
• 50+ live trades completed
• Live win rate within 10% of shadow win rate
• Avg R-multiple >1.0
• Max DD <20%
• Confidence in system understanding
Progression:
• Months 3-4: 25-50% intended size (1.0-1.5% risk)
• Months 5-6: 50-75% intended size (1.5-2.0% risk)
• Month 7+: 75-100% intended size (1.5-2.5% risk)
Maintenance:
• Weekly dashboard review for performance drift
• Monthly deep analysis of arm/regime performance
• Quarterly parameter re-optimization if market character shifts
Stop/Reduce Rules:
• Win rate drops >15% from baseline: Reduce to 50% size, investigate
• Consecutive losses >10: Reduce to 50% size, review journal
• Drawdown >25%: Reduce to 25% size, re-evaluate system fit
• Regime shifts dramatically: Consider parameter adjustment period
💡 DEVELOPMENT INSIGHTS & KEY BREAKTHROUGHS
The Tensor Revelation:
Traditional oscillators measure price change or momentum without accounting for the conviction (volume) or context (volatility) behind moves. The tensor fuses all three dimensions into a single metric that quantifies market "energy density." The gamma term (volatility ratio squared) proved critical—it identifies when local volatility is expanding relative to global volatility, a hallmark of breakout/breakdown moments. This one innovation increased signal quality by ~18% in backtesting.
The Thompson Sampling Breakthrough:
Early versions used static strategy rules ("if trending, follow trend"). Performance was mediocre and inconsistent across market conditions. Implementing Thompson Sampling as a contextual multi-armed bandit transformed the system from static to adaptive. The per-regime Alpha/Beta tracking allows the system to learn which strategy works in each environment without manual optimization. Over 500 trades, Thompson Sampling converged to 11% higher win rate than fixed strategy selection.
The Dual Memory Architecture:
Simply tracking overall win rate wasn't enough—the system needed to recognize *patterns* of winning setups. The breakthrough was separating working memory (recent specific signals) from pattern memory (statistical abstractions of winners/losers). Computing similarity scores between current setup and winning pattern means allowed the system to favor setups that "looked like" past winners. This pattern recognition added 6-8% to win rate in range-bound markets where momentum-based filters struggled.
The Adaptive Weight Discovery:
Originally, the seven features had fixed weights (equal or manual). Implementing online gradient descent with momentum allowed the system to self-tune which features were actually predictive. Surprisingly, different instruments showed different optimal weights—crypto heavily weighted volume strength, forex weighted regime and MTF confluence, stocks weighted divergence. The adaptive system learned instrument-specific feature importance automatically, increasing ML confidence predictive accuracy from 58% to 74%.
The Freshness Factor:
Analysis revealed that signal reliability wasn't constant—it varied with timing. Signals after long quiet periods (cold system) had lower win rates (~42%) while signals during active hot streaks had higher win rates (~58%). Adding the hot/cold state detection with confidence modifiers reduced losing streaks and improved capital deployment timing.
The MTF Validation:
Early testing showed ~48% win rate. Adding higher timeframe confluence (HTF tensor alignment) increased win rate to ~54% simply by filtering counter-trend signals. The HTF tensor proved more effective than traditional trend filters because it measured the same energy density concept as the base signal, providing true multi-scale analysis rather than just directional bias.
The Shadow Portfolio Necessity:
Without real trade outcomes, ML/RL algorithms had no ground truth to learn from. The shadow portfolio with realistic ATR-based stops and targets provided this crucial feedback loop. Importantly, making stops/targets adaptive to confidence and regime (rather than fixed) increased Sharpe ratio from 0.9 to 1.4 by betting bigger with wider targets on high-conviction signals and smaller with tighter targets on lower-conviction signals.
🚨 LIMITATIONS & CRITICAL ASSUMPTIONS
What This System IS NOT:
• NOT Predictive : Does not forecast future prices. Identifies high-probability setups based on energy density patterns.
• NOT Holy Grail : Typical performance 48-58% win rate, 1.2-1.8 avg R-multiple. Probabilistic edge, not certainty.
• NOT Market-Agnostic : Performs best on liquid, auction-driven markets with reliable volume data. Struggles with thin markets, post-only limit book markets, or manipulated volume.
• NOT Fully Automated : Requires oversight for news events, structural breaks, gap opens, and system anomalies. ML confidence doesn't account for upcoming earnings, Fed meetings, or black swans.
• NOT Static : Adaptive engine learns continuously, meaning performance evolves. Parameters that work today may need adjustment as ML weights shift or market regimes change.
Core Assumptions:
1. Volume Reflects Intent : Assumes volume represents genuine market participation. Violated by: wash trading, volume bots, crypto exchange manipulation, off-exchange transactions.
2. Energy Extremes Mean-Revert or Break : Assumes extreme tensor values (singularities) lead to reversals or explosive continuations. Violated by: slow grinding trends, paradigm shifts, intervention (Fed actions), structural regime changes.
3. Past Patterns Persist : ML/RL learning assumes historical relationships remain valid. Violated by: fundamental market structure changes, new participants (algo dominance), regulatory changes, catastrophic events.
4. ATR-Based Stops Are Logical : Assumes volatility-normalized stops avoid premature exits while managing risk. Violated by: flash crashes, gap moves, illiquid periods, stop hunts.
5. Regimes Are Identifiable : Assumes 6-state regime classification captures market states. Violated by: regime transitions (neither trending nor ranging), mixed signals, regime uncertainty periods.
Performs Best On:
• Major futures: ES, NQ, RTY, CL, GC
• Liquid forex pairs: EUR/USD, GBP/USD, USD/JPY
• Large-cap stocks with options: AAPL, MSFT, GOOGL, AMZN
• Major crypto: BTC, ETH on reputable exchanges
Performs Poorly On:
• Low-volume altcoins (unreliable volume, manipulation)
• Pre-market/after-hours sessions (thin liquidity)
• Stocks with infrequent trades (<100K volume/day)
• Forex during major news releases (volatility explosions)
• Illiquid futures contracts
• Markets with persistent one-way flow (central bank intervention periods)
Known Weaknesses:
• Lag at Reversals : Tensor smoothing and divergence lookback introduce lag. May miss first 20-30% of major reversals.
• Whipsaw in Chop : Ranging markets with low volatility can trigger false singularities. Use range regime detection to reduce this.
• Gap Vulnerability : Shadow portfolio doesn't simulate gap opens. Real trading may face overnight gaps that bypass stops.
• Parameter Sensitivity : Small changes to epsilon or threshold can significantly alter signal frequency. Requires optimization per instrument/timeframe.
• ML Warmup Period : First 30-50 trades, ML system is gathering data. Early performance may not represent steady-state capability.
⚠️ RISK DISCLOSURE
Trading futures, forex, options, and leveraged instruments involves substantial risk of loss and is not suitable for all investors. Past performance, whether backtested or live, is not indicative of future results.
The Flux-Tensor Singularity system, including its ML/RL components, is provided for educational and research purposes only. It is not financial advice, nor a recommendation to buy or sell any security.
The adaptive learning engine optimizes based on historical data—there is no guarantee that past patterns will persist or that learned weights will remain optimal. Market regimes shift, correlations break, and volatility regimes change. Black swan events occur. No algorithmic system eliminates the risk of substantial loss.
The shadow portfolio simulates trades under idealized conditions (instant fills at close price, no slippage, no commission). Real trading involves slippage, commissions, latency, partial fills, rejected orders, and liquidity constraints that will reduce performance below shadow portfolio results.
Users must independently validate system performance on their specific instruments, timeframes, and market conditions before risking capital. Optimize parameters carefully and conduct extensive paper trading. Never risk more capital than you can afford to lose completely.
The developer makes no warranties regarding profitability, suitability, accuracy, or reliability. Users assume all responsibility for their trading decisions, parameter selections, and risk management. No guarantee of profit is made or implied.
Understand that most retail traders lose money. Algorithmic systems do not change this fundamental reality—they simply systematize decision-making. Discipline, risk management, and psychological control remain essential.
═══════════════════════════════════════════════════════
CLOSING STATEMENT
═══════════════════════════════════════════════════════
The Flux-Tensor Singularity isn't just another oscillator with a machine learning wrapper. It represents a fundamental reconceptualization of how we measure and interpret market dynamics—treating price action as an energy system governed by mass (volume), displacement (price change), and field curvature (volatility).
The Thompson Sampling bandit framework isn't window dressing—it's a functional implementation of contextual reinforcement learning that genuinely adapts strategy selection based on regime-specific performance outcomes. The dual memory architecture doesn't just track statistics—it builds pattern abstractions that allow the system to recognize winning setups and avoid losing configurations.
Most importantly, the shadow portfolio provides genuine ground truth. Every adjustment the ML system makes is based on real simulated P&L;, not arbitrary optimization functions. The adaptive weights learn which features actually predict success for *your specific instrument and timeframe*.
This system will not make you rich overnight. It will not win every trade. It will not eliminate drawdowns. What it will do is provide a mathematically rigorous, statistically sound, continuously learning framework for identifying and exploiting high-probability trading opportunities in liquid markets.
The accretion disk glows brightest near the event horizon. The tensor reaches critical mass. The singularity beckons. Will you answer the call?
"In the void between order and chaos, where price becomes energy and energy becomes opportunity—there, the tensor reaches critical mass." — FTS-PRO
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Contrarian Period High & LowContrarian Period High & Low
This indicator pairs nicely with the Contrarian 100 MA and can be located here:
Overview
The "Contrarian Period High & Low" indicator is a powerful technical analysis tool designed for traders seeking to identify key support and resistance levels and capitalize on contrarian trading opportunities. By tracking the highest highs and lowest lows over user-defined periods (Daily, Weekly, or Monthly), this indicator plots historical levels and generates buy and sell signals when price breaks these levels in a contrarian manner. A unique blue dot counter and action table enhance decision-making, making it ideal for swing traders, trend followers, and those trading forex, stocks, or cryptocurrencies. Optimized for daily charts, it can be adapted to other timeframes with proper testing.
How It Works
The indicator identifies the highest high and lowest low within a specified period (e.g., daily, weekly, or monthly) and draws horizontal lines for the previous period’s extremes on the chart. These levels act as dynamic support and resistance zones. Contrarian signals are generated when the price crosses below the previous period’s low (buy signal) or above the previous period’s high (sell signal), indicating potential reversals. A blue dot counter tracks consecutive buy signals, and a table displays the count and recommended action, helping traders decide whether to hold or flip positions.
Key Components
Period High/Low Levels: Tracks the highest high and lowest low for each period, plotting red lines for highs and green lines for lows from the bar where they occurred, extending for a user-defined length (default: 200 bars).
Contrarian Signals: Generates buy signals (blue circles) when price crosses below the previous period’s low and sell signals (white circles) when price crosses above the previous period’s high, designed to capture potential reversals.
Blue Dot Tracker: Counts consecutive buy signals (“blue dots”). If three or more occur, it suggests a stronger trend, with the table recommending whether to “Hold Investment” or “Flip Investment.”
Action Table: A 2x2 table in the bottom-right corner displays the blue dot count and action (“Hold Investment” if count ≥ 4, else “Flip Investment”) for quick reference.
Mathematical Concepts
Period Detection: Uses an approximate bar count to define periods (1 bar for Daily, 5 bars for Weekly, 20 bars for Monthly on a daily chart). When a new period starts, the previous period’s high/low is finalized and plotted.
High/Low Tracking:
Highest high (periodHigh) and lowest low (periodLow) are updated within the period.
Lines are drawn at these levels when the period ends, starting from the bar where the extreme occurred (periodHighBar, periodLowBar).
Signal Logic:
Buy signal: ta.crossunder(close , prevPeriodLow) and not lowBroken and barstate.isconfirmed
Sell signal: ta.crossover(close , prevPeriodHigh) and not highBroken and barstate.isconfirmed
Flags (highBroken, lowBroken) prevent multiple signals for the same level within a period.
Blue Dot Counter: Increments on each buy signal, resets on a sell signal or if price exceeds the entry price after three or more buy signals.
Entry and Exit Rules
Buy Signal (Blue Circle): Triggered when the price crosses below the previous period’s low, suggesting a potential oversold condition and buying opportunity. The signal appears as a blue circle below the price bar.
Sell Signal (White Circle): Triggered when the price crosses above the previous period’s high, indicating a potential overbought condition and selling opportunity. The signal appears as a white circle above the price bar.
Blue Dot Tracker:
Increments blueDotCount on each buy signal and sets an entryPrice on the first buy.
Resets on a sell signal or if price exceeds entryPrice after three or more buy signals.
If blueDotCount >= 3, the table suggests holding; if >= 4, it reinforces “Hold Investment.”
Exit Rules: Exit a buy position on a sell signal or when price exceeds the entry price after three or more buy signals. Combine with other tools (e.g., trendlines, support/resistance) for additional confirmation. Always apply proper risk management.
Recommended Usage
The "Contrarian Period High & Low" indicator is optimized for daily charts but can be adapted to other timeframes (e.g., 1H, 4H) with adjustments to the period bar count. It excels in markets with clear support/resistance levels and potential reversal zones. Traders should:
Backtest the indicator on their chosen asset and timeframe to validate signal reliability.
Combine with other technical tools (e.g., moving averages, Fibonacci levels) for stronger trade confirmation.
Adjust barsPerPeriod (e.g., ~120 bars for Weekly on hourly charts) based on the chart timeframe and market volatility.
Monitor the action table to guide position management based on blue dot counts.
Customization Options
Period Type: Choose between Daily, Weekly, or Monthly periods (default: Monthly).
Line Length: Set the length of high/low lines in bars (default: 200).
Show Highs/Lows: Toggle visibility of period high (red) and low (green) lines.
Max Lines to Keep: Limit the number of historical lines displayed (default: 10).
Hide Signals: Toggle buy/sell signal visibility for a cleaner chart.
Table Display: A fixed table in the bottom-right corner shows the blue dot count and action, with yellow (Hold) or green (Flip) backgrounds based on the count.
Why Use This Indicator?
The "Contrarian Period High & Low" indicator offers a unique blend of support/resistance visualization and contrarian signal generation, making it a versatile tool for identifying potential reversals. Its clear visual cues (lines and signals), blue dot tracker, and actionable table provide traders with an intuitive way to monitor market structure and manage trades. Whether you’re a beginner or an experienced trader, this indicator enhances your ability to spot key levels and time entries/exits effectively.
Tips for Users
Test the indicator thoroughly on your chosen market and timeframe to optimize settings (e.g., adjust barsPerPeriod for non-daily charts).
Use in conjunction with price action or other indicators for stronger trade setups.
Monitor the action table to decide whether to hold or flip positions based on blue dot counts.
Ensure your chart timeframe aligns with the selected period type (e.g., daily chart for Monthly periods).
Apply strict risk management to protect against false breakouts.
Happy trading with the Contrarian Period High & Low indicator! Share your feedback and strategies in the TradingView community!
ORB Fusion🎯 CORE INNOVATION: INSTITUTIONAL ORB FRAMEWORK WITH FAILED BREAKOUT INTELLIGENCE
ORB Fusion represents a complete institutional-grade Opening Range Breakout system combining classic Market Profile concepts (Initial Balance, day type classification) with modern algorithmic breakout detection, failed breakout reversal logic, and comprehensive statistical tracking. Rather than simply drawing lines at opening range extremes, this system implements the full trading methodology used by professional floor traders and market makers—including the critical concept that failed breakouts are often higher-probability setups than successful breakouts .
The Opening Range Hypothesis:
The first 30-60 minutes of trading establishes the day's value area —the price range where the majority of participants agree on fair value. This range is formed during peak information flow (overnight news digestion, gap reactions, early institutional positioning). Breakouts from this range signal directional conviction; failures to hold breakouts signal trapped participants and create exploitable reversals.
Why Opening Range Matters:
1. Information Aggregation : Opening range reflects overnight news, pre-market sentiment, and early institutional orders. It's the market's initial "consensus" on value.
2. Liquidity Concentration : Stop losses cluster just outside opening range. Breakouts trigger these stops, creating momentum. Failed breakouts trap traders, forcing reversals.
3. Statistical Persistence : Markets exhibit range expansion tendency —when price accepts above/below opening range with volume, it often extends 1.0-2.0x the opening range size before mean reversion.
4. Institutional Behavior : Large players (market makers, institutions) use opening range as reference for the day's trading plan. They fade extremes in rotation days and follow breakouts in trend days.
Historical Context:
Opening Range Breakout methodology originated in commodity futures pits (1970s-80s) where floor traders noticed consistent patterns: the first 30-60 minutes established a "fair value zone," and directional moves occurred when this zone was violated with conviction. J. Peter Steidlmayer formalized this observation in Market Profile theory, introducing the "Initial Balance" concept—the first hour (two 30-minute periods) defining market structure.
📊 OPENING RANGE CONSTRUCTION
Four ORB Timeframe Options:
1. 5-Minute ORB (0930-0935 ET):
Captures immediate market direction during "opening drive"—the explosive first few minutes when overnight orders hit the tape.
Use Case:
• Scalping strategies
• High-frequency breakout trading
• Extremely liquid instruments (ES, NQ, SPY)
Characteristics:
• Very tight range (often 0.2-0.5% of price)
• Early breakouts common (7 of 10 days break within first hour)
• Higher false breakout rate (50-60%)
• Requires sub-minute chart monitoring
Psychology: Captures panic buyers/sellers reacting to overnight news. Range is small because sample size is minimal—only 5 minutes of price discovery. Early breakouts often fail because they're driven by retail FOMO rather than institutional conviction.
2. 15-Minute ORB (0930-0945 ET):
Balances responsiveness with statistical validity. Captures opening drive plus initial reaction to that drive.
Use Case:
• Day trading strategies
• Balanced scalping/swing hybrid
• Most liquid instruments
Characteristics:
• Moderate range (0.4-0.8% of price typically)
• Breakout rate ~60% of days
• False breakout rate ~40-45%
• Good balance of opportunity and reliability
Psychology: Includes opening panic AND the first retest/consolidation. Sophisticated traders (institutions, algos) start expressing directional bias. This is the "Goldilocks" timeframe—not too reactive, not too slow.
3. 30-Minute ORB (0930-1000 ET):
Classic ORB timeframe. Default for most professional implementations.
Use Case:
• Standard intraday trading
• Position sizing for full-day trades
• All liquid instruments (equities, indices, futures)
Characteristics:
• Substantial range (0.6-1.2% of price)
• Breakout rate ~55% of days
• False breakout rate ~35-40%
• Statistical sweet spot for extensions
Psychology: Full opening auction + first institutional repositioning complete. By 10:00 AM ET, headlines are digested, early stops are hit, and "real" directional players reveal themselves. This is when institutional programs typically finish their opening positioning.
Statistical Advantage: 30-minute ORB shows highest correlation with daily range. When price breaks and holds outside 30m ORB, probability of reaching 1.0x extension (doubling the opening range) exceeds 60% historically.
4. 60-Minute ORB (0930-1030 ET) - Initial Balance:
Steidlmayer's "Initial Balance"—the foundation of Market Profile theory.
Use Case:
• Swing trading entries
• Day type classification
• Low-frequency institutional setups
Characteristics:
• Wide range (0.8-1.5% of price)
• Breakout rate ~45% of days
• False breakout rate ~25-30% (lowest)
• Best for trend day identification
Psychology: Full first hour captures A-period (0930-1000) and B-period (1000-1030). By 10:30 AM ET, all early positioning is complete. Market has "voted" on value. Subsequent price action confirms (trend day) or rejects (rotation day) this value assessment.
Initial Balance Theory:
IB represents the market's accepted value area . When price extends significantly beyond IB (>1.5x IB range), it signals a Trend Day —strong directional conviction. When price remains within 1.0x IB, it signals a Rotation Day —mean reversion environment. This classification completely changes trading strategy.
🔬 LTF PRECISION TECHNOLOGY
The Chart Timeframe Problem:
Traditional ORB indicators calculate range using the chart's current timeframe. This creates critical inaccuracies:
Example:
• You're on a 5-minute chart
• ORB period is 30 minutes (0930-1000 ET)
• Indicator sees only 6 bars (30min ÷ 5min/bar = 6 bars)
• If any 5-minute bar has extreme wick, entire ORB is distorted
The Problem Amplifies:
• On 15-minute chart with 30-minute ORB: Only 2 bars sampled
• On 30-minute chart with 30-minute ORB: Only 1 bar sampled
• Opening spike or single large wick defines entire range (invalid)
Solution: Lower Timeframe (LTF) Precision:
ORB Fusion uses `request.security_lower_tf()` to sample 1-minute bars regardless of chart timeframe:
```
For 30-minute ORB on 15-minute chart:
- Traditional method: Uses 2 bars (15min × 2 = 30min)
- LTF Precision: Requests thirty 1-minute bars, calculates true high/low
```
Why This Matters:
Scenario: ES futures, 15-minute chart, 30-minute ORB
• Traditional ORB: High = 5850.00, Low = 5842.00 (range = 8 points)
• LTF Precision ORB: High = 5848.50, Low = 5843.25 (range = 5.25 points)
Difference: 2.75 points distortion from single 15-minute wick hitting 5850.00 at 9:31 AM then immediately reversing. LTF precision filters this out by seeing it was a fleeting wick, not a sustained high.
Impact on Extensions:
With inflated range (8 points vs 5.25 points):
• 1.5x extension projects +12 points instead of +7.875 points
• Difference: 4.125 points (nearly $200 per ES contract)
• Breakout signals trigger late; extension targets unreachable
Implementation:
```pinescript
getLtfHighLow() =>
float ha = request.security_lower_tf(syminfo.tickerid, "1", high)
float la = request.security_lower_tf(syminfo.tickerid, "1", low)
```
Function returns arrays of 1-minute high/low values, then finds true maximum and minimum across all samples.
When LTF Precision Activates:
Only when chart timeframe exceeds ORB session window:
• 5-minute chart + 30-minute ORB: LTF used (chart TF > session bars needed)
• 1-minute chart + 30-minute ORB: LTF not needed (direct sampling sufficient)
Recommendation: Always enable LTF Precision unless you're on 1-minute charts. The computational overhead is negligible, and accuracy improvement is substantial.
⚖️ INITIAL BALANCE (IB) FRAMEWORK
Steidlmayer's Market Profile Innovation:
J. Peter Steidlmayer developed Market Profile in the 1980s for the Chicago Board of Trade. His key insight: market structure is best understood through time-at-price (value area) rather than just price-over-time (traditional charts).
Initial Balance Definition:
IB is the price range established during the first hour of trading, subdivided into:
• A-Period : First 30 minutes (0930-1000 ET for US equities)
• B-Period : Second 30 minutes (1000-1030 ET)
A-Period vs B-Period Comparison:
The relationship between A and B periods forecasts the day:
B-Period Expansion (Bullish):
• B-period high > A-period high
• B-period low ≥ A-period low
• Interpretation: Buyers stepping in after opening assessed
• Implication: Bullish continuation likely
• Strategy: Buy pullbacks to A-period high (now support)
B-Period Expansion (Bearish):
• B-period low < A-period low
• B-period high ≤ A-period high
• Interpretation: Sellers stepping in after opening assessed
• Implication: Bearish continuation likely
• Strategy: Sell rallies to A-period low (now resistance)
B-Period Contraction:
• B-period stays within A-period range
• Interpretation: Market indecisive, digesting A-period information
• Implication: Rotation day likely, stay range-bound
• Strategy: Fade extremes, sell high/buy low within IB
IB Extensions:
Professional traders use IB as a ruler to project price targets:
Extension Levels:
• 0.5x IB : Initial probe outside value (minor target)
• 1.0x IB : Full extension (major target for normal days)
• 1.5x IB : Trend day threshold (classifies as trending)
• 2.0x IB : Strong trend day (rare, ~10-15% of days)
Calculation:
```
IB Range = IB High - IB Low
Bull Extension 1.0x = IB High + (IB Range × 1.0)
Bear Extension 1.0x = IB Low - (IB Range × 1.0)
```
Example:
ES futures:
• IB High: 5850.00
• IB Low: 5842.00
• IB Range: 8.00 points
Extensions:
• 1.0x Bull Target: 5850 + 8 = 5858.00
• 1.5x Bull Target: 5850 + 12 = 5862.00
• 2.0x Bull Target: 5850 + 16 = 5866.00
If price reaches 5862.00 (1.5x), day is classified as Trend Day —strategy shifts from mean reversion to trend following.
📈 DAY TYPE CLASSIFICATION SYSTEM
Four Day Types (Market Profile Framework):
1. TREND DAY:
Definition: Price extends ≥1.5x IB range in one direction and stays there.
Characteristics:
• Opens and never returns to IB
• Persistent directional movement
• Volume increases as day progresses (conviction building)
• News-driven or strong institutional flow
Frequency: ~20-25% of trading days
Trading Strategy:
• DO: Follow the trend, trail stops, let winners run
• DON'T: Fade extremes, take early profits
• Key: Add to position on pullbacks to previous extension level
• Risk: Getting chopped in false trend (see Failed Breakout section)
Example: FOMC decision, payroll report, earnings surprise—anything creating one-sided conviction.
2. NORMAL DAY:
Definition: Price extends 0.5-1.5x IB, tests both sides, returns to IB.
Characteristics:
• Two-sided trading
• Extensions occur but don't persist
• Volume balanced throughout day
• Most common day type
Frequency: ~45-50% of trading days
Trading Strategy:
• DO: Take profits at extension levels, expect reversals
• DON'T: Hold for massive moves
• Key: Treat each extension as a profit-taking opportunity
• Risk: Holding too long when momentum shifts
Example: Typical day with no major catalysts—market balancing supply and demand.
3. ROTATION DAY:
Definition: Price stays within IB all day, rotating between high and low.
Characteristics:
• Never accepts outside IB
• Multiple tests of IB high/low
• Decreasing volume (no conviction)
• Classic range-bound action
Frequency: ~25-30% of trading days
Trading Strategy:
• DO: Fade extremes (sell IB high, buy IB low)
• DON'T: Chase breakouts
• Key: Enter at extremes with tight stops just outside IB
• Risk: Breakout finally occurs after multiple failures
Example: [/b> Pre-holiday trading, summer doldrums, consolidation after big move.
4. DEVELOPING:
Definition: Day type not yet determined (early in session).
Usage: Classification before 12:00 PM ET when IB extension pattern unclear.
ORB Fusion's Classification Algorithm:
```pinescript
if close > ibHigh:
ibExtension = (close - ibHigh) / ibRange
direction = "BULLISH"
else if close < ibLow:
ibExtension = (ibLow - close) / ibRange
direction = "BEARISH"
if ibExtension >= 1.5:
dayType = "TREND DAY"
else if ibExtension >= 0.5:
dayType = "NORMAL DAY"
else if close within IB:
dayType = "ROTATION DAY"
```
Why Classification Matters:
Same setup (bullish ORB breakout) has opposite implications:
• Trend Day : Hold for 2.0x extension, trail stops aggressively
• Normal Day : Take profits at 1.0x extension, watch for reversal
• Rotation Day : Fade the breakout immediately (likely false)
Knowing day type prevents catastrophic errors like fading a trend day or holding through rotation.
🚀 BREAKOUT DETECTION & CONFIRMATION
Three Confirmation Methods:
1. Close Beyond Level (Recommended):
Logic: Candle must close above ORB high (bull) or below ORB low (bear).
Why:
• Filters out wicks (temporary liquidity grabs)
• Ensures sustained acceptance above/below range
• Reduces false breakout rate by ~20-30%
Example:
• ORB High: 5850.00
• Bar high touches 5850.50 (wick above)
• Bar closes at 5848.00 (inside range)
• Result: NO breakout signal
vs.
• Bar high touches 5850.50
• Bar closes at 5851.00 (outside range)
• Result: BREAKOUT signal confirmed
Trade-off: Slightly delayed entry (wait for close) but much higher reliability.
2. Wick Beyond Level:
Logic: [/b> Any touch of ORB high/low triggers breakout.
Why:
• Earliest possible entry
• Captures aggressive momentum moves
Risk:
• High false breakout rate (60-70%)
• Stop runs trigger signals
• Requires very tight stops (difficult to manage)
Use Case: Scalping with 1-2 point profit targets where any penetration = trade.
3. Body Beyond Level:
Logic: [/b> Candle body (close vs open) must be entirely outside range.
Why:
• Strictest confirmation
• Ensures directional conviction (not just momentum)
• Lowest false breakout rate
Example: Trade-off: [/b> Very conservative—misses some valid breakouts but rarely triggers on false ones.
Volume Confirmation Layer:
All confirmation methods can require volume validation:
Volume Multiplier Logic: Rationale: [/b> True breakouts are driven by institutional activity (large size). Volume spike confirms real conviction vs. stop-run manipulation.
Statistical Impact: [/b>
• Breakouts with volume confirmation: ~65% success rate
• Breakouts without volume: ~45% success rate
• Difference: 20 percentage points edge
Implementation Note: [/b>
Volume confirmation adds complexity—you'll miss breakouts that work but lack volume. However, when targeting 1.5x+ extensions (ambitious goals), volume confirmation becomes critical because those moves require sustained institutional participation.
Recommended Settings by Strategy: [/b>
Scalping (1-2 point targets): [/b>
• Method: Close
• Volume: OFF
• Rationale: Quick in/out doesn't need perfection
Intraday Swing (5-10 point targets): [/b>
• Method: Close
• Volume: ON (1.5x multiplier)
• Rationale: Balance reliability and opportunity
Position Trading (full-day holds): [/b>
• Method: Body
• Volume: ON (2.0x multiplier)
• Rationale: Must be certain—large stops require high win rate
🔥 FAILED BREAKOUT SYSTEM
The Core Insight: [/b>
Failed breakouts are often more profitable [/b> than successful breakouts because they create trapped traders with predictable behavior.
Failed Breakout Definition: [/b>
A breakout that:
1. Initially penetrates ORB level with confirmation
2. Attracts participants (volume spike, momentum)
3. Fails to extend (stalls or immediately reverses)
4. Returns inside ORB range within N bars
Psychology of Failure: [/b>
When breakout fails:
• Breakout buyers are trapped [/b>: Bought at ORB high, now underwater
• Early longs reduce: Take profit, fearful of reversal
• Shorts smell blood: See failed breakout as reversal signal
• Result: Cascade of selling as trapped bulls exit + new shorts enter
Mirror image for failed bearish breakouts (trapped shorts cover + new longs enter).
Failure Detection Parameters: [/b>
1. Failure Confirmation Bars (default: 3): [/b>
How many bars after breakout to confirm failure?
Logic: Settings: [/b>
• 2 bars: Aggressive failure detection (more signals, more false failures)
• 3 bars Balanced (default)
• 5-10 bars: Conservative (wait for clear reversal)
Why This Matters:
Too few bars: You call "failed breakout" when price is just consolidating before next leg.
Too many bars: You miss the reversal entry (price already back in range).
2. Failure Buffer (default: 0.1 ATR): [/b>
How far inside ORB must price return to confirm failure?
Formula: Why Buffer Matters: clear rejection [/b> (not just hovering at level).
Settings: [/b>
• 0.0 ATR: No buffer, immediate failure signal
• 0.1 ATR: Small buffer (default) - filters noise
• [b>0.2-0.3 ATR: Large buffer - only dramatic failures count
Example: Reversal Entry System: [/b>
When failure confirmed, system generates complete reversal trade:
For Failed Bull Breakout (Short Reversal): [/b>
Entry: [/b> Current close when failure confirmed
Stop Loss: [/b> Extreme high since breakout + 0.10 ATR padding
Target 1: [/b> ORB High - (ORB Range × 0.5)
Target 2: Target 3: [/b> ORB High - (ORB Range × 1.5)
Example:
• ORB High: 5850, ORB Low: 5842, Range: 8 points
• Breakout to 5853, fails, reverses to 5848 (entry)
• Stop: 5853 + 1 = 5854 (6 point risk)
• T1: 5850 - 4 = 5846 (-2 points, 1:3 R:R)
• T2: 5850 - 8 = 5842 (-6 points, 1:1 R:R)
• T3: 5850 - 12 = 5838 (-10 points, 1.67:1 R:R)
[b>Why These Targets? [/b>
• T1 (0.5x ORB below high): Trapped bulls start panic
• T2 (1.0x ORB = ORB Mid): Major retracement, momentum fully reversed
• T3 (1.5x ORB): Reversal extended, now targeting opposite side
Historical Performance: [/b>
Failed breakout reversals in ORB Fusion's tracking system show:
• Win Rate: 65-75% (significantly higher than initial breakouts)
• Average Winner: 1.2x ORB range
• Average Loser: 0.5x ORB range (protected by stop at extreme)
• Expectancy: Strongly positive even with <70% win rate
Why Failed Breakouts Outperform: [/b>
1. Information Advantage: You now know what price did (failed to extend). Initial breakout trades are speculative; reversal trades are reactive to confirmed failure.
2. Trapped Participant Pressure: Every trapped bull becomes a seller. This creates sustained pressure.
3. Stop Loss Clarity: Extreme high is obvious stop (just beyond recent high). Breakout trades have ambiguous stops (ORB mid? Recent low? Too wide or too tight).
4. Mean Reversion Edge: Failed breakouts return to value (ORB mid). Initial breakouts try to escape value (harder to sustain).
Critical Insight: [/b>
"The best trade is often the one that trapped everyone else."
Failed breakouts create asymmetric opportunity because you're trading against [/b> trapped participants rather than with [/b> them. When you see a failed breakout signal, you're seeing real-time evidence that the market rejected directional conviction—that's exploitable.
📐 FIBONACCI EXTENSION SYSTEM
Six Extension Levels: [/b>
Extensions project how far price will travel after ORB breakout. Based on Fibonacci ratios + empirical market behavior.
1. 1.272x (27.2% Extension): [/b>
Formula: [/b> ORB High/Low + (ORB Range × 0.272)
Psychology: [/b> Initial probe beyond ORB. Early momentum + trapped shorts (on bull side) covering.
Probability of Reach: [/b> ~75-80% after confirmed breakout
Trading: [/b>
• First resistance/support after breakout
• Partial profit target (take 30-50% off)
• Watch for rejection here (could signal failure in progress)
Why 1.272? [/b> Related to harmonic patterns (1.272 is √1.618). Empirically, markets often stall at 25-30% extension before deciding whether to continue or fail.
2. 1.5x (50% Extension):
Formula: [/b> ORB High/Low + (ORB Range × 0.5)
Psychology: [/b> Breakout gaining conviction. Requires sustained buying/selling (not just momentum spike).
Probability of Reach: [/b> ~60-65% after confirmed breakout
Trading: [/b>
• Major partial profit (take 50-70% off)
• Move stops to breakeven
• Trail remaining position
Why 1.5x? [/b> Classic halfway point to 2.0x. Markets often consolidate here before final push. If day type is "Normal," this is likely the high/low for the day.
3. 1.618x (Golden Ratio Extension): [/b>
Formula: [/b> ORB High/Low + (ORB Range × 0.618)
Psychology: [/b> Strong directional day. Institutional conviction + retail FOMO.
Probability of Reach: [/b> ~45-50% after confirmed breakout
Trading: [/b>
• Final partial profit (close 80-90%)
• Trail remainder with wide stop (allow breathing room)
Why 1.618? [/b> Fibonacci golden ratio. Appears consistently in market geometry. When price reaches 1.618x extension, move is "mature" and reversal risk increases.
4. 2.0x (100% Extension): [/b>
Formula: ORB High/Low + (ORB Range × 1.0)
Psychology: [/b> Trend day confirmed. Opening range completely duplicated.
Probability of Reach: [/b> ~30-35% after confirmed breakout
Trading: Why 2.0x? [/b> Psychological level—range doubled. Also corresponds to typical daily ATR in many instruments (opening range ~ 0.5 ATR, daily range ~ 1.0 ATR).
5. 2.618x (Super Extension):
Formula: [/b> ORB High/Low + (ORB Range × 1.618)
Psychology: [/b> Parabolic move. News-driven or squeeze.
Probability of Reach: [/b> ~10-15% after confirmed breakout
[b>Trading: Why 2.618? [/b> Fibonacci ratio (1.618²). Rare to reach—when it does, move is extreme. Often precedes multi-day consolidation or reversal.
6. 3.0x (Extreme Extension): [/b>
Formula: [/b> ORB High/Low + (ORB Range × 2.0)
Psychology: [/b> Market melt-up/crash. Only in extreme events.
[b>Probability of Reach: [/b> <5% after confirmed breakout
Trading: [/b>
• Close immediately if reached
• These are outlier events (black swans, flash crashes, squeeze-outs)
• Holding for more is greed—take windfall profit
Why 3.0x? [/b> Triple opening range. So rare it's statistical noise. When it happens, it's headline news.
Visual Example:
ES futures, ORB 5842-5850 (8 point range), Bullish breakout:
• ORB High : 5850.00 (entry zone)
• 1.272x : 5850 + 2.18 = 5852.18 (first resistance)
• 1.5x : 5850 + 4.00 = 5854.00 (major target)
• 1.618x : 5850 + 4.94 = 5854.94 (strong target)
• 2.0x : 5850 + 8.00 = 5858.00 (trend day)
• 2.618x : 5850 + 12.94 = 5862.94 (extreme)
• 3.0x : 5850 + 16.00 = 5866.00 (parabolic)
Profit-Taking Strategy:
Optimal scaling out at extensions:
• Breakout entry at 5850.50
• 30% off at 1.272x (5852.18) → +1.68 points
• 40% off at 1.5x (5854.00) → +3.50 points
• 20% off at 1.618x (5854.94) → +4.44 points
• 10% off at 2.0x (5858.00) → +7.50 points
[b>Average Exit: Conclusion: [/b> Scaling out at extensions produces 40% higher expectancy than holding for home runs.
📊 GAP ANALYSIS & FILL PSYCHOLOGY
[b>Gap Definition: [/b>
Price discontinuity between previous close and current open:
• Gap Up : Open > Previous Close + noise threshold (0.1 ATR)
• Gap Down : Open < Previous Close - noise threshold
Why Gaps Matter: [/b>
Gaps represent unfilled orders [/b>. When market gaps up, all limit buy orders between yesterday's close and today's open are never filled. Those buyers are "left behind." Psychology: they wait for price to return ("fill the gap") so they can enter. This creates magnetic pull [/b> toward gap level.
Gap Fill Statistics (Empirical): [/b>
• Gaps <0.5% [/b>: 85-90% fill within same day
• Gaps 0.5-1.0% [/b>: 70-75% fill within same day, 90%+ within week
• Gaps >1.0% [/b>: 50-60% fill within same day (major news often prevents fill)
Gap Fill Strategy: [/b>
Setup 1: Gap-and-Go
Gap opens, extends away from gap (doesn't fill).
• ORB confirms direction away from gap
• Trade WITH ORB breakout direction
• Expectation: Gap won't fill today (momentum too strong)
Setup 2: Gap-Fill Fade
Gap opens, but fails to extend. Price drifts back toward gap.
• ORB breakout TOWARD gap (not away)
• Trade toward gap fill level
• Target: Previous close (gap fill complete)
Setup 3: Gap-Fill Rejection
Gap fills (touches previous close) then rejects.
• ORB breakout AWAY from gap after fill
• Trade away from gap direction
• Thesis: Gap filled (orders executed), now resume original direction
[b>Example: Scenario A (Gap-and-Go):
• ORB breaks upward to $454 (away from gap)
• Trade: LONG breakout, expect continued rally
• Gap becomes support ($452)
Scenario B (Gap-Fill):
• ORB breaks downward through $452.50 (toward gap)
• Trade: SHORT toward gap fill at $450.00
• Target: $450.00 (gap filled), close position
Scenario C (Gap-Fill Rejection):
• Price drifts to $450.00 (gap filled) early in session
• ORB establishes $450-$451 after gap fill
• ORB breaks upward to $451.50
• Trade: LONG breakout (gap is filled, now resume rally)
ORB Fusion Integration: [/b>
Dashboard shows:
• Gap type (Up/Down/None)
• Gap size (percentage)
• Gap fill status (Filled ✓ / Open)
This informs setup confidence:
• ORB breakout AWAY from unfilled gap: +10% confidence (gap becomes support/resistance)
• ORB breakout TOWARD unfilled gap: -10% confidence (gap fill may override ORB)
[b>📈 VWAP & INSTITUTIONAL BIAS [/b>
[b>Volume-Weighted Average Price (VWAP): [/b>
Average price weighted by volume at each price level. Represents true "average" cost for the day.
[b>Calculation: Institutional Benchmark [/b>: Institutions (mutual funds, pension funds) use VWAP as performance benchmark. If they buy above VWAP, they underperformed; below VWAP, they outperformed.
2. [b>Algorithmic Target [/b>: Many algos are programmed to buy below VWAP and sell above VWAP to achieve "fair" execution.
3. [b>Support/Resistance [/b>: VWAP acts as dynamic support (price above) or resistance (price below).
[b>VWAP Bands (Standard Deviations): [/b>
• [b>1σ Band [/b>: VWAP ± 1 standard deviation
- Contains ~68% of volume
- Normal trading range
- Bounces common
• [b>2σ Band [/b>: VWAP ± 2 standard deviations
- Contains ~95% of volume
- Extreme extension
- Mean reversion likely
ORB + VWAP Confluence: [/b>
Highest-probability setups occur when ORB and VWAP align:
Bullish Confluence: [/b>
• ORB breakout upward (bullish signal)
• Price above VWAP (institutional buying)
• Confidence boost: +15%
Bearish Confluence: [/b>
• ORB breakout downward (bearish signal)
• Price below VWAP (institutional selling)
• Confidence boost: +15%
[b>Divergence Warning:
• ORB breakout upward BUT price below VWAP
• Conflict: Breakout says "buy," VWAP says "sell"
• Confidence penalty: -10%
• Interpretation: Retail buying but institutions not participating (lower quality breakout)
📊 MOMENTUM CONTEXT SYSTEM
[b>Innovation: Candle Coloring by Position
Rather than fixed support/resistance lines, ORB Fusion colors candles based on their [b>relationship to ORB :
[b>Three Zones: [/b>
1. Inside ORB (Blue Boxes): [/b>
[b>Calculation:
• Darker blue: Near extremes of ORB (potential breakout imminent)
• Lighter blue: Near ORB mid (consolidation)
[b>Trading: [/b> Coiled spring—await breakout.
[b>2. Above ORB (Green Boxes):
[b>Calculation: 3. Below ORB (Red Boxes):
Mirror of above ORB logic.
[b>Special Contexts: [/b>
[b>Breakout Bar (Darkest Green/Red): [/b>
The specific bar where breakout occurs gets maximum color intensity regardless of distance. This highlights the pivotal moment.
[b>Failed Breakout Bar (Orange/Warning): [/b>
When failed breakout is confirmed, that bar gets orange/warning color. Visual alert: "reversal opportunity here."
[b>Near Extension (Cyan/Magenta Tint): [/b>
When price is within 0.5 ATR of an extension level, candle gets tinted cyan (bull) or magenta (bear). Indicates "target approaching—prepare to take profit."
[b>Why Visual Context? [/b>
Traditional indicators show lines. ORB Fusion shows [b>context-aware momentum [/b>. Glance at chart:
• Lots of blue? Consolidation day (fade extremes).
• Progressive green? Trend day (follow).
• Green then orange? Failed breakout (reversal setup).
This visual language communicates market state instantly—no interpretation needed.
🎯 TRADE SETUP GENERATION & GRADING [/b>
[b>Algorithmic Setup Detection: [/b>
ORB Fusion continuously evaluates market state and generates current best trade setup with:
• Action (LONG / SHORT / FADE HIGH / FADE LOW / WAIT)
• Entry price
• Stop loss
• Three targets
• Risk:Reward ratio
• Confidence score (0-100)
• Grade (A+ to D)
[b>Setup Types: [/b>
[b>1. ORB LONG (Bullish Breakout): [/b>
[b>Trigger: [/b>
• Bullish ORB breakout confirmed
• Not failed
[b>Parameters:
• Entry: Current close
• Stop: ORB mid (protects against failure)
• T1: ORB High + 0.5x range (1.5x extension)
• T2: ORB High + 1.0x range (2.0x extension)
• T3: ORB High + 1.618x range (2.618x extension)
[b>Confidence Scoring:
[b>Trigger: [/b>
• Bearish breakout occurred
• Failed (returned inside ORB)
[b>Parameters: [/b>
• Entry: Close when failure confirmed
• Stop: Extreme low since breakout + 0.10 ATR
• T1: ORB Low + 0.5x range
• T2: ORB Low + 1.0x range (ORB mid)
• T3: ORB Low + 1.5x range
[b>Confidence Scoring:
[b>Trigger:
• Inside ORB
• Close > ORB mid (near high)
[b>Parameters: [/b>
• Entry: ORB High (limit order)
• Stop: ORB High + 0.2x range
• T1: ORB Mid
• T2: ORB Low
[b>Confidence Scoring: [/b>
Base: 40 points (lower base—range fading is lower probability than breakout/reversal)
[b>Use Case: [/b> Rotation days. Not recommended on normal/trend days.
[b>6. FADE LOW (Range Trade):
Mirror of FADE HIGH.
[b>7. WAIT:
[b>Trigger: [/b>
• ORB not complete yet OR
• No clear setup (price in no-man's-land)
[b>Action: [/b> Observe, don't trade.
[b>Confidence: [/b> 0 points
[b>Grading System:
```
Confidence → Grade
85-100 → A+
75-84 → A
65-74 → B+
55-64 → B
45-54 → C
0-44 → D
```
[b>Grade Interpretation: [/b>
• [b>A+ / A: High probability setup. Take these trades.
• [b>B+ / B [/b>: Decent setup. Trade if fits system rules.
• [b>C [/b>: Marginal setup. Only if very experienced.
• [b>D [/b>: Poor setup or no setup. Don't trade.
[b>Example Scenario: [/b>
ES futures:
• ORB: 5842-5850 (8 point range)
• Bullish breakout to 5851 confirmed
• Volume: 2.0x average (confirmed)
• VWAP: 5845 (price above VWAP ✓)
• Day type: Developing (too early, no bonus)
• Gap: None
[b>Setup: [/b>
• Action: LONG
• Entry: 5851
• Stop: 5846 (ORB mid, -5 point risk)
• T1: 5854 (+3 points, 1:0.6 R:R)
• T2: 5858 (+7 points, 1:1.4 R:R)
• T3: 5862.94 (+11.94 points, 1:2.4 R:R)
[b>Confidence: LONG with 55% confidence.
Interpretation: Solid setup, not perfect. Trade it if your system allows B-grade signals.
[b>📊 STATISTICS TRACKING & PERFORMANCE ANALYSIS [/b>
[b>Real-Time Performance Metrics: [/b>
ORB Fusion tracks comprehensive statistics over user-defined lookback (default 50 days):
[b>Breakout Performance: [/b>
• [b>Bull Breakouts: [/b> Total count, wins, losses, win rate
• [b>Bear Breakouts: [/b> Total count, wins, losses, win rate
[b>Win Definition: [/b> Breakout reaches ≥1.0x extension (doubles the opening range) before end of day.
[b>Example: [/b>
• ORB: 5842-5850 (8 points)
• Bull breakout at 5851
• Reaches 5858 (1.0x extension) by close
• Result: WIN
[b>Failed Breakout Performance: [/b>
• [b>Total Failed Breakouts [/b>: Count of breakouts that failed
• [b>Reversal Wins [/b>: Count where reversal trade reached target
• [b>Failed Reversal Win Rate [/b>: Wins / Total Failed
[b>Win Definition for Reversals: [/b>
• Failed bull → reversal short reaches ORB mid
• Failed bear → reversal long reaches ORB mid
[b>Extension Tracking: [/b>
• [b>Average Extension Reached [/b>: Mean of maximum extension achieved across all breakout days
• [b>Max Extension Overall [/b>: Largest extension ever achieved in lookback period
[b>Example: 🎨 THREE DISPLAY MODES
[b>Design Philosophy: [/b>
Not all traders need all features. Beginners want simplicity. Professionals want everything. ORB Fusion adapts.
[b>SIMPLE MODE: [/b>
[b>Shows: [/b>
• Primary ORB levels (High, Mid, Low)
• ORB box
• Breakout signals (triangles)
• Failed breakout signals (crosses)
• Basic dashboard (ORB status, breakout status, setup)
• VWAP
[b>Hides: [/b>
• Session ORBs (Asian, London, NY)
• IB levels and extensions
• ORB extensions beyond basic levels
• Gap analysis visuals
• Statistics dashboard
• Momentum candle coloring
• Narrative dashboard
[b>Use Case: [/b>
• Traders who want clean chart
• Focus on core ORB concept only
• Mobile trading (less screen space)
[b>STANDARD MODE:
[b>Shows Everything in Simple Plus: [/b>
• Session ORBs (Asian, London, NY)
• IB levels (high, low, mid)
• IB extensions
• ORB extensions (1.272x, 1.5x, 1.618x, 2.0x)
• Gap analysis and fill targets
• VWAP bands (1σ and 2σ)
• Momentum candle coloring
• Context section in dashboard
• Narrative dashboard
[b>Hides: [/b>
• Advanced extensions (2.618x, 3.0x)
• Detailed statistics dashboard
[b>Use Case: [/b>
• Most traders
• Balance between information and clarity
• Covers 90% of use cases
[b>ADVANCED MODE:
[b>Shows Everything:
• All session ORBs
• All IB levels and extensions
• All ORB extensions (including 2.618x and 3.0x)
• Full gap analysis
• VWAP with both 1σ and 2σ bands
• Momentum candle coloring
• Complete statistics dashboard
• Narrative dashboard
• All context metrics
[b>Use Case: [/b>
• Professional traders
• System developers
• Those who want maximum information density
[b>Switching Modes: [/b>
Single dropdown input: "Display Mode" → Simple / Standard / Advanced
Entire indicator adapts instantly. No need to toggle 20 individual settings.
📖 NARRATIVE DASHBOARD
[b>Innovation: Plain-English Market State [/b>
Most indicators show data. ORB Fusion explains what the data [b>means [/b>.
[b>Narrative Components: [/b>
[b>1. Phase: [/b>
• "📍 Building ORB..." (during ORB session)
• "📊 Trading Phase" (after ORB complete)
• "⏳ Pre-Market" (before ORB session)
[b>2. Status (Current Observation): [/b>
• "⚠️ Failed breakout - reversal likely"
• "🚀 Bullish momentum in play"
• "📉 Bearish momentum in play"
• "⚖️ Consolidating in range"
• "👀 Monitoring for setup"
[b>3. Next Level:
Tells you what to watch for:
• "🎯 1.5x @ 5854.00" (next extension target)
• "Watch ORB levels" (inside range, await breakout)
[b>4. Setup: [/b>
Current trade setup + grade:
• "LONG " (bullish breakout, A-grade)
• "🔥 SHORT REVERSAL " (failed bull breakout, A+-grade)
• "WAIT " (no setup)
[b>5. Reason: [/b>
Why this setup exists:
• "ORB Bullish Breakout"
• "Failed Bear Breakout - High Probability Reversal"
• "Range Fade - Near High"
[b>6. Tip (Market Insight):
Contextual advice:
• "🔥 TREND DAY - Trail stops" (day type is trending)
• "🔄 ROTATION - Fade extremes" (day type is rotating)
• "📊 Gap unfilled - magnet level" (gap creates target)
• "📈 Normal conditions" (no special context)
[b>Example Narrative:
```
📖 ORB Narrative
━━━━━━━━━━━━━━━━
Phase | 📊 Trading Phase
Status | 🚀 Bullish momentum in play
Next | 🎯 1.5x @ 5854.00
📈 Setup | LONG
Reason | ORB Bullish Breakout
💡 Tip | 🔥 TREND DAY - Trail stops
```
[b>Glance Interpretation: [/b>
"We're in trading phase. Bullish breakout happened (momentum in play). Next target is 1.5x extension at 5854. Current setup is LONG with A-grade. It's a trend day, so trail stops (don't take early profits)."
Complete market state communicated in 6 lines. No interpretation needed.
[b>Why This Matters:
Beginner traders struggle with "So what?" question. Indicators show lines and signals, but what does it mean [/b>? Narrative dashboard bridges this gap.
Professional traders benefit too—rapid context assessment during fast-moving markets. No time to analyze; glance at narrative, get action plan.
🔔 INTELLIGENT ALERT SYSTEM
[b>Four Alert Types: [/b>
[b>1. Breakout Alert: [/b>
[b>Trigger: [/b> ORB breakout confirmed (bull or bear)
[b>Message: [/b>
```
🚀 ORB BULLISH BREAKOUT
Price: 5851.00
Volume Confirmed
Grade: A
```
[b>Frequency: [/b> Once per bar (prevents spam)
[b>2. Failed Breakout Alert: [/b>
[b>Trigger: [/b> Breakout fails, reversal setup generated
[b>Message: [/b>
```
🔥 FAILED BULLISH BREAKOUT!
HIGH PROBABILITY SHORT REVERSAL
Entry: 5848.00
Stop: 5854.00
T1: 5846.00
T2: 5842.00
Historical Win Rate: 73%
```
[b>Why Comprehensive? [/b> Failed breakout alerts include complete trade plan. You can execute immediately from alert—no need to check chart.
[b>3. Extension Alert:
[b>Trigger: [/b> Price reaches extension level for first time
[b>Message: [/b>
```
🎯 Bull Extension 1.5x reached @ 5854.00
```
[b>Use: [/b> Profit-taking reminder. When extension hit, consider scaling out.
[b>4. IB Break Alert: [/b>
[b>Trigger: [/b> Price breaks above IB high or below IB low
[b>Message: [/b>
```
📊 IB HIGH BROKEN - Potential Trend Day
```
[b>Use: [/b> Day type classification. IB break suggests trend day developing—adjust strategy to trend-following mode.
[b>Alert Management: [/b>
Each alert type can be enabled/disabled independently. Prevents notification overload.
[b>Cooldown Logic: [/b>
Alerts won't fire if same alert type triggered within last bar. Prevents:
• "Breakout" alert every tick during choppy breakout
• Multiple "extension" alerts if price oscillates at level
Ensures: One clean alert per event.
⚙️ KEY PARAMETERS EXPLAINED
[b>Opening Range Settings: [/b>
• [b>ORB Timeframe [/b> (5/15/30/60 min): Duration of opening range window
- 30 min recommended for most traders
• [b>Use RTH Only [/b> (ON/OFF): Only trade during regular trading hours
- ON recommended (avoids thin overnight markets)
• [b>Use LTF Precision [/b> (ON/OFF): Sample 1-minute bars for accuracy
- ON recommended (critical for charts >1 minute)
• [b>Precision TF [/b> (1/5 min): Timeframe for LTF sampling
- 1 min recommended (most accurate)
[b>Session ORBs: [/b>
• [b>Show Asian/London/NY ORB [/b> (ON/OFF): Display multi-session ranges
- OFF in Simple mode
- ON in Standard/Advanced if trading 24hr markets
• [b>Session Windows [/b>: Time ranges for each session ORB
- Defaults align with major session opens
[b>Initial Balance: [/b>
• [b>Show IB [/b> (ON/OFF): Display Initial Balance levels
- ON recommended for day type classification
• [b>IB Session Window [/b> (0930-1030): First hour of trading
- Default is standard for US equities
• [b>Show IB Extensions [/b> (ON/OFF): Project IB extension targets
- ON recommended (identifies trend days)
• [b>IB Extensions 1-4 [/b> (0.5x, 1.0x, 1.5x, 2.0x): Extension multipliers
- Defaults are Market Profile standard
[b>ORB Extensions: [/b>
• [b>Show Extensions [/b> (ON/OFF): Project ORB extension targets
- ON recommended (defines profit targets)
• [b>Enable Individual Extensions [/b> (1.272x, 1.5x, 1.618x, 2.0x, 2.618x, 3.0x)
- Enable 1.272x, 1.5x, 1.618x, 2.0x minimum
- Disable 2.618x and 3.0x unless trading very volatile instruments
[b>Breakout Detection:
• [b>Confirmation Method [/b> (Close/Wick/Body):
- Close recommended (best balance)
- Wick for scalping
- Body for conservative
• [b>Require Volume Confirmation [/b> (ON/OFF):
- ON recommended (increases reliability)
• [b>Volume Multiplier [/b> (1.0-3.0):
- 1.5x recommended
- Lower for thin instruments
- Higher for heavy volume instruments
[b>Failed Breakout System: [/b>
• [b>Enable Failed Breakouts [/b> (ON/OFF):
- ON strongly recommended (highest edge)
• [b>Bars to Confirm Failure [/b> (2-10):
- 3 bars recommended
- 2 for aggressive (more signals, more false failures)
- 5+ for conservative (fewer signals, higher quality)
• [b>Failure Buffer [/b> (0.0-0.5 ATR):
- 0.1 ATR recommended
- Filters noise during consolidation near ORB level
• [b>Show Reversal Targets [/b> (ON/OFF):
- ON recommended (visualizes trade plan)
• [b>Reversal Target Mults [/b> (0.5x, 1.0x, 1.5x):
- Defaults are tested values
- Adjust based on average daily range
[b>Gap Analysis:
• [b>Show Gap Analysis [/b> (ON/OFF):
- ON if trading instruments that gap frequently
- OFF for 24hr markets (forex, crypto—no gaps)
• [b>Gap Fill Target [/b> (ON/OFF):
- ON to visualize previous close (gap fill level)
[b>VWAP:
• [b>Show VWAP [/b> (ON/OFF):
- ON recommended (key institutional level)
• [b>Show VWAP Bands [/b> (ON/OFF):
- ON in Standard/Advanced
- OFF in Simple
• [b>Band Multipliers (1.0σ, 2.0σ):
- Defaults are standard
- 1σ = normal range, 2σ = extreme
[b>Day Type: [/b>
• [b>Show Day Type Analysis [/b> (ON/OFF):
- ON recommended (critical for strategy adaptation)
• [b>Trend Day Threshold [/b> (1.0-2.5 IB mult):
- 1.5x recommended
- When price extends >1.5x IB, classifies as Trend Day
[b>Enhanced Visuals:
• [b>Show Momentum Candles [/b> (ON/OFF):
- ON for visual context
- OFF if chart gets too colorful
• [b>Show Gradient Zone Fills [/b> (ON/OFF):
- ON for professional look
- OFF for minimalist chart
• [b>Label Display Mode [/b> (All/Adaptive/Minimal):
- Adaptive recommended (shows nearby labels only)
- All for information density
- Minimal for clean chart
• [b>Label Proximity [/b> (1.0-5.0 ATR):
- 3.0 ATR recommended
- Labels beyond this distance are hidden (Adaptive mode)
[b>🎓 PROFESSIONAL USAGE PROTOCOL [/b>
[b>Phase 1: Learning the System (Week 1) [/b>
[b>Goal: [/b> Understand ORB concepts and dashboard interpretation
[b>Setup: [/b>
• Display Mode: STANDARD
• ORB Timeframe: 30 minutes
• Enable ALL features (IB, extensions, failed breakouts, VWAP, gap analysis)
• Enable statistics tracking
[b>Actions: [/b>
• Paper trade ONLY—no real money
• Observe ORB formation every day (9:30-10:00 AM ET for US markets)
• Note when ORB breakouts occur and if they extend
• Note when breakouts fail and reversals happen
• Watch day type classification evolve during session
• Track statistics—which setups are working?
[b>Key Learning: [/b>
• How often do breakouts reach 1.5x extension? (typically 50-60% of confirmed breakouts)
• How often do breakouts fail? (typically 30-40%)
• Which setup grade (A/B/C) actually performs best? (should see A-grade outperforming)
• What day type produces best results? (trend days favor breakouts, rotation days favor fades)
[b>Phase 2: Parameter Optimization (Week 2) [/b>
[b>Goal: [/b> Tune system to your instrument and timeframe
[b>ORB Timeframe Selection:
• Run 5 days with 15-minute ORB
• Run 5 days with 30-minute ORB
• Compare: Which captures better breakouts on your instrument?
• Typically: 30-minute optimal for most, 15-minute for very liquid (ES, SPY)
[b>Volume Confirmation Testing:
• Run 5 days WITH volume confirmation
• Run 5 days WITHOUT volume confirmation
• Compare: Does volume confirmation increase win rate?
• If win rate improves by >5%: Keep volume confirmation ON
• If no improvement: Turn OFF (avoid missing valid breakouts)
[b>Failed Breakout Bars:
[b>Goal: [/b> Develop personal trading rules based on system signals
[b>Setup Selection Rules: [/b>
Define which setups you'll trade:
• [b>Conservative: [/b> Only A+ and A grades
• [b>Balanced: [/b> A+, A, B+ grades
• [b>Aggressive: [/b> All grades B and above
Test each approach for 5-10 trades, compare results.
[b>Position Sizing by Grade: [/b>
Consider risk-weighting by setup quality:
• A+ grade: 100% position size
• A grade: 75% position size
• B+ grade: 50% position size
• B grade: 25% position size
Example: If max risk is $1000/trade:
• A+ setup: Risk $1000
• A setup: Risk $750
• B+ setup: Risk $500
This matches bet sizing to edge.
[b>Day Type Adaptation: [/b>
Create rules for different day types:
Trend Days:
• Take ALL breakout signals (A/B/C grades)
• Hold for 2.0x extension minimum
• Trail stops aggressively (1.0 ATR trail)
• DON'T fade—reversals unlikely
Rotation Days:
• ONLY take failed breakout reversals
• Ignore initial breakout signals (likely to fail)
• Take profits quickly (0.5x extension)
• Focus on fade setups (Fade High/Fade Low)
Normal Days:
• Take A/A+ breakout signals only
• Take ALL failed breakout reversals (high probability)
• Target 1.0-1.5x extensions
• Partial profit-taking at extensions
Time-of-Day Rules: [/b>
Breakouts at different times have different probabilities:
10:00-10:30 AM (Early Breakout):
• ORB just completed
• Fresh breakout
• Probability: Moderate (50-55% reach 1.0x)
• Strategy: Conservative position sizing
10:30-12:00 PM (Mid-Morning):
• Momentum established
• Volume still healthy
• Probability: High (60-65% reach 1.0x)
• Strategy: Standard position sizing
12:00-2:00 PM (Lunch Doldrums):
• Volume dries up
• Whipsaw risk increases
• Probability: Low (40-45% reach 1.0x)
• Strategy: Avoid new entries OR reduce size 50%
2:00-4:00 PM (Afternoon Session):
• Late-day positioning
• EOD squeezes possible
• Probability: Moderate-High (55-60%)
• Strategy: Watch for IB break—if trending all day, follow
[b>Phase 4: Live Micro-Sizing (Month 2) [/b>
[b>Goal: [/b> Validate paper trading results with minimal risk
[b>Setup: [/b>
• 10-20% of intended full position size
• Take ONLY A+ and A grade setups
• Follow stop loss and targets religiously
[b>Execution: [/b>
• Execute from alerts OR from dashboard setup box
• Entry: Close of signal bar OR next bar market order
• Stop: Use exact stop from setup (don't widen)
• Targets: Scale out at T1/T2/T3 as indicated
[b>Tracking: [/b>
• Log every trade: Entry, Exit, Grade, Outcome, Day Type
• Calculate: Win rate, Average R-multiple, Max consecutive losses
• Compare to paper trading results (should be within 15%)
[b>Red Flags: [/b>
• Win rate <45%: System not suitable for this instrument/timeframe
• Major divergence from paper trading: Execution issues (slippage, late entries, emotional exits)
• Max consecutive losses >8: Hitting rough patch OR market regime changed
[b>Phase 5: Scaling Up (Months 3-6)
[b>Goal: [/b> Gradually increase to full position size
[b>Progression: [/b>
• Month 3: 25-40% size (if micro-sizing profitable)
• Month 4: 40-60% size
• Month 5: 60-80% size
• Month 6: 80-100% size
[b>Milestones Required to Scale Up: [/b>
• Minimum 30 trades at current size
• Win rate ≥48%
• Profit factor ≥1.2
• Max drawdown <20%
• Emotional control (no revenge trading, no FOMO)
[b>Advanced Techniques:
[b>Multi-Timeframe ORB: Assumes first 30-60 minutes establish value. Violation: Market opens after major news, price discovery continues for hours (opening range meaningless).
2. [b>Volume Indicates Conviction: ES, NQ, RTY, SPY, QQQ—high liquidity, clean ORB formation, reliable extensions
• [b>Large-Cap Stocks: AAPL, MSFT, TSLA, NVDA (>$5B market cap, >5M daily volume)
• [b>Liquid Futures: CL (crude oil), GC (gold), 6E (EUR/USD), ZB (bonds)—24hr markets benefit from session ORBs
• [b>Major Forex Pairs: [/b> EUR/USD, GBP/USD, USD/JPY—London/NY session ORBs work well
[b>Performs Poorly On: [/b>
• [b>Illiquid Stocks: <$1M daily volume, wide spreads, gappy price action
• [b>Penny Stocks: [/b> Manipulated, pump-and-dump, no real price discovery
• [b>Low-Volume ETFs: Exotic sector ETFs, leveraged products with thin volume
• [b>Crypto on Sketchy Exchanges: Wash trading, spoofing invalidates volume analysis
• [b>Earnings Days: [/b> ORB completes before earnings release, then completely resets (useless)
• Binary Event Days: FDA approvals, court rulings—discontinuous price action
[b>Known Weaknesses: [/b>
• [b>Slow Starts: ORB doesn't complete until 10:00 AM (30-min ORB). Early morning traders have no signals for 30 minutes. Consider using 15-minute ORB if this is problematic.
• [b>Failure Detection Lag: [/b> Failed breakout requires 3+ bars to confirm. By the time system signals reversal, price may have already moved significantly back inside range. Manual traders watching in real-time can enter earlier.
• [b>Extension Overshoot: [/b> System projects extensions mathematically (1.5x, 2.0x, etc.). Actual moves may stop short (1.3x) or overshoot (2.2x). Extensions are targets, not magnets.
• [b>Day Type Misclassification: [/b> Early in session, day type is "Developing." By the time it's classified definitively (often 11:00 AM+), half the day is over. Strategy adjustments happen late.
• [b>Gap Assumptions: [/b> System assumes gaps want to fill. Strong trend days never fill gaps (gap becomes support/resistance forever). Blindly trading toward gaps can backfire on trend days.
• [b>Volume Data Quality: Forex doesn't have centralized volume (uses tick volume as proxy—less reliable). Crypto volume is often fake (wash trading). Volume confirmation less effective on these instruments.
• [b>Multi-Session Complexity: [/b> When using Asian/London/NY ORBs simultaneously, chart becomes cluttered. Requires discipline to focus on relevant session for current time.
[b>Risk Factors: [/b>
• [b>Opening Gaps: Large gaps (>2%) can create distorted ORBs. Opening range might be unusually wide or narrow, making extensions unreliable.
• [b>Low Volatility Environments:[/b> When VIX <12, opening ranges can be tiny (0.2-0.3%). Extensions are equally tiny. Profit targets don't justify commission/slippage.
• [b>High Volatility Environments:[/b> When VIX >30, opening ranges are huge (2-3%+). Extensions project unrealistic targets. Failed breakouts happen faster (volatility whipsaw).
• [b>Algorithm Dominance:[/b> In heavily algorithmic markets (ES during overnight session), ORB levels can be manipulated—algos pin price to ORB high/low intentionally. Breakouts become stop-runs rather than genuine directional moves.
[b>⚠️ RISK DISCLOSURE[/b>
Trading futures, stocks, options, forex, and cryptocurrencies involves substantial risk of loss and is not suitable for all investors. Opening Range Breakout strategies, while based on sound market structure principles, do not guarantee profits and can result in significant losses.
The ORB Fusion indicator implements professional trading concepts including Opening Range theory, Market Profile Initial Balance analysis, Fibonacci extensions, and failed breakout reversal logic. These methodologies have theoretical foundations but past performance—whether backtested or live—is not indicative of future results.
Opening Range theory assumes the first 30-60 minutes of trading establish a meaningful value area and that breakouts from this range signal directional conviction. This assumption may not hold during:
• Major news events (FOMC, NFP, earnings surprises)
• Market structure changes (circuit breakers, trading halts)
• Low liquidity periods (holidays, early closures)
• Algorithmic manipulation or spoofing
Failed breakout detection relies on patterns of trapped participant behavior. While historically these patterns have shown statistical edges, market conditions change. Institutional algorithms, changing market structure, or regime shifts can reduce or eliminate edges that existed historically.
Initial Balance classification (trend day vs rotation day vs normal day) is a heuristic framework, not a deterministic prediction. Day type can change mid-session. Early classification may prove incorrect as the day develops.
Extension projections (1.272x, 1.5x, 1.618x, 2.0x, etc.) are probabilistic targets derived from Fibonacci ratios and empirical market behavior. They are not "support and resistance levels" that price must reach or respect. Markets can stop short of extensions, overshoot them, or ignore them entirely.
Volume confirmation assumes high volume indicates institutional participation and conviction. In algorithmic markets, volume can be artificially high (HFT activity) or artificially low (dark pools, internalization). Volume is a proxy, not a guarantee of conviction.
LTF precision sampling improves ORB accuracy by using 1-minute bars but introduces additional data dependencies. If 1-minute data is unavailable, inaccurate, or delayed, ORB calculations will be incorrect.
The grading system (A+/A/B+/B/C/D) and confidence scores aggregate multiple factors (volume, VWAP, day type, IB expansion, gap context) into a single assessment. This is a mechanical calculation, not artificial intelligence. The system cannot adapt to unprecedented market conditions or events outside its programmed logic.
Real trading involves slippage, commissions, latency, partial fills, and rejected orders not present in indicator calculations. ORB Fusion generates signals at bar close; actual fills occur with delay. Opening range forms during highest volatility (first 30 minutes)—spreads widen, slippage increases. Execution quality significantly impacts realized results.
Statistics tracking (win rates, extension levels reached, day type distribution) is based on historical bars in your lookback window. If lookback is small (<50 bars) or market regime changed, statistics may not represent future probabilities.
Users must independently validate system performance on their specific instruments, timeframes, and broker execution environment. Paper trade extensively (100+ trades minimum) before risking capital. Start with micro position sizing (5-10% of intended size) for 50+ trades to validate execution quality matches expectations.
Never risk more than you can afford to lose completely. Use proper position sizing (0.5-2% risk per trade maximum). Implement stop losses on every single trade without exception. Understand that most retail traders lose money—sophisticated indicators do not change this fundamental reality. They systematize analysis but cannot eliminate risk.
The developer makes no warranties regarding profitability, suitability, accuracy, reliability, or fitness for any purpose. Users assume full responsibility for all trading decisions, parameter selections, risk management, and outcomes.
By using this indicator, you acknowledge that you have read, understood, and accepted these risk disclosures and limitations, and you accept full responsibility for all trading activity and potential losses.
[b>═══════════════════════════════════════════════════════════════════════════════[/b>
[b>CLOSING STATEMENT[/b>
[b>═══════════════════════════════════════════════════════════════════════════════[/b>
Opening Range Breakout is not a trick. It's a framework. The first 30-60 minutes reveal where participants believe value lies. Breakouts signal directional conviction. Failures signal trapped participants. Extensions define profit targets. Day types dictate strategy. Failed breakouts create the highest-probability reversals.
ORB Fusion doesn't predict the future—it identifies [b>structure[/b>, detects [b>breakouts[/b>, recognizes [b>failures[/b>, and generates [b>probabilistic trade plans[/b> with defined risk and reward.
The edge is not in the opening range itself. The edge is in recognizing when the market respects structure (follow breakouts) versus when it violates structure (fade breakouts). The edge is in detecting failures faster than discretionary traders. The edge is in systematic classification that prevents catastrophic errors—like fading a trend day or holding through rotation.
Most indicators draw lines. ORB Fusion implements a complete institutional trading methodology: Opening Range theory, Market Profile classification, failed breakout intelligence, Fibonacci projections, volume confirmation, gap psychology, and real-time performance tracking.
Whether you're a beginner learning market structure or a professional seeking systematic ORB implementation, this system provides the framework.
"The market's first word is its opening range. Everything after is commentary." — ORB Fusion
Adaptive Genesis Engine [AGE]ADAPTIVE GENESIS ENGINE (AGE)
Pure Signal Evolution Through Genetic Algorithms
Where Darwin Meets Technical Analysis
🧬 WHAT YOU'RE GETTING - THE PURE INDICATOR
This is a technical analysis indicator - it generates signals, visualizes probability, and shows you the evolutionary process in real-time. This is NOT a strategy with automatic execution - it's a sophisticated signal generation system that you control .
What This Indicator Does:
Generates Long/Short entry signals with probability scores (35-88% range)
Evolves a population of up to 12 competing strategies using genetic algorithms
Validates strategies through walk-forward optimization (train/test cycles)
Visualizes signal quality through premium gradient clouds and confidence halos
Displays comprehensive metrics via enhanced dashboard
Provides alerts for entries and exits
Works on any timeframe, any instrument, any broker
What This Indicator Does NOT Do:
Execute trades automatically
Manage positions or calculate position sizes
Place orders on your behalf
Make trading decisions for you
This is pure signal intelligence. AGE tells you when and how confident it is. You decide whether and how much to trade.
🔬 THE SCIENCE: GENETIC ALGORITHMS MEET TECHNICAL ANALYSIS
What Makes This Different - The Evolutionary Foundation
Most indicators are static - they use the same parameters forever, regardless of market conditions. AGE is alive . It maintains a population of competing strategies that evolve, adapt, and improve through natural selection principles:
Birth: New strategies spawn through crossover breeding (combining DNA from fit parents) plus random mutation for exploration
Life: Each strategy trades virtually via shadow portfolios, accumulating wins/losses, tracking drawdown, and building performance history
Selection: Strategies are ranked by comprehensive fitness scoring (win rate, expectancy, drawdown control, signal efficiency)
Death: Weak strategies are culled periodically, with elite performers (top 2 by default) protected from removal
Evolution: The gene pool continuously improves as successful traits propagate and unsuccessful ones die out
This is not curve-fitting. Each new strategy must prove itself on out-of-sample data through walk-forward validation before being trusted for live signals.
🧪 THE DNA: WHAT EVOLVES
Every strategy carries a 10-gene chromosome controlling how it interprets market data:
Signal Sensitivity Genes
Entropy Sensitivity (0.5-2.0): Weight given to market order/disorder calculations. Low values = conservative, require strong directional clarity. High values = aggressive, act on weaker order signals.
Momentum Sensitivity (0.5-2.0): Weight given to RSI/ROC/MACD composite. Controls responsiveness to momentum shifts vs. mean-reversion setups.
Structure Sensitivity (0.5-2.0): Weight given to support/resistance positioning. Determines how much price location within swing range matters.
Probability Adjustment Genes
Probability Boost (-0.10 to +0.10): Inherent bias toward aggressive (+) or conservative (-) entries. Acts as personality trait - some strategies naturally optimistic, others pessimistic.
Trend Strength Requirement (0.3-0.8): Minimum trend conviction needed before signaling. Higher values = only trades strong trends, lower values = acts in weak/sideways markets.
Volume Filter (0.5-1.5): Strictness of volume confirmation. Higher values = requires strong volume, lower values = volume less important.
Risk Management Genes
ATR Multiplier (1.5-4.0): Base volatility scaling for all price levels. Controls whether strategy uses tight or wide stops/targets relative to ATR.
Stop Multiplier (1.0-2.5): Stop loss tightness. Lower values = aggressive profit protection, higher values = more breathing room.
Target Multiplier (1.5-4.0): Profit target ambition. Lower values = quick scalping exits, higher values = swing trading holds.
Adaptation Gene
Regime Adaptation (0.0-1.0): How much strategy adjusts behavior based on detected market regime (trending/volatile/choppy). Higher values = more reactive to regime changes.
The Magic: AGE doesn't just try random combinations. Through tournament selection and fitness-weighted crossover, successful gene combinations spread through the population while unsuccessful ones fade away. Over 50-100 bars, you'll see the population converge toward genes that work for YOUR instrument and timeframe.
📊 THE SIGNAL ENGINE: THREE-LAYER SYNTHESIS
Before any strategy generates a signal, AGE calculates probability through multi-indicator confluence:
Layer 1 - Market Entropy (Information Theory)
Measures whether price movements exhibit directional order or random walk characteristics:
The Math:
Shannon Entropy = -Σ(p × log(p))
Market Order = 1 - (Entropy / 0.693)
What It Means:
High entropy = choppy, random market → low confidence signals
Low entropy = directional market → high confidence signals
Direction determined by up-move vs down-move dominance over lookback period (default: 20 bars)
Signal Output: -1.0 to +1.0 (bearish order to bullish order)
Layer 2 - Momentum Synthesis
Combines three momentum indicators into single composite score:
Components:
RSI (40% weight): Normalized to -1/+1 scale using (RSI-50)/50
Rate of Change (30% weight): Percentage change over lookback (default: 14 bars), clamped to ±1
MACD Histogram (30% weight): Fast(12) - Slow(26), normalized by ATR
Why This Matters: RSI catches mean-reversion opportunities, ROC catches raw momentum, MACD catches momentum divergence. Weighting favors RSI for reliability while keeping other perspectives.
Signal Output: -1.0 to +1.0 (strong bearish to strong bullish)
Layer 3 - Structure Analysis
Evaluates price position within swing range (default: 50-bar lookback):
Position Classification:
Bottom 20% of range = Support Zone → bullish bounce potential
Top 20% of range = Resistance Zone → bearish rejection potential
Middle 60% = Neutral Zone → breakout/breakdown monitoring
Signal Logic:
At support + bullish candle = +0.7 (strong buy setup)
At resistance + bearish candle = -0.7 (strong sell setup)
Breaking above range highs = +0.5 (breakout confirmation)
Breaking below range lows = -0.5 (breakdown confirmation)
Consolidation within range = ±0.3 (weak directional bias)
Signal Output: -1.0 to +1.0 (bearish structure to bullish structure)
Confluence Voting System
Each layer casts a vote (Long/Short/Neutral). The system requires minimum 2-of-3 agreement (configurable 1-3) before generating a signal:
Examples:
Entropy: Bullish, Momentum: Bullish, Structure: Neutral → Signal generated (2 long votes)
Entropy: Bearish, Momentum: Neutral, Structure: Neutral → No signal (only 1 short vote)
All three bullish → Signal generated with +5% probability bonus
This is the key to quality. Single indicators give too many false signals. Triple confirmation dramatically improves accuracy.
📈 PROBABILITY CALCULATION: HOW CONFIDENCE IS MEASURED
Base Probability:
Raw_Prob = 50% + (Average_Signal_Strength × 25%)
Then AGE applies strategic adjustments:
Trend Alignment:
Signal with trend: +4%
Signal against strong trend: -8%
Weak/no trend: no adjustment
Regime Adaptation:
Trending market (efficiency >50%, moderate vol): +3%
Volatile market (vol ratio >1.5x): -5%
Choppy market (low efficiency): -2%
Volume Confirmation:
Volume > 70% of 20-bar SMA: no change
Volume below threshold: -3%
Volatility State (DVS Ratio):
High vol (>1.8x baseline): -4% (reduce confidence in chaos)
Low vol (<0.7x baseline): -2% (markets can whipsaw in compression)
Moderate elevated vol (1.0-1.3x): +2% (trending conditions emerging)
Confluence Bonus:
All 3 indicators agree: +5%
2 of 3 agree: +2%
Strategy Gene Adjustment:
Probability Boost gene: -10% to +10%
Regime Adaptation gene: scales regime adjustments by 0-100%
Final Probability: Clamped between 35% (minimum) and 88% (maximum)
Why These Ranges?
Below 35% = too uncertain, better not to signal
Above 88% = unrealistic, creates overconfidence
Sweet spot: 65-80% for quality entries
🔄 THE SHADOW PORTFOLIO SYSTEM: HOW STRATEGIES COMPETE
Each active strategy maintains a virtual trading account that executes in parallel with real-time data:
Shadow Trading Mechanics
Entry Logic:
Calculate signal direction, probability, and confluence using strategy's unique DNA
Check if signal meets quality gate:
Probability ≥ configured minimum threshold (default: 65%)
Confluence ≥ configured minimum (default: 2 of 3)
Direction is not zero (must be long or short, not neutral)
Verify signal persistence:
Base requirement: 2 bars (configurable 1-5)
Adapts based on probability: high-prob signals (75%+) enter 1 bar faster, low-prob signals need 1 bar more
Adjusts for regime: trending markets reduce persistence by 1, volatile markets add 1
Apply additional filters:
Trend strength must exceed strategy's requirement gene
Regime filter: if volatile market detected, probability must be 72%+ to override
Volume confirmation required (volume > 70% of average)
If all conditions met for required persistence bars, enter shadow position at current close price
Position Management:
Entry Price: Recorded at close of entry bar
Stop Loss: ATR-based distance = ATR × ATR_Mult (gene) × Stop_Mult (gene) × DVS_Ratio
Take Profit: ATR-based distance = ATR × ATR_Mult (gene) × Target_Mult (gene) × DVS_Ratio
Position: +1 (long) or -1 (short), only one at a time per strategy
Exit Logic:
Check if price hit stop (on low) or target (on high) on current bar
Record trade outcome in R-multiples (profit/loss normalized by ATR)
Update performance metrics:
Total trades counter incremented
Wins counter (if profit > 0)
Cumulative P&L updated
Peak equity tracked (for drawdown calculation)
Maximum drawdown from peak recorded
Enter cooldown period (default: 8 bars, configurable 3-20) before next entry allowed
Reset signal age counter to zero
Walk-Forward Tracking:
During position lifecycle, trades are categorized:
Training Phase (first 250 bars): Trade counted toward training metrics
Testing Phase (next 75 bars): Trade counted toward testing metrics (out-of-sample)
Live Phase (after WFO period): Trade counted toward overall metrics
Why Shadow Portfolios?
No lookahead bias (uses only data available at the bar)
Realistic execution simulation (entry on close, stop/target checks on high/low)
Independent performance tracking for true fitness comparison
Allows safe experimentation without risking capital
Each strategy learns from its own experience
🏆 FITNESS SCORING: HOW STRATEGIES ARE RANKED
Fitness is not just win rate. AGE uses a comprehensive multi-factor scoring system:
Core Metrics (Minimum 3 trades required)
Win Rate (30% of fitness):
WinRate = Wins / TotalTrades
Normalized directly (0.0-1.0 scale)
Total P&L (30% of fitness):
Normalized_PnL = (PnL + 300) / 600
Clamped 0.0-1.0. Assumes P&L range of -300R to +300R for normalization scale.
Expectancy (25% of fitness):
Expectancy = Total_PnL / Total_Trades
Normalized_Expectancy = (Expectancy + 30) / 60
Clamped 0.0-1.0. Rewards consistency of profit per trade.
Drawdown Control (15% of fitness):
Normalized_DD = 1 - (Max_Drawdown / 15)
Clamped 0.0-1.0. Penalizes strategies that suffer large equity retracements from peak.
Sample Size Adjustment
Quality Factor:
<50 trades: 1.0 (full weight, small sample)
50-100 trades: 0.95 (slight penalty for medium sample)
100 trades: 0.85 (larger penalty for large sample)
Why penalize more trades? Prevents strategies from gaming the system by taking hundreds of tiny trades to inflate statistics. Favors quality over quantity.
Bonus Adjustments
Walk-Forward Validation Bonus:
if (WFO_Validated):
Fitness += (WFO_Efficiency - 0.5) × 0.1
Strategies proven on out-of-sample data receive up to +10% fitness boost based on test/train efficiency ratio.
Signal Efficiency Bonus (if diagnostics enabled):
if (Signals_Evaluated > 10):
Pass_Rate = Signals_Passed / Signals_Evaluated
Fitness += (Pass_Rate - 0.1) × 0.05
Rewards strategies that generate high-quality signals passing the quality gate, not just profitable trades.
Final Fitness: Clamped at 0.0 minimum (prevents negative fitness values)
Result: Elite strategies typically achieve 0.50-0.75 fitness. Anything above 0.60 is excellent. Below 0.30 is prime candidate for culling.
🔬 WALK-FORWARD OPTIMIZATION: ANTI-OVERFITTING PROTECTION
This is what separates AGE from curve-fitted garbage indicators.
The Three-Phase Process
Every new strategy undergoes a rigorous validation lifecycle:
Phase 1 - Training Window (First 250 bars, configurable 100-500):
Strategy trades normally via shadow portfolio
All trades count toward training performance metrics
System learns which gene combinations produce profitable patterns
Tracks independently: Training_Trades, Training_Wins, Training_PnL
Phase 2 - Testing Window (Next 75 bars, configurable 30-200):
Strategy continues trading without any parameter changes
Trades now count toward testing performance metrics (separate tracking)
This is out-of-sample data - strategy has never seen these bars during "optimization"
Tracks independently: Testing_Trades, Testing_Wins, Testing_PnL
Phase 3 - Validation Check:
Minimum_Trades = 5 (configurable 3-15)
IF (Train_Trades >= Minimum AND Test_Trades >= Minimum):
WR_Efficiency = Test_WinRate / Train_WinRate
Expectancy_Efficiency = Test_Expectancy / Train_Expectancy
WFO_Efficiency = (WR_Efficiency + Expectancy_Efficiency) / 2
IF (WFO_Efficiency >= 0.55): // configurable 0.3-0.9
Strategy.Validated = TRUE
Strategy receives fitness bonus
ELSE:
Strategy receives 30% fitness penalty
ELSE:
Validation deferred (insufficient trades in one or both periods)
What Validation Means
Validated Strategy (Green "✓ VAL" in dashboard):
Performed at least 55% as well on unseen data compared to training data
Gets fitness bonus: +(efficiency - 0.5) × 0.1
Receives priority during tournament selection for breeding
More likely to be chosen as active trading strategy
Unvalidated Strategy (Orange "○ TRAIN" in dashboard):
Failed to maintain performance on test data (likely curve-fitted to training period)
Receives 30% fitness penalty (0.7x multiplier)
Makes strategy prime candidate for culling
Can still trade but with lower selection probability
Insufficient Data (continues collecting):
Hasn't completed both training and testing periods yet
OR hasn't achieved minimum trade count in both periods
Validation check deferred until requirements met
Why 55% Efficiency Threshold?
If a strategy earned 10R during training but only 5.5R during testing, it still proved an edge exists beyond random luck. Requiring 100% efficiency would be unrealistic - market conditions change between periods. But requiring >50% ensures the strategy didn't completely degrade on fresh data.
The Protection: Strategies that work great on historical data but fail on new data are automatically identified and penalized. This prevents the population from being polluted by overfitted strategies that would fail in live trading.
🌊 DYNAMIC VOLATILITY SCALING (DVS): ADAPTIVE STOP/TARGET PLACEMENT
AGE doesn't use fixed stop distances. It adapts to current volatility conditions in real-time.
Four Volatility Measurement Methods
1. ATR Ratio (Simple Method):
Current_Vol = ATR(14) / Close
Baseline_Vol = SMA(Current_Vol, 100)
Ratio = Current_Vol / Baseline_Vol
Basic comparison of current ATR to 100-bar moving average baseline.
2. Parkinson (High-Low Range Based):
For each bar: HL = log(High / Low)
Parkinson_Vol = sqrt(Σ(HL²) / (4 × Period × log(2)))
More stable than close-to-close volatility. Captures intraday range expansion without overnight gap noise.
3. Garman-Klass (OHLC Based):
HL_Term = 0.5 × ²
CO_Term = (2×log(2) - 1) × ²
GK_Vol = sqrt(Σ(HL_Term - CO_Term) / Period)
Most sophisticated estimator. Incorporates all four price points (open, high, low, close) plus gap information.
4. Ensemble Method (Default - Median of All Three):
Ratio_1 = ATR_Current / ATR_Baseline
Ratio_2 = Parkinson_Current / Parkinson_Baseline
Ratio_3 = GK_Current / GK_Baseline
DVS_Ratio = Median(Ratio_1, Ratio_2, Ratio_3)
Why Ensemble?
Takes median to avoid outliers and false spikes
If ATR jumps but range-based methods stay calm, median prevents overreaction
If one method fails, other two compensate
Most robust approach across different market conditions
Sensitivity Scaling
Scaled_Ratio = (Raw_Ratio) ^ Sensitivity
Sensitivity 0.3: Cube root - heavily dampens volatility impact
Sensitivity 0.5: Square root - moderate dampening
Sensitivity 0.7 (Default): Balanced response to volatility changes
Sensitivity 1.0: Linear - full 1:1 volatility impact
Sensitivity 1.5: Exponential - amplified response to volatility spikes
Safety Clamps: Final DVS Ratio always clamped between 0.5x and 2.5x baseline to prevent extreme position sizing or stop placement errors.
How DVS Affects Shadow Trading
Every strategy's stop and target distances are multiplied by the current DVS ratio:
Stop Loss Distance:
Stop_Distance = ATR × ATR_Mult (gene) × Stop_Mult (gene) × DVS_Ratio
Take Profit Distance:
Target_Distance = ATR × ATR_Mult (gene) × Target_Mult (gene) × DVS_Ratio
Example Scenario:
ATR = 10 points
Strategy's ATR_Mult gene = 2.5
Strategy's Stop_Mult gene = 1.5
Strategy's Target_Mult gene = 2.5
DVS_Ratio = 1.4 (40% above baseline volatility - market heating up)
Stop = 10 × 2.5 × 1.5 × 1.4 = 52.5 points (vs. 37.5 in normal vol)
Target = 10 × 2.5 × 2.5 × 1.4 = 87.5 points (vs. 62.5 in normal vol)
Result:
During volatility spikes: Stops automatically widen to avoid noise-based exits, targets extend for bigger moves
During calm periods: Stops tighten for better risk/reward, targets compress for realistic profit-taking
Strategies adapt risk management to match current market behavior
🧬 THE EVOLUTIONARY CYCLE: SPAWN, COMPETE, CULL
Initialization (Bar 1)
AGE begins with 4 seed strategies (if evolution enabled):
Seed Strategy #0 (Balanced):
All sensitivities at 1.0 (neutral)
Zero probability boost
Moderate trend requirement (0.4)
Standard ATR/stop/target multiples (2.5/1.5/2.5)
Mid-level regime adaptation (0.5)
Seed Strategy #1 (Momentum-Focused):
Lower entropy sensitivity (0.7), higher momentum (1.5)
Slight probability boost (+0.03)
Higher trend requirement (0.5)
Tighter stops (1.3), wider targets (3.0)
Seed Strategy #2 (Entropy-Driven):
Higher entropy sensitivity (1.5), lower momentum (0.8)
Slight probability penalty (-0.02)
More trend tolerant (0.6)
Wider stops (1.8), standard targets (2.5)
Seed Strategy #3 (Structure-Based):
Balanced entropy/momentum (0.8/0.9), high structure (1.4)
Slight probability boost (+0.02)
Lower trend requirement (0.35)
Moderate risk parameters (1.6/2.8)
All seeds start with WFO validation bypassed if WFO is disabled, or must validate if enabled.
Spawning New Strategies
Timing (Adaptive):
Historical phase: Every 30 bars (configurable 10-100)
Live phase: Every 200 bars (configurable 100-500)
Automatically switches to live timing when barstate.isrealtime triggers
Conditions:
Current population < max population limit (default: 8, configurable 4-12)
At least 2 active strategies exist (need parents)
Available slot in population array
Selection Process:
Run tournament selection 3 times with different seeds
Each tournament: randomly sample active strategies, pick highest fitness
Best from 3 tournaments becomes Parent 1
Repeat independently for Parent 2
Ensures fit parents but maintains diversity
Crossover Breeding:
For each of 10 genes:
Parent1_Fitness = fitness
Parent2_Fitness = fitness
Weight1 = Parent1_Fitness / (Parent1_Fitness + Parent2_Fitness)
Gene1 = parent1's value
Gene2 = parent2's value
Child_Gene = Weight1 × Gene1 + (1 - Weight1) × Gene2
Fitness-weighted crossover ensures fitter parent contributes more genetic material.
Mutation:
For each gene in child:
IF (random < mutation_rate):
Gene_Range = GENE_MAX - GENE_MIN
Noise = (random - 0.5) × 2 × mutation_strength × Gene_Range
Mutated_Gene = Clamp(Child_Gene + Noise, GENE_MIN, GENE_MAX)
Historical mutation rate: 20% (aggressive exploration)
Live mutation rate: 8% (conservative stability)
Mutation strength: 12% of gene range (configurable 5-25%)
Initialization of New Strategy:
Unique ID assigned (total_spawned counter)
Parent ID recorded
Generation = max(parent generations) + 1
Birth bar recorded (for age tracking)
All performance metrics zeroed
Shadow portfolio reset
WFO validation flag set to false (must prove itself)
Result: New strategy with hybrid DNA enters population, begins trading in next bar.
Competition (Every Bar)
All active strategies:
Calculate their signal based on unique DNA
Check quality gate with their thresholds
Manage shadow positions (entries/exits)
Update performance metrics
Recalculate fitness score
Track WFO validation progress
Strategies compete indirectly through fitness ranking - no direct interaction.
Culling Weak Strategies
Timing (Adaptive):
Historical phase: Every 60 bars (configurable 20-200, should be 2x spawn interval)
Live phase: Every 400 bars (configurable 200-1000, should be 2x spawn interval)
Minimum Adaptation Score (MAS):
Initial MAS = 0.10
MAS decays: MAS × 0.995 every cull cycle
Minimum MAS = 0.03 (floor)
MAS represents the "survival threshold" - strategies below this fitness level are vulnerable.
Culling Conditions (ALL must be true):
Population > minimum population (default: 3, configurable 2-4)
At least one strategy has fitness < MAS
Strategy's age > culling interval (prevents premature culling of new strategies)
Strategy is not in top N elite (default: 2, configurable 1-3)
Culling Process:
Find worst strategy:
For each active strategy:
IF (age > cull_interval):
Fitness = base_fitness
IF (not WFO_validated AND WFO_enabled):
Fitness × 0.7 // 30% penalty for unvalidated
IF (Fitness < MAS AND Fitness < worst_fitness_found):
worst_strategy = this_strategy
worst_fitness = Fitness
IF (worst_strategy found):
Count elite strategies with fitness > worst_fitness
IF (elite_count >= elite_preservation_count):
Deactivate worst_strategy (set active flag = false)
Increment total_culled counter
Elite Protection:
Even if a strategy's fitness falls below MAS, it survives if fewer than N strategies are better. This prevents culling when population is generally weak.
Result: Weak strategies removed from population, freeing slots for new spawns. Gene pool improves over time.
Selection for Display (Every Bar)
AGE chooses one strategy to display signals:
Best fitness = -1
Selected = none
For each active strategy:
Fitness = base_fitness
IF (WFO_validated):
Fitness × 1.3 // 30% bonus for validated strategies
IF (Fitness > best_fitness):
best_fitness = Fitness
selected_strategy = this_strategy
Display selected strategy's signals on chart
Result: Only the highest-fitness (optionally validated-boosted) strategy's signals appear as chart markers. Other strategies trade invisibly in shadow portfolios.
🎨 PREMIUM VISUALIZATION SYSTEM
AGE includes sophisticated visual feedback that standard indicators lack:
1. Gradient Probability Cloud (Optional, Default: ON)
Multi-layer gradient showing signal buildup 2-3 bars before entry:
Activation Conditions:
Signal persistence > 0 (same directional signal held for multiple bars)
Signal probability ≥ minimum threshold (65% by default)
Signal hasn't yet executed (still in "forming" state)
Visual Construction:
7 gradient layers by default (configurable 3-15)
Each layer is a line-fill pair (top line, bottom line, filled between)
Layer spacing: 0.3 to 1.0 × ATR above/below price
Outer layers = faint, inner layers = bright
Color transitions from base to intense based on layer position
Transparency scales with probability (high prob = more opaque)
Color Selection:
Long signals: Gradient from theme.gradient_bull_mid to theme.gradient_bull_strong
Short signals: Gradient from theme.gradient_bear_mid to theme.gradient_bear_strong
Base transparency: 92%, reduces by up to 8% for high-probability setups
Dynamic Behavior:
Cloud grows/shrinks as signal persistence increases/decreases
Redraws every bar while signal is forming
Disappears when signal executes or invalidates
Performance Note: Computationally expensive due to linefill objects. Disable or reduce layers if chart performance degrades.
2. Population Fitness Ribbon (Optional, Default: ON)
Histogram showing fitness distribution across active strategies:
Activation: Only draws on last bar (barstate.islast) to avoid historical clutter
Visual Construction:
10 histogram layers by default (configurable 5-20)
Plots 50 bars back from current bar
Positioned below price at: lowest_low(100) - 1.5×ATR (doesn't interfere with price action)
Each layer represents a fitness threshold (evenly spaced min to max fitness)
Layer Logic:
For layer_num from 0 to ribbon_layers:
Fitness_threshold = min_fitness + (max_fitness - min_fitness) × (layer / layers)
Count strategies with fitness ≥ threshold
Height = ATR × 0.15 × (count / total_active)
Y_position = base_level + ATR × 0.2 × layer
Color = Gradient from weak to strong based on layer position
Line_width = Scaled by height (taller = thicker)
Visual Feedback:
Tall, bright ribbon = healthy population, many fit strategies at high fitness levels
Short, dim ribbon = weak population, few strategies achieving good fitness
Ribbon compression (layers close together) = population converging to similar fitness
Ribbon spread = diverse fitness range, active selection pressure
Use Case: Quick visual health check without opening dashboard. Ribbon growing upward over time = population improving.
3. Confidence Halo (Optional, Default: ON)
Circular polyline around entry signals showing probability strength:
Activation: Draws when new position opens (shadow_position changes from 0 to ±1)
Visual Construction:
20-segment polyline forming approximate circle
Center: Low - 0.5×ATR (long) or High + 0.5×ATR (short)
Radius: 0.3×ATR (low confidence) to 1.0×ATR (elite confidence)
Scales with: (probability - min_probability) / (1.0 - min_probability)
Color Coding:
Elite (85%+): Cyan (theme.conf_elite), large radius, minimal transparency (40%)
Strong (75-85%): Strong green (theme.conf_strong), medium radius, moderate transparency (50%)
Good (65-75%): Good green (theme.conf_good), smaller radius, more transparent (60%)
Moderate (<65%): Moderate green (theme.conf_moderate), tiny radius, very transparent (70%)
Technical Detail:
Uses chart.point array with index-based positioning
5-bar horizontal spread for circular appearance (±5 bars from entry)
Curved=false (Pine Script polyline limitation)
Fill color matches line color but more transparent (88% vs line's transparency)
Purpose: Instant visual probability assessment. No need to check dashboard - halo size/brightness tells the story.
4. Evolution Event Markers (Optional, Default: ON)
Visual indicators of genetic algorithm activity:
Spawn Markers (Diamond, Cyan):
Plots when total_spawned increases on current bar
Location: bottom of chart (location.bottom)
Color: theme.spawn_marker (cyan/bright blue)
Size: tiny
Indicates new strategy just entered population
Cull Markers (X-Cross, Red):
Plots when total_culled increases on current bar
Location: bottom of chart (location.bottom)
Color: theme.cull_marker (red/pink)
Size: tiny
Indicates weak strategy just removed from population
What It Tells You:
Frequent spawning early = population building, active exploration
Frequent culling early = high selection pressure, weak strategies dying fast
Balanced spawn/cull = healthy evolutionary churn
No markers for long periods = stable population (evolution plateaued or optimal genes found)
5. Entry/Exit Markers
Clear visual signals for selected strategy's trades:
Long Entry (Triangle Up, Green):
Plots when selected strategy opens long position (position changes 0 → +1)
Location: below bar (location.belowbar)
Color: theme.long_primary (green/cyan depending on theme)
Transparency: Scales with probability:
Elite (85%+): 0% (fully opaque)
Strong (75-85%): 10%
Good (65-75%): 20%
Acceptable (55-65%): 35%
Size: small
Short Entry (Triangle Down, Red):
Plots when selected strategy opens short position (position changes 0 → -1)
Location: above bar (location.abovebar)
Color: theme.short_primary (red/pink depending on theme)
Transparency: Same scaling as long entries
Size: small
Exit (X-Cross, Orange):
Plots when selected strategy closes position (position changes ±1 → 0)
Location: absolute (at actual exit price if stop/target lines enabled)
Color: theme.exit_color (orange/yellow depending on theme)
Transparency: 0% (fully opaque)
Size: tiny
Result: Clean, probability-scaled markers that don't clutter chart but convey essential information.
6. Stop Loss & Take Profit Lines (Optional, Default: ON)
Visual representation of shadow portfolio risk levels:
Stop Loss Line:
Plots when selected strategy has active position
Level: shadow_stop value from selected strategy
Color: theme.short_primary with 60% transparency (red/pink, subtle)
Width: 2
Style: plot.style_linebr (breaks when no position)
Take Profit Line:
Plots when selected strategy has active position
Level: shadow_target value from selected strategy
Color: theme.long_primary with 60% transparency (green, subtle)
Width: 2
Style: plot.style_linebr (breaks when no position)
Purpose:
Shows where shadow portfolio would exit for stop/target
Helps visualize strategy's risk/reward ratio
Useful for manual traders to set similar levels
Disable for cleaner chart (recommended for presentations)
7. Dynamic Trend EMA
Gradient-colored trend line that visualizes trend strength:
Calculation:
EMA(close, trend_length) - default 50 period (configurable 20-100)
Slope calculated over 10 bars: (current_ema - ema ) / ema × 100
Color Logic:
Trend_direction:
Slope > 0.1% = Bullish (1)
Slope < -0.1% = Bearish (-1)
Otherwise = Neutral (0)
Trend_strength = abs(slope)
Color = Gradient between:
- Neutral color (gray/purple)
- Strong bullish (bright green) if direction = 1
- Strong bearish (bright red) if direction = -1
Gradient factor = trend_strength (0 to 1+ scale)
Visual Behavior:
Faint gray/purple = weak/no trend (choppy conditions)
Light green/red = emerging trend (low strength)
Bright green/red = strong trend (high conviction)
Color intensity = trend strength magnitude
Transparency: 50% (subtle, doesn't overpower price action)
Purpose: Subconscious awareness of trend state without checking dashboard or indicators.
8. Regime Background Tinting (Subtle)
Ultra-low opacity background color indicating detected market regime:
Regime Detection:
Efficiency = directional_movement / total_range (over trend_length bars)
Vol_ratio = current_volatility / average_volatility
IF (efficiency > 0.5 AND vol_ratio < 1.3):
Regime = Trending (1)
ELSE IF (vol_ratio > 1.5):
Regime = Volatile (2)
ELSE:
Regime = Choppy (0)
Background Colors:
Trending: theme.regime_trending (dark green, 92-93% transparency)
Volatile: theme.regime_volatile (dark red, 93% transparency)
Choppy: No tint (normal background)
Purpose:
Subliminal regime awareness
Helps explain why signals are/aren't generating
Trending = ideal conditions for AGE
Volatile = fewer signals, higher thresholds applied
Choppy = mixed signals, lower confidence
Important: Extremely subtle by design. Not meant to be obvious, just subconscious context.
📊 ENHANCED DASHBOARD
Comprehensive real-time metrics in single organized panel (top-right position):
Dashboard Structure (5 columns × 14 rows)
Header Row:
Column 0: "🧬 AGE PRO" + phase indicator (🔴 LIVE or ⏪ HIST)
Column 1: "POPULATION"
Column 2: "PERFORMANCE"
Column 3: "CURRENT SIGNAL"
Column 4: "ACTIVE STRATEGY"
Column 0: Market State
Regime (📈 TREND / 🌊 CHAOS / ➖ CHOP)
DVS Ratio (current volatility scaling factor, format: #.##)
Trend Direction (▲ BULL / ▼ BEAR / ➖ FLAT with color coding)
Trend Strength (0-100 scale, format: #.##)
Column 1: Population Metrics
Active strategies (count / max_population)
Validated strategies (WFO passed / active total)
Current generation number
Total spawned (all-time strategy births)
Total culled (all-time strategy deaths)
Column 2: Aggregate Performance
Total trades across all active strategies
Aggregate win rate (%) - color-coded:
Green (>55%)
Orange (45-55%)
Red (<45%)
Total P&L in R-multiples - color-coded by positive/negative
Best fitness score in population (format: #.###)
MAS - Minimum Adaptation Score (cull threshold, format: #.###)
Column 3: Current Signal Status
Status indicator:
"▲ LONG" (green) if selected strategy in long position
"▼ SHORT" (red) if selected strategy in short position
"⏳ FORMING" (orange) if signal persisting but not yet executed
"○ WAITING" (gray) if no active signal
Confidence percentage (0-100%, format: #.#%)
Quality assessment:
"🔥 ELITE" (cyan) for 85%+ probability
"✓ STRONG" (bright green) for 75-85%
"○ GOOD" (green) for 65-75%
"- LOW" (dim) for <65%
Confluence score (X/3 format)
Signal age:
"X bars" if signal forming
"IN TRADE" if position active
"---" if no signal
Column 4: Selected Strategy Details
Strategy ID number (#X format)
Validation status:
"✓ VAL" (green) if WFO validated
"○ TRAIN" (orange) if still in training/testing phase
Generation number (GX format)
Personal fitness score (format: #.### with color coding)
Trade count
P&L and win rate (format: #.#R (##%) with color coding)
Color Scheme:
Panel background: theme.panel_bg (dark, low opacity)
Panel headers: theme.panel_header (slightly lighter)
Primary text: theme.text_primary (bright, high contrast)
Secondary text: theme.text_secondary (dim, lower contrast)
Positive metrics: theme.metric_positive (green)
Warning metrics: theme.metric_warning (orange)
Negative metrics: theme.metric_negative (red)
Special markers: theme.validated_marker, theme.spawn_marker
Update Frequency: Only on barstate.islast (current bar) to minimize CPU usage
Purpose:
Quick overview of entire system state
No need to check multiple indicators
Trading decisions informed by population health, regime state, and signal quality
Transparency into what AGE is thinking
🔍 DIAGNOSTICS PANEL (Optional, Default: OFF)
Detailed signal quality tracking for optimization and debugging:
Panel Structure (3 columns × 8 rows)
Position: Bottom-right corner (doesn't interfere with main dashboard)
Header Row:
Column 0: "🔍 DIAGNOSTICS"
Column 1: "COUNT"
Column 2: "%"
Metrics Tracked (for selected strategy only):
Total Evaluated:
Every signal that passed initial calculation (direction ≠ 0)
Represents total opportunities considered
✓ Passed:
Signals that passed quality gate and executed
Green color coding
Percentage of evaluated signals
Rejection Breakdown:
⨯ Probability:
Rejected because probability < minimum threshold
Most common rejection reason typically
⨯ Confluence:
Rejected because confluence < minimum required (e.g., only 1 of 3 indicators agreed)
⨯ Trend:
Rejected because signal opposed strong trend
Indicates counter-trend protection working
⨯ Regime:
Rejected because volatile regime detected and probability wasn't high enough to override
Shows regime filter in action
⨯ Volume:
Rejected because volume < 70% of 20-bar average
Indicates volume confirmation requirement
Color Coding:
Passed count: Green (success metric)
Rejection counts: Red (failure metrics)
Percentages: Gray (neutral, informational)
Performance Cost: Slight CPU overhead for tracking counters. Disable when not actively optimizing settings.
How to Use Diagnostics
Scenario 1: Too Few Signals
Evaluated: 200
Passed: 10 (5%)
⨯ Probability: 120 (60%)
⨯ Confluence: 40 (20%)
⨯ Others: 30 (15%)
Diagnosis: Probability threshold too high for this strategy's DNA.
Solution: Lower min probability from 65% to 60%, or allow strategy more time to evolve better DNA.
Scenario 2: Too Many False Signals
Evaluated: 200
Passed: 80 (40%)
Strategy win rate: 45%
Diagnosis: Quality gate too loose, letting low-quality signals through.
Solution: Raise min probability to 70%, or increase min confluence to 3 (all indicators must agree).
Scenario 3: Regime-Specific Issues
⨯ Regime: 90 (45% of rejections)
Diagnosis: Frequent volatile regime detection blocking otherwise good signals.
Solution: Either accept fewer trades during chaos (recommended), or disable regime filter if you want signals regardless of market state.
Optimization Workflow:
Enable diagnostics
Run 200+ bars
Analyze rejection patterns
Adjust settings based on data
Re-run and compare pass rate
Disable diagnostics when satisfied
⚙️ CONFIGURATION GUIDE
🧬 Evolution Engine Settings
Enable AGE Evolution (Default: ON):
ON: Full genetic algorithm (recommended for best results)
OFF: Uses only 4 seed strategies, no spawning/culling (static population for comparison testing)
Max Population (4-12, Default: 8):
Higher = more diversity, more exploration, slower performance
Lower = faster computation, less exploration, risk of premature convergence
Sweet spot: 6-8 for most use cases
4 = minimum for meaningful evolution
12 = maximum before diminishing returns
Min Population (2-4, Default: 3):
Safety floor - system never culls below this count
Prevents population extinction during harsh selection
Should be at least half of max population
Elite Preservation (1-3, Default: 2):
Top N performers completely immune to culling
Ensures best genes always survive
1 = minimal protection, aggressive selection
2 = balanced (recommended)
3 = conservative, slower gene pool turnover
Historical: Spawn Interval (10-100, Default: 30):
Bars between spawning new strategies during historical data
Lower = faster evolution, more exploration
Higher = slower evolution, more evaluation time per strategy
30 bars = ~1-2 hours on 15min chart
Historical: Cull Interval (20-200, Default: 60):
Bars between culling weak strategies during historical data
Should be 2x spawn interval for balanced churn
Lower = aggressive selection pressure
Higher = patient evaluation
Live: Spawn Interval (100-500, Default: 200):
Bars between spawning during live trading
Much slower than historical for stability
Prevents population chaos during live trading
200 bars = ~1.5 trading days on 15min chart
Live: Cull Interval (200-1000, Default: 400):
Bars between culling during live trading
Should be 2x live spawn interval
Conservative removal during live trading
Historical: Mutation Rate (0.05-0.40, Default: 0.20):
Probability each gene mutates during breeding (20% = 2 out of 10 genes on average)
Higher = more exploration, slower convergence
Lower = more exploitation, faster convergence but risk of local optima
20% balances exploration vs exploitation
Live: Mutation Rate (0.02-0.20, Default: 0.08):
Mutation rate during live trading
Much lower for stability (don't want population to suddenly degrade)
8% = mostly inherits parent genes with small tweaks
Mutation Strength (0.05-0.25, Default: 0.12):
How much genes change when mutated (% of gene's total range)
0.05 = tiny nudges (fine-tuning)
0.12 = moderate jumps (recommended)
0.25 = large leaps (aggressive exploration)
Example: If gene range is 0.5-2.0, 12% strength = ±0.18 possible change
📈 Signal Quality Settings
Min Signal Probability (0.55-0.80, Default: 0.65):
Quality gate threshold - signals below this never generate
0.55-0.60 = More signals, accept lower confidence (higher risk)
0.65 = Institutional-grade balance (recommended)
0.70-0.75 = Fewer but higher-quality signals (conservative)
0.80+ = Very selective, very few signals (ultra-conservative)
Min Confluence Score (1-3, Default: 2):
Required indicator agreement before signal generates
1 = Any single indicator can trigger (not recommended - too many false signals)
2 = Requires 2 of 3 indicators agree (RECOMMENDED for balance)
3 = All 3 must agree (very selective, few signals, high quality)
Base Persistence Bars (1-5, Default: 2):
Base bars signal must persist before entry
System adapts automatically:
High probability signals (75%+) enter 1 bar faster
Low probability signals (<68%) need 1 bar more
Trending regime: -1 bar (faster entries)
Volatile regime: +1 bar (more confirmation)
1 = Immediate entry after quality gate (responsive but prone to whipsaw)
2 = Balanced confirmation (recommended)
3-5 = Patient confirmation (slower but more reliable)
Cooldown After Trade (3-20, Default: 8):
Bars to wait after exit before next entry allowed
Prevents overtrading and revenge trading
3 = Minimal cooldown (active trading)
8 = Balanced (recommended)
15-20 = Conservative (position trading)
Entropy Length (10-50, Default: 20):
Lookback period for market order/disorder calculation
Lower = more responsive to regime changes (noisy)
Higher = more stable regime detection (laggy)
20 = works across most timeframes
Momentum Length (5-30, Default: 14):
Period for RSI/ROC calculations
14 = standard (RSI default)
Lower = more signals, less reliable
Higher = fewer signals, more reliable
Structure Length (20-100, Default: 50):
Lookback for support/resistance swing range
20 = short-term swings (day trading)
50 = medium-term structure (recommended)
100 = major structure (position trading)
Trend EMA Length (20-100, Default: 50):
EMA period for trend detection and direction bias
20 = short-term trend (responsive)
50 = medium-term trend (recommended)
100 = long-term trend (position trading)
ATR Period (5-30, Default: 14):
Period for volatility measurement
14 = standard ATR
Lower = more responsive to vol changes
Higher = smoother vol calculation
📊 Volatility Scaling (DVS) Settings
Enable DVS (Default: ON):
Dynamic volatility scaling for adaptive stop/target placement
Highly recommended to leave ON
OFF only for testing fixed-distance stops
DVS Method (Default: Ensemble):
ATR Ratio: Simple, fast, single-method (good for beginners)
Parkinson: High-low range based (good for intraday)
Garman-Klass: OHLC based (sophisticated, considers gaps)
Ensemble: Median of all three (RECOMMENDED - most robust)
DVS Memory (20-200, Default: 100):
Lookback for baseline volatility comparison
20 = very responsive to vol changes (can overreact)
100 = balanced adaptation (recommended)
200 = slow, stable baseline (minimizes false vol signals)
DVS Sensitivity (0.3-1.5, Default: 0.7):
How much volatility affects scaling (power-law exponent)
0.3 = Conservative, heavily dampens vol impact (cube root)
0.5 = Moderate dampening (square root)
0.7 = Balanced response (recommended)
1.0 = Linear, full 1:1 vol response
1.5 = Aggressive, amplified response (exponential)
🔬 Walk-Forward Optimization Settings
Enable WFO (Default: ON):
Out-of-sample validation to prevent overfitting
Highly recommended to leave ON
OFF only for testing or if you want unvalidated strategies
Training Window (100-500, Default: 250):
Bars for in-sample optimization
100 = fast validation, less data (risky)
250 = balanced (recommended) - about 1-2 months on daily, 1-2 weeks on 15min
500 = patient validation, more data (conservative)
Testing Window (30-200, Default: 75):
Bars for out-of-sample validation
Should be ~30% of training window
30 = minimal test (fast validation)
75 = balanced (recommended)
200 = extensive test (very conservative)
Min Trades for Validation (3-15, Default: 5):
Required trades in BOTH training AND testing periods
3 = minimal sample (risky, fast validation)
5 = balanced (recommended)
10+ = conservative (slow validation, high confidence)
WFO Efficiency Threshold (0.3-0.9, Default: 0.55):
Minimum test/train performance ratio required
0.30 = Very loose (test must be 30% as good as training)
0.55 = Balanced (recommended) - test must be 55% as good
0.70+ = Strict (test must closely match training)
Higher = fewer validated strategies, lower risk of overfitting
🎨 Premium Visuals Settings
Visual Theme:
Neon Genesis: Cyberpunk aesthetic (cyan/magenta/purple)
Carbon Fiber: Industrial look (blue/red/gray)
Quantum Blue: Quantum computing (blue/purple/pink)
Aurora: Northern lights (teal/orange/purple)
⚡ Gradient Probability Cloud (Default: ON):
Multi-layer gradient showing signal buildup
Turn OFF if chart lags or for cleaner look
Cloud Gradient Layers (3-15, Default: 7):
More layers = smoother gradient, more CPU intensive
Fewer layers = faster, blockier appearance
🎗️ Population Fitness Ribbon (Default: ON):
Histogram showing fitness distribution
Turn OFF for cleaner chart
Ribbon Layers (5-20, Default: 10):
More layers = finer fitness detail
Fewer layers = simpler histogram
⭕ Signal Confidence Halo (Default: ON):
Circular indicator around entry signals
Size/brightness scales with probability
Minimal performance cost
🔬 Evolution Event Markers (Default: ON):
Diamond (spawn) and X (cull) markers
Shows genetic algorithm activity
Minimal performance cost
🎯 Stop/Target Lines (Default: ON):
Shows shadow portfolio stop/target levels
Turn OFF for cleaner chart (recommended for screenshots/presentations)
📊 Enhanced Dashboard (Default: ON):
Comprehensive metrics panel
Should stay ON unless you want zero overlays
🔍 Diagnostics Panel (Default: OFF):
Detailed signal rejection tracking
Turn ON when optimizing settings
Turn OFF during normal use (slight performance cost)
📈 USAGE WORKFLOW - HOW TO USE THIS INDICATOR
Phase 1: Initial Setup & Learning
Add AGE to your chart
Recommended timeframes: 15min, 30min, 1H (best signal-to-noise ratio)
Works on: 5min (day trading), 4H (swing trading), Daily (position trading)
Load 1000+ bars for sufficient evolution history
Let the population evolve (100+ bars minimum)
First 50 bars: Random exploration, poor results expected
Bars 50-150: Population converging, fitness improving
Bars 150+: Stable performance, validated strategies emerging
Watch the dashboard metrics
Population should grow toward max capacity
Generation number should advance regularly
Validated strategies counter should increase
Best fitness should trend upward toward 0.50-0.70 range
Observe evolution markers
Diamond markers (cyan) = new strategies spawning
X markers (red) = weak strategies being culled
Frequent early activity = healthy evolution
Activity slowing = population stabilizing
Be patient. Evolution takes time. Don't judge performance before 150+ bars.
Phase 2: Signal Observation
Watch signals form
Gradient cloud builds up 2-3 bars before entry
Cloud brightness = probability strength
Cloud thickness = signal persistence
Check signal quality
Look at confidence halo size when entry marker appears
Large bright halo = elite setup (85%+)
Medium halo = strong setup (75-85%)
Small halo = good setup (65-75%)
Verify market conditions
Check trend EMA color (green = uptrend, red = downtrend, gray = choppy)
Check background tint (green = trending, red = volatile, clear = choppy)
Trending background + aligned signal = ideal conditions
Review dashboard signal status
Current Signal column shows:
Status (Long/Short/Forming/Waiting)
Confidence % (actual probability value)
Quality assessment (Elite/Strong/Good)
Confluence score (2/3 or 3/3 preferred)
Only signals meeting ALL quality gates appear on chart. If you're not seeing signals, population is either still learning or market conditions aren't suitable.
Phase 3: Manual Trading Execution
When Long Signal Fires:
Verify confidence level (dashboard or halo size)
Confirm trend alignment (EMA sloping up, green color)
Check regime (preferably trending or choppy, avoid volatile)
Enter long manually on your broker platform
Set stop loss at displayed stop line level (if lines enabled), or use your own risk management
Set take profit at displayed target line level, or trail manually
Monitor position - exit if X marker appears (signal reversal)
When Short Signal Fires:
Same verification process
Confirm downtrend (EMA sloping down, red color)
Enter short manually
Use displayed stop/target levels or your own
AGE tells you WHEN and HOW CONFIDENT. You decide WHETHER and HOW MUCH.
Phase 4: Set Up Alerts (Never Miss a Signal)
Right-click on indicator name in legend
Select "Add Alert"
Choose condition:
"AGE Long" = Long entry signal fired
"AGE Short" = Short entry signal fired
"AGE Exit" = Position reversal/exit signal
Set notification method:
Sound alert (popup on chart)
Email notification
Webhook to phone/trading platform
Mobile app push notification
Name the alert (e.g., "AGE BTCUSD 15min Long")
Save alert
Recommended: Set alerts for both long and short, enable mobile push notifications. You'll get alerted in real-time even if not watching charts.
Phase 5: Monitor Population Health
Weekly Review:
Check dashboard Population column:
Active count should be near max (6-8 of 8)
Validated count should be >50% of active
Generation should be advancing (1-2 per week typical)
Check dashboard Performance column:
Aggregate win rate should be >50% (target: 55-65%)
Total P&L should be positive (may fluctuate)
Best fitness should be >0.50 (target: 0.55-0.70)
MAS should be declining slowly (normal adaptation)
Check Active Strategy column:
Selected strategy should be validated (✓ VAL)
Personal fitness should match best fitness
Trade count should be accumulating
Win rate should be >50%
Warning Signs:
Zero validated strategies after 300+ bars = settings too strict or market unsuitable
Best fitness stuck <0.30 = population struggling, consider parameter adjustment
No spawning/culling for 200+ bars = evolution stalled (may be optimal or need reset)
Aggregate win rate <45% sustained = system not working on this instrument/timeframe
Health Check Pass:
50%+ strategies validated
Best fitness >0.50
Aggregate win rate >52%
Regular spawn/cull activity
Selected strategy validated
Phase 6: Optimization (If Needed)
Enable Diagnostics Panel (bottom-right) for data-driven tuning:
Problem: Too Few Signals
Evaluated: 200
Passed: 8 (4%)
⨯ Probability: 140 (70%)
Solutions:
Lower min probability: 65% → 60% or 55%
Reduce min confluence: 2 → 1
Lower base persistence: 2 → 1
Increase mutation rate temporarily to explore new genes
Check if regime filter is blocking signals (⨯ Regime high?)
Problem: Too Many False Signals
Evaluated: 200
Passed: 90 (45%)
Win rate: 42%
Solutions:
Raise min probability: 65% → 70% or 75%
Increase min confluence: 2 → 3
Raise base persistence: 2 → 3
Enable WFO if disabled (validates strategies before use)
Check if volume filter is being ignored (⨯ Volume low?)
Problem: Counter-Trend Losses
⨯ Trend: 5 (only 5% rejected)
Losses often occur against trend
Solutions:
System should already filter trend opposition
May need stronger trend requirement
Consider only taking signals aligned with higher timeframe trend
Use longer trend EMA (50 → 100)
Problem: Volatile Market Whipsaws
⨯ Regime: 100 (50% rejected by volatile regime)
Still getting stopped out frequently
Solutions:
System is correctly blocking volatile signals
Losses happening because vol filter isn't strict enough
Consider not trading during volatile periods (respect the regime)
Or disable regime filter and accept higher risk
Optimization Workflow:
Enable diagnostics
Run 200+ bars with current settings
Analyze rejection patterns and win rate
Make ONE change at a time (scientific method)
Re-run 200+ bars and compare results
Keep change if improvement, revert if worse
Disable diagnostics when satisfied
Never change multiple parameters at once - you won't know what worked.
Phase 7: Multi-Instrument Deployment
AGE learns independently on each chart:
Recommended Strategy:
Deploy AGE on 3-5 different instruments
Different asset classes ideal (e.g., ES futures, EURUSD, BTCUSD, SPY, Gold)
Each learns optimal strategies for that instrument's personality
Take signals from all 5 charts
Natural diversification reduces overall risk
Why This Works:
When one market is choppy, others may be trending
Different instruments respond to different news/catalysts
Portfolio-level win rate more stable than single-instrument
Evolution explores different parameter spaces on each chart
Setup:
Same settings across all charts (or customize if preferred)
Set alerts for all
Take every validated signal across all instruments
Position size based on total account (don't overleverage any single signal)
⚠️ REALISTIC EXPECTATIONS - CRITICAL READING
What AGE Can Do
✅ Generate probability-weighted signals using genetic algorithms
✅ Evolve strategies in real-time through natural selection
✅ Validate strategies on out-of-sample data (walk-forward optimization)
✅ Adapt to changing market conditions automatically over time
✅ Provide comprehensive metrics on population health and signal quality
✅ Work on any instrument, any timeframe, any broker
✅ Improve over time as weak strategies are culled and fit strategies breed
What AGE Cannot Do
❌ Win every trade (typical win rate: 55-65% at best)
❌ Predict the future with certainty (markets are probabilistic, not deterministic)
❌ Work perfectly from bar 1 (needs 100-150 bars to learn and stabilize)
❌ Guarantee profits under all market conditions
❌ Replace your trading discipline and risk management
❌ Execute trades automatically (this is an indicator, not a strategy)
❌ Prevent all losses (drawdowns are normal and expected)
❌ Adapt instantly to regime changes (re-learning takes 50-100 bars)
Performance Realities
Typical Performance After Evolution Stabilizes (150+ bars):
Win Rate: 55-65% (excellent for trend-following systems)
Profit Factor: 1.5-2.5 (realistic for validated strategies)
Signal Frequency: 5-15 signals per 100 bars (quality over quantity)
Drawdown Periods: 20-40% of time in equity retracement (normal trading reality)
Max Consecutive Losses: 5-8 losses possible even with 60% win rate (probability says this is normal)
Evolution Timeline:
Bars 0-50: Random exploration, learning phase - poor results expected, don't judge yet
Bars 50-150: Population converging, fitness climbing - results improving
Bars 150-300: Stable performance, most strategies validated - consistent results
Bars 300+: Mature population, optimal genes dominant - best results
Market Condition Dependency:
Trending Markets: AGE excels - clear directional moves, high-probability setups
Choppy Markets: AGE struggles - fewer signals generated, lower win rate
Volatile Markets: AGE cautious - higher rejection rate, wider stops, fewer trades
Market Regime Changes:
When market shifts from trending to choppy overnight
Validated strategies can become temporarily invalidated
AGE will adapt through evolution, but not instantly
Expect 50-100 bar re-learning period after major regime shifts
Fitness may temporarily drop then recover
This is NOT a holy grail. It's a sophisticated signal generator that learns and adapts using genetic algorithms. Your success depends on:
Patience during learning periods (don't abandon after 3 losses)
Proper position sizing (risk 0.5-2% per trade, not 10%)
Following signals consistently (cherry-picking defeats statistical edge)
Not abandoning system prematurely (give it 200+ bars minimum)
Understanding probability (60% win rate means 40% of trades WILL lose)
Respecting market conditions (trending = trade more, choppy = trade less)
Managing emotions (AGE is emotionless, you need to be too)
Expected Drawdowns:
Single-strategy max DD: 10-20% of equity (normal)
Portfolio across multiple instruments: 5-15% (diversification helps)
Losing streaks: 3-5 consecutive losses expected periodically
No indicator eliminates risk. AGE manages risk through:
Quality gates (rejecting low-probability signals)
Confluence requirements (multi-indicator confirmation)
Persistence requirements (no knee-jerk reactions)
Regime awareness (reduced trading in chaos)
Walk-forward validation (preventing overfitting)
But it cannot prevent all losses. That's inherent to trading.
🔧 TECHNICAL SPECIFICATIONS
Platform: TradingView Pine Script v5
Indicator Type: Overlay indicator (plots on price chart)
Execution Type: Signals only - no automatic order placement
Computational Load:
Moderate to High (genetic algorithms + shadow portfolios)
8 strategies × shadow portfolio simulation = significant computation
Premium visuals add additional load (gradient cloud, fitness ribbon)
TradingView Resource Limits (Built-in Caps):
Max Bars Back: 500 (sufficient for WFO and evolution)
Max Labels: 100 (plenty for entry/exit markers)
Max Lines: 150 (adequate for stop/target lines)
Max Boxes: 50 (not heavily used)
Max Polylines: 100 (confidence halos)
Recommended Chart Settings:
Timeframe: 15min to 1H (optimal signal/noise balance)
5min: Works but noisier, more signals
4H/Daily: Works but fewer signals
Bars Loaded: 1000+ (ensures sufficient evolution history)
Replay Mode: Excellent for testing without risk
Performance Optimization Tips:
Disable gradient cloud if chart lags (most CPU intensive visual)
Disable fitness ribbon if still laggy
Reduce cloud layers from 7 to 3
Reduce ribbon layers from 10 to 5
Turn off diagnostics panel unless actively tuning
Close other heavy indicators to free resources
Browser/Platform Compatibility:
Works on all modern browsers (Chrome, Firefox, Safari, Edge)
Mobile app supported (full functionality on phone/tablet)
Desktop app supported (best performance)
Web version supported (may be slower on older computers)
Data Requirements:
Real-time or delayed data both work
No special data feeds required
Works with TradingView's standard data
Historical + live data seamlessly integrated
🎓 THEORETICAL FOUNDATIONS
AGE synthesizes advanced concepts from multiple disciplines:
Evolutionary Computation
Genetic Algorithms (Holland, 1975): Population-based optimization through natural selection metaphor
Tournament Selection: Fitness-based parent selection with diversity preservation
Crossover Operators: Fitness-weighted gene recombination from two parents
Mutation Operators: Random gene perturbation for exploration of new parameter space
Elitism: Preservation of top N performers to prevent loss of best solutions
Adaptive Parameters: Different mutation rates for historical vs. live phases
Technical Analysis
Support/Resistance: Price structure within swing ranges
Trend Following: EMA-based directional bias
Momentum Analysis: RSI, ROC, MACD composite indicators
Volatility Analysis: ATR-based risk scaling
Volume Confirmation: Trade activity validation
Information Theory
Shannon Entropy (1948): Quantification of market order vs. disorder
Signal-to-Noise Ratio: Directional information vs. random walk
Information Content: How much "information" a price move contains
Statistics & Probability
Walk-Forward Analysis: Rolling in-sample/out-of-sample optimization
Out-of-Sample Validation: Testing on unseen data to prevent overfitting
Monte Carlo Principles: Shadow portfolio simulation with realistic execution
Expectancy Theory: Win rate × avg win - loss rate × avg loss
Probability Distributions: Signal confidence quantification
Risk Management
ATR-Based Stops: Volatility-normalized risk per trade
Volatility Regime Detection: Market state classification (trending/choppy/volatile)
Drawdown Control: Peak-to-trough equity measurement
R-Multiple Normalization: Performance measurement in risk units
Machine Learning Concepts
Online Learning: Continuous adaptation as new data arrives
Fitness Functions: Multi-objective optimization (win rate + expectancy + drawdown)
Exploration vs. Exploitation: Balance between trying new strategies and using proven ones
Overfitting Prevention: Walk-forward validation as regularization
Novel Contribution:
AGE is the first TradingView indicator to apply genetic algorithms to real-time indicator parameter optimization while maintaining strict anti-overfitting controls through walk-forward validation.
Most "adaptive" indicators simply recalibrate lookback periods or thresholds. AGE evolves entirely new strategies through competitive selection - it's not parameter tuning, it's Darwinian evolution of trading logic itself.
The combination of:
Genetic algorithm population management
Shadow portfolio simulation for realistic fitness evaluation
Walk-forward validation to prevent overfitting
Multi-indicator confluence for signal quality
Dynamic volatility scaling for adaptive risk
...creates a system that genuinely learns and improves over time while avoiding the curse of curve-fitting that plagues most optimization approaches.
🏗️ DEVELOPMENT NOTES
This project represents months of intensive development, facing significant technical challenges:
Challenge 1: Making Genetics Actually Work
Early versions spawned garbage strategies that polluted the gene pool:
Random gene combinations produced nonsensical parameter sets
Weak strategies survived too long, dragging down population
No clear convergence toward optimal solutions
Solution:
Comprehensive fitness scoring (4 factors: win rate, P&L, expectancy, drawdown)
Elite preservation (top 2 always protected)
Walk-forward validation (unproven strategies penalized 30%)
Tournament selection (fitness-weighted breeding)
Adaptive culling (MAS decay creates increasing selection pressure)
Challenge 2: Balancing Evolution Speed vs. Stability
Too fast = population chaos, no convergence. Too slow = can't adapt to regime changes.
Solution:
Dual-phase timing: Fast evolution during historical (30/60 bar intervals), slow during live (200/400 bar intervals)
Adaptive mutation rates: 20% historical, 8% live
Spawn/cull ratio: Always 2:1 to prevent population collapse
Challenge 3: Shadow Portfolio Accuracy
Needed realistic trade simulation without lookahead bias:
Can't peek at future bars for exits
Must track multiple portfolios simultaneously
Stop/target checks must use bar's high/low correctly
Solution:
Entry on close (realistic)
Exit checks on current bar's high/low (realistic)
Independent position tracking per strategy
Cooldown periods to prevent unrealistic rapid re-entry
ATR-normalized P&L (R-multiples) for fair comparison across volatility regimes
Challenge 4: Pine Script Compilation Limits
Hit TradingView's execution limits multiple times:
Too many array operations
Too many variables
Too complex conditional logic
Solution:
Optimized data structures (single DNA array instead of 8 separate arrays)
Minimal visual overlays (only essential plots)
Efficient fitness calculations (vectorized where possible)
Strategic use of barstate.islast to minimize dashboard updates
Challenge 5: Walk-Forward Implementation
Standard WFO is difficult in Pine Script:
Can't easily "roll forward" through historical data
Can't re-optimize strategies mid-stream
Must work in real-time streaming environment
Solution:
Age-based phase detection (first 250 bars = training, next 75 = testing)
Separate metric tracking for train vs. test
Efficiency calculation at fixed interval (after test period completes)
Validation flag persists for strategy lifetime
Challenge 6: Signal Quality Control
Early versions generated too many signals with poor win rates:
Single indicators produced excessive noise
No trend alignment
No regime awareness
Instant entries on single-bar spikes
Solution:
Three-layer confluence system (entropy + momentum + structure)
Minimum 2-of-3 agreement requirement
Trend alignment checks (penalty for counter-trend)
Regime-based probability adjustments
Persistence requirements (signals must hold multiple bars)
Volume confirmation
Quality gate (probability + confluence thresholds)
The Result
A system that:
Truly evolves (not just parameter sweeps)
Truly validates (out-of-sample testing)
Truly adapts (ongoing competition and breeding)
Stays within TradingView's platform constraints
Provides institutional-quality signals
Maintains transparency (full metrics dashboard)
Development time: 3+ months of iterative refinement
Lines of code: ~1500 (highly optimized)
Test instruments: ES, NQ, EURUSD, BTCUSD, SPY, AAPL
Test timeframes: 5min, 15min, 1H, Daily
🎯 FINAL WORDS
The Adaptive Genesis Engine is not just another indicator - it's a living system that learns, adapts, and improves through the same principles that drive biological evolution. Every bar it observes adds to its experience. Every strategy it spawns explores new parameter combinations. Every strategy it culls removes weakness from the gene pool.
This is evolution in action on your charts.
You're not getting a static formula locked in time. You're getting a system that thinks , that competes , that survives through natural selection. The strongest strategies rise to the top. The weakest die. The gene pool improves generation after generation.
AGE doesn't claim to predict the future - it adapts to whatever the future brings. When markets shift from trending to choppy, from calm to volatile, from bullish to bearish - AGE evolves new strategies suited to the new regime.
Use it on any instrument. Any timeframe. Any market condition. AGE will adapt.
This indicator gives you the pure signal intelligence. How you choose to act on it - position sizing, risk management, execution discipline - that's your responsibility. AGE tells you when and how confident . You decide whether and how much .
Trust the process. Respect the evolution. Let Darwin work.
"In markets, as in nature, it is not the strongest strategies that survive, nor the most intelligent - but those most responsive to change."
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
— Happy Holiday's
Adaptive SuperTrend - Multi-Method# 📊 Adaptive SuperTrend - Multi-Method with Advanced Analytics
## 🎯 Overview
The **Adaptive SuperTrend - Multi-Method** is a sophisticated trading indicator that enhances the traditional SuperTrend by dynamically adjusting its parameters based on market conditions. Unlike static SuperTrend indicators, this version adapts to volatility changes, providing more reliable signals across different market regimes.
## ✨ Key Features
### 🤖 7 Adaptive Methods
Choose from multiple adaptation strategies or use the powerful Hybrid mode that combines all methods:
1. **Percentile-Based Adaptation**
- Adjusts multiplier based on ATR percentile ranking
- Tightens during extreme volatility, widens during calm periods
- Lookback: 100 bars (customizable)
2. **Volatility Regime Classification**
- Categorizes market into Low/Normal/High volatility regimes
- Applies different multipliers for each regime
- Default: Low=4.0x, Normal=2.5x, High=1.5x
3. **Z-Score Normalization**
- Uses statistical Z-score to normalize ATR
- Adapts to volatility outliers intelligently
- Sensitivity: 0.3 (adjustable)
4. **Dynamic Period Adjustment**
- Blends short and long ATR periods based on volatility
- Responsive in volatile markets, stable in calm markets
- Period range: 7-20 bars
5. **Rate of Change Method**
- Adjusts based on ATR's rate of change
- Detects accelerating/decelerating volatility
- Lookback: 20 bars
6. **Multi-Timeframe Comparison**
- Compares current timeframe ATR with higher timeframe
- Provides macro-context awareness
- Default HTF: Daily
7. **Hybrid Approach** ⭐ RECOMMENDED
- Combines all 6 methods with equal weighting
- Smoothed with EMA for stability
- Best overall performance
### 📈 Professional Statistics Panel
A comprehensive performance tracking panel with ML Fusion-inspired color scheme:
**Features:**
- 💼 **Current Position**: Live LONG/SHORT status with entry price
- 📊 **Total Points**: Cumulative P&L for selected period (default: 60 days)
- 💰 **Current P&L**: Unrealized profit/loss with percentage
- 🟢 **Long Stats**: Separate tracking for long trades
- 🔴 **Short Stats**: Separate tracking for short trades
- 📈 **Averages**: Average points per trade (overall, long, short)
- 📅 **Date Range**: Start and end dates of tracking period
**Customizable Options:**
- Lookback period: 1-365 days (default: 60 days)
- Table position: Top Left/Right, Bottom Left/Right
- Toggle date range display on/off
### 🎨 Visual Features
- **Color-Coded Signals**: Clear buy (green) and sell (red) markers
- **Trend Background**: Subtle background coloring for trend direction
- **SuperTrend Line**: Dynamic color based on current trend
- **Price Fill**: Shaded area between price and SuperTrend
- **Vibrant Colors**: Professional Material Design color palette
### 📊 Information Panel
Real-time display of:
- Active adaptation method
- Current ATR value
- ATR percentile ranking
- Active multiplier vs base multiplier
- Volatility regime (Low/Normal/High)
- ATR Z-Score
- Current trend direction
## 🔧 How to Use
### Quick Start
1. Add indicator to your chart
2. Choose adaptation method (start with "Hybrid")
3. Monitor the statistics panel for performance
4. Use signals for entry/exit points
### Recommended Settings
**For Intraday Trading:**
- Method: Hybrid or Dynamic Period
- Base ATR Period: 10
- Base Multiplier: 2.5-3.0
- P&L Tracking: 30 days
**For Swing Trading:**
- Method: Hybrid or Multi-Timeframe
- Base ATR Period: 14
- Base Multiplier: 3.0-4.0
- P&L Tracking: 90 days
**For Scalping:**
- Method: Rate of Change or Z-Score
- Base ATR Period: 7
- Base Multiplier: 2.0-2.5
- P&L Tracking: 7-14 days
### Signal Interpretation
✅ **BUY Signal**: Triangle up below bar
- Enter long position
- Place stop loss below SuperTrend line
❌ **SELL Signal**: Triangle down above bar
- Exit long / Enter short position
- Place stop loss above SuperTrend line
## ⚙️ Input Parameters
### Basic Settings
- **Base ATR Period**: Default 10 (1-50)
- **Base Multiplier**: Default 3.0 (0.1-10.0)
### Method-Specific Settings
Each of the 7 methods has its own customizable parameters for fine-tuning.
### Display Settings
- **Show Volatility Regime**: Toggle regime display
- **Show ATR Info Panel**: Toggle information panel
- **Show Statistics Panel**: Toggle performance stats
- **Stats Table Position**: Choose corner placement
- **P&L Tracking Period**: 1-365 days (default: 60)
- **Show P&L Date Range**: Toggle date range display
- **Bullish Color**: Customize trend-up color
- **Bearish Color**: Customize trend-down color
## 📊 Statistics Tracking
The indicator automatically tracks:
- **Entry Points**: Recorded on every trend change
- **Exit Points**: Calculated on opposite signal
- **Points Gained/Lost**: Per trade and cumulative
- **Long vs Short Performance**: Separate analytics
- **Trade Count**: Total, long, and short trades
- **Average Performance**: Overall and per direction
- **Time-Based Filtering**: Only shows trades within lookback period
## 🎯 Advantages Over Standard SuperTrend
1. **Adaptive to Market Conditions**: No more whipsaws in ranging markets or missed trends in volatile markets
2. **Multiple Adaptation Strategies**: Choose the method that fits your market and timeframe
3. **Comprehensive Analytics**: Track your performance with detailed statistics
4. **Professional Presentation**: Clean, organized display with Material Design colors
5. **Flexible Configuration**: Highly customizable for any trading style
6. **Real-Time Monitoring**: Live P&L tracking and performance metrics
## 🔔 Alerts
Built-in alert conditions for:
- Buy Signal (trend change to bullish)
- Sell Signal (trend change to bearish)
- Trend Change (any direction change)
Set up TradingView alerts to get notified on your phone or email when signals occur.
## 💡 Pro Tips
1. **Combine with Volume**: Use with volume indicators for confirmation
2. **Multiple Timeframes**: Add on multiple timeframes for confluence
3. **Risk Management**: Always use stop losses at SuperTrend line
4. **Backtest First**: Test on historical data before live trading
5. **Monitor Statistics**: Track your win rate and average gains
6. **Adjust for Market**: Switch methods based on market conditions
7. **Use Hybrid Mode**: When unsure, Hybrid mode provides balanced adaptation
## 📝 Version Notes
**Version 1.0**
- 7 adaptive methods with Hybrid mode
- Professional statistics panel with P&L tracking
- Configurable lookback period (1-365 days)
- Date range display
- Material Design color scheme
- Real-time performance analytics
- Multiple table position options
## ⚠️ Disclaimer
This indicator is for educational and informational purposes only. It should not be considered as financial advice. Always do your own research and consider consulting with a financial advisor before making trading decisions. Past performance does not guarantee future results.
---
**Happy Trading! 🚀📈**
---
## 🏷️ Tags
#SuperTrend #Adaptive #Volatility #TrendFollowing #ATR #Statistics #Analytics #PnL #Trading #Technical #Indicators #MultiMethod #Swing #Intraday #Scalping #RiskManagement
Kinetic Scalper [BULLBYTE]KINETIC SCALPER - ADVANCED MOMENTUM & CONFLUENCE TRADING SYSTEM
A SOPHISTICATED MULTI-FACTOR ANALYSIS INDICATOR FOR PRECISION ENTRIES
The Kinetic Scalper is a comprehensive trading analysis tool that combines volume-weighted momentum calculations, multi-oscillator divergence detection, and a proprietary 15-factor confluence scoring system to identify high-probability reversal setups across all timeframes.
WHAT MAKES THIS INDICATOR ORIGINAL
This is NOT a simple mashup of existing indicators.
The Kinetic Scalper features a completely custom momentum engine called the "Kinetic Pulse" - a volume-weighted momentum oscillator with Fisher Transform normalization that fundamentally differs from standard RSI or other momentum indicators. Every component feeds into a unified algorithmic framework designed specifically for this system.
KEY INNOVATIONS:
KINETIC PULSE ENGINE
Unlike standard RSI which uses simple price changes, the Kinetic Pulse applies:
→ Volume weighting to price movements (high-volume moves carry more weight)
→ EMA smoothing instead of traditional SMA (faster response to changes)
→ Fisher Transform normalization for improved signal clarity
→ Adaptive period adjustment based on current volatility regime
→ Result: A momentum oscillator that responds to conviction, not just price noise
15-FACTOR CONFLUENCE SCORING SYSTEM
Every signal is graded based on the number of confirming factors present:
→ Momentum position (oversold/overbought extremes)
→ Momentum velocity (direction change confirmation)
→ Momentum acceleration (strength of reversal)
→ Multi-oscillator divergence (price vs. 3 oscillators)
→ Volume confirmation (above-average participation)
→ Volume delta analysis (buying vs. selling pressure)
→ Higher timeframe alignment (trend confirmation from larger timeframe)
→ Session timing (major forex session awareness)
→ Structure clearance (clear path to profit targets)
→ Support/resistance proximity (confluence with key levels)
→ Market regime filtering (trending vs. choppy conditions)
Signals are graded A+, A, or B based on how many factors align:
• CONSERVATIVE MODE: A+ requires 12+ factors, A requires 9+, B requires 7+
• BALANCED MODE: A+ requires 10+ factors, A requires 7+, B requires 5+
• AGGRESSIVE MODE: A+ requires 8+ factors, A requires 5+, B requires 3+
TRADE ANALYSIS STATE MACHINE
A sophisticated monitoring system that tracks trade conditions in real-time using:
→ 5-state analysis framework (Factors Aligned / Positive Bias / Mixed Signals / Factors Weakening / Negative Bias)
→ Hysteresis-based transitions (different thresholds to enter vs. exit states)
→ Confidence smoothing with EMA (reduces noise, prevents flip-flopping)
→ Minimum commitment periods before state changes
→ Override logic for significant events (near TP/SL, momentum reversals)
→ Result: Stable, actionable guidance that doesn't change on every bar
INSTRUMENT-AWARE CALIBRATION
Automatically detects what you're trading and applies optimized parameters:
→ Forex Majors: Standard ATR, high session weight
→ Forex Crosses: Tighter stops, moderate session weight
→ Crypto: Wider stops (1.8x multiplier), reduced session weight (24/7 markets)
→ Indices: Moderate-wide stops, high session weight
→ Commodities: Moderate stops, moderate session weight
WHAT THIS INDICATOR DOES
The Kinetic Scalper is designed to identify high-confluence reversal opportunities by analyzing multiple dimensions of market behavior simultaneously.
CORE FUNCTIONS:
1. SIGNAL GENERATION
→ Identifies potential reversal points at oversold/overbought extremes
→ Confirms with multi-oscillator divergence detection
→ Validates with volume, higher timeframe, and structural analysis
→ Filters out low-probability setups automatically
→ Grades signals based on total confluence factors present
2. AUTOMATED TRADE TRACKING
→ Calculates structure-based or ATR-based stop loss levels
→ Projects take profit targets using risk-to-reward ratios
→ Monitors live position status (P/L, distance to targets, R-multiple)
→ Tracks TP1 and TP2 hits automatically
→ Displays outcome markers (TP HIT, PARTIAL WIN, STOPPED)
3. REAL-TIME CONDITION MONITORING
→ Analyzes 6 factor categories during active trades
→ Provides confidence scoring (0-100 scale)
→ Generates actionable guidance based on current market state
→ Alerts when conditions deteriorate or improve
→ Helps with trade management decisions
4. COMPREHENSIVE MARKET ANALYSIS
→ Session detection (Asian, London, New York, Overlap)
→ Volatility regime identification (Low, Normal, High, Extreme)
→ Trend state classification (Trending Up/Down, Ranging, Transitioning)
→ Volume analysis (relative volume and delta approximation)
→ Choppiness filtering (blocks signals in ranging markets)
WHY USE THIS INDICATOR
PROBLEM: Most momentum indicators generate too many false signals at extremes.
SOLUTION: The Kinetic Scalper requires MULTIPLE confirming factors before generating a signal, dramatically reducing noise and focusing on high-confluence setups.
ADVANTAGES:
✓ QUALITY OVER QUANTITY
→ Signal grading ensures you can filter for only the highest-quality setups
→ A+ signals have 10-12+ confirming factors aligned
→ Cooldown periods prevent over-trading the same move
✓ COMPLETE TRADE FRAMEWORK
→ Entry signals with confluence justification
→ Calculated stop loss based on market structure or ATR
→ Two profit targets with clear risk-to-reward ratios
→ Live trade monitoring with factor analysis
→ Outcome tracking and visual markers
✓ ADAPTIVE TO MARKET CONDITIONS
→ Volatility-based period adjustment for momentum calculations
→ Instrument-specific ATR multipliers
→ Session awareness for forex traders
→ Higher timeframe trend filtering
→ Automatic regime detection (trending vs. choppy)
✓ TRANSPARENT METHODOLOGY
→ Every input has detailed tooltips explaining its purpose
→ Signal tooltips show exactly why a signal was generated
→ Dashboard displays all relevant market conditions
→ Factor scores are visible during trades
→ No "black box" mystery calculations
✓ NON-REPAINTING & RELIABLE
→ All signals use barstate.isconfirmed (only on closed bars)
→ Higher timeframe data uses lookahead_off with historical offset
→ No future data access or repainting behavior
→ What you see is what you get - signals don't disappear or move
HOW THE INDICATOR WORKS
SIGNAL GENERATION PROCESS:
STEP 1: MOMENTUM ANALYSIS
The Kinetic Pulse engine calculates volume-weighted momentum:
→ Price changes are weighted by volume ratio vs. 20-bar average
→ High-volume moves have more influence on the oscillator
→ Gains and losses are smoothed using EMA (not SMA like RSI)
→ Fisher Transform is applied for normalization to 0-100 scale
→ Result: Momentum reading that emphasizes conviction, not noise
STEP 2: REVERSAL DETECTION
The indicator looks for potential reversal conditions:
→ Kinetic Pulse reaching oversold zone (below dynamic lower threshold)
→ Momentum velocity turning positive after being negative (for longs)
→ OR bullish divergence detected on multiple oscillators
→ Price making lower lows while oscillators make higher lows = divergence
STEP 3: MULTI-OSCILLATOR DIVERGENCE CONFIRMATION
Divergence is validated across three sources:
→ Kinetic Pulse divergence
→ CCI divergence
→ Stochastic divergence
→ Multiple oscillators confirming divergence increases signal reliability
STEP 4: CONFLUENCE FACTOR SCORING
The system evaluates all 15 possible confirming factors:
→ Momentum position: Is pulse oversold/overbought? (+0 to +2 points)
→ Momentum direction: Is velocity reversing? (+0 to +2 points)
→ Momentum acceleration: Is reversal strengthening? (+0 to +1 point)
→ Divergence count: How many oscillators show divergence? (+0 to +2 points)
→ Volume strength: Is volume above 1.3x average? (+0 to +1 point)
→ Volume delta: Is cumulative delta positive/negative? (+0 to +1 point)
→ HTF alignment: Does higher timeframe support direction? (+0 to +2 points)
→ Session timing: Is it a prime trading session? (+0 to +1 point)
→ Clear air: Is path to targets clear of obstacles? (+0 to +1 point)
→ Structure confluence: Are we near support/resistance? (+0 to +1 point)
→ Market regime: Is market trending, not choppy? (+0 to +1 point)
Total possible score: 15 points
Minimum for signal: 3-12 points depending on sensitivity mode
STEP 5: FILTER VALIDATION
Before generating a signal, additional checks are performed:
→ Volume must be above minimum threshold (if filter enabled)
→ Higher timeframe must not oppose the signal direction (if filter enabled)
→ Target path must be clear of major resistance/support (if filter enabled)
→ Volatility must not be EXTREME (blocks signals in chaos)
→ Risk-to-reward ratio must meet minimum requirement
→ Cooldown period must have elapsed since last signal
STEP 6: SIGNAL GRADING
If all filters pass, the signal is graded based on score:
→ A+ Grade: Highest confluence (8-12+ factors depending on sensitivity)
→ A Grade: High confluence (5-9+ factors)
→ B Grade: Moderate confluence (3-7+ factors)
Only graded signals (A+, A, or B) are displayed.
STEP 7: TRADE LEVEL CALCULATION
Stop loss and targets are calculated automatically:
STOP LOSS METHODS:
• Structure-Based: Uses recent swing low/high with ATR buffer, constrained by min/max ATR limits
• ATR-Based: Pure ATR multiplier with min/max constraints
• Fixed ATR: Simple ATR multiplier, no adjustments
TARGET CALCULATION:
• TP1: Entry ± (Stop Distance × Target 1 R:R)
• TP2: Entry ± (Stop Distance × Target 2 R:R)
• Default: TP1 at 1.0 R:R (1:1), TP2 at 2.0 R:R (1:2)
STEP 8: TRADE MONITORING
Once a signal is taken, the indicator tracks:
→ Current P/L in ticks and R-multiples
→ Distance to each target in ATR units
→ Distance to stop loss in ATR units
→ TP1 hit detection (marks with label, updates lines)
→ TP2 hit detection (closes trade, marks outcome)
→ Stop loss hit detection (closes trade, differentiates partial vs. full loss)
STEP 9: FACTOR ANALYSIS (DURING TRADES)
The Trade Analysis Panel monitors 6 key factor categories:
→ Momentum: Is momentum still aligned with trade direction? (-15 to +15 pts)
→ Position: Current R-multiple position (-12 to +12 pts)
→ Volume: Is volume still supportive? (-6 to +6 pts)
→ HTF Alignment: Does HTF still support trade? (-6 to +8 pts)
→ Target Proximity: How close are we to targets? (0 to +10 pts)
→ Stop Proximity: Are we dangerously close to stop? (-15 to +3 pts)
Raw scores are summed and smoothed using 5-bar EMA to create Confidence Score (0-100).
STEP 10: STATE MACHINE TRANSITIONS
Based on smoothed confidence, the system transitions between 5 states:
→ FACTORS ALIGNED (72+): Everything looks good
→ POSITIVE BIAS (58-72): Conditions favorable
→ MIXED SIGNALS (48-58): Neutral conditions
→ FACTORS WEAKENING (22-48): Concerning signals
→ NEGATIVE BIAS (<22): Poor conditions
Hysteresis prevents rapid flipping between states (different entry/exit thresholds).
RECOMMENDED TIMEFRAMES & INSTRUMENTS
TIMEFRAME VERSATILITY:
Despite the name "Scalper," this indicator works on ALL timeframes:
✓ LOWER TIMEFRAMES (1m - 15m)
→ Ideal for: Scalping and very short-term trades
→ Expect: More signals, faster trades, requires active monitoring
→ Best for: Forex majors, liquid crypto pairs
→ Tip: Use Conservative sensitivity to reduce noise
✓ MID TIMEFRAMES (15m - 1H)
→ Ideal for: Intraday trading and day trading
→ Expect: Moderate signal frequency, 1-4 hour trade duration
→ Best for: Forex, indices, major crypto
→ Tip: Balanced sensitivity works well here
✓ HIGHER TIMEFRAMES (4H - Daily)
→ Ideal for: Swing trading and position trading
→ Expect: Fewer signals, higher-quality setups, multi-day trades
→ Best for: All instruments
→ Tip: Can use Aggressive sensitivity for more opportunities
INSTRUMENT COMPATIBILITY:
✓ FOREX MAJORS (EUR/USD, GBP/USD, USD/JPY, etc.)
→ Auto-detected or manually select "Forex Major"
→ Session filtering is highly valuable here
→ London/NY overlap generates best signals
✓ FOREX CROSSES (EUR/GBP, AUD/NZD, etc.)
→ Auto-detected or manually select "Forex Cross"
→ Slightly tighter stops applied automatically
→ Session weight reduced vs. majors
✓ CRYPTOCURRENCIES (BTC, ETH, SOL, etc.)
→ Auto-detected or manually select "Crypto"
→ Wider stops (1.8x multiplier) due to volatility
→ Session filtering less relevant (24/7 markets)
→ Works well on both spot and perpetual futures
✓ INDICES (S&P 500, NASDAQ, DAX, etc.)
→ Auto-detected or manually select "Index"
→ Session opens (NY, London) are important
→ Moderate stop widths applied
✓ COMMODITIES (Gold, Silver, Oil, etc.)
→ Auto-detected or manually select "Commodity"
→ Moderate stops and session awareness
→ Works well on both spot and futures
VISUAL ELEMENTS EXPLAINED
SIGNAL MARKERS:
The indicator offers 3 display styles (choose in settings):
• PREMIUM STYLE (Default)
→ Signal appears below/above candles with connecting line
→ Background panel with grade badge (LONG , SHORT , etc.)
→ Entry price displayed
→ Direction arrow pointing to entry candle
→ Most informative, best for detailed analysis
• MINIMAL STYLE
→ Simple dot marker with grade text next to it
→ Clean, unobtrusive design
→ Best for mobile devices or cluttered charts
→ Less visual noise
• CLASSIC STYLE
→ Diamond marker with grade badge below/above
→ Traditional indicator aesthetic
→ Good balance between info and simplicity
ALL STYLES INCLUDE:
→ Signal tooltips with complete trade plan details
→ Grade display (A+, A, or B)
→ Color coding (bright colors for A+, standard for A/B)
SIGNAL TOOLTIP CONTENTS:
When you hover over any signal marker, you'll see:
→ Signal direction and grade
→ Confluence score (actual points vs. required)
→ Reason for signal (divergence type, reversal pattern)
→ Complete trade plan (Entry, Stop, TP1, TP2)
→ Risk in ticks
→ Risk-to-reward ratios
→ Market conditions at signal (Pulse value, HTF status, Volume, Session)
TRADE LEVEL LINES:
When Trade Tracking is enabled:
• ENTRY LINE (Yellow/Gold)
→ Solid horizontal line at entry price
→ Shaded zone around entry (±ATR buffer)
→ Label showing entry price
→ Extends 20-25 bars into future
• STOP LOSS LINE (Orange/Red)
→ Dashed line at stop level
→ Label showing stop price and distance in ticks
→ Turns dotted and changes color after TP1 hit (breakeven implied)
→ Deleted when trade closes
• TAKE PROFIT 1 LINE (Blue)
→ Dotted line at TP1 level
→ Label showing price and R:R ratio (e.g., "1:1.0")
→ Turns solid and changes to green when hit
→ Deleted after TP1 hit
• TAKE PROFIT 2 LINE (Blue)
→ Solid line at TP2 level
→ Label showing price and R:R ratio (e.g., "1:2.0")
→ This is the "full win" target
→ Deleted when trade closes
OUTCOME MARKERS:
When trade milestones are reached:
• - Green label appears when first target is touched
• - Green label when second target is touched (trade complete)
• - Red label if stop loss hit before any target
• - Orange label if TP1 hit but then stopped out
PREVIOUS DAY LEVELS:
If enabled (Show Previous Day Levels):
• PDH (Previous Day High) - Solid red/orange line
→ Label shows "PDH: "
→ Useful resistance reference for intraday trading
• PDL (Previous Day Low) - Solid green line
→ Label shows "PDL: "
→ Useful support reference for intraday trading
BACKGROUND TINTS:
Subtle background colors indicate states:
→ Light green tint: Active long position being tracked
→ Light red tint: Active short position being tracked
→ Light orange tint: Extreme volatility warning (signals blocked)
DASHBOARD GUIDE
The indicator features TWO dashboard panels:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MAIN DASHBOARD (Top Right by default)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHEN NO TRADE IS ACTIVE:
→ Bias: Current market bias (BULLISH, BEARISH, NEUTRAL, LEAN LONG/SHORT)
→ Based on Kinetic Pulse position and velocity
→ Helps you understand overall momentum direction
→ Pulse: Current Kinetic Pulse value (0-100 scale)
→ <30 = Oversold (potential long setups developing)
→ >70 = Overbought (potential short setups developing)
→ 40-60 = Neutral zone
→ Volatility: Current volatility regime (LOW, NORMAL, HIGH, EXTREME)
→ Calculated from ATR ratio vs. 100-period average
→ EXTREME volatility blocks all signals (too chaotic)
→ Trend: Market state classification
→ TREND UP / TREND DOWN: ADX > 25, directional movement clear
→ RANGING: ADX < 20, choppy conditions
→ TRANSITIONING: ADX 20-25, developing conditions
→ VOLATILE: Extreme ATR regime
→ Session: Current forex session
→ ASIAN (00:00-08:00 UTC)
→ LONDON (07:00-16:00 UTC)
→ NEW YORK (13:00-22:00 UTC)
→ LDN/NY (13:00-16:00 UTC) - Overlap period, highest volatility
→ OFF-HOURS: Outside major sessions
→ Volume: Current volume vs. 20-bar average
→ Displayed as multiplier (e.g., "1.45x" = 45% above average)
→ Green if >1.3x (high volume, bullish for signal quality)
→ Red if <0.8x (low volume, bearish for signal quality)
→ HTF: Higher timeframe analysis status
→ BULLISH: HTF momentum supports longs
→ BEARISH: HTF momentum supports shorts
→ NEUTRAL: No clear HTF direction
→ Best Score: Highest confluence score currently available
→ Shows both long and short scores
→ Format: " / "
→ Example: "8/7 " means long score is 8, threshold is 7, long is leading
→ Helps you anticipate which direction might signal next
→ PDH/PDL: Previous day high and low prices
→ Quick reference for intraday support/resistance
WHEN TRADE IS ACTIVE:
→ Trade: Direction and grade (e.g., "LONG ")
→ Entry: Entry price of current trade
→ P/L: Current profit/loss
→ Shown in ticks and R-multiples
→ Format: "+45 | +0.75R" or "-20 | -0.35R"
→ Green when positive, red when negative
→ TP1: First target status
→ Shows price and distance if not hit
→ Shows "HIT" in green if reached
→ TP2: Second target price and distance
→ Stop: Stop loss price and current distance from stop
→ Bars: Number of bars since entry (trade duration)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TRADE ANALYSIS PANEL (Bottom Left by default)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This panel provides algorithmic analysis of market conditions. It does NOT provide investment advice or recommendations.
WHEN NO TRADE IS ACTIVE:
Shows scanning status and signal readiness:
→ Long/Short Readiness Gauges
→ Visual bar showing proximity to signal threshold
→ Score display (e.g., "8/7" means 8 points scored, 7 needed)
→ "RDY" indicator when threshold reached
→ Status Messages
→ "Scanning for setups..." - Normal scanning mode
→ "Long setup ready - cooldown: X bars" - Signal qualified but in cooldown
→ "Oversold conditions - watch for reversal" - Setup developing
→ "Choppy conditions detected" - Warning about market state
→ "Extreme volatility - signals blocked" - Safety filter active
WHEN TRADE IS ACTIVE:
Header shows current analysis state:
→ FACTORS ALIGNED (Green) - Everything looks good, confidence 72+
→ POSITIVE BIAS (Light Green) - Conditions favorable, confidence 58-72
→ MIXED SIGNALS (Blue) - Neutral conditions, confidence 48-58
→ FACTORS WEAKENING (Orange) - Concerning signals, confidence 22-48
→ NEGATIVE BIAS (Red) - Poor conditions, confidence <22
Confidence Score:
→ Displayed as percentage (0-100%)
→ Visual gauge (|||||.....)
→ Trend indicator (Rising, Falling, Stable)
→ Shows momentum of confidence change
Factor Breakdown (if enabled):
Shows 6 factor categories with individual scores:
→ Momentum: Is momentum aligned with trade? (-15 to +15 points)
→ Positive if velocity matches trade direction
→ Negative if momentum opposes trade
→ Position: Current R-multiple analysis (-12 to +12 points)
→ Positive if trade is in profit
→ Negative if underwater
→ Score increases as profit grows
→ Volume: Is volume supportive? (-6 to +6 points)
→ Positive if volume above average
→ Negative if volume weak
→ HTF Align: Higher timeframe status (-6 to +8 points)
→ Positive if HTF still supports trade direction
→ Negative if HTF turned against trade
→ Target: Proximity to profit targets (0 to +10 points)
→ Higher score when approaching targets
→ Bonus if TP1 already hit and near TP2
→ Stop Dist: Distance from stop loss (-15 to +3 points)
→ Negative if dangerously close to stop (<0.3 ATR)
→ Positive if well away from stop (>1.5 ATR)
Each factor shows:
• Score value with +/- indicator
• Trend symbol: + (improving), - (deteriorating), = (stable)
• Visual gauge
Guidance Messages:
→ "TARGET 2 APPROACHING" - TP2 within 0.3 ATR
→ "TARGET 1 APPROACHING" - TP1 within 0.3 ATR
→ "STOP PROXIMITY WARNING" - Stop within 0.3 ATR
→ "Factors aligned - Holding" - Positive state, stay in trade
→ "Conditions favorable" - Still looking good
→ "Conditions mixed - " - Neutral assessment
→ "Factors deteriorating" - Warning of weakening setup
→ "Confluence weakening - secure gains" - Consider exit if profitable
COMPACT MODE (Mobile-Friendly):
→ Reduces panel size by showing only essential info
→ Factor icons instead of full breakdowns
→ Simplified guidance messages
→ Perfect for smaller screens
SETTINGS GUIDE
MASTER SETTINGS:
Instrument Type
→ Purpose: Optimizes ATR multipliers and session weights for your asset
→ Options: Auto-Detect (recommended), Forex Major, Forex Cross, Crypto, Index, Commodity
→ Default: Auto-Detect
→ When to change: If auto-detection is incorrect for your symbol
Signal Sensitivity
→ Purpose: Controls how many factors required before generating signals
→ Options:
• Conservative: Requires 12+ for A+, 9+ for A, 7+ for B (fewer, highest quality)
• Balanced: Requires 10+ for A+, 7+ for A, 5+ for B (recommended)
• Aggressive: Requires 8+ for A+, 5+ for A, 3+ for B (more frequent)
→ Default: Balanced
→ When to change: If you want fewer signals (Conservative) or more opportunities (Aggressive)
Enable Trade Signals
→ Purpose: Master on/off switch for signal generation
→ Default: ON
→ When to disable: If you only want to use the analysis dashboards without signals
Enable Trade Tracking
→ Purpose: Tracks active trades and monitors conditions until TP/SL hit
→ Default: ON
→ When to disable: If you manage trades manually and don't want automatic tracking
Show Entry/Stop/Target Levels
→ Purpose: Displays trade plan lines and labels on chart
→ Default: ON
→ When to disable: If you prefer clean charts or manage levels yourself
DISPLAY SETTINGS:
Color Theme
→ Purpose: Optimizes colors for your chart background
→ Options: Dark (for dark charts), Light (for light charts)
→ Default: Dark
Signal Display Style
→ Purpose: Visual style of signal markers
→ Options:
• Premium: Badge with line and background panel (most detailed)
• Minimal: Simple dot with grade text (cleanest)
• Classic: Diamond marker with badge (traditional)
→ Default: Premium
Signal Distance
→ Purpose: How far signal labels appear from price bars (in ATR units)
→ Range: 0.5 to 10.0
→ Default: 2.0
→ When to adjust: Increase to 3.0-4.0 if signals hide behind candle wicks
TP/SL Label Distance
→ Purpose: Spacing of price labels to prevent overlap
→ Range: 0.5 to 5.0
→ Default: 1.5
Show Previous Day Levels
→ Purpose: Display PDH/PDL reference lines
→ Default: ON
→ Best for: Intraday traders who respect previous day levels
MAIN DASHBOARD:
Show Main Dashboard
→ Purpose: Toggle visibility of market conditions table
→ Default: ON
Main Dashboard Position
→ Options: Top Right, Top Left, Bottom Right, Bottom Left
→ Default: Top Right
→ When to change: To avoid overlap with TradingView's built-in panels
TRADE ANALYSIS PANEL:
Show Trade Analysis Panel
→ Purpose: Toggle factor analysis dashboard
→ Default: ON
Analysis Panel Position
→ Options: Top Right, Top Left, Bottom Right, Bottom Left, Middle Right, Middle Left
→ Default: Bottom Left
→ Recommended: Bottom Right or Middle Right to avoid overlap with Main Dashboard
Compact Mode
→ Purpose: Reduces panel size for mobile or smaller screens
→ Default: OFF
→ When to enable: Mobile trading, small screens, or minimalist preference
Show Factor Details
→ Purpose: Displays individual factor scores vs. overall confidence only
→ Default: ON
→ When to disable: For more compact view showing only state and confidence
RISK MANAGEMENT:
Stop Loss Method
→ Purpose: How stop loss distance is calculated
→ Options:
• Structure-Based: Uses swing highs/lows with ATR buffer (recommended)
• ATR-Based: Pure ATR multiplier with min/max constraints
• Fixed ATR: Simple multiplier, no adjustments
→ Default: Structure-Based
→ Impact: Structure-Based respects market geometry but constrains within safe limits
ATR Stop Multiplier
→ Purpose: Multiplier for ATR-based stop calculation
→ Range: 0.5 to 3.0
→ Default: 1.5
→ When to adjust:
• Increase to 2.0-2.5 for more breathing room (fewer false stops)
• Decrease to 1.0-1.2 for tighter stops (but more stop-outs)
Maximum Stop Distance (ATR)
→ Purpose: Cap on stop width to prevent excessive risk
→ Range: 1.0 to 5.0
→ Default: 2.5
→ Impact: If structure-based stop exceeds this, ATR-based stop is used instead
Minimum Stop Distance (ATR)
→ Purpose: Floor on stop width to avoid noise-induced stops
→ Range: 0.2 to 1.0
→ Default: 0.5
→ Impact: Prevents stops too tight to survive normal volatility
Target 1 Risk/Reward Ratio
→ Purpose: R:R for first profit target
→ Range: 0.5 to 2.0
→ Default: 1.0 (1:1 ratio)
→ Common values: 1.0 for quick profit taking, 1.5 for patient trading
Target 2 Risk/Reward Ratio
→ Purpose: R:R for second profit target (full win)
→ Range: 1.0 to 4.0
→ Default: 2.0 (1:2 ratio)
→ Common values: 2.0-3.0 for balanced risk/reward
Minimum R:R Required
→ Purpose: Filters out signals with poor risk/reward
→ Range: 0.5 to 2.0
→ Default: 1.0
→ Impact: Signals where potential reward doesn't meet this ratio are rejected
→ WARNING: Always ensure your position sizing means a stop loss = no more than 1-2% of your account, regardless of R:R ratio
SIGNAL FILTERS:
Session Awareness
→ Purpose: Weights signals higher during major forex sessions
→ Default: ON
→ Impact: Doesn't block signals, but session quality factors into scoring
→ Best for: Forex traders
Session Timezone
→ Purpose: Timezone for session calculations
→ Options: UTC, America/New_York, Europe/London, Asia/Tokyo, Asia/Hong_Kong
→ Default: UTC
→ When to change: Match your broker's server time
Higher Timeframe Alignment
→ Purpose: Checks HTF momentum before generating signals
→ Default: ON
→ Impact: Filters counter-trend signals, improves quality
→ Recommended: Keep enabled
HTF Timeframe
→ Purpose: Which higher timeframe to check
→ Default: Auto (blank field)
→ Auto selection:
• 1m chart → 5m HTF
• 5m chart → 15m HTF
• 15m chart → 1H HTF
• 1H chart → 4H HTF
• 4H+ chart → Daily HTF
→ Manual override: Enter any timeframe (e.g., "60" for 1-hour)
Volume Confirmation
→ Purpose: Requires above-average volume for signals
→ Default: ON
→ Impact: Filters low-liquidity false signals
→ Recommended: Keep enabled
Minimum Volume Ratio
→ Purpose: Volume threshold vs. 20-bar average
→ Range: 0.3 to 2.0
→ Default: 0.8 (80% of average)
→ When to adjust:
• Increase to 1.2-1.5 for only high-volume signals
• Decrease to 0.5-0.7 for more permissive filtering
Structure Clearance Check
→ Purpose: Ensures clear path to targets (no nearby resistance/support)
→ Default: ON
→ Impact: Prevents trades with immediate obstacles
→ Recommended: Keep enabled
Minimum Bars Between Signals
→ Purpose: Cooldown period after each signal
→ Range: 1 to 10
→ Default: 3
→ Impact: After a signal, this many bars must pass before another in same direction
→ When to adjust:
• Increase to 5-7 to prevent over-trading
• Decrease to 1-2 for faster re-entries
ADVANCED TUNING:
Momentum Period
→ Purpose: Base period for Kinetic Pulse calculation
→ Range: 5 to 30
→ Default: 14
→ When to adjust:
• Lower (8-10): More responsive, noisier
• Higher (18-21): Smoother, slower to react
→ Note: If Adaptive Period enabled, this is adjusted automatically
Adaptive Period
→ Purpose: Auto-adjusts momentum period based on volatility
→ Default: ON
→ Impact: Shortens period in high volatility, lengthens in low volatility
→ Recommended: Keep enabled for automatic optimization
Divergence Lookback
→ Purpose: How far back to search for divergence patterns
→ Range: 10 to 60
→ Default: 30
→ When to adjust:
• Shorter (15-20): Only recent divergences
• Longer (40-50): Catches older divergences (may be less relevant)
Swing Detection Bars
→ Purpose: Bars required on each side to confirm swing high/low
→ Range: 2 to 7
→ Default: 3
→ Impact on stops:
• Lower (2-3): More swing points, potentially tighter stops
• Higher (5-7): Only major swings, wider stops
Choppiness Index Threshold
→ Purpose: Threshold above which market considered choppy
→ Range: 38.2 to 80.0
→ Default: 61.8
→ Impact:
• Lower (50-55): Stricter quality filter (fewer signals in ranging markets)
• Higher (65-70): More permissive (allows signals in choppier conditions)
HOW TO READ SIGNALS
SIGNAL ANATOMY:
When a signal appears, you'll see:
1. DIRECTIONAL MARKER
→ Arrow, dot, or diamond pointing to entry candle (depends on style)
→ Positioned below price for LONG, above price for SHORT
→ Connected to price with line (Premium style)
2. GRADE BADGE
→ Displays signal quality: LONG , SHORT , etc.
→ Color coding:
• Bright green/cyan for A+ longs
• Standard green for A/B longs
• Bright pink/magenta for A+ shorts
• Standard red for A/B shorts
3. ENTRY PRICE (Premium style only)
→ Shows exact entry price at signal generation
4. TOOLTIP (all styles)
→ Hover over signal to see complete trade plan
→ Includes: Entry, Stop, TP1, TP2, Risk, R:R ratios, market conditions, signal reason, confluence score
INTERPRETING GRADES:
→ A+ SIGNALS (Highest Quality)
• 8-12+ confirming factors aligned
• Multiple divergences OR strong momentum reversal
• HTF alignment + volume + session timing + clear structure
• These are your highest-probability setups
• Recommended action: Give these priority, consider larger position size
→ A SIGNALS (High Quality)
• 5-9+ confirming factors aligned
• Good confluence, most key factors present
• Missing 1-2 optimal conditions
• These are still quality trades
• Recommended action: Standard position size, solid setups
→ B SIGNALS (Moderate Quality)
• 3-7+ confirming factors aligned
• Minimum viable confluence
• May be missing HTF alignment, volume, or session timing
• Higher variance outcomes
• Recommended action: Smaller position size or skip if conservative
SIGNAL NARRATIVE:
Each signal tooltip includes a narrative explaining WHY it was generated:
→ "Multi-divergence at oversold extreme"
• Multiple oscillators showing bullish divergence
• Kinetic Pulse in oversold zone
• High-quality reversal setup
→ "Bullish divergence near support"
• Divergence detected
• Price near key support level (swing low or PDL)
• Structure confluence
→ "Momentum reversal with HTF alignment"
• Kinetic Pulse velocity reversing
• Higher timeframe supports direction
• Strong trend-following setup
→ "Oversold momentum reversal"
• Extreme Kinetic Pulse reading reversing
• May not have divergence but strong momentum shift
READING THE TRADE PLAN:
Every signal comes with a complete trade plan:
→ ENTRY: The close price of the signal candle
• This is where the signal triggered
• If using limit orders, you might improve on this price
→ STOP: Calculated stop loss level
• Based on your Stop Loss Method setting
• Distance shown in ticks
• Risk tolerance: Ensure this represents ≤1-2% of your account
→ TP1: First profit target
• Default: 1:1 risk-reward
• This is your partial profit or first exit
• Consider taking 50% off at TP1
→ TP2: Second profit target
• Default: 1:2 risk-reward
• This is your "full win" target
• Hold remaining position for this level
SIGNAL FREQUENCY EXPECTATIONS:
Frequency varies by timeframe, sensitivity, and market conditions:
→ AGGRESSIVE MODE
• Lower timeframes (1m-5m): 5-15 signals per day
• Mid timeframes (15m-1H): 2-5 signals per day
• Higher timeframes (4H-D): 1-3 signals per week
→ BALANCED MODE (Default)
• Lower timeframes: 3-8 signals per day
• Mid timeframes: 1-3 signals per day
• Higher timeframes: 2-5 signals per week
→ CONSERVATIVE MODE
• Lower timeframes: 1-4 signals per day
• Mid timeframes: 0-2 signals per day
• Higher timeframes: 1-3 signals per week
Note: Frequency also depends on market volatility and trending vs. ranging conditions.
Example - Kinetic Scalper Trade Sequence
Here's an example showing the complete trade lifecycle with all dashboard transitions, annotations, and descriptions.
INSTRUMENT & TIMEFRAME DETAILS
Symbol: Nifty 50 Index (NSE)
Date: December 15, 2025
Session: London session (active trading hours)
Instrument Type: Index (auto-detected)
TRADE SEQUENCE BREAKDOWN
SCREENSHOT 1: Pre-Signal Setup Building (Image 1)
Time: ~12:00-14:30 UTC+5:30(approx.)
Price Action: Uptrend showing signs of exhaustion near 26,200
Market State: Price at session highs
Main Dashboard (Top Right):
- Bias: LEAN SHORT
- Pulse: 58.9 (approaching overbought)
- Volatility: NORMAL
- Trend: TRANSITIONING
- Session: LONDON (favorable timing)
- Volume: 0.98x (slightly below average)
- HTF: BULLISH (caution for counter-trend)
- Best Score: 9/5 (Short score building)
- PDH/PDL: 26098.25 / 25938.95
Trade Analysis Panel (Bottom Left):
- Status: NO ACTIVE TRADE
- Long Score: 5/5 (RDY)
- Short Score: 9/5 (RDY)
- Panel Message: "Short pattern developing - score: 9"
Description :
Setup Development Phase: The indicator identifies a potential short opportunity as price reaches the previous day's high. The short confluence score has climbed to 9/15 points, meeting the 'Balanced' sensitivity threshold for a Grade B signal. Notice the 'LEAN SHORT' bias and the Kinetic Pulse reading of 58.9 approaching overbought territory. The Trade Analysis panel shows 'Short pattern developing' with 9/5 factors aligned. Key factors: momentum approaching reversal zone, price at resistance (PDH), and London session providing favorable conditions.
SCREENSHOT 2: Signal Generated & Trade Entered (Image 2)
Time: ~13:00 UTC+5:30 (signal bar)
Entry Price: 26,184.65
Signal Grade: Grade
Main Dashboard (Top Right):
- Trade: SHORT
- Entry: 26184.65
- P/L: 5.95 pts | +0.2R (early positive movement)
- TP1: 26157.00 (33.2 pts away)
- TP2: 26129.35 (60.84 pts away)
- Stop: 26212.30 (22.1 pts away)
- Bars: 1 (just entered)
Trade Analysis Panel (Bottom Left):
- Header: TRADE ANALYSIS
- Status Bar: "Conditions mixed - improving 57%"
- Confidence: 57% RISING
- Factor Breakdown:
- Momentum: -4 (velocity not yet aligned)
- Position: +4 (slight profit)
- Volume: +2 = (volume present)
- HTF Align: +2 = (not strongly aligned)
- Target: +0 - (far from TP)
- Stop Dist: +3 - (good distance)
- Bottom Status: "Conditions mixed - Monitoring"
- Disclaimer: "Analysis only - Not financial advice"
Description:
Signal Activation: A Grade A short signal triggers at 26,184.65 after the short confluence score reached qualifying levels. The indicator places a structure-based stop loss at 26,212.30 (27.65 points risk) with dual targets at 1:1 and 1:2 risk-reward ratios.
The Trade Analysis Panel immediately begins monitoring with an initial confidence score of 57% - classified as 'MIXED SIGNALS' but showing a 'RISING' trend. Factor analysis reveals: momentum not yet aligned (-4 points as price just reversed), position slightly favorable (+4 points already +0.2R), volume adequate (+2), HTF showing weak alignment (+2 as we're counter-trend), stop well-placed (+3), but targets still distant (0 points).
Notice how the Main Dashboard switches from market scanning mode to active trade tracking, now displaying entry price, live P/L in both points (5.95 pts) and R-multiples (+0.2R), and distances to all key levels. The analysis panel provides real-time factor scoring to help monitor trade health.
SCREENSHOT 3: TP1 Hit - Trade Performing Well (Image 3)
Time: ~14:20 UTC+5:30(approx)
Price: ~26,154 (TP1 zone)
Bars in Trade: 29
Main Dashboard (Top Right):
- Trade: SHORT
- Entry: 26184.65
- P/L: 30.85 pts | +1.12R (excellent progress)
- TP1: HIT (displayed in green)
- TP2: 26129.35 (24.44 pts away)
- Stop: 26212.30 (58.5 pts away - well protected)
- Bars: 29
Trade Analysis Panel (Bottom Left):
- Header: TRADE ANALYSIS
- Status Bar: "Multiple factors positive"
- Confidence: 78% RISING
- Factor Breakdown:
- Momentum: +8 = (ALIGNED)
- Position: +8 + (strong profit zone)
- Volume: +2 + (continued support)
- HTF Align: +8 = (now strongly aligned)
- Target: +10 + (TP1 achieved, approaching TP2)
- Stop Dist: +3 + (excellent cushion)
- Bottom Status: "Multiple factors positive"
- Visual State: Green background (FACTORS ALIGNED state)
Description:
Trade Execution Phase - First Target Achieved: After 29 bars , price reaches the first take-profit target at 26,157.00. The ' ' marker confirms partial profit taking. Current P/L shows +30.85 points (+1.12R), exceeding the initial 1:1 risk-reward.
The Trade Analysis Panel shows dramatic improvement - confidence has surged to 78% (FACTORS ALIGNED state) with most factors now positive:
- Momentum factor improved to +8 (velocity aligned with trade direction)
- Position factor at +8 (over +1R profit zone)
- HTF Align jumped to +8 (higher timeframe now confirming the move)
- Target factor maxed at +10 (TP1 achieved, TP2 within reach)
- Stop Distance at +3 (58.5 points cushion providing safety)
Notice the panel status displays 'Multiple factors positive' with a green-tinted background, indicating optimal trade conditions. The confidence trend shows 'RISING' suggesting continued momentum. With TP1 secured and only 24.44 points to TP2, the trade is well-positioned for a full 1:2R win.
SCREENSHOT 4: TP2 Reached - Trade Complete (Image 4)
Time: ~15:00+ UTC+5:30
Final Exit: 26,129.35 (TP2)
Final Result: Full TP2 win
Main Dashboard (Top Right):
- Bias: NEUTRAL (reverted to scanning mode)
- Pulse: 45.2 (returned to neutral zone)
- Volatility: NORMAL
- Trend: TREND DOWN (confirmed the move)
- Session: LONDON
- Volume: 1.26x (increased as move developed)
- HTF: BEARISH (fully aligned post-trade)
- Best Score: 5/5 (neutral after completion)
Trade Analysis Panel (Bottom Left):
- Status: NO ACTIVE TRADE (reverted)
- Long Score: 5/5 (RDY)
- Short Score: 5/5 (RDY)
- Panel Message: "Scanning - prime session active"
- Light blue/cyan background (back to scanning mode)
Description:
Trade Completion - Full Target Achieved: The short trade reaches its second take-profit target at 26,129.35, securing a complete 1:2 risk-reward win. The ' ' marker confirms the exit. Final results:
- Entry: 26,184.65
- Exit: 26,129.35
- Profit: 55.30 points (approximately +2.0R)
- Outcome: Full TP2 success
Post-Trade Analysis: After trade closure, the indicator automatically returns to market scanning mode. The Main Dashboard reverts to showing market conditions rather than trade metrics. Notice how the 'Trend' now displays 'TREND DOWN' - confirming the move we captured. Volume increased to 1.26x during the winning move, validating the signal quality.
The Trade Analysis Panel switches back to 'NO ACTIVE TRADE' status and resumes displaying long/short setup scores. The confidence-based factor monitoring was instrumental throughout the trade:
- Initial entry at 57% confidence (MIXED SIGNALS)
- Peak confidence of 78% at TP1 (FACTORS ALIGNED)
- Real-time factor updates helped confirm trade validity
This example demonstrates the indicator's complete workflow: setup identification → signal generation → entry execution → live trade monitoring → systematic exit at targets.
KEY FEATURES DEMONSTRATED
1. Dual Dashboard System
- Main Dashboard: Market conditions (scanning) → Trade metrics (active position)
- Analysis Panel: Setup scores (scanning) → Factor-based confidence (in-trade)
2. Visual Trade Management
- Color-coded entry zones (yellow)
- Risk levels clearly marked (red dashed stop)
- Profit targets with R:R ratios labeled
- Achievement markers ( , )
3. Real-Time Factor Analysis
- 6-factor scoring system (Momentum, Position, Volume, HTF, Target, Stop Dist)
- Confidence percentage with trend indicators
- State machine (MIXED → FACTORS ALIGNED)
- Hysteresis prevents false state changes
4. Risk Management
- Structure-based stop placement (respects swing highs)
- Multiple take-profit levels (1:1 and 1:2 R:R)
- Live P/L tracking in points and R-multiples
- Distance monitoring to all key levels
This complete example showcases the indicator's progression from setup identification through trade completion, demonstrating how the dual-dashboard system and factor-based analysis provide continuous trade guidance. The structured stop-loss and dual-target approach delivered the planned 1:2 risk-reward ratio with systematic, rule-based execution.
ALERT SYSTEM
The indicator includes 9 built-in alert conditions:
SIGNAL ALERTS:
→ High-Grade Long Signal (A+)
• Triggers only on A+ long signals
• For traders who want only the highest-quality longs
• Message: "KINETIC SCALPER: LONG @ "
→ High-Grade Short Signal (A+)
• Triggers only on A+ short signals
• For traders who want only the highest-quality shorts
• Message: "KINETIC SCALPER: SHORT @ "
→ Long Signal
• Triggers on ANY qualified long signal (A+, A, or B)
• For traders who want all long opportunities
• Message: "KINETIC SCALPER: LONG @ "
→ Short Signal
• Triggers on ANY qualified short signal
• For traders who want all short opportunities
• Message: "KINETIC SCALPER: SHORT @ "
TRADE MANAGEMENT ALERTS:
→ TP1 Hit
• Triggers when first profit target is reached
• Useful for partial profit taking notifications
• Message: "KINETIC SCALPER: TP1 REACHED"
→ TP2 Reached
• Triggers when second profit target is reached
• Trade is complete, full win achieved
• Message: "KINETIC SCALPER: TP2 REACHED"
→ Stop Loss Hit
• Triggers when stop loss is reached
• Important for trade management and risk tracking
• Message: "KINETIC SCALPER: STOP LOSS"
ANALYSIS STATE ALERTS:
→ Analysis State: Negative Bias
• Triggers when factor analysis enters "Negative Bias" state
• Warning that trade conditions are deteriorating
• Consider reducing position or preparing to exit
• Message: "KINETIC SCALPER: Analysis state changed to NEGATIVE BIAS"
→ Analysis State: Factors Weakening
• Triggers when factor analysis enters "Factors Weakening" state
• Caution that confluence is diminishing
• Monitor trade closely
• Message: "KINETIC SCALPER: Analysis state changed to FACTORS WEAKENING"
HOW TO SET UP ALERTS:
1. Click the "Create Alert" button in TradingView
2. Condition: Select "Kinetic Scalper "
3. Choose your desired alert from the dropdown
4. Configure your alert options:
→ Once Per Bar Close (recommended for non-repainting)
→ Frequency: Once Per Bar Close or Only Once
5. Set expiration and notification methods (popup, email, webhook, etc.)
6. Create alert
RECOMMENDED ALERT STRATEGY:
For active traders:
→ Set "Long Signal" and "Short Signal" alerts for all opportunities
→ Set "TP1 Hit", "TP2 Reached", and "Stop Loss Hit" for trade management
→ Consider "Analysis State: Negative Bias" for trade monitoring
For selective traders:
→ Set only "High-Grade Long Signal (A+)" and "High-Grade Short Signal (A+)"
→ Focus on the absolute highest-quality setups
→ Set TP/SL alerts for position management
USAGE TIPS & BEST PRACTICES
SIGNAL SELECTION:
✓ GRADE MATTERS
→ A+ signals have statistically more confluence factors
→ If you're conservative, trade only A+ signals
→ B signals can work but require more discretion
✓ CONFLUENCE WITH YOUR ANALYSIS
→ Use this indicator as CONFIRMATION, not sole decision criteria
→ Combine with your own support/resistance analysis
→ Check for fundamental events (news, economic data)
→ Respect major round numbers and psychological levels
✓ SESSION TIMING (Forex)
→ Best signals often occur during London/NY overlap
→ Avoid signals 10 minutes before major news releases
→ Asian session signals can be valid but lower liquidity
✓ TIMEFRAME CONFLUENCE
→ If you get an A+ signal on 15m, check if 1H chart agrees
→ Higher timeframe confirmation adds conviction
→ Avoid signals that oppose the daily/4H trend
TRADE MANAGEMENT:
✓ POSITION SIZING
→ ALWAYS size positions so stop loss = 1-2% of account
→ Never risk more than you can afford to lose
→ Smaller position on B signals, standard on A, larger on A+ (within limits)
✓ PARTIAL PROFIT TAKING
→ Consider taking 50% off at TP1
→ Move stop to breakeven after TP1 hit
→ Let remaining position run to TP2
✓ TRAILING STOPS
→ The indicator doesn't auto-trail stops (manual decision)
→ After TP1, you might manually move stop to entry (breakeven)
→ Consider ATR-based trailing stop for runners
✓ WATCH THE ANALYSIS PANEL
→ If state changes to "Factors Weakening" while in profit, consider exit
→ "Negative Bias" during a trade is a strong warning
→ "Factors Aligned" confirms your trade thesis is still valid
RISK MANAGEMENT:
✓ NEVER IGNORE STOPS
→ The calculated stop is there for a reason
→ Moving stop further away increases risk exponentially
→ If stopped out, accept it and wait for next setup
✓ AVOID REVENGE TRADING
→ If you get stopped out, resist urge to immediately re-enter
→ Signal cooldown helps with this
→ Wait for next qualified signal
✓ RESPECT VOLATILITY WARNINGS
→ If indicator shows "EXTREME" volatility, signals are blocked for a reason
→ Don't force trades in chaotic conditions
→ Wait for regime to normalize
✓ CORRELATION RISK
→ Be aware of correlation if trading multiple pairs
→ EUR/USD and GBP/USD are highly correlated
→ Don't stack risk on correlated instruments
OPTIMIZATION:
✓ START WITH DEFAULTS
→ Default settings are well-tested
→ Don't over-optimize for recent market behavior
→ Give settings at least 20-30 trades before judging
✓ TIMEFRAME-SPECIFIC ADJUSTMENTS
→ Lower timeframes: Consider increasing Signal Distance to 3.0-4.0
→ Higher timeframes: ATR Stop Multiplier might go to 2.0-2.5
→ Crypto: Ensure Instrument Type is set to "Crypto" for proper stops
✓ SENSITIVITY CALIBRATION
→ Too many signals? Switch to Conservative
→ Missing good setups? Try Balanced or Aggressive
→ Quality > Quantity always
✓ KEEP A JOURNAL
→ Track which signal grades work best for you
→ Note which sessions produce best results
→ Review stopped trades for patterns
THINGS TO AVOID:
✗ DON'T chase signals after several bars have passed
✗ DON'T ignore the stop loss or move it further away
✗ DON'T overtrade by taking every B-grade signal
✗ DON'T trade during major news if you're not experienced
✗ DON'T use this as your only analysis tool
✗ DON'T expect 100% win rate (no indicator has this)
✗ DON'T risk more than 1-2% per trade regardless of signal grade
UNDERSTANDING THE METHODOLOGY
WHY VOLUME WEIGHTING?
Traditional momentum oscillators treat all price moves equally. A 10-point move on low volume is weighted the same as a 10-point move on high volume.
The Kinetic Pulse corrects this by:
→ Calculating volume ratio vs. 20-bar average
→ Applying square root transformation to volume ratio (prevents extreme weights)
→ Multiplying price changes by volume weight
→ Result: High-volume moves influence the oscillator more than low-volume noise
This helps filter false breakouts and emphasizes moves with participation.
WHY FISHER TRANSFORM?
Fisher Transform is a mathematical transformation that:
→ Normalizes probability distributions
→ Creates sharper turning points
→ Amplifies extremes while compressing the middle
→ Makes overbought/oversold levels more distinct
Applied to the Kinetic Pulse, it helps identify genuine extremes vs. noise.
WHY MULTI-OSCILLATOR DIVERGENCE?
Single-source divergence can give false signals. By requiring divergence confirmation across multiple oscillators (Kinetic Pulse, CCI, Stochastic), the system filters out:
→ Divergences caused by calculation quirks in one oscillator
→ Temporary momentum anomalies
→ False divergence on noisy, low-timeframe charts
Multiple sources confirming the same pattern increases reliability.
WHY ADAPTIVE PERIODS?
Fixed periods can be:
→ Too slow during high volatility (miss fast reversals)
→ Too fast during low volatility (generate noise)
The adaptive system:
→ Shortens period when ATR ratio > 1.3 (high volatility = need faster response)
→ Lengthens period when ATR ratio < 0.7 (low volatility = need noise filtering)
→ Keeps period in reasonable range (60% to 140% of base period)
→ Result: Oscillator adjusts to current market pace automatically
WHY HYSTERESIS IN STATE MACHINE?
Without hysteresis, the analysis state would flip-flop on every bar, creating:
→ Confusing, contradictory guidance
→ Analysis paralysis
→ Lack of actionable information
Hysteresis solves this by:
→ Using different thresholds to ENTER vs. EXIT a state
→ Example: Enter "Factors Aligned" at 72+ confidence, but don't exit until <62
→ This creates stable states that persist through minor fluctuations
→ Requires minimum commitment period (3 bars) before state changes
→ Overrides commitment for significant events (near TP/SL)
→ Result: Stable, trustworthy analysis that changes only when truly warranted
WHY CONFIDENCE SMOOTHING?
Raw factor scores fluctuate bar-by-bar based on momentary conditions. Smoothing:
→ Uses 5-period EMA on raw confidence scores
→ Filters out single-bar anomalies
→ Preserves genuine trends in confidence
→ Prevents false state transitions
→ Result: More reliable assessment of actual trade health
WHY INSTRUMENT-SPECIFIC PARAMETERS?
Different instruments have different characteristics:
→ Forex is highly liquid, respects technical levels well, standard ATR works
→ Crypto is extremely volatile, needs wider stops (1.8x) to avoid false stops
→ Indices respect session opens strongly, session weighting is important
→ Commodities fall in between
Auto-detection applies research-based multipliers automatically.
WHY STRUCTURE-BASED STOPS?
ATR-based stops can:
→ Place stop in middle of consolidation (easily hit)
→ Ignore obvious invalidation levels
→ Be too tight during expansion or too wide during contraction
Structure-based stops:
→ Use actual swing highs/lows (where traders actually place stops)
→ Add small ATR buffer to avoid stop hunting
→ Constrain within min/max ATR limits for safety
→ Result: Stops that respect market geometry while managing risk
DISCLAIMER & RISK WARNING
READ THIS CAREFULLY BEFORE USING THIS INDICATOR
This indicator is provided for EDUCATIONAL and INFORMATIONAL purposes only.
❌ NOT FINANCIAL ADVICE
This indicator does NOT constitute financial advice, investment recommendations, or solicitation to buy or sell any financial instrument. All information is for educational purposes only.
❌ NO GUARANTEES
→ Past performance does NOT guarantee future results
→ No indicator can predict future price movements with certainty
→ Signal grades represent confluence, NOT win probability
→ A+ signals can lose, B signals can win - markets are probabilistic
❌ SUBSTANTIAL RISK
Trading financial instruments involves SUBSTANTIAL RISK of loss:
→ You can lose your entire investment
→ Leveraged trading amplifies both gains AND losses
→ Never trade with money you cannot afford to lose
→ Never risk more than 1-2% of your account per trade
❌ YOUR RESPONSIBILITY
→ All trading decisions are YOUR responsibility
→ You must conduct your own analysis before entering trades
→ Consult a licensed financial advisor before trading
→ Understand the risks specific to your jurisdiction and situation
→ Only trade with capital you can afford to lose completely
❌ NO HOLY GRAIL
→ This indicator is a TOOL, not a complete trading system
→ It should be used as part of a broader analysis framework
→ Combine with your own technical analysis, risk management, and judgment
→ No indicator works 100% of the time in all market conditions
❌ ANALYSIS PANEL DISCLAIMER
The "Trade Analysis Panel" provides ALGORITHMIC ANALYSIS of market factors.
→ It does NOT provide investment advice or recommendations
→ Factor scores are mathematical calculations, not predictions
→ Guidance messages are informational, not directives
→ All trading decisions remain your responsibility
❌ BACKTESTING LIMITATIONS
→ This is an indicator, not a strategy, so no backtesting results are provided
→ Any backtesting you perform includes hindsight bias and optimization bias
→ Historical performance does not indicate future performance
→ Slippage, commissions, and real-world execution differ from backtests
❌ MARKET CONDITIONS
→ This indicator performs differently in trending vs. ranging markets
→ Extreme volatility can produce false signals or whipsaws
→ Low liquidity periods increase execution risk
→ Major news events can invalidate technical analysis
BY USING THIS INDICATOR, YOU ACKNOWLEDGE:
→ You have read and understood this disclaimer
→ You accept full responsibility for your trading decisions
→ You understand the substantial risks involved in trading
→ You will not hold the author liable for any losses incurred
→ You are using this tool as part of your own due diligence process
KEY FEATURES SUMMARY
✅ Volume-Weighted Kinetic Pulse Engine (proprietary momentum calculation)
✅ 15-Factor Confluence Scoring System (graded signals: A+, A, B)
✅ Multi-Oscillator Divergence Detection (Pulse + CCI + Stochastic)
✅ Higher Timeframe Trend Alignment Filter
✅ Adaptive Period Adjustment (volatility-responsive)
✅ Instrument-Aware Calibration (Forex, Crypto, Indices, Commodities)
✅ Structure-Based Stop Loss Calculation (respects swing highs/lows)
✅ Automated Trade Tracking (entry, stop, TP1, TP2, P/L)
✅ Real-Time Factor Analysis State Machine (5-state system with hysteresis)
✅ Session Awareness (Asian, London, New York, Overlap)
✅ Volatility Regime Detection (blocks signals in extreme conditions)
✅ Choppiness Filter (reduces signals in ranging markets)
✅ Volume Confirmation (relative volume and delta analysis)
✅ Clean Air Check (validates clear path to targets)
✅ Comprehensive Dashboards (market conditions + trade analysis)
✅ Customizable Display (3 signal styles, color themes, positioning)
✅ 9 Built-In Alert Conditions (signals, TP/SL hits, state changes)
✅ Fully Non-Repainting (barstate.isconfirmed, lookahead_off)
✅ Previous Day Levels (PDH/PDL reference lines)
✅ Mobile-Friendly Compact Mode (for smaller screens)
TECHNICAL SPECIFICATIONS
→ Pine Script Version: v6
→ Indicator Type: Overlay (displays on price chart)
→ License: Mozilla Public License 2.0
→ Copyright: BULLBYTE
→ Object Limits: 300 labels, 100 lines, 50 boxes
→ Memory Management: Automatic cleanup system (FIFO queue)
→ Repainting: Non-repainting (signals confirmed on bar close)
→ Timeframe Support: All timeframes (1s to Monthly)
→ Instrument Support: Forex, Crypto, Indices, Commodities, Stocks
→ HTF Data Handling: lookahead_off with historical offset
VERSION HISTORY
v1.0 - Initial Release
→ Kinetic Pulse engine with volume weighting and Fisher Transform
→ 15-factor confluence scoring system
→ Trade analysis state machine with hysteresis
→ Automated trade tracking and monitoring
→ Dual dashboard system (market conditions + factor analysis)
→ 9 alert conditions
→ 3 signal display styles
→ Instrument-aware calibration
→ Full risk management framework
WHO IS THIS INDICATOR FOR?
IDEAL FOR:
✓ Scalpers and day traders seeking high-confluence reversal entries
✓ Swing traders who want quality over quantity
✓ Traders who appreciate systematic, rules-based analysis
✓ Multi-timeframe traders who value HTF confirmation
✓ Forex traders who respect session timing
✓ Crypto traders needing volatility-adjusted parameters
✓ Traders who want complete trade management (entry, stop, targets)
✓ Analytical traders who want transparency in signal generation
NOT IDEAL FOR:
✗ Traders seeking a "set and forget" holy grail system
✗ Traders who don't want to learn the methodology
✗ Traders unwilling to accept losing trades as part of the process
✗ Traders who need constant signals (this is a quality-focused system)
✗ Traders who ignore risk management
FINAL THOUGHTS
The Kinetic Scalper is the result of extensive research into momentum behavior, volume confirmation, and multi-factor confluence analysis. It's designed to identify high-probability reversal setups while maintaining strict risk management and providing complete transparency.
This is NOT a magic solution. It's a sophisticated TOOL that requires:
→ Understanding of the methodology
→ Proper risk management discipline
→ Patience to wait for quality setups
→ Willingness to accept losses as part of trading
→ Integration with your own analysis and judgment
Used properly as part of a complete trading plan, the Kinetic Scalper can help you identify high-confluence opportunities and manage trades systematically.
Remember: Quality over quantity. Discipline over emotion. Risk management over everything.
Trade smart. Trade safe.
© 2025 BULLBYTE | Kinetic Scalper v1.0 | For Educational Purposes Only
ICT/SMC DOL Detector PRO (Final)This indicator is designed to operate only on the 1-hour timeframe.
The ICT/SMC DOL Detector PRO is an educational indicator designed to identify and visualize Draw on Liquidity (DOL) levels across multiple time-frames. It tracks unmitigated daily highs and lows, clusters them into zones, and calculates confidence scores based on multiple factors including time decay, cluster size, and time-frame alignment.
This indicator is based on ICT (Inner Circle Trader) concepts and liquidity theory, which suggests that price tends to seek out areas of concentrated unfilled orders before reversing or continuing its trend.
What is a DOL (Draw on Liquidity)?
A Draw on Liquidity represents a daily high or low that has not been revisited (mitigated) by price. These levels act as "magnets" that draw price toward them because:
1. They represent untapped liquidity pools where unfilled orders exist
2. Market makers and institutions often target these levels to fill large orders
3. Price is drawn to these zones to clear pending orders
4. They can serve as potential reversal or continuation zones once liquidity is taken
Methodology
1. Level Tracking
The indicator monitors daily session highs and lows on the 1-hour time-frame, tracking:
- Session high price and time of formation
- Session low price and time of formation
- Whether each level has been breached (mitigated)
- Time elapsed since level formation
2. Clustering Algorithm
Unmitigated levels within a defined tolerance (default 0.5% of price) are grouped together to identify zones where multiple DOLs cluster. Larger clusters indicate stronger liquidity pools.
3. Confidence Scoring (The "AI" Logic)
Each DOL receives a confidence score (0-100%) based on three weighted factors. This is the core "AI" intelligence of the indicator:
**Factor 1: Cluster Size (50% weight)**
- Counts how many unmitigated levels exist within 0.5% of the price zone
- Formula: (levels_in_cluster / total_unmitigated_levels) × 50
- Logic: More unfilled orders clustered together = stronger liquidity pool = higher confidence
- Example: If 5 out of 10 total unmitigated levels cluster at 27,500, cluster score = (5/10) × 50 = 25%
**Factor 2: Time Decay (25% weight)**
- Calculates age of the level since formation
- Fresh levels (< 1 week old): Full 25% score
- Aging penalty: Loses 5% per week of age
- Maximum penalty: 25% (very old levels = 0% time score)
- Formula: max(0, 25 - (weeks_old × 5))
- Logic: Recent liquidity is more relevant than old liquidity that price has ignored for months
**Factor 3: Timeframe Alignment (25% weight)**
- Checks how many timeframes (1H, 4H, D1, W1) point in the same direction
- If multiple timeframes identify DOLs on the same side (all bullish or all bearish): Higher score
- If mixed signals: Lower score
- Formula: (aligned_timeframes / total_timeframes) × 25
- Logic: When multiple timeframes agree, the liquidity zone is validated across different time perspectives
**Total Confidence Score:**
```
Confidence = Cluster_Score + Time_Score + Alignment_Score
= (0-50%) + (0-25%) + (0-25%)
= 0-100%
```
**Example Calculation:**
```
DOL at 27,500:
- 6 out of 12 unmitigated levels cluster here → (6/12) × 50 = 25%
- Level is 2 weeks old → 25 - (2 × 5) = 15%
- 3 out of 4 timeframes bullish toward this level → (3/4) × 25 = 18.75%
- Total Confidence = 25% + 15% + 18.75% = 58.75% ≈ 59%
```
This mathematical approach removes subjectivity and provides objective, data-driven confidence scoring.
4. Multi-Timeframe Analysis
The indicator analyzes DOLs across four timeframes:
- **1H:** Intraday levels (fastest reaction)
- **4H:** Short-term swing levels
- **Daily:** Intermediate-term levels
- **Weekly:** Long-term structural levels
For each timeframe, it identifies:
- Highest confidence unmitigated high
- Highest confidence unmitigated low
- Directional bias (bullish if high > low confidence, bearish if low > high confidence)
5. Primary DOL Selection (AI Auto-Selection Logic)
When "Show AI DOL" is enabled, the indicator uses an automated selection algorithm to identify the most important targets:
**Step 1: Collect All Candidates**
The algorithm gathers all identified DOLs from all timeframes (1H, 4H, D1, W1) that meet minimum criteria:
- Must be unmitigated (not yet swept)
- Must have confidence score > 0%
- Must have at least 1 level in cluster
**Step 2: Calculate Confidence for Each**
Each candidate DOL receives its confidence score using the three-factor formula described above (Cluster + Time + Alignment).
**Step 3: Sort by Confidence**
All candidates are ranked from highest to lowest confidence score.
**Step 4: Select Primary and Secondary**
- **P1 (Primary DOL):** The DOL with the absolute highest confidence score
- **P2 (Secondary DOL):** The DOL with the second highest confidence score
**Why This Matters:**
Instead of manually scanning multiple timeframes and guessing which level is most important, the AI objectively identifies the two highest-probability liquidity targets based on quantifiable data.
**Example AI Selection:**
```
Available DOLs:
- 1H High: 27,400
- 4H High: 27,500
- D1 High: 27,500 ← P1 (Highest)
- W1 High: 27,650 ← P2 (Second Highest)
- 1H Low: 26,800
- D1 Low: 26,500
AI Selection:
P1 = 27,500 (Daily High with 92% confidence)
P2 = 27,650 (Weekly High with 88% confidence)
```
This provides a data-driven target selection rather than subjective manual interpretation. The AI removes emotion and bias, selecting targets based purely on mathematical probability.
Features
Why "AI" DOL?
The term "AI" in this indicator refers to the automated algorithmic selection process, not machine learning or neural networks. Specifically:
**What the AI Does:**
- Automatically evaluates all available DOLs across all timeframes
- Applies a weighted scoring algorithm (Cluster 50%, Time 25%, Alignment 25%)
- Objectively ranks DOLs by probability
- Selects the top 2 highest-confidence targets (P1 and P2)
- Removes human bias and emotion from target selection
**What the AI Does NOT Do:**
- It does not use machine learning or train on historical data
- It does not predict future price movements
- It does not adapt or "learn" over time
- It does not guarantee accuracy
The "AI" is simply an automated decision-making algorithm that applies consistent mathematical rules to identify the most statistically significant liquidity zones. Think of it as a "smart filter" rather than artificial intelligence in the traditional sense.
Visual Components
**Daily Level Lines:**
- Green lines: Unmitigated (not yet breached) levels
- Red lines: Mitigated (already breached) levels
- Dots at origin point showing where level was formed
- X marker when level gets breached
- Lines extend forward to show projection
**DOL Labels:**
- Display timeframe (1H, 4H, D1, W1) or "DOL" for AI selection
- Show confidence percentage in brackets
- Color-coded by timeframe:
- Lime: AI DOL (Smart selection)
- Aqua: 1-hour timeframe
- Blue: 4-hour timeframe
- Purple: Daily timeframe
- Orange: Weekly timeframe
**Info Box (Top Right):**
Displays comprehensive liquidity metrics:
- Total levels tracked
- Active (unmitigated) levels count
- Cleared (mitigated) levels count
- Flow direction (BID PRESSURE / OFFER PRESSURE)
- Most recent sweep
- Primary and Secondary DOL targets
- Multi-timeframe bias analysis
- Overall directional bias
Settings Explained
**Daily Levels Group:**
- Show Daily Highs/Lows: Toggle visibility of all daily level tracking
- Unbreached Color: Color for levels not yet hit
- Breached Color: Color for levels that have been swept
- Show X on Breach: Display marker when level is breached
- Show Dot at Origin: Display marker at level formation point
- Line Width: Thickness of level lines (1-5)
- Line Extension: How many bars forward to project (1-24)
- Max Days to Track: Historical lookback period (5-200 days)
**DOL Settings Group:**
- Cluster Tolerance %: Price range to group DOLs (0.1-2.0%)
- Show Price on Labels: Display actual price value on labels
- Backtest Mode: Only show recent labels for clean historical analysis
- Labels Lookback: Number of bars to show labels when backtesting (10-500)
**Info Box Group:**
- Show Info Box: Toggle info panel visibility
**DOL Toggles Group:**
- Show AI DOL: Display smart auto-selected primary target
- Show 1HR DOL: Display 1-hour timeframe DOLs
- Show 4HR DOL: Display 4-hour timeframe DOLs
- Show Daily DOL: Display daily timeframe DOLs
- Show Weekly DOL: Display weekly timeframe DOLs
**Advanced Group:**
- Manual Mode: Simplified display showing only daily high/low clusters
How to Use This Indicator
Educational Application
This indicator is intended for educational purposes to help traders:
1. **Understand Liquidity Concepts:** Visualize where unfilled orders may exist
2. **Identify Key Levels:** See where price may be drawn to
3. **Analyze Market Structure:** Understand how price interacts with liquidity
4. **Study Multi-Timeframe Alignment:** Observe when multiple timeframes agree
5. **Learn ICT Concepts:** Apply liquidity theory in practice
Interpretation Guidelines
**BID PRESSURE (Flow):**
When lows are being swept more than highs, it suggests:
- Sell-side liquidity being taken
- Potential for upward move to unfilled buy-side liquidity
- Market may be clearing the way for a bullish move
**OFFER PRESSURE (Flow):**
When highs are being swept more than lows, it suggests:
- Buy-side liquidity being taken
- Potential for downward move to unfilled sell-side liquidity
- Market may be clearing the way for a bearish move
**Confidence Scores:**
- 90-100%: Very high probability zone (strong cluster, recent, aligned)
- 80-89%: High probability zone (good cluster, relatively recent)
- 70-79%: Moderate probability zone (decent cluster or older)
- 60-69%: Lower probability zone (small cluster or very old)
- Below 60%: Weak zone (minimal confluence)
**Timeframe Analysis:**
- All timeframes LONG: Strong bullish alignment
- All timeframes SHORT: Strong bearish alignment
- Mixed: Conflicting signals, exercise caution
- Higher timeframes (D1, W1) carry more weight than lower (1H, 4H)
**DIRECTIONAL Indicator:**
- BULLISH: Overall bias suggests upward movement toward buy-side DOLs
- BEARISH: Overall bias suggests downward movement toward sell-side DOLs
- NEUTRAL: No clear directional bias, conflicting signals
Practical Application Examples
**Example 1: Bullish Setup**
```
Flow: BID PRESSURE (lows being swept)
P1: 27,500 (price above current market)
D1: LONG 27,500
W1: LONG 27,650
DIRECTIONAL: BULLISH
```
Interpretation: Price has cleared sell-side liquidity. High confidence buy-side DOL at 27,500. Daily and Weekly timeframes aligned bullish. Watch for move toward 27,500 target.
**Example 2: Bearish Setup**
```
Flow: OFFER PRESSURE (highs being swept)
P1: 26,200 (price below current market)
D1: SHORT 26,200
W1: SHORT 26,100
DIRECTIONAL: BEARISH
```
Interpretation: Price has cleared buy-side liquidity. High confidence sell-side DOL at 26,200. Daily and Weekly timeframes aligned bearish. Watch for move toward 26,200 target.
**Example 3: Mixed Signals - Wait**
```
Flow: BID PRESSURE
P1: 26,800
D1: LONG 27,000
W1: SHORT 26,200
DIRECTIONAL: NEUTRAL
```
Interpretation: Conflicting signals. Flow suggests up, but Weekly bias is down. Confidence scores moderate. Better to wait for clarity.
Important Considerations
This Indicator Does NOT:
- Predict the future
- Guarantee profitable trades
- Provide buy/sell signals
- Replace proper risk management
- Work in isolation without other analysis
This Indicator DOES:
- Visualize liquidity concepts
- Identify potential target zones
- Show timeframe alignment
- Calculate objective confidence scores
- Help understand market structure
Proper Usage:
1. Use as one component of a complete trading strategy
2. Combine with price action analysis
3. Confirm with other technical indicators
4. Consider fundamental factors
5. Always use proper risk management
6. Backtest any strategy before live trading
Risk Disclaimer
**FOR EDUCATIONAL PURPOSES ONLY**
This indicator is for educational purposes only. Trading financial markets involves substantial risk of loss. Past performance does not guarantee future results. Always conduct your own research and consult with a financial advisor before making trading decisions.
**Important Limitations:**
- No indicator is 100% accurate, including the AI selection
- The "AI" is an automated algorithm, not predictive artificial intelligence
- DOL levels can be swept and price can continue in the same direction
- Confidence scores are mathematical calculations, not predictions or probabilities of success
- High confidence does not mean guaranteed profit
- Markets can remain irrational longer than you can remain solvent
- Always use stop losses and proper position sizing
**Understanding the AI Component:**
The AI auto-selection feature uses a fixed mathematical formula to rank DOLs. It does not:
- Predict where price will go
- Learn from past performance
- Adapt to market conditions
- Guarantee any level of accuracy
The confidence score represents the mathematical strength of a liquidity cluster based on objective factors (cluster size, recency, timeframe alignment), NOT a probability of the trade succeeding.
**Risk Warning:**
Trading is risky. Most traders lose money. This indicator cannot change that fundamental reality. Use it as an educational tool to understand market structure, not as a trading signal or system.
Technical Requirements
- **Timeframe:** Best used on 1-hour charts (required for accurate daily level tracking)
- **Markets:** Works on any market (forex, crypto, stocks, futures, indices)
- **Updates:** Real-time calculation on each bar close
- **Resources:** Uses max 500 lines and 500 labels (TradingView limits)
Backtesting Features
The indicator includes "Backtest Mode" to keep historical charts clean:
- When enabled, only shows labels from recent bars
- Adjustable lookback period (10-500 bars)
- All lines remain visible
- Helps review past setups without clutter
To use:
1. Enable "Backtest Mode" in settings
2. Adjust "Labels Lookback" to desired period
3. Review historical price action
4. Disable for live trading
Credits and Methodology
This indicator implements concepts from:
- ICT (Inner Circle Trader) liquidity theory
- Smart Money Concepts (SMC)
- Order flow analysis
- Multi-timeframe analysis principles
The clustering algorithm, confidence scoring, and timeframe synthesis are original implementations designed to quantify and visualize these concepts.
Version History
**v1.0 - Initial Release**
- Multi-timeframe DOL detection
- Confidence scoring system
- Info box with liquidity metrics
- Backtest mode for clean charts
- Black/white professional theme
Support and Updates
For questions, feedback, or suggestions, please use the TradingView comments section. Updates and improvements will be released as needed based on user feedback and market evolution.
**Remember:** This is an educational tool. Successful trading requires knowledge, discipline, risk management, and continuous learning. Use this indicator to enhance your understanding of market structure and liquidity, not as a standalone trading system.
TradeChartist Spotter ™TradeChartist Spotter is a extremely well designed Trader's toolkit that packs a range of trading indicators like MACD, RSI, MA/MA-Crosses and Price-Volume Trend Oscillator, along with visual trade spotting tools like Symbol Tracker, MACD Trend Shadow plot and Coloured Bars, including a handy information Dashboard.
===================================================================================================================
™TradeChartist Spotter Features:
1. MACD
MACD is an essential indicator for any trader to track trend strength and momentum of asset prices. Spotter offers 3 MACD options - SMA, EMA and Zero-Lag EMA . Since MACD is based on moving averages, it is inherently a lagging indicator and may not work well when there is no trend strength or when the market is choppy. It is for this reason Spotter offers the option of Overall Trend Shadow and also the option to display Zero-Lag Trend Shadow on normal MACD based on SMA or EMA. This is based on the average of MACD and Signal plots.
Spotter's default MACD settings are 13/34/13, but this can be changed to the classic settings of 12/26/9 and the user can enable or disable the various elements of the MACD based on their preference.
The Dashboard on the MACD Spotter offers information on the symbol tracked, settings used and also the close price of the asset. This is really useful especially when tracking a different symbol than the current price chart symbol. Note that the actual MACD plot also will be of the symbol tracked if it is not the same as price chart symbol.
Using Zero-Lag Trend Shadow on normal SMA/EMA MACD histogram helps spot trend changes early. It is recommended to test different MACD settings on asset traded to suit trading style and frequency.
If MACD Histogram is disabled to see the Overall Trend better, make sure to switch back on as it should not be confused with the main MACD histogram which tracks the distance between the MACD and Signal plots.
2. RSI
RSI is the classic technical indicator that helps track the price magnitude and velocity of the asset's price movement. It helps spot Oversold and Overbought areas easily as it oscillates between 0 and 100, even though values below 10 and values above 90 are almost never seen. By using a upper band and a lower band plot, it is possible to track the strength of the up or down move.
Spotter's default RSI settings are ohlc4/14/5. EMA smoothing of 5 is used to eliminate the noise, but these can be changed to suit user's preference. The default Upper Band is 60 and Lower Band is 40 in the settings, as price moves above 60 RSI tend to be bullish and price moves below 40 tend to be bearish. This can be changed to 70/30 or 80/20 etc. based on how RSI is being used by the user.
RSI strength can also be visualised on the price bars using Spotter's Coloured Bars. The bar colours can be inverted to help traders see the price action differently.
RSI Dashboard also helps track another symbol, it's RSI value and close price to help the user track another symbol on the same chart. Note that the actual RSI plot also will be of the symbol tracked if it is not the same as price chart symbol.
3. MA/MA-Crosses
Two Moving averages (SMA, EMA or Zero-Lag EMA) can be plotted with MA Crosses using the MA/MA-Crosses Spotter.
The MACD input of Fast MA Length and Slow MA Length is used to plot the MA's. To plot just one MA, same value can be entered in both MA length boxes in the settings.
The plots can be merged with the main price chart by using Move Pane Above and by merging the scales into one.
The Dashboard also helps track another symbol, it's MA plots and close price to help the user track another symbol on the same chart. Note that the actual MA plots also will be of the symbol tracked if it is not the same as price chart symbol.
4. Price-Volume Trend Oscillator
Spotter converts the Price Volume Trend (PVT) into an Oscillator, as it helps spot divergences and makes it easy to plot PVT strength as coloured bars on main price chart.
No user input required for this Oscillator plot. Note: Some Symbols don't have volume information and hence PVT Oscillator will not work on them.
PVT Oscillator Dashboard displays current bar volume (if available) along with the close price. Similar to other plots in the Spotter, the Oscillator is of the symbol tracked if its not the same as price chart symbol.
5. Useful Extras
Coloured Bars - Paints price bars with strength and intensity based on indicator used. Bar Colours can be inverted by enabling Invert Bar Colors option from Spotter settings.
Five Colour Themes - Classic, Acute Classic, Effulgence, Firefly and Hallucination
Background colour - Same as bar colour strength, but painted subtly in the indicator background.
===================================================================================================================
Note:
Alerts can be created using the name of the plot under Alert Condition for Spotter - ™TradeChartist crossing above/below etc based on the type of alert the user wants to get.
The indicator does not repaint. Alerts may display potential repaint warning, but this is because the code uses bar index for the Dashboard. For confidence in the indicator, it can be tested using bar replay to make sure the real-time and bar replay trade entries and plots stay on the same bar/timestamp.
™TradeChartist Spotter can be connected to ™TradeChartist Plug and Trade (Premium Script - not free) to generate Trade Entries, Targets, Sop Loss plots etc and to create all types of alerts. Example chart below using LINK-USDT.
===================================================================================================================
Example Charts
1. BTC-USDT 1 hr chart showing MACD with classic settings 12/26/9 on top pane with normal Overall Trend Shadow and the bottom pane with exact same settings with Zero-Lag Overall Trend Shadow.
2. XAU-USD 4 hr chart showing MACD (13/55/34) using Zero-Lag EMA.
3.ADA-USDT 1 hr chart with Price-Volume Trend Oscillator - Useful for confirming divergences and trade decisions based on volume.
4. SPX 15m chart with RSI (ohlc4,14,5) in bottom pane and 5/34 MA cross Spotter on Price Chart with Dashboard.
5. GBP-USD 1 hr chart with Spotter tracking MACD (13/89/34) of DXY (Different Symbol from GBP-USD on chart)
===================================================================================================================
Best Practice: Test with different settings first using Paper Trades before trading with real money
This is a free to use indicator.
===================================================================================================================
Chronos Reversal Labs - SPChronos Reversal Labs - Shadow Portfolio
Chronos Reversal Labs - Shadow Portfolio: combines reinforcement learning optimization with adaptive confluence detection through a shadow portfolio system. Unlike traditional indicator mashups that force traders to manually interpret conflicting signals, this system deploys 4 multi-armed bandit algorithms to automatically discover which of 5 specialized confluence strategies performs best in current market conditions, then validates those discoveries through parallel shadow portfolios that track virtual P&L for each strategy independently.
Core Innovation: Rather than relying on static indicator combinations, this system implements Thompson Sampling (Bayesian multi-armed bandits), contextual bandits (regime-specific learning), advanced chop zone detection (geometric pattern analysis), and historical pre-training to build a self-improving confluence detection engine. The shadow portfolio system runs 5 parallel virtual trading accounts—one per strategy—allowing the system to learn which confluence approach works best through actual position tracking with realistic exits.
Target Users: Intermediate to advanced traders seeking systematic reversal signals with mathematical rigor. Suitable for swing trading and day trading across stocks, forex, crypto, and futures on liquid instruments. Requires understanding of basic technical analysis and willingness to allow 50-100 bars for initial learning.
Why These Components Are Combined
The Fundamental Problem
No single confluence method works consistently across all market regimes. Kernel-based methods (entropy, DFA) excel during predictable phases but fail in chaos. Structure-based methods (harmonics, BOS) work during clear swings but fail in ranging conditions. Technical methods (RSI, MACD, divergence) provide reliable signals in trends but generate false signals during consolidation.
Traditional solutions force traders to either manually switch between methods (slow, error-prone) or interpret all signals simultaneously (cognitive overload). Both fail because they assume the trader knows which regime the market is in and which method works best.
The Solution: Meta-Learning Through Reinforcement Learning
This system solves the problem through automated strategy selection : Deploy 5 specialized confluence strategies designed for different market conditions, track their real-world performance through shadow portfolios, then use multi-armed bandit algorithms to automatically select the optimal strategy for the next trade.
Why Shadow Portfolios? Traditional bandit implementations use abstract "rewards." Shadow portfolios provide realistic performance measurement : Each strategy gets a virtual trading account with actual position tracking, stop-loss management, take-profit targets, and maximum holding periods. This creates risk-adjusted learning where strategies are evaluated on P&L, win rate, and drawdown—not arbitrary scores.
The Five Confluence Strategies
The system deploys 5 orthogonal strategies with different weighting schemes optimized for specific market conditions:
Strategy 1: Kernel-Dominant (Entropy/DFA focused, optimal in predictable markets)
Shannon Entropy weight × 2.5, DFA weight × 2.5
Detects low-entropy predictable patterns and DFA persistence/mean-reversion signals
Failure mode: High-entropy chaos (hedged by Technical-Dominant)
Strategy 2: Structure-Dominant (Harmonic/BOS focused, optimal in clear swing structures)
Harmonics weight × 2.5, Liquidity (S/R) weight × 2.0
Uses swing detection, break-of-structure, and support/resistance clustering
Failure mode: Range-bound markets (hedged by Balanced)
Strategy 3: Technical-Dominant (RSI/MACD/Divergence focused, optimal in established trends)
RSI weight × 2.0, MACD weight × 2.0, Trend weight × 2.0
Zero-lag RSI suite with 4 calculation methods, MACD analysis, divergence detection
Failure mode: Choppy/ranging markets (hedged by chop filter)
Strategy 4: Balanced (Equal weighting, optimal in unknown/transitional regimes)
All components weighted 1.2×
Baseline performance during regime uncertainty
Strategy 5: Regime-Adaptive (Dynamic weighting by detected market state)
Chop zones: Kernel × 2.0, Technical × 0.3
Bull/Bear trends: Trend × 1.5, DFA × 2.0
Ranging: Mean reversion × 1.5
Adapts explicitly to detected regime
Multi-Armed Bandit System: 4 Core Algorithms
What Is a Multi-Armed Bandit Problem?
Formal Definition: K arms (strategies), each with unknown reward distribution. Goal: Maximize cumulative reward while learning which arms are best. Challenge: Balance exploration (trying uncertain strategies) vs. exploitation (using known-best strategy).
Trading Application: Each confluence strategy is an "arm." After each trade, receive reward (P&L percentage). Bandits decide which strategy to trust for next signal.
The 4 Implemented Algorithms
1. Thompson Sampling (DEFAULT)
Category: Bayesian approach with probability distributions
How It Works: Model each strategy as Beta(α, β) where α = wins, β = losses. Sample from distributions, select highest sample.
Properties: Optimal regret O(K log T), automatic exploration-exploitation balance
When To Use: Best all-around choice, adaptive markets, long-term optimization
2. UCB1 (Upper Confidence Bound)
Category: Frequentist approach with confidence intervals
Formula: UCB_i = reward_mean_i + sqrt(2 × ln(total_pulls) / pulls_i)
Properties: Deterministic, interpretable, same optimal regret as Thompson
When To Use: Prefer deterministic behavior, stable markets
3. Epsilon-Greedy
Category: Simple baseline with random exploration
How It Works: With probability ε (0.15): random strategy. Else: best average reward.
Properties: Simple, fast initial learning
When To Use: Baseline comparison, short-term testing
4. Contextual Bandit
Category: Context-aware Thompson Sampling
Enhancement: Maintains separate alpha/beta for Bull/Bear/Ranging regimes
Learning: "Strategy 2: 60% win rate in Bull, 40% in Bear"
When To Use: After 100+ bars, clear regime shifts
Shadow Portfolio System
Why Shadow Portfolios?
Traditional bandits use abstract scores. Shadow portfolios provide realistic performance measurement through actual position simulation.
How It Works
Position Opening:
When strategy generates validated signal:
Opens virtual position for selected strategy
Records: entry price, direction, entry bar, RSI method
Optional: Open positions for ALL strategies simultaneously (faster learning)
Position Management (Every Bar):
Current P&L: pnl_pct = (close - entry) / entry × direction × 100
Exit if: pnl_pct <= -2.0% (stop-loss) OR pnl_pct >= +4.0% (take-profit) OR held ≥ 100 bars (time)
Position Closing:
Calculate final P&L percentage
Update strategy equity, track win rate, gross profit/loss, max drawdown
Calculate risk-adjusted reward:
text
base_reward = pnl_pct / 10.0
win_rate_bonus = (win_rate - 0.5) × 0.3
drawdown_penalty = -max_drawdown × 0.05
total_reward = sigmoid(base + bonus + penalty)
Update bandit algorithms with reward
Update RSI method bandit
Statistics Tracked Per Strategy:
Equity curve (starts at $10,000)
Win rate percentage
Max drawdown
Gross profit/loss
Current open position
This creates closed-loop learning : Strategies compete → Best performers selected → Bandits learn quality → System adapts automatically.
Historical Pre-Training System
The Problem with Live-Only Learning
Standard bandits start with zero knowledge and need 50-100 signals to stabilize. For weekly timeframe traders, this could take years.
The Solution: Historical Training
During Chart Load: System processes last 300-1000 bars (configurable) in "training mode":
Detect signals using Balanced strategy (consistent baseline)
For each signal, open virtual training positions for all 5 strategies
Track positions through historical bars using same exit logic (SL/TP/time)
Update bandit algorithms with historical outcomes
CRITICAL TRANSPARENCY: Signal detection does NOT look ahead—signals use only data available at entry bar. Exit tracking DOES look ahead (uses future bars for SL/TP), which is acceptable because:
✅ Entry decisions remain valid (no forward bias)
✅ Learning phase only (not affecting shown signals)
✅ Real-time mirrors training (identical exit logic)
Training Completion: Once chart reaches current bar, system transitions to live mode. Dashboard displays training vs. live statistics for comparison.
Benefit: System begins live trading with 100-500 historical trades worth of learning, enabling immediate intelligent strategy selection.
Advanced Chop Zone Detection Engine
The Innovation: Multi-Layer Geometric Chop Analysis
Traditional chop filters use simple volatility metrics (ATR thresholds) that can't distinguish between trending volatility (good for signals) and choppy volatility (bad for signals). This system implements three-layer geometric pattern analysis to precisely identify consolidation zones where reversal signals fail.
Layer 1: Micro-Structure Chop Detection
Method: Analyzes micro pivot points (5-bar left, 2-bar right) to detect geometric compression patterns.
Slope Analysis:
Calculates slope of pivot high trendline and pivot low trendline
Compression ratio: compression = slope_high - slope_low
Pattern Classification:
Converging slopes (compression < -0.05) → "Rising Wedge" or "Falling Wedge"
Flat slopes (|slope| < 0.05) → "Rectangle"
Parallel slopes (|compression| < 0.1) → "Channel"
Expanding slopes → "Expanding Range"
Chop Scoring:
Rectangle pattern: +15 points (highest chop)
Low average slope (<0.05): +15 points
Wedge patterns: +12 points
Flat structures: +10 points
Why This Works: Geometric patterns reveal market indecision. Rectangles and wedges create false breakouts that trap technical traders. By quantifying geometric compression, system detects these zones before signals fire.
Layer 2: Macro-Structure Chop Detection
Method: Tracks major swing highs/lows using ATR-based deviation threshold (default 2.0× ATR), projects channel boundaries forward.
Channel Position Calculation:
proj_high = last_swing_high + (swing_high_slope × bars_since)
proj_low = last_swing_low + (swing_low_slope × bars_since)
channel_width = proj_high - proj_low
position = (close - proj_low) / channel_width
Dead Zone Detection:
Middle 50% of channel (position 0.25-0.75) = low-conviction zone
Score increases as price approaches center (0.5)
Chop Scoring:
Price in dead zone: +15 points (scaled by centrality)
Narrow channel width (<3× ATR): +15 points
Channel width 3-5× ATR: +10 points
Why This Works: Price in middle of range has equal probability of moving either direction. Institutional traders avoid mid-range entries. By detecting "dead zones," system avoids low-probability setups.
Layer 3: Volume Chop Scoring
Method: Low volume indicates weak conviction—precursor to ranging behavior.
Scoring:
Volume < 0.5× average: +20 points
Volume 0.5-0.8× average: +15 points
Volume 0.8-1.0× average: +10 points
Overall Chop Intensity & Signal Filtering
Total Chop Calculation:
chop_intensity = micro_score + macro_score + (volume_score × volume_weight)
is_chop = chop_intensity >= 40
Signal Filtering (Three-Tier Approach):
1. Signal Blocking (Intensity > 70):
Extreme chop detected (e.g., tight rectangle + dead zone + low volume)
ALL signals blocked regardless of confluence
Chart displays red/orange background shading
2. Threshold Adjustment (Intensity 40-70):
Moderate chop detected
Confluence threshold increased: threshold += (chop_intensity / 50)
Only highest-quality signals pass
3. Strategy Weight Adjustment:
During Chop: Kernel-Dominant weight × 2.0 (entropy detects breakout precursors), Technical-Dominant weight × 0.3 (reduces false signals)
After Chop Exit: Weights revert to normal
Why This Three-Tier Approach Is Original: Most chop filters simply block all signals (loses breakout entries). This system adapts strategy selection during chop—allowing Kernel-Dominant (which excels at detecting low-entropy breakout precursors) to operate while suppressing Technical-Dominant (which generates false signals in consolidation). Result: System remains functional across full market regime spectrum.
Zero-Lag Filter Suite with Dynamic Volatility Scaling
Zero-Lag ADX (Trend Regime Detection)
Implementation: Applies ZLEMA to ADX components:
lag = (length - 1) / 2
zl_source = source + (source - source ) × strength
Dynamic Volatility Scaling (DVS):
Calculates volatility ratio: current_ATR / ATR_100period_avg
Adjusts ADX length dynamically: High vol → shorter length (faster), Low vol → longer length (smoother)
Regime Classification:
ADX > 25 with +DI > -DI = Bull Trend
ADX > 25 with -DI > +DI = Bear Trend
ADX < 25 = Ranging
Zero-Lag RSI Suite (4 Methods with Bandit Selection)
Method 1: Standard RSI - Traditional Wilder's RSI
Method 2: Ehlers Zero-Lag RSI
ema1 = ema(close, length)
ema2 = ema(ema1, length)
zl_close = close + (ema1 - ema2)
Method 3: ZLEMA RSI
lag = (length - 1) / 2
zl_close = close + (close - close )
Method 4: Kalman-Filtered RSI - Adaptive smoothing with process/measurement noise
RSI Method Bandit: Separate 4-arm bandit learns which calculation method produces best results. Updates independently after each trade.
Kalman Adaptive Filters
Fast Kalman: Low process noise → Responsive to genuine moves
Slow Kalman: Higher measurement noise → Filters noise
Application: Crossover logic for trend detection, acceleration analysis for momentum inflection
What Makes This Original
Innovation 1: Shadow Portfolio Validation
First TradingView script to implement parallel virtual portfolios for multi-armed bandit reward calculation. Instead of abstract scoring metrics, each strategy's performance is measured through realistic position tracking with stop-loss, take-profit, time-based exits, and risk-adjusted reward functions (P&L + win rate + drawdown). This provides orders-of-magnitude better reward signal quality for bandit learning than traditional score-based approaches.
Innovation 2: Three-Layer Geometric Chop Detection
Novel multi-scale geometric pattern analysis combining: (1) Micro-structure slope analysis with pattern classification (wedges, rectangles, channels), (2) Macro-structure channel projection with dead zone detection, (3) Volume confirmation. Unlike simple volatility filters, this system adapts strategy weights during chop —boosting Kernel-Dominant (breakout detection) while suppressing Technical-Dominant (false signal reduction)—allowing operation across full market regime spectrum without blind signal blocking.
Innovation 3: Historical Pre-Training System
Implements two-phase learning : Training phase (processes 300-1000 historical bars on chart load with proper state isolation) followed by live phase (real-time learning). Training positions tracked separately from live positions. System begins live trading with 100-500 trades worth of learned experience. Dashboard displays training vs. live performance for transparency.
Innovation 4: Contextual Multi-Armed Bandits with Regime-Specific Learning
Beyond standard bandits (global strategy quality), implements regime-specific alpha/beta parameters for Bull/Bear/Ranging contexts. System learns: "Strategy 2: 60% win rate in ranging markets, 45% in bull trends." Uses current regime's learned parameters for strategy selection, enabling regime-aware optimization.
Innovation 5: RSI Method Meta-Learning
Deploys 4 different RSI calculation methods (Standard, Ehlers ZL, ZLEMA, Kalman) with separate 4-arm bandit that learns which calculation works best. Updates RSI method bandit independently based on trade outcomes, allowing automatic adaptation to instrument characteristics.
Innovation 6: Dynamic Volatility Scaling (DVS)
Adjusts ALL lookback periods based on current ATR ratio vs. 100-period average. High volatility → shorter lengths (faster response). Low volatility → longer lengths (smoother signals). Applied system-wide to entropy, DFA, RSI, ADX, and Kalman filters for adaptive responsiveness.
How to Use: Practical Guide
Initial Setup (5 Minutes)
Theory Mode: Start with "BALANCED" (APEX for aggressive, CONSERVATIVE for defensive)
Enable RL: Toggle "Enable RL Auto-Optimization" to TRUE, select "Thompson Sampling"
Enable Confluence Modules: Divergence, Volume Analysis, Liquidity Mapping, RSI OB/OS, Trend Analysis, MACD (all recommended)
Enable Chop Filter: Toggle "Enable Chop Filter" to TRUE, sensitivity 1.0 (default)
Historical Training: Enable "Enable Historical Pre-Training", set 300-500 bars
Dashboard: Enable "Show Dashboard", position Top Right, size Large
Learning Phase (First 50-100 Bars)
Monitor Thompson Sampling Section:
Alpha/beta values should diverge from initial 1.0 after 20-30 trades
Expected win% should stabilize around 55-60% (excellent), >50% (acceptable)
"Pulls" column should show balanced exploration (not 100% one strategy)
Monitor Shadow Portfolios:
Equity curves should diverge (different strategies performing differently)
Win rate > 55% is strong
Max drawdown < 15% is healthy
Monitor Training vs Live (if enabled):
Delta difference < 10% indicates good generalization
Large negative delta suggests overfitting
Large positive delta suggests system adapting well
Optimization:
Too few signals: Lower "Base Confluence Threshold" to 2.5-3.0
Too many signals: Raise threshold to 4.0-4.5
One strategy dominates (>80%): Increase "Exploration Rate" to 0.20-0.25
Excessive chop blocking: Lower "Chop Sensitivity" to 0.7-0.8
Signal Interpretation
Dashboard Indicators:
"WAITING FOR SIGNAL": No confluence
"LONG ACTIVE ": Validated long entry
"SHORT ACTIVE ": Validated short entry
Chart Visuals:
Triangle markers: Entry signal (green = long, red = short)
Orange/red background: Chop zone
Lines: Support/resistance if enabled
Position Management
Entry: Enter on triangle marker, confirm direction matches dashboard, check confidence >60%
Stop-Loss: Entry ± 1.5× ATR or at structural swing point
Take-Profit:
TP1: Entry + 1.5R (take 50%, move SL to breakeven)
TP2: Entry + 3.0R (runner) or trail
Position Sizing:
Risk per trade = 1-2% of capital
Position size = (Account × Risk%) / (Entry - SL)
Recommended Settings by Instrument
Stocks (Large Cap): Balanced mode, Threshold 3.5, Thompson Sampling, Chop 1.0, 15min-1H, Training 300-500 bars
Forex Majors: Conservative-Balanced mode, Threshold 3.5-4.0, Thompson Sampling, Chop 0.8-1.0, 5min-30min, Training 400-600 bars
Cryptocurrency: Balanced-APEX mode, Threshold 3.0-3.5, Thompson Sampling, Chop 1.2-1.5, 15min-4H, Training 300-500 bars
Futures: Balanced mode, Threshold 3.5, UCB1 or Thompson, Chop 1.0, 5min-30min, Training 400-600 bars
Technical Approximations & Limitations
1. Thompson Sampling: Pseudo-Random Beta Distribution
Standard: Cryptographic RNG with true beta sampling
This Implementation: Box-Muller transform using market data as entropy source
Impact: Not cryptographically random but maintains exploration-exploitation balance. Sufficient for strategy selection.
2. Shadow Portfolio: Simplified Execution Model
Standard: Order book simulation with slippage, partial fills
This Implementation: Perfect fills at close price, no fees modeled
Impact: Real-world performance ~0.1-0.3% worse per trade due to execution costs.
3. Historical Training: Forward-Looking for Exits Only
Entry signals: Use only past data (causal, no bias)
Exit tracking: Uses future bars to determine SL/TP (forward-looking)
Impact: Acceptable because: (1) Entry logic remains valid, (2) Live trading mirrors training, (3) Improves learning quality. Training win rates reflect 8-bar evaluation window—live performance may differ if positions held longer.
4. Shannon Entropy & DFA: Simplified Calculations
Impact: 10-15% precision loss vs. academic implementations. Still captures predictability and persistence signals effectively.
General Limitations
No Predictive Guarantee: Past performance ≠ future results
Learning Period Required: Minimum 50-100 bars for stable statistics
Overfitting Risk: May not generalize to unprecedented conditions
Single-Instrument: No multi-asset correlation or sector context
Execution Assumptions: Degrades in illiquid markets (<100k volume), major news events, flash crashes
Risk Warnings & Disclaimers
No Guarantee of Profit: All trading involves substantial risk of loss. This indicator is a tool, not a guaranteed profit system.
System Failures: Software bugs possible despite testing. Use appropriate position sizing.
Market Regime Changes: Performance may degrade during extreme volatility (VIX >40), low liquidity periods, or fundamental regime shifts.
Broker-Specific Issues: Real-world execution includes slippage (0.1-0.5%), commissions, overnight financing costs, partial fills.
Forward-Looking Bias in Training: Historical training uses 8-bar forward window for exit evaluation. Dashboard "Training Win%" reflects this method. Real-time performance may differ.
Appropriate Use
This Indicator IS:
✅ Entry trigger system with confluence validation
✅ Risk management framework (automated SL/TP)
✅ Adaptive strategy selection engine
✅ Learning system that improves over time
This Indicator IS NOT:
❌ Complete trading strategy (requires position sizing, portfolio management)
❌ Replacement for due diligence
❌ Guaranteed profit generator
❌ Suitable for complete beginners
Recommended Complementary Analysis: Market context, volume profile, fundamental catalysts, higher timeframe alignment, support/resistance from other sources.
Conclusion
Chronos Reversal Labs V2.0 - Elite Edition synthesizes research from multi-armed bandit theory (Thompson Sampling, UCB, contextual bandits), market microstructure (geometric chop detection, zero-lag filters), and machine learning (shadow portfolio validation, historical pre-training, RSI method meta-learning).
Unlike typical indicator mashups, this system implements mathematically rigorous bandit algorithms with realistic performance validation, three-layer chop detection with adaptive strategy weighting, regime-specific learning, and full transparency on approximations and limitations.
The system is designed for intermediate to advanced traders who understand that no indicator is perfect, but through proper machine learning and realistic validation, we can build systems that improve over time and adapt to changing markets without manual intervention.
Use responsibly. Understand the limitations. Risk disclosure applies. Past performance does not guarantee future results.
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Quantum Reversal Engine [ApexLegion]Quantum Reversal Engine
STRATEGY OVERVIEW
This strategy is constructed using 5 custom analytical filters that analyze different market dimensions - trend structure, momentum expansion, volume confirmation, price action patterns, and reversal detection - with results processed through a multi-component scoring calculation that determines signal generation and position management decisions.
Why These Custom Filters Were Independently Developed:
This strategy employs five custom-developed analytical filters:
1. Apex Momentum Core (AMC) - Custom oscillator with volatility-scaled deviation calculation
Standard oscillators lag momentum shifts by 2-3 bars. Custom calculation designed for momentum analysis
2. Apex Wick Trap (AWT) - Wick dominance analysis for trap detection
Existing wick analysis tools don't quantify trap conditions. Uses specific ratios for wick dominance detection
3. Apex Volume Pulse (AVP) - Volume surge validation with participation confirmation
Volume indicators typically use simple averages. Uses surge multipliers with participation validation
4. Apex TrendGuard (ATG) - Angle-based trend detection with volatility band integration
EMA slope calculations often produce false signals. Uses angle analysis with volatility bands for confirmation
5. Quantum Composite Filter (QCF) - Multi-component scoring and signal generation system
Composite scoring designed to filter noise by requiring multiple confirmations before signal activation.
Each filter represents mathematical calculations designed to address specific analytical requirements.
Framework Operation: The strategy functions as a scoring framework where each filter contributes weighted points based on market conditions. Entry signals are generated when minimum threshold scores are met. Exit management operates through a three-tier system with continued signal strength evaluation determining position holds versus closures at each TP level.
Integration Challenge: The core difficulty was creating a scoring system where five independent filters could work together without generating conflicting signals. This required backtesting to determine effective weight distributions.
Custom Filter Development:
Each of the five filters represents analytical approaches developed through testing and validation:
Integration Validation: Each filter underwent individual testing before integration. The composite scoring system required validation to verify that filters complement rather than conflict with each other, resulting in a cohesive analytical framework that was tested during the development period.
These filters represent custom-developed components created specifically for this strategy, with each component addressing different analytical requirements through testing and parameter adjustment.
Programming Features:
Multi-timeframe data handling with backup systems
Performance optimization techniques
Error handling for live trading scenarios
Parameter adaptation based on market conditions
Strategy Features:
Uses multi-filter confirmation approach
Adapts position holding based on continued signal strength
Includes analysis tools for trade review and optimization
Ongoing Development: The strategy was developed through testing and validation processes during the creation period.
COMPONENT EXPLANATION
EMA System
Uses 8 exponential moving averages (7, 14, 21, 30, 50, 90, 120, 200 periods) for trend identification. Primary signals come from 8/21 EMA crossovers, while longer EMAs provide structural context. EMA 1-4 determine short-term structure, EMA 5-8 provide long-term trend confirmation.
Apex Momentum Core (AMC)
Built custom oscillator mathematics after testing dozens of momentum calculation methods. Final algorithm uses price deviation from EMA baseline with volatility scaling to reduce lag while maintaining accuracy across different market conditions.
Custom momentum oscillator using price deviation from EMA baseline:
apxCI = 100 * (source - emaBase) / (sensitivity * sqrt(deviation + 1))
fastLine = EMA(apxCI, smoothing)
signalLine = SMA(fastLine, 4)
Signals generate when fastLine crosses signalLine at +50/-50 thresholds.
This identifies momentum expansion before traditional oscillators.
Apex Volume Pulse (AVP)
Created volume surge analysis that goes beyond simple averages. Extensive testing determined 1.3x multiplier with participation validation provides reliable confirmation while filtering false volume spikes.
Compares current volume to 21-period moving average.
Requires 1.3x average volume for signal confirmation. This filters out low-volume moves during quiet periods and confirms breakouts with actual participation.
Apex Wick Trap (AWT)
Developed proprietary wick trap detection through analysis of failed breakout patterns. Tested various ratio combinations before settling on 60% wick dominance + 20% body limit as effective trap identification parameters.
Analyzes candle structure to identify failed breakouts:
candleRange = math.max(high - low, 0.00001)
candleBody = math.abs(close - open)
bodyRatio = candleBody / candleRange
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
upperWickRatio = upperWick / candleRange
lowerWickRatio = lowerWick / candleRange
trapWickLong = showAWT and lowerWickRatio > minWickDom and bodyRatio < bodyToRangeLimit and close > open
trapWickShort = showAWT and upperWickRatio > minWickDom and bodyRatio < bodyToRangeLimit and close < open This catches reversals after fake breakouts.
Apex TrendGuard (ATG)
Built angle-based trend detection after standard EMA crossovers proved insufficient. Combined slope analysis with volatility bands through iterative testing to eliminate false trend signals.
EMA slope analysis with volatility bands:
Fast EMA (21) vs Slow EMA (55) for trend direction
Angle calculation: atan(fast - slow) * 180 / π
ATR bands (1.75x multiplier) for breakout confirmation
Minimum 25° angle for strong trend classification
Core Algorithm Framework
1. Composite Signal Generation
calculateCompositeSignals() =>
// Component Conditions
structSignalLong = trapWickLong
structSignalShort = trapWickShort
momentumLong = amcBuySignal
momentumShort = amcSellSignal
volumeSpike = volume > volAvg_AVP * volMult_AVP
priceStrength_Long = close > open and close > close
priceStrength_Short = close < open and close < close
rsiMfiComboValue = (ta.rsi(close, 14) + ta.mfi(close, 14)) / 2
reversalTrigger_Long = ta.crossover(rsiMfiComboValue, 50)
reversalTrigger_Short = ta.crossunder(rsiMfiComboValue, 50)
isEMACrossUp = ta.crossover(emaFast_ATG, emaSlow_ATG)
isEMACrossDown = ta.crossunder(emaFast_ATG, emaSlow_ATG)
// Enhanced Composite Score Calculation
scoreBuy = 0.0
scoreBuy += structSignalLong ? scoreStruct : 0.0
scoreBuy += momentumLong ? scoreMomentum : 0.0
scoreBuy += flashSignal ? weightFlash : 0.0
scoreBuy += blinkSignal ? weightBlink : 0.0
scoreBuy += volumeSpike_AVP ? scoreVolume : 0.0
scoreBuy += priceStrength_Long ? scorePriceAction : 0.0
scoreBuy += reversalTrigger_Long ? scoreReversal : 0.0
scoreBuy += emaAlignment_Bull ? weightTrendAlign : 0.0
scoreBuy += strongUpTrend ? weightTrendAlign : 0.0
scoreBuy += highRisk_Long ? -1.2 : 0.0
scoreBuy += signalGreenDot ? 1.0 : 0.0
scoreBuy += isAMCUp ? 0.8 : 0.0
scoreBuy += isVssBuy ? 1.5 : 0.0
scoreBuy += isEMACrossUp ? 1.0 : 0.0
scoreBuy += signalRedX ? -1.0 : 0.0
scoreSell = 0.0
scoreSell += structSignalShort ? scoreStruct : 0.0
scoreSell += momentumShort ? scoreMomentum : 0.0
scoreSell += flashSignal ? weightFlash : 0.0
scoreSell += blinkSignal ? weightBlink : 0.0
scoreSell += volumeSpike_AVP ? scoreVolume : 0.0
scoreSell += priceStrength_Short ? scorePriceAction : 0.0
scoreSell += reversalTrigger_Short ? scoreReversal : 0.0
scoreSell += emaAlignment_Bear ? weightTrendAlign : 0.0
scoreSell += strongDownTrend ? weightTrendAlign : 0.0
scoreSell += highRisk_Short ? -1.2 : 0.0
scoreSell += signalRedX ? 1.0 : 0.0
scoreSell += isAMCDown ? 0.8 : 0.0
scoreSell += isVssSell ? 1.5 : 0.0
scoreSell += isEMACrossDown ? 1.0 : 0.0
scoreSell += signalGreenDot ? -1.0 : 0.0
compositeBuySignal = enableComposite and scoreBuy >= thresholdCompositeBuy
compositeSellSignal = enableComposite and scoreSell >= thresholdCompositeSell
if compositeBuySignal and compositeSellSignal
compositeBuySignal := false
compositeSellSignal := false
= calculateCompositeSignals()
// Final Entry Signals
entryCompositeBuySignal = compositeBuySignal and ta.rising(emaFast_ATG, 2)
entryCompositeSellSignal = compositeSellSignal and ta.falling(emaFast_ATG, 2)
Calculates weighted scores from independent modules and activates signals only when threshold requirements are met.
2. Smart Exit Hold Evaluation System
evaluateSmartHold() =>
compositeBuyRecentCount = 0
compositeSellRecentCount = 0
for i = 0 to signalLookbackBars - 1
compositeBuyRecentCount += compositeBuySignal ? 1 : 0
compositeSellRecentCount += compositeSellSignal ? 1 : 0
avgVolume = ta.sma(volume, 20)
volumeSpike = volume > avgVolume * volMultiplier
// MTF Bull/Bear conditions
mtf_bull = mtf_emaFast_final > mtf_emaSlow_final
mtf_bear = mtf_emaFast_final < mtf_emaSlow_final
emaBackupDivergence = math.abs(mtf_emaFast_backup - mtf_emaSlow_backup) / mtf_emaSlow_backup
emaBackupStrong = emaBackupDivergence > 0.008
mtfConflict_Long = inLong and mtf_bear and emaBackupStrong
mtfConflict_Short = inShort and mtf_bull and emaBackupStrong
// Layer 1: ATR-Based Dynamic Threshold (Market Volatility Intelligence)
atr_raw = ta.atr(atrLen)
atrValue = na(atr_raw) ? close * 0.02 : atr_raw
atrRatio = atrValue / close
dynamicThreshold = atrRatio > 0.02 ? 1.0 : (atrRatio > 0.01 ? 1.5 : 2.8)
// Layer 2: ROI-Conditional Time Intelligence (Selective Pressure)
timeMultiplier_Long = realROI >= 0 ? 1.0 : // Profitable positions: No time pressure
holdTimer_Long <= signalLookbackBars ? 1.0 : // Loss positions 1-8 bars: Base
holdTimer_Long <= signalLookbackBars * 2 ? 1.1 : // Loss positions 9-16 bars: +10% stricter
1.3 // Loss positions 17+ bars: +30% stricter
timeMultiplier_Short = realROI >= 0 ? 1.0 : // Profitable positions: No time pressure
holdTimer_Short <= signalLookbackBars ? 1.0 : // Loss positions 1-8 bars: Base
holdTimer_Short <= signalLookbackBars * 2 ? 1.1 : // Loss positions 9-16 bars: +10% stricter
1.3 // Loss positions 17+ bars: +30% stricter
// Dual-Layer Threshold Calculation
baseThreshold_Long = mtfConflict_Long ? dynamicThreshold + 1.0 : dynamicThreshold
baseThreshold_Short = mtfConflict_Short ? dynamicThreshold + 1.0 : dynamicThreshold
timeAdjustedThreshold_Long = baseThreshold_Long * timeMultiplier_Long
timeAdjustedThreshold_Short = baseThreshold_Short * timeMultiplier_Short
// Final Smart Hold Decision with Dual-Layer Intelligence
smartHold_Long = not mtfConflict_Long and smartScoreLong >= timeAdjustedThreshold_Long and compositeBuyRecentCount >= signalMinCount
smartHold_Short = not mtfConflict_Short and smartScoreShort >= timeAdjustedThreshold_Short and compositeSellRecentCount >= signalMinCount
= evaluateSmartHold()
Evaluates whether to hold positions past TP1/TP2/TP3 levels based on continued signal strength, volume confirmation, and multi-timeframe trend alignment
HOW TO USE THE STRATEGY
Step 1: Initial Setup
Apply strategy to your preferred timeframe (backtested on 15M)
Enable "Use Heikin-Ashi Base" for smoother signals in volatile markets
"Show EMA Lines" and "Show Ichimoku Cloud" are enabled for visual context
Set default quantities to match your risk management (5% equity default)
Step 2: Signal Recognition
Visual Signal Guide:
Visual Signal Guide - Complete Reference:
🔶 Red Diamond: Bearish momentum breakdown - short reversal signal
🔷 Blue Diamond: Strong bullish momentum - long reversal signal
🔵 Blue Dot: Volume-confirmed directional move - trend continuation
🟢 Green Dot: Bullish EMA crossover - trend reversal confirmation
🟠 Orange X: Oversold reversal setup - counter-trend opportunity
❌ Red X: Bearish EMA breakdown - trend reversal warning
✡ Star Uprising: Strong bullish convergence
💥 Ultra Entry: Ultra-rapid downward momentum acceleration
▲ VSS Long: Velocity-based bullish momentum confirmation
▼ VSS Short: Velocity-based bearish momentum confirmation
Step 3: Entry Execution
For Long Positions:
1. ✅ EMA1 crossed above EMA2 exactly 3 bars ago [ta.crossover(ema1,ema2) ]
2. ✅ Current EMA structure: EMA1 > EMA2 (maintained)
3. ✅ Composite score ≥ 5.0 points (6.5+ for 5-minute timeframes)
4. ✅ Cooldown period completed (no recent stop losses)
5. ✅ Volume spike confirmation (green dot/blue dot signals)
6. ✅ Bullish candle closes above EMA structure
For Short Positions:
1. ✅ EMA1 crossed below EMA2 exactly 3 bars ago [ta.crossunder(ema1,ema2) ]
2. ✅ Current EMA structure: EMA1 < EMA2 (maintained)
3. ✅ Composite score ≥ 5.4 points (7.0+ for 5-minute timeframes)
4. ✅ Cooldown period completed (no recent stop losses)
5. ✅ Momentum breakdown (red diamond/red X signals)
6. ✅ Bearish candle closes below EMA structure
🎯 Critical Timing Note: The strategy requires EMA crossover to have occurred 3 bars prior to entry, not at the current bar. This attempts to avoid premature entries and may improve signal reliability.
Step 4: Reading Market Context
EMA Ribbon Interpretation:
All EMAs ascending = Strong uptrend context
EMAs 1-3 above EMAs 4-8 = Bullish structure
Tight EMA spacing = Low volatility/consolidation
Wide EMA spacing = High volatility/trending
Ichimoku Cloud Context:
Price above cloud = Bullish environment
Price below cloud = Bearish environment
Cloud color intensity = Momentum strength
Thick cloud = Strong support/resistance
THE SMART EXIT GRID SYSTEM
Smart Exit Grid Approach:
The Smart Exit Grid uses dynamic hold evaluation that continuously analyzes market conditions after position entry. This differs from traditional fixed profit targets by adapting exit timing based on real-time signal strength.
How Smart Exit Grid System Works
The system operates through three evaluation phases:
Smart Score Calculation:
The smart score calculation aggregates 22 signal components in real-time, combining reversal warnings, continuation signals, trend alignment indicators, EMA structural analysis, and risk penalties into a numerical representation of market conditions. MTF analysis provides additional confirmation as a separate validation layer.
Signal Stack Management:
The per-tick signal accumulation system monitors 22 active signal types with MTF providing trend validation and conflict detection as a separate confirmation layer.
Take Profit Progression:
Smart Exit Activation:
The QRE system activates Smart Exit Grid immediately upon position entry. When strategy.entry() executes, the system initializes monitoring systems designed to track position progress.
Upon position opening, holdTimer begins counting, establishing the foundation for subsequent decisions. The Smart Exit Grid starts accumulating signals from entry, with all 22 signal components beginning real-time tracking when the trade opens.
The system operates on continuous evaluation where smartScoreLong and smartScoreShort calculate from the first tick after entry. QRE's approach is designed to capture market structure changes, trend deteriorations, or signal pattern shifts that can trigger protective exits even before the first take profit level is reached.
This activation creates a proactive position management framework. The 8-candle sliding window starts from entry, meaning that if market conditions change rapidly after entry - due to news events, liquidity shifts, or technical changes - the system can respond within the configured lookback period.
TP Markers as Reference Points:
The TP1, TP2, and TP3 levels function as reference points rather than mandatory exit triggers. When longTP1Hit or shortTP1Hit conditions activate, they serve as profit confirmation markers that inform the Smart Exit algorithm about achieved reward levels, but don't automatically initiate position closure.
These TP markers enhance the Smart Exit decision matrix by providing profit context to ongoing signal evaluation. The system recognizes when positions have achieved target returns, but the actual exit decision remains governed by continuous smart score evaluation and signal stack analysis.
TP2 Reached: Enhanced Monitoring
TP2 represents significant profit capture with additional monitoring features:
This approach is designed to help avoid premature profit-taking during trending conditions. If TP2 is reached but smartScoreLong remains above the dynamic threshold and the 8-candle sliding window shows persistent signals, the position continues holding. If market structure deteriorates before reaching TP2, the Smart Exit can trigger closure based on signal analysis.
The visual TP circles that appear when levels are reached serve as performance tracking tools, allowing users to see how frequently entries achieve various profit levels while understanding that actual exit timing depends on market structure analysis.
Risk Management Systems:
Operating independently from the Smart Exit Grid are two risk management systems: the Trap Wick Detection Protocol and the Stop Loss Mechanism. These systems maintain override authority over other exit logic.
The Trap Wick System monitors for conditionBearTrapExit during long positions and conditionBullTrapExit during short positions. When detected, these conditions trigger position closure with state reset, bypassing Smart Exit evaluations. This system recognizes that certain candlestick patterns may indicate reversal risk.
Volatility Exit Monitoring: The strategy monitors for isStrongBearCandle combined with conditionBearTrapExit, recognizing when market structure may be shifting.
Volume Validation: Before exiting on volatility, the strategy requires volume confirmation: volume > ta.sma(volume, 20) * 1.8. This is designed to filter exits on weak, low-volume movements.
The Stop Loss Mechanism operates through multiple triggers including traditional price-based stops (longSLHit, shortSLHit) and early exit conditions based on smart score deterioration combined with negative ROI. The early exit logic activates when smartScoreLong < 1.0 or smartScoreShort < 1.0 while realROI < -0.9%.
These risk management systems are designed so that risk scenarios can trigger protective closure with state reset across all 22 signal counters, TP tracking variables, and smart exit states.
This architecture - Smart Exit activation, TP markers as navigation tools, and independent risk management - creates a position management system that adapts to market conditions while maintaining risk discipline through dedicated protection protocols.
TP3 Reached: Enhanced Protection
Once TP3 is hit, the strategy shifts into enhanced monitoring:
EMA Structure Monitoring: isEMAStructureDown becomes a primary exit trigger
MTF Alignment: The higher timeframe receives increased consideration
Wick Trap Priority: conditionBearTrapExit becomes an immediate exit signal
Approach Differences:
Traditional Fixed Exits:
Exit at predetermined levels regardless of market conditions
May exit during trend continuation
May exit before trend completion
Limited adaptation to changing volatility
Smart Exit Grid Approach:
Adaptive timing based on signal conditions
Exits when supporting signals weaken
Multi-timeframe validation for trend confirmation
Volume confirmation requirements for holds
Structural monitoring for trend analysis
Dynamic ATR-Based Smart Score Threshold System
Market Volatility Adaptive Scoring
// Real-time ATR Analysis
atr_raw = ta.atr(atrLen)
atrValue = na(atr_raw) ? close * 0.02 : atr_raw
atrRatio = atrValue / close
// Three-Tier Dynamic Threshold Matrix
dynamicThreshold = atrRatio > 0.02 ? 1.0 : // High volatility: Lower threshold
(atrRatio > 0.01 ? 1.5 : // Medium volatility: Standard
2.8) // Low volatility: Higher threshold
The market volatility adaptive scoring calculates real-time ATR with a 2% fallback for new markets. The atrRatio represents the relationship between current volatility and price, creating a foundation for threshold adjustment.
The three-tier dynamic threshold matrix responds to market conditions by adjusting requirements based on volatility levels: lowering thresholds during high volatility periods above 2% ATR ratio to 1.0 points, maintaining standard requirements at 1.5 points for medium volatility between 1-2%, and raising standards to 2.8 points during low volatility periods below 1%.
Profit-Loss Adaptive Management:
The system applies different evaluation criteria based on position performance:
Winning Positions (realROI ≥ 0%):
→ timeMultiplier = 1.0 (No additional pressure)
→ Maintains base threshold requirements
→ Allows natural progression to TP2/TP3 levels
Losing Positions (realROI < 0%):
→ Progressive time pressure activated
→ Increasingly strict requirements over time
→ Faster decision-making on underperforming trades
ROI-Adaptive Smart Hold Decision Process:
The strategy uses a profit-loss adaptive system:
Winning Position Management (ROI ≥ 0%):
✅ Standard threshold requirements maintained
✅ No additional time-based pressure applied
✅ Allows positions to progress toward TP2/TP3 levels
✅ timeMultiplier remains at 1.0 regardless of hold duration
Losing Position Management (ROI < 0%):
⚠️ Time-based threshold adjustments activated
⚠️ Progressive increase in required signal strength over time
⚠️ Earlier exit evaluation on underperforming positions
⚠️ timeMultiplier increases from 1.0 → 1.1 → 1.3 based on hold duration
Real-Time Monitoring:
Monitor Analysis Table → "Smart" filter → "Score" vs "Dynamic Threshold"
Winning positions: Evaluation based on signal strength deterioration only
Losing positions: Evaluation considers both signal strength and progressive time adjustments
Breakeven positions (0% ROI): Treated as winning positions - no time adjustments
This approach differentiates between winning and losing positions in the hold evaluation process, requiring higher signal thresholds for extended holding of losing positions while maintaining standard requirements for winning ones.
ROI-Conditional Decision Matrix Examples:
Scenario 1 - Winning Position in Any Market:
Position ROI: +0.8% → timeMultiplier = 1.0 (regardless of hold time)
ATR Medium (1.2%) → dynamicThreshold = 1.5
Final Threshold = 1.5 × 1.0 = 1.5 points ✅ Position continues
Scenario 2 - Losing Position, Extended Hold:
Position ROI: -0.5% → Time pressure activated
Hold Time: 20 bars → timeMultiplier = 1.3
ATR Low (0.8%) → dynamicThreshold = 2.8
Final Threshold = 2.8 × 1.3 = 3.64 points ⚡ Enhanced requirements
Scenario 3 - Fresh Losing Position:
Position ROI: -0.3% → Time pressure activated
Hold Time: 5 bars → timeMultiplier = 1.0 (still early)
ATR High (2.1%) → dynamicThreshold = 1.0
Final Threshold = 1.0 × 1.0 = 1.0 points 📊 Recovery opportunity
Scenario 4 - Breakeven Position:
Position ROI: 0.0% → timeMultiplier = 1.0 (no pressure)
Hold Time: 15 bars → No time penalty applied
Final Threshold = dynamicThreshold only ⚖️ Neutral treatment
🔄8-Candle Sliding Window Signal Rotation System
Composite Signal Counting Mechanism
// Dynamic Lookback Window (configurable: default 8)
signalLookbackBars = input.int(8, "Composite Lookback Bars", minval=1, maxval=50)
// Rolling Signal Analysis
compositeBuyRecentCount = 0
compositeSellRecentCount = 0
for i = 0 to signalLookbackBars - 1
compositeBuyRecentCount += compositeBuySignal ? 1 : 0
compositeSellRecentCount += compositeSellSignal ? 1 : 0
Candle Flow Example (8-bar window):
→
✓ ✓ ✗ ✓ ✗ ✓ ✗ ✓ 🗑️
New Signal Count = 5/8 signals in window
Threshold Check: 5 ≥ signalMinCount (2) = HOLD CONFIRMED
Signal Decay & Refresh Mechanism
// Signal Persistence Tracking
if compositeBuyRecentCount >= signalMinCount
smartHold_Long = true
else
smartHold_Long = false
The composite signal counting operates through a configurable sliding window. The system maintains rolling counters that scan backward through the specified number of candles.
During each evaluation cycle, the algorithm iterates through historical bars, incrementing counters when composite signals are detected. This creates a dynamic signal persistence measurement where recent signal density determines holding decisions.
The sliding window rotation functions like a moving conveyor belt where new signals enter while the oldest signals drop off. For example, in an 8-bar window, if 5 out of 8 recent candles showed composite buy signals, and the minimum required count is 2, the system confirms the hold condition. As new bars form, the window slides forward, potentially changing the signal count and triggering exit conditions when signal density falls below the threshold.
Signal decay and refresh occur continuously where smartHold_Long remains true only when compositeBuyRecentCount exceeds signalMinCount. When recent signal density drops below the minimum requirement, the system switches to exit mode.
Advanced Signal Stack Management - 22-Signal Real-Time Evaluation
// Long Position Signal Stacking (calc_on_every_tick=true)
if inLong
// Primary Reversal Signals
if signalRedDiamond: signalCountRedDiamond += 1 // -0.5 points
if signalStarUprising: signalCountStarUprising += 1 // +1.5 points
if entryUltraShort: signalCountUltra += 1 // -1.0 points
// Trend Confirmation Signals
if strongUpTrend: trendUpCount_Long += 1 // +1.5 points
if emaAlignment_Bull: bullAlignCount_Long += 1 // +1.0 points
// Risk Assessment Signals
if highRisk_Long: riskCount_Long += 1 // -1.5 points
if topZone: tzoneCount_Long += 1 // -0.5 points
The per-tick signal accumulation system operates with calc_on_every_tick=true for real-time responsiveness. During long positions, the system monitors primary reversal signals where Red Diamond signals subtract 0.5 points as reversal warnings, Star Uprising adds 1.5 points for continuation signals, and Ultra Short signals deduct 1.0 points as counter-trend warnings.
Trend confirmation signals provide weighted scoring where strongUpTrend adds 1.5 points for aligned momentum, emaAlignment_Bull contributes 1.0 point for structural support, and various EMA-based confirmations contribute to the overall score. Risk assessment signals apply negative weighting where highRisk_Long situations subtract 1.5 points, topZone conditions deduct 0.5 points, and other risk factors create defensive scoring adjustments.
The smart score calculation aggregates all 22 components in real-time, combining reversal warnings, continuation signals, trend alignment indicators, EMA structural analysis, and risk penalties into a numerical representation of market conditions. This score updates continuously, providing the foundation for hold-or-exit decisions.
MULTI-TIMEFRAME (MTF) SYSTEM
MTF Data Collection
The strategy requests higher timeframe data (default 30-minute) for trend confirmation:
= request.security(syminfo.tickerid, mtfTimeframe, , lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_off)
MTF Watchtower System - Implementation Logic
The system employs a timeframe discrimination protocol where currentTFInMinutes is compared against a 30-minute threshold. This creates different operational behavior between timeframes:
📊 Timeframe Testing Results:
30M+ charts: Full MTF confirmation → Tested with full features
15M charts: Local EMA + adjusted parameters → Standard testing baseline
5M charts: Local EMA only → Requires parameter adjustment
1M charts: High noise → Limited testing conducted
When the chart timeframe is 30 minutes or above, the strategy activates useMTF = true and requests external MTF data through request.security(). For timeframes below 30 minutes, including your 5-minute setup, the system deliberately uses local EMA calculations to avoid MTF lag and data inconsistencies.
The triple-layer data sourcing architecture works as follows: timeframes from 1 minute to 29 minutes rely on chart-based EMA calculations for immediate responsiveness. Timeframes of 30 minutes and above utilize MTF data through the security function, with a backup system that doubles the EMA length (emaLen * 2) if MTF data fails. When MTF data is unavailable or invalid, the system falls back to local EMA as the final safety net.
Data validation occurs through a pipeline where mtf_dataValid checks not only for non-null values but also verifies that EMA values are positive above zero. The system tracks data sources through mtf_dataSource which displays "MTF Data" for successful external requests, "Backup EMA" for failed MTF with backup system active, or "Chart EMA" for local calculations.
🔄 MTF Smart Score Caching & Recheck System
// Cache Update Decision Logic
mtfSmartIntervalSec = input.int(300, "Smart Grid Recheck Interval (sec)") // 5-minute cache
canRecheckSmartScore = na(timenow) ? false :
(na(lastCheckTime) or (timenow - lastCheckTime) > mtfSmartIntervalSec * 1000)
// Cache Management
if canRecheckSmartScore
lastCheckTime := timenow
cachedSmartScoreLong := smartScoreLong // Store current calculation
cachedSmartScoreShort := smartScoreShort
The performance-optimized caching system addresses the computational intensity of continuous MTF analysis through intelligent interval management. The mtfSmartIntervalSec parameter, defaulting to 300 seconds (5 minutes), determines cache refresh frequency. The system evaluates canRecheckSmartScore by comparing current time against lastCheckTime plus the configured interval.
When cache updates trigger, the system stores current calculations in cachedSmartScoreLong and cachedSmartScoreShort, creating stable reference points that reduce excessive MTF requests. This cache management balances computational efficiency with analytical accuracy.
The cache versus real-time hybrid system creates a multi-layered decision matrix where immediate signals update every tick for responsive market reaction, cached MTF scores refresh every 5 minutes for stability filtering, dynamic thresholds recalculate every bar for volatility adaptation, and sliding window analysis updates every bar for trend persistence validation.
This architecture balances real-time signal detection with multi-timeframe strategic validation, creating adaptive trading intelligence that responds immediately to market changes while maintaining strategic stability through cached analysis and volatility-adjusted decision thresholds.
⚡The Execution Section Deep Dive
The execution section represents the culmination of all previous systems – where analysis transforms into action.
🚪 Entry Execution: The Gateway Protocol
Primary Entry Validation:
Entry isn't just about seeing a signal – it's about passing through multiple security checkpoints, each designed to filter out low-quality opportunities.
Stage 1: Signal Confirmation
entryCompositeBuySignal must be TRUE for longs
entryCompositeSellSignal must be TRUE for shorts
Stage 2: Enhanced Entry Validation
The strategy employs an "OR" logic system that recognizes different types of market opportunities:
Path A - Trend Reversal Entry:
When emaTrendReversal_Long triggers, it indicates the market structure is shifting in favor of the trade direction. This isn't just about a single EMA crossing – it represents a change in market momentum that experienced traders recognize as potential high-probability setups.
Path B - Momentum Breakout Entry:
The strongBullMomentum condition is where QRE identifies accelerating market conditions:
Criteria:
EMA1 rising for 3+ candles AND
EMA2 rising for 2+ candles AND
Close > 10-period high
This combination captures those explosive moves where the market doesn't just trend – it accelerates, creating momentum-driven opportunities.
Path C - Recovery Entry:
When previous exit states are clean (no recent stop losses), the strategy permits entry based purely on signal strength. This pathway is designed to help avoid the strategy becoming overly cautious after successful trades.
🛡️ The Priority Exit Matrix: When Rules Collide
Not all exit signals are created equal. QRE uses a strict hierarchy that is designed to avoid conflicting signals from causing hesitation:
Priority Level 1 - Exception Exits (Immediate Action):
Condition: TP3 reached AND Wick Trap detected
Action: Immediate exit regardless of other signals
Rationale: Historical analysis suggests wick traps at TP3 may indicate potential reversals
Priority Level 2 - Structural Breakdown:
Condition: TP3 active AND EMA structure deteriorating AND Smart Score insufficient
Logic: isEMAStructureDown AND NOT smartHold_Long
This represents the strategy recognizing that the underlying market structure that justified the trade is failing. It's like a building inspector identifying structural issues – you don't wait for additional confirmation.
Priority Level 3 - Enhanced Volatility Exits:
Conditions: TP2 active AND Strong counter-candle AND Wick trap AND Volume spike
Logic: Multiple confirmation required to reduce false exits
Priority Level 4 - Standard Smart Score Exits:
Condition: Any TP level active AND smartHold evaluates to FALSE
This is the bread-and-butter exit logic where signal deterioration triggers exit
⚖️ Stop Loss Management: Risk Control Protocol
Dual Stop Loss System:
QRE provides two stop loss modes that users can select based on their preference:
Fixed Mode (Default - useAdaptiveSL = false):
Uses predetermined percentage levels regardless of market volatility:
- Long SL = entryPrice × (1 - fixedRiskP - slipBuffer)
- Short SL = entryPrice × (1 + fixedRiskP + slipBuffer)
- Default: 0.6% risk + 0.3% slippage buffer = 0.9% total stop
- Consistent and predictable stop loss levels
- Recommended for users who prefer stable risk parameters
Adaptive Mode (Optional - useAdaptiveSL = true):
Dynamic system that adjusts stop loss based on market volatility:
- Base Calculation uses ATR (Average True Range)
- Long SL = entryPrice × (1 - (ATR × atrMultSL) / entryPrice - slipBuffer)
- Short SL = entryPrice × (1 + (ATR × atrMultSL) / entryPrice + slipBuffer)
- Automatically widens stops during high volatility periods
- Tightens stops during low volatility periods
- Advanced users can enable for volatility-adaptive risk management
Trend Multiplier Enhancement (Both Modes):
When strongUpTrend is detected for long positions, the stop loss receives 1.5x breathing room. Strong trends often have deeper retracements before continuing. This is designed to help avoid the strategy being shaken out of active trades by normal market noise.
Mode Selection Guidance:
- New Users: Start with Fixed Mode for predictable risk levels
- Experienced Users: Consider Adaptive Mode for volatility-responsive stops
- Volatile Markets: Adaptive Mode may provide better stop placement
- Stable Markets: Fixed Mode often sufficient for consistent risk management
Early Exit Conditions:
Beyond traditional stop losses, QRE implements "smart stops" that trigger before price-based stops:
Early Long Exit: (smartScoreLong < 1.0 OR prev5BearCandles) AND realROI < -0.9%
🔄 State Management: The Memory System
Complete State Reset Protocol:
When a position closes, QRE doesn't just wipe the slate clean – it performs a methodical reset:
TP State Cleanup:
All Boolean flags: tp1/tp2/tp3HitBefore → FALSE
All Reached flags: tp1/tp2/tp3Reached → FALSE
All Active flags: tp1/tp2/tp3HoldActive → FALSE
Signal Counter Reset:
Every one of the 22 signal counters returns to zero.
This is designed to avoid signal "ghosting" where old signals influence new trades.
Memory Preservation:
While operational states reset, certain information is preserved for learning:
killReasonLong/Short: Why did this trade end?
lastExitWasTP1/TP2/TP3: What was the exit quality?
reEntryCount: How many consecutive re-entries have occurred?
🔄 Re-Entry Logic: The Comeback System
Re-Entry Conditions Matrix:
QRE implements a re-entry system that recognizes not all exits are created equal:
TP-Based Re-Entry (Enabled):
Criteria: Previous exit was TP1, TP2, or TP3
Cooldown: Minimal or bypassed entirely
Logic: Target-based exits indicate potentially viable market conditions
EMA-Based Re-Entry (Conditional):
Criteria: Previous exit was EMA-based (structural change)
Requirements: Must wait for EMA confirmation in new direction
Minimum Wait: 5 candles
Advanced Re-Entry Features:
When adjustReEntryTargets is enabled, the strategy becomes more aggressive with re-entries:
Target Adjustment: TP1 multiplied by reEntryTP1Mult (default 2.0)
Stop Adjustment: SL multiplied by reEntrySLMult (default 1.5)
Logic: If we're confident enough to re-enter, we should be confident enough to hold for bigger moves
Performance Tracking: Strategy tracks re-entry win rate, average ROI, and total performance separately from initial entries for optimization analysis.
📊 Exit Reason Analytics: Learning from Every Trade
Kill Reason Tracking:
Every exit is categorized and stored:
"TP3 Exit–Wick Trap": Exit at target level with wick pattern detection
"Smart Exit–EMA Down": Structural breakdown exit
"Smart Exit–Volatility": Volatility-based protection exit
"Exit Post-TP1/TP2/TP3": Standard smart exit progression
"Long SL Exit" / "Short SL Exit": Stop loss exits
Performance Differentiation:
The strategy tracks performance by exit type, allowing for continuous analysis:
TP-based exits: Achieved target levels, analyze for pattern improvement
EMA-based exits: Mixed results, analyze for pattern improvement
SL-based exits: Learning opportunities, adjust entry criteria
Volatility exits: Protective measures, monitor performance
🎛️ Trailing Stop Implementation:
Conditional Trailing Activation:
Activation Criteria: Position profitable beyond trailingStartPct AND
(TP hold active OR re-entry trade)
Dynamic Trailing Logic:
Unlike simple trailing stops, QRE's implementation considers market context:
Trending Markets: Wider trail offsets to avoid whipsaws
Volatile Markets: Tighter offsets to protect gains
Re-Entry Trades: Enhanced trailing to maximize second-chance opportunities
Return-to-Entry Protection:
When deactivateOnReturn is enabled, the strategy will close positions that return to entry level after being profitable. This is designed to help avoid the frustration of watching profitable trades turn into losers.
🧠 How It All Works Together
The beauty of QRE lies not in any single component, but in how everything integrates:
The Entry Decision: Multiple pathways are designed to help identify opportunities while maintaining filtering standards.
The Progression System: Each TP level unlocks new protection features, like achieving ranks in a video game.
The Exit Matrix: Prioritized decision-making aims to reduce analysis paralysis while providing appropriate responses to different market conditions.
The Memory System: Learning from each trade while preventing contamination between separate opportunities.
The Re-Entry Logic: Re-entry system that balances opportunity with risk management.
This creates a trading system where entry conditions filter for quality, progression systems adapt to changing market conditions, exit priorities handle conflicting signals intelligently, memory systems learn from each trade cycle, and re-entry logic maximizes opportunities while managing risk exposure.
📊 ANALYSIS TABLE INTERPRETATION -
⚙️ Enabling Analysis Mode
Navigate to strategy settings → "Testing & Analysis" → Enable "Show Analysis Table". The Analysis Table displays different information based on the selected test filter and provides real-time insight into all strategy components, helping users understand current market conditions, position status, and system decision-making processes.
📋 Filter Mode Interpretations
"All" Mode (Default View):
Composite Section:
Buy Score: Aggregated strength from all 22 bullish signals (threshold 5.0+ triggers entry consideration)
Sell Score: Aggregated strength from all 22 bearish signals (threshold 5.4+ triggers entry consideration)
APEX Filters:
ATG Trend: Shows current trend direction analysis
Indicates whether momentum filters are aligned for directional bias
ReEntry Section:
Most Recent Exit: Displays exit type and timeframe since last position closure
Status: Shows if ReEntry system is Ready/Waiting/Disabled
Count: Current re-entry attempts versus maximum allowed attempts
Position Section (When Active):
Status: Current position state (LONG/SHORT/FLAT)
ROI: Dual calculation showing Custom vs Real ROI percentages
Entry Price: Original position entry level
Current Price: Live market price for comparison
TP Tracking: Progress toward profit targets
"Smart" Filter (Critical for Active Positions):
Smart Exit Section:
Hold Timer: Time elapsed since position opened (bar-based counting)
Status: Whether Smart Exit Grid is Enabled/Disabled
Score: Current smart score calculation from 22-component matrix
Dynamic Threshold: ATR-based minimum score required for holding
Final Threshold: Time and ROI-adjusted threshold actually used for decisions
Score Check: Pass/Fail based on Score vs Final Threshold comparison
Smart Hold: Current hold decision status
Final Hold: Final recommendation based on all factors
🎯 Advanced Smart Exit Debugging - ROI & Time-Based Threshold System
Understanding the Multi-Layer Threshold System:
Layer 1: Dynamic Threshold (ATR-Based)
atrRatio = ATR / close
dynamicThreshold = atrRatio > 0.02 ? 1.0 : // High volatility: Lower threshold
(atrRatio > 0.01 ? 1.5 : // Medium volatility: Standard
2.8) // Low volatility: Higher threshold
Layer 2: Time Multiplier (ROI & Duration-Based)
Winning Positions (ROI ≥ 0%):
→ timeMultiplier = 1.0 (No time pressure, regardless of hold duration)
Losing Positions (ROI < 0%):
→ holdTimer ≤ 8 bars: timeMultiplier = 1.0 (Early stage, standard requirements)
→ holdTimer 9-16 bars: timeMultiplier = 1.1 (10% stricter requirements)
→ holdTimer 17+ bars: timeMultiplier = 1.3 (30% stricter requirements)
Layer 3: Final Threshold Calculation
finalThreshold = dynamicThreshold × timeMultiplier
Examples:
- Winning Position: 2.8 × 1.0 = 2.8 (Always standard)
- Losing Position (Early): 2.8 × 1.0 = 2.8 (Same as winning initially)
- Losing Position (Extended): 2.8 × 1.3 = 3.64 (Much stricter)
Real-Time Debugging Display:
Smart Exit Section shows:
Score: 3.5 → Current smartScoreLong/Short value
Dynamic Threshold: 2.8 → Base ATR-calculated threshold
Final Threshold: 3.64 (ATR×1.3) → Actual threshold used for decisions
Score Check: FAIL (3.5 vs 3.64) → Pass/Fail based on final comparison
Final Hold: NO HOLD → Actual system decision
Position Status Indicators:
Winner + Early: ATR×1.0 (No pressure)
Winner + Extended: ATR×1.0 (No pressure - winners can run indefinitely)
Loser + Early: ATR×1.0 (Recovery opportunity)
Loser + Extended: ATR×1.1 or ATR×1.3 (Increasing pressure to exit)
MTF Section:
Data Source: Shows whether using MTF Data/EMA Backup/Local EMA
Timeframe: Configured watchtower timeframe setting
Data Valid: Confirms successful MTF data retrieval status
Trend Signal: Higher timeframe directional bias analysis
Close Price: MTF price data availability confirmation
"Composite" Filter:
Composite Section:
Buy Score: Real-time weighted scoring from multiple indicators
Sell Score: Opposing directional signal strength
Threshold: Minimum scores required for signal activation
Components:
Flash/Blink: Momentum acceleration indicators (F = Flash active, B = Blink active)
Individual filter contributions showing which specific signals are firing
"ReEntry" Filter:
ReEntry System:
System: Shows if re-entry feature is Enabled/Disabled
Eligibility: Conditions for new entries in each direction
Performance: Success metrics of re-entry attempts when enabled
🎯 Key Status Indicators
Status Column Symbols:
✓ = Condition met / System active / Signal valid
✗ = Condition not met / System inactive / No signal
⏳ = Cooldown active (waiting period)
✅ = Ready state / Good condition
🔄 = Processing / Transitioning state
🔍 Critical Reading Guidelines
For Active Positions - Smart Exit Priority Reading:
1. First Check Position Type:
ROI ≥ 0% = Winning Position (Standard requirements)
ROI < 0% = Losing Position (Progressive requirements)
2. Check Hold Duration:
Early Stage (≤8 bars): Standard multiplier regardless of ROI
Extended Stage (9-16 bars): Slight pressure on losing positions
Long Stage (17+ bars): Strong pressure on losing positions
3. Score vs Final Threshold Analysis:
Score ≥ Final Threshold = HOLD (Continue position)
Score < Final Threshold = EXIT (Close position)
Watch for timeMultiplier changes as position duration increases
4. Understanding "Why No Hold?"
Common scenarios when Score Check shows FAIL:
Losing position held too long (timeMultiplier increased to 1.1 or 1.3)
Low volatility period (dynamic threshold raised to 2.8)
Signal deterioration (smart score dropped below required level)
MTF conflict (higher timeframe opposing position direction)
For Entry Signal Analysis:
Composite Score Reading: Signal strength relative to threshold requirements
Component Analysis: Individual filter contributions to overall score
EMA Structure: Confirm 3-bar crossover requirement met
Cooldown Status: Ensure sufficient time passed since last exit
For ReEntry Opportunities (when enabled):
System Status: Availability and eligibility for re-engagement
Exit Type Analysis: TP-based exits enable immediate re-entry, SL-based exits require cooldown
Condition Monitoring: Requirements for potential re-entry signals
Debugging Common Issues:
Issue: "Score is high but no hold?"
→ Check Final Threshold vs Score (not Dynamic Threshold)
→ Losing position may have increased timeMultiplier
→ Extended hold duration applying pressure
Issue: "Why different thresholds for same score?"
→ Position ROI status affects multiplier
→ Time elapsed since entry affects multiplier
→ Market volatility affects base threshold
Issue: "MTF conflicts with local signals?"
→ Higher timeframe trend opposing position
→ System designed to exit on MTF conflicts
→ Check MTF Data Valid status
⚡ Performance Optimization Notes
For Better Performance:
Analysis table updates may impact performance on some devices
Use specific filters rather than "All" mode for focused monitoring
Consider disabling during live trading for optimal chart performance
Enable only when needed for debugging or analysis
Strategic Usage:
Monitor "Smart" filter when positions are active for exit timing decisions
Use "Composite" filter during setup phases for signal strength analysis
Reference "ReEntry" filter after position closures for re-engagement opportunities
Track Final Threshold changes to understand exit pressure evolution
Advanced Debugging Workflow:
Position Entry Analysis:
Check Composite score vs threshold
Verify EMA crossover timing (3 bars prior)
Confirm cooldown completion
Hold Decision Monitoring:
Track Score vs Final Threshold progression
Monitor timeMultiplier changes over time
Watch for MTF conflicts
Exit Timing Analysis:
Identify which threshold layer caused exit
Track performance by exit type
Analyze re-entry eligibility
This analysis system provides transparency into strategy decision-making processes, allowing users to understand how signals are generated and positions are managed according to the programmed logic during various market conditions and position states.
SIGNAL TYPES AND CHARACTERISTICS
🔥 Core Momentum Signals
Flash Signal
Calculation: ta.rma(math.abs(close - close ), 5) > ta.sma(math.abs(close - close ), 7)
Purpose: Detects sudden price acceleration using smoothed momentum comparison
Characteristics: Triggers when recent price movement exceeds historical average movement
Usage: Primary momentum confirmation across multiple composite calculations
Weight: 1.3 points in composite scoring
Blink Signal
Calculation: math.abs(ta.change(close, 1)) > ta.sma(math.abs(ta.change(close, 1)), 5)
Purpose: Identifies immediate price velocity spikes
Characteristics: More sensitive than Flash, captures single-bar momentum bursts
Usage: Secondary momentum confirmation, often paired with Flash
Weight: 1.3 points in composite scoring
⚡ Advanced Composite Signals
Apex Pulse Signal
Calculation: apexAngleValue > 30 or apexAngleValue < -30
Purpose: Detects extreme EMA angle momentum
Characteristics: Identifies when trend angle exceeds ±30 degrees
Usage: Confirms directional momentum strength in trend-following scenarios
Pressure Surge Signal
Calculation: volSpike_AVP and strongTrendUp_ATG
Purpose: Combines volume expansion with trend confirmation
Characteristics: Requires both volume spike and strong uptrend simultaneously
Usage: bullish signal for trend continuation
Shift Wick Signal
Calculation: ta.crossunder(ema1, ema2) and isWickTrapDetected and directionFlip
Purpose: Detects bearish reversal with wick trap confirmation
Characteristics: Combines EMA crossunder with upper wick dominance and directional flip
Usage: Reversal signal for trend change identification
🛡️ Trap Exit Protection Signals
Bear Trap Exit
Calculation: isUpperWickTrap and isBearEngulfNow
Conditions: Previous bullish candle with 80%+ upper wick, followed by current bearish engulfing
Purpose: Emergency exit signal for long positions
Priority: Highest - overrides all other hold conditions
Action: Immediate position closure with full state reset
Bull Trap Exit
Calculation: isLowerWickTrap and isBullEngulfNow
Conditions: Previous bearish candle with 80%+ lower wick, followed by current bullish engulfing
Purpose: Emergency exit signal for short positions
Priority: Highest - overrides all other hold conditions
Action: Immediate position closure with full state reset
📊 Technical Analysis Foundation Signals
RSI-MFI Hybrid System
Base Calculation: (ta.rsi(close, 14) + ta.mfi(close, 14)) / 2
Oversold Threshold: < 35
Overbought Threshold: > 65
Weak Condition: < 35 and declining
Strong Condition: > 65 and rising
Usage: Momentum confirmation and reversal identification
ADX-DMI Trend Classification
Strong Up Trend: (adx > 25 and diplus > diminus and (diplus - diminus) > 5) or (ema1 > ema2 and ema2 > ema3 and ta.rising(ema2, 3))
Strong Down Trend: (adx > 20 and diminus > diplus - 5) or (ema1 < ema2 and ta.falling(ema1, 3))
Trend Weakening: adx < adx and adx < adx
Usage: Primary trend direction confirmation
Bollinger Band Squeeze Detection
Calculation: bbWidth < ta.lowest(bbWidth, 20) * 1.2
Purpose: Identifies low volatility periods before breakouts
Usage: Entry filter - avoids trades during consolidation
🎨 Visual Signal Indicators
Red X Signal
Calculation: isBearCandle and ta.crossunder(ema1, ema2)
Visual: Red X above price
Purpose: Bearish EMA crossunder with confirming candle
Composite Weight: +1.0 for short positions, -1.0 for long positions
Characteristics: Simple but effective trend change indicator
Green Dot Signal
Calculation: isBullCandle and ta.crossover(ema1, ema2)
Visual: Green dot below price
Purpose: Bullish EMA crossover with confirming candle
Composite Weight: +1.0 for long positions, -1.0 for short positions
Characteristics: Entry confirmation for trend-following strategies
Blue Diamond Signal
Trigger Conditions: amcBuySignal and score >= 4
Scoring Components: 11 different technical conditions
Key Requirements: AMC bullish + momentum rise + EMA expansion + volume confirmation
Visual: Blue diamond below price
Purpose: Bullish reversal or continuation signal
Characteristics: Multi-factor confirmation requiring 4+ technical alignments
Red Diamond Signal
Trigger Conditions: amcSellSignal and score >= 5
Scoring Components: 11 different technical conditions (stricter than Blue Diamond)
Key Requirements: AMC bearish + momentum crash + EMA compression + volume decline
Visual: Red diamond above price
Purpose: Potential bearish reversal or continuation signal
Characteristics: Requires higher threshold (5 vs 4) for more selective triggering
🔵 Specialized Detection Signals
Blue Dot Signal
Calculation: volumePulse and isCandleStrong and volIsHigh
Requirements: Volume > 2.0x MA, strong candle body > 35% of range, volume MA > 55
Purpose: Volume-confirmed momentum signal
Visual: Blue dot above price
Characteristics: Volume-centric signal for high-liquidity environments
Orange X Signal
Calculation: Complex multi-factor oversold reversal detection
Requirements: AMC oversold + wick trap + flash/blink + RSI-MFI oversold + bullish flip
Purpose: Oversold bounce signal with multiple confirmations
Visual: Orange X below price
Characteristics: Reversal signal requiring 5+ simultaneous conditions
VSS (Velocity Signal System)
Components: Volume spike + EMA angle + trend direction
Buy Signal: vssTrigger and vssTrendDir == 1
Sell Signal: vssTrigger and vssTrendDir == -1
Visual: Green/Red triangles
Purpose: Velocity-based momentum detection
Characteristics: Fast-response signal for momentum trading
⭐ Elite Composite Signals
Star Uprising Signal
Base Requirements: entryCompositeBuySignal and echoBodyLong and strongUpTrend and isAMCUp
Additional Confirmations: RSI hybrid strong + not high risk
Special Conditions: At bottom zone OR RSI bottom bounce OR strong volume bounce
Visual: Star symbol below price
Purpose: Bullish reversal signal from oversold conditions
Characteristics: Most selective bullish signal requiring multiple confirmations
Ultra Short Signal
Scoring System: 7-component scoring requiring 4+ points
Key Components: EMA trap + volume decline + RSI weakness + composite confirmation
Additional Requirements: Falling EMA structure + volume spike + flash confirmation
Visual: Explosion emoji above price
Purpose: Aggressive short entry for trend reversal or continuation
Characteristics: Complex multi-layered signal for experienced short selling
🎯 Composite Signal Architecture
Enhanced Composite Scoring
Long Composite: 15+ weighted components including structure, momentum, flash/blink, volume, price action, reversal triggers, trend alignment
Short Composite: Mirror structure with bearish bias
Threshold: 5.0 points required for signal activation
Conflict Resolution: If both long and short signals trigger simultaneously, both are disabled
Final Validation: Requires EMA momentum confirmation (ta.rising(emaFast_ATG, 2) for longs, ta.falling(emaFast_ATG, 2) for shorts)
Risk Assessment Integration
High Risk Long: RSI > 70 OR close > upper Bollinger Band 80%
High Risk Short: RSI < 30 OR close < lower Bollinger Band 80%
Zone Analysis: Top zone (95% of 50-bar high) vs Bottom zone (105% of 50-bar low)
Risk Penalty: High risk conditions subtract 1.5 points from composite scores
This signal architecture creates a multi-layered detection system where simple momentum signals provide foundation, technical analysis adds structure, visual indicators offer clarity, specialized detectors capture different market conditions, and composite signals identify potential opportunities while integrated risk assessment is designed to filter risky entries.
VISUAL FEATURES SHOWCASE
Ichimoku Cloud Visualization
Dynamic Color Intensity: Cloud transparency adapts to momentum strength - darker colors indicate stronger directional moves, while lighter transparency shows weakening momentum phases.
Gradient Color Mapping: Bullish momentum renders blue-purple spectrum with increasing opacity, while bearish momentum displays corresponding color gradients with intensity-based transparency.
Real-time Momentum Feedback: Color saturation provides immediate visual feedback on market structure strength, allowing traders to assess levels at a glance without additional indicators.
EMA Ribbon Bands
The 8-level exponential moving average system creates a comprehensive trend structure map with gradient color coding.
Signal Type Visualization
STRATEGY PROPERTIES & BACKTESTING DISCLOSURE
📊 Default Strategy Configuration:
✅ Initial Capital: 100,000 USD (realistic for average traders)
✅ Commission: 0.075% per trade (realistic exchange fees)
✅ Slippage: 3 ticks (market impact consideration)
✅ Position Size: 5% equity per trade (sustainable risk level)
✅ Pyramiding: Disabled (single position management)
✅ Sample Size: 185 trades over 12-month backtesting period
✅ Risk Management: Adaptive stop loss with maximum 1% risk per trade
COMPREHENSIVE BACKTESTING RESULTS
Testing Period & Market Conditions:
Backtesting Period: June 25, 2024 - June 25, 2025 (12 months)
Timeframe: 15-minute charts (MTF system active)
Market: BTCUSDT (Bitcoin/Tether)
Market Conditions: Full market cycle including volatility periods
Deep Backtesting: Enabled for maximum accuracy
📈 Performance Summary:
Total Return: +2.19% (+2,193.59 USDT)
Total Trades Executed: 185 trades
Win Rate: 34.05% (63 winning trades out of 185)
Profit Factor: 1.295 (gross profit ÷ gross loss)
Maximum Drawdown: 0.65% (653.17 USDT)
Risk-Adjusted Returns: Consistent with conservative risk management approach
📊 Detailed Trade Analysis:
Position Distribution:
Long Positions: 109 trades (58.9%) | Win Rate: 36.70%
Short Positions: 76 trades (41.1%) | Win Rate: 30.26%
Average Trade Duration: Optimized for 15-minute timeframe efficiency
Profitability Metrics:
Average Profit per Trade: 11.74 USDT (0.23%)
Average Winning Trade: 151.17 USDT (3.00%)
Average Losing Trade: 60.27 USDT (1.20%)
Win/Loss Ratio: 2.508 (winners are 2.5x larger than losses)
Largest Single Win: 436.02 USDT (8.69%)
Largest Single Loss: 107.41 USDT (controlled risk management)
💰 Financial Performance Breakdown:
Gross Profit: 9,523.93 USDT (9.52% of capital)
Gross Loss: 7,352.48 USDT (7.35% of capital)
Net Profit After Costs: 2,171.44 USDT (2.17%)
Commission Costs: 1,402.47 USDT (realistic trading expenses)
Maximum Equity Run-up: 2,431.66 USDT (2.38%)
⚖️ Risk Management Validation:
Maximum Drawdown: 0.65% showing controlled risk management
Drawdown Recovery: Consistent equity curve progression
Risk per Trade: Successfully maintained below 1.5% per position
Position Sizing: 5% equity allocation proved sustainable throughout testing period
📋 Strategy Performance Characteristics:
✅ Strengths Demonstrated:
Controlled Risk: Maximum drawdown well below industry standards (< 1%)
Positive Expectancy: Win/loss ratio of 2.5+ creates profitable edge
Consistent Performance: Steady equity curve without extreme volatility
Realistic Costs: Includes actual commission and slippage impacts
Sample Size: 185 trades during testing period
⚠️ Performance Considerations:
Win Rate: 34% win rate requires discipline to follow system signals
Market Dependency: Performance may vary significantly in different market conditions
Timeframe Sensitivity: Optimized for 15-minute charts; other timeframes may show different results
Slippage Impact: Real trading conditions may affect actual performance
📊 Benchmark Comparison:
Strategy Return: +2.19% over 12 months
Buy & Hold Bitcoin: +71.12% over same period
Strategy Advantage: Significantly lower drawdown and volatility
Risk-Adjusted Performance: Different risk profile compared to holding cryptocurrency
🎯 Real-World Application Insights:
Expected Trading Frequency:
Average: 15.4 trades per month (185 trades ÷ 12 months)
Weekly Frequency: Approximately 3-4 trades per week
Active Management: Requires regular monitoring during market hours
Capital Requirements:
Minimum Used in Testing: $10,000 for sustainable position sizing
Tested Range: $50,000-$100,000 for comfortable risk management
Commission Impact: 0.075% per trade totaled 1.4% of capital over 12 months
⚠️ IMPORTANT BACKTESTING DISCLAIMERS:
📈 Performance Reality:
Past performance does not guarantee future results. Backtesting results represent hypothetical performance and may not reflect actual trading outcomes due to market changes, execution differences, and emotional factors.
🔄 Market Condition Dependency:
This strategy's performance during the tested period may not be representative of performance in different market conditions, volatility regimes, or trending vs. sideways markets.
💸 Cost Considerations:
Actual trading costs may vary based on broker selection, market conditions, and trade size. Commission rates and slippage assumptions may differ from real-world execution.
🎯 Realistic Expectations:
The 34% win rate requires psychological discipline to continue following signals during losing streaks. Risk management and position sizing are critical for replicating these results.
⚡ Technology Dependencies:
Strategy performance assumes reliable internet connection, platform stability, and timely signal execution. Technical failures may impact actual results.
CONFIGURATION OPTIMIZATION
5-Minute Timeframe Optimization (Advanced Users Only)
⚠️ Important Warning: 5-minute timeframes operate without MTF confirmation, resulting in reduced signal quality and higher false signal rates.
Example 5-Minute Parameters:
Composite Thresholds: Long 6.5, Short 7.0 (vs 15M default 5.0/5.4)
Signal Lookback Bars: 12 (vs 15M default 8)
Volume Multiplier: 2.2 (vs 15M default 1.8)
MTF Timeframe: Disabled (automatic below 30M)
Risk Management Adjustments:
Position Size: Reduce to 3% (vs 5% default)
TP1: 0.8%, TP2: 1.2%, TP3: 2.0% (tighter targets)
SL: 0.8% (tighter stop loss)
Cooldown Minutes: 8 (vs 5 default)
Usage Notes for 5-Minute Trading:
- Wait for higher composite scores before entry
- Require stronger volume confirmation
- Monitor EMA structure more closely
15-Minute Scalping Setup:
TP1: 1.0%, TP2: 1.5%, TP3: 2.5%
Composite Threshold: 5.0 (higher filtering)
TP ATR Multiplier: 7.0
SL ATR Multiplier: 2.5
Volume Multiplier: 1.8 (requires stronger confirmation)
Hold Time: 2 bars minimum
3-Hour Swing Setup:
TP1: 2.0%, TP2: 4.0%, TP3: 8.0%
Composite Threshold: 4.5 (more signals)
TP ATR Multiplier: 8.0
SL ATR Multiplier: 3.2
Volume Multiplier: 1.2
Hold Time: 6 bars minimum
Market-Specific Adjustments
High Volatility Periods:
Increase ATR multipliers (TP: 2.0x, SL: 1.2x)
Raise composite thresholds (+0.5 points)
Reduce position size
Enable cooldown periods
Low Volatility Periods:
Decrease ATR multipliers (TP: 1.2x, SL: 0.8x)
Lower composite thresholds (-0.3 points)
Standard position sizing
Disable extended cooldowns
News Events:
Temporarily disable strategy 30 minutes before major releases
Increase volume requirements (2.0x multiplier)
Reduce position sizes by 50%
Monitor for unusual price action
RISK MANAGEMENT
Dual ROI System: Adaptive vs Fixed Mode
Adaptive RR Mode:
Uses ATR (Average True Range) for automatic adjustment
TP1: 1.0x ATR from entry price
TP2: 1.5x ATR from entry price
TP3: 2.0x ATR from entry price
Stop Loss: 1.0x ATR from entry price
Automatically adjusts to market volatility
Fixed Percentage Mode:
Uses predetermined percentage levels
TP1: 1.0% (default)
TP2: 1.5% (default)
TP3: 2.5% (default)
Stop Loss: 0.9% total (0.6% risk tolerance + 0.3% slippage buffer)(default)
Consistent levels regardless of volatility
Mode Selection: Enable "Use Adaptive RR" for ATR-based targets, disable for fixed percentages. Adaptive mode works better in varying volatility conditions, while fixed mode provides predictable risk/reward ratios.
Stop Loss Management
In Adaptive SL Mode:
Automatically scales with market volatility
Tight stops during low volatility (smaller ATR)
Wider stops during high volatility (larger ATR)
Include 0.3% slippage buffer in both modes
In Fixed Mode:
Consistent percentage-based stops
2% for crypto, 1.5% for forex, 1% for stocks
Manual adjustment needed for different market conditions
Trailing Stop System
Configuration:
Enable Trailing: Activates dynamic stop loss adjustment
Start Trailing %: Profit level to begin trailing (default 1.0%)
Trailing Offset %: Distance from current price (default 0.5%)
Close if Return to Entry: Optional immediate exit if price returns to entry level
Operation: Once position reaches trailing start level, stop loss automatically adjusts upward (longs) or downward (shorts) maintaining the offset distance from favorable price movement.
Timeframe-Specific Risk Considerations
15-Minute and Above (Tested):
✅ Full MTF system active
✅ Standard risk parameters apply
✅ Backtested performance metrics valid
✅ Standard position sizing (5%)
5-Minute Timeframes (Advanced Only):
⚠️ MTF system inactive - local signals only
⚠️ Higher false signal rate expected
⚠️ Reduced position sizing preferred (3%)
⚠️ Tighter stop losses required (0.8% vs 1.2%)
⚠️ Requires parameter optimization
⚠️ Monitor performance closely
1-Minute Timeframes (Limited Testing):
❌ Excessive noise levels
❌ Strategy not optimized for this frequency
Risk Management Practices
Allocate no more than 5% of your total investment portfolio to high-risk trading
Never trade with funds you cannot afford to lose
Thoroughly backtest and validate the strategy with small amounts before full implementation
Always maintain proper risk management and stop-loss settings
IMPORTANT DISCLAIMERS
Performance Disclaimer
Past performance does not guarantee future results. All trading involves substantial risk of loss. This strategy is provided for informational purposes and does not constitute financial advice.
Market Risk
Cryptocurrency and forex markets are highly volatile. Prices can move rapidly against positions, resulting in significant losses. Users should never risk more than they can afford to lose.
Strategy Limitations
This strategy relies on technical analysis and may not perform well during fundamental market shifts, news events, or unprecedented market conditions. No trading strategy can guarantee 100% success or eliminate the risk of loss.
Legal Compliance
You are responsible for compliance with all applicable regulations and laws in your jurisdiction. Consult with licensed financial professionals when necessary.
User Responsibility
Users are responsible for their own trading decisions, risk management, and compliance with applicable regulations in their jurisdiction.
AQPRO ScalperX📝 INTRODUCTION
AQPRO ScalperX is a trading indicator designed for fast-paced, intraday trading. It uses Donchian channel breakouts, combined with a proprietary filtering system, to catch buy and sell opportunities as close to the beginning as possible without losing quality of the signals.
On top of core signals, ScalperX includes a real-time max profit tracker, a multi-timeframe (MTF) dashboard, support and resistance zones, and risk management visualization tools like automatic rendering of TP and SL lines. The indicator is fully customizable for both its visuals and functional settings.
🎯 PURPOSE OF USAGE
This indicator was initially designed with the idea of trying to make such a tool, that would be able to catch trend reversal in the most safe way. In this particular situation term 'safe way' is very abstract and it is up to interpretation, but we decided that our definition will be 'trading with price breakouts' , meaning that we would like to capitalize on price breaking its previous structure in the direction opposite to the previous one.
You can clearly see on the chart how buy and sell signals are going one after another on the screenshot below:
This ensures that we follow trend consistently and without missing out on potential profits. Just like they say: " let the winners run ".
Even though indicator with similar goals already exist in the open market, we believe that our proprietary algorithms and filters for determining price breakouts can make a big difference to traders, which employ similar strategies on daily basis, by helping them understand where are the potential high-quality breakouts might be. We haven't found indicator with exact same functionality as ours, which means that traders will be able to leverage an actually new tool to generate new price insights.
In short, main goals of this indicator are as follows:
Catching high-quality price breakouts, filtered to reduce the amount of choppy moves and false signals;
Tracking potential profits in real-time, directly on trader's chart;
Organizing data visualization of data pf latest signals from chosen asset from multiple timeframe in one dashboard;
Automated highlighting of key support and resistance zones on the chart, which serve as confirmation for main signals;
⚙️ SETTINGS OVERVIEW
Options for customization of this indicator are straightforward, but let's review them to make things certainly clear:
🔑 ScalperX / Main Settings
Range — defines the "wideness" of the breakout boxes. Higher values create wider breakout zones and impact breakout sensitivity;
Filter — adjusts the spacing between breakout boxes, determining the strictness of signal filtering. Higher values lead to more selective and rarer signals;
Show Max Profit — displays a real-time line and label that updates when a trade achieves a new peak profit, measured in ticks.
⏰ MTF Signal / Main Settings
Show MTF Signals — enables the generation of buy/sell signals from selected higher timeframes, displayed as labels on the current chart;
Timeframe — specifies the higher timeframe to use for MTF signal detection, such as 1 hour (1h) or 4 hours (4h).
🗂️ MTF Dashboard / Main Settings
Show MTF Dashboard — activates a dashboard that tracks entries, TP, SL, and overall trade bias for one selected symbol across four customizable timeframes;
* Dashboard position ( Vertical ) — adjusts whether the dashboard appears on the Top, Middle, or Bottom of the chart;
* Dashboard position ( Horizontal ) — aligns the dashboard Left, Center, or Right within the chart window;
* the name of the parameter is hidden in the settings
🗂️ MTF Dashboard / Ticker
Ticker to Track — Allows you to choose the specific ticker symbol (e.g., BINANCE:BTCUSDT) for MTF tracking.
🗂️ MTF Dashboard / Timeframes
* Timeframe 1 — set the first timeframe for multi-timeframe analysis (e.g., 15 minutes);
* Timeframe 2 — set the second timeframe for multi-timeframe analysis (e.g., 30 minutes);
* Timeframe 3 — set the third timeframe for multi-timeframe analysis (e.g., 1 hour);
* Timeframe 4 — set the fourth timeframe for multi-timeframe analysis (e.g., 4 hours).
* the name of the parameter is hidden in the settings
🛡️ Risk Management / Main Settings
Show TP&SL — displays dynamic lines and labels for the entry, Take Profit (TP), and Stop Loss (SL) of the most recent signal, updated in real-time until a new signal triggers;
Risk-to-Reward Ratio (R:R) — defines the ratio for TP and SL calculation to control your risk and reward on every trade.
📐 Support & Resistance / Main Settings
Show Support & Resistance Zones — enables dynamic zones based on pivot points, colored bullish or bearish based on price context;
History Lookback — defines the number of bars to consider when calculating support and resistance levels. Increasing this results in zones derived from longer-term price structures.
🎨 Visual Settings / ScalperX
Bullish Box — defines the color for bullish breakout boxes;
Bearish Box — defines the color for bearish breakout boxes;
Max Profit — sets the color for the max profit line on the chart.
🎨 Visual Settings / S&R
Support — defines color used for standard support zones;
Resistance — defines color used for standard resistance zones;
Strong Support — defines special color for zones classified as "strong support";
Strong Resistance — defines special color for zones classified as "strong resistance".
🎨 Visual Settings / MTF Dashboard
Bullish — sets the color for bullish trade states in the MTF dashboard;
Bearish — sets the color for bearish trade states in the MTF dashboard.
🔔 Alerts / Main Settings
Buy & Sell — toggles alerts for buy and sell signals detected by the indicator in the current chart timeframe;
MTF Buy & Sell — toggles alerts for buy and sell signals detected across the selected MTF timeframes.
📈 APPLICATION GUIDE
Application flow of this indicator very easy to understand and get used to, because all of the necessary elements — analysis, drawing, alert — are already automated by our algorithms. Let's review how the indicator works.
Let's start with the most basic thing — how will your indicator look when you load it on your chart for the first time:
AQPRO ScalperX consists mainly of 6 logic blocks:
ScalperX signals;
Risk visualization;
Max Profit tracking;
MTF scalper signals;
MTF dashboard;
Support & Resistance zones.
Description of each logic block is provided in the corresponding sections below.
SCALPERX SIGNALS
Signals, generated by our indicator, are shown on the chart as coloured up/down triangle. When a signal appears on the chart, indicator also create a box of length equal to 'Range' parameter from "Main Settings" group of settings. This box is intended to show which area of the price was broken by current candle.
It also important to acknowledge, the breakout itself happens only when price closes beyond broken price area with its close (!) price . Breakouts with highs or lows are not counted. This reduces the amount of low-quality signals and ensures that only the strong breakout will appear on the chart.
VERY IMPORTANT NOTE: all signals are considered valid only on the close of the candle, which triggered the signal, so if you want to enter a trade by any signal, wait for its candle to close and open your trade right on the next candle.
Talking about scalper's settings, we need to shed a light on how the changes in them affect signal's quality.
Parameter 'Range' defines the amount of bars, that will be review prior to current candle to determine wether the price area of this bars is good enough to track and if current candle actually broke this price area.
👍 Rule of thumb : the higher the 'Range' is, the "wider" the boxes. Also the with the increase of this parameter rises the lag of the signals, so be carefully with setting high values to this parameter.
See the visual showcase of signals with different 'Range' parameters on the screenshot below:
The example above features two instancies of ScalperX with two different 'Range' parameter values: 15 (leftchart) and 5 (right chart). You can clearly see, that on left chart here are 2 signals in comparison to 6 signals on right chart. Also signals on the left side have bigger lag and they don't catch the start of the move in comparison to how quickly tops and bottoms are catched with low 'Range' . However, low 'Range' will lead to excessive amount of signals, quality of which during 'whipsaw' markets is not that great.
✉️ Our advice on how to optimally set 'Range' parameter:
Use low values to trade during the times, when there are a lot of clean up and down impulses. This way you will catch reversal opportunities sooner and the quality of the signals will still be great;
Use high values on the 'whipsaw' markets. This will filter out many bad signals, that you would get with low-value 'Range' , and will drastically reduces amount of losing trades.
Talking about the 'Filter' parameter, this particular setting defines the 'strictness' of rules which will be applied to price area validation process. Essentially, the higher this parameter is, the stronger price impulse has to be confirm the breakout. However, changes in this parameter will not impact the "wideness" of boxes at all.
👍 Rule of thumb : the higher the 'Filter' is, the more separated the signal will be. Setting this parameter to high value will lead to increase in lag and big reduction in amount of signals, so be careful this parameter to high values.
See the visual showcase of signals with different 'Filter' parameters on the screenshot below:
The example above features two instancies of ScalperX with two different 'Filter' parameter values: 20 (left chart) and 2.5 (right chart). You can clear see, that low 'Filter' generated 6 signals, while higher one generated only 4 signals. However if you look closer, you will see that 2 signals, that existing in the yellow dashed area on the right chart, don't exist in the same area on the left chart. This is because high value of this parameter requires price impulse to be very strong in order for the indicator to mark this breakout as a valid one. What is more important is that these 2 'missing' signals were actually bad and, technically, we actually cut our losses in this case with high value of 'Filter' . You can see that the leftmost sell signal on the left chart eventually closed in a nice profit, in comparison to the same trade being closed in a loss on the right chart because of the 2 signals that we were talking about above.
It is important to note, that setting 'Filter' to low values will not affect performance this much as it low value of 'Range' do, because the indicator already works on low values of this parameter by default and the signals on average are already good enough for trading.
✉️ Our advice on how to optimally set 'Filter' parameter:
Use low values to trade on the markets with clean up and down impulses. This way you avoid excessive filtering and leave a room for good signals to come right at you;
Use high values to trade on 'whipsaw' markets. Higher values of this parameter on these markets have same effect as high 'Range' parameter: filtering false signals and leaving room for actually strong price impulses, which you will later capitalize on.
RISK VISUALIZATION (TP&SL)
Rendering Take-Profits and Stop-Losses in our indicator works quite simple: for each new trade indicator creates new pairs of lines and labels for TP and SL, while lines & labels from previous trade are erased for aesthetics purposes. Each label shows price coordinates, so that each trader would be able to grap the numbers in seconds.
See the visual showcase of TP & SL visualization on the screenshot below:
Also, whenever TP or SL of the current trade is reached, drawing of both TP and SL stops. When the TP is reached, additional '✅' emoji on the TP price is shown as confirmation of Take-Profit.
However, while TP or SL has not been reached, TP&SL labels and lines will be prolonged until one of them will be reached or new signals will come.
See the visual showcase of TP & SL stopping being visualized & TP on the screenshot below:
MAX PROFIT TRACKING
This mechanic is not particularly a new one in field of trading, but people usually forgot that it can be a useful indicator of state of the market:
when lines and labels of Max Profit are far from entry points on consistent basis , it usually means that indicator's signals actually can catch a beginning of good price moves, which enables trader to capitalize on them;
when lines and labels of Max Profit are close to entry points on consistent basis , it means that either market is choppy or the indicator can't catch trading opportunities in time. To 'fix' this you can try to reconfigure scalper's parameters, which were described above.
Principles of Max Profit in this indicator are of industry-standard: when price updates its extremum and 'generates' more profit than it previously did, Max Profit label and line change their position to this extremum. Max Profit label displays the maximum potential amount of profit that a trader could have got during this trade in pips (!) .
See the visual showcase of Max Profit work on the screenshot below:
MTF SCALPER SIGNALS
The principles of these signals are exactly the same as principles for classic Scalper signals. Refer to 'Scalper Signals' section above to rehearse the knowledge.
Logic behind these signals is very simple:
We take classic Scalper signals;
We request the data about these latest signals from specific other timeframe ( user can choose it in the settings );
If such signals appeared, we display it on the chart as a big label with timeframe value inside of it. In comparison to classic signals, no additional boxes are created . TP&SL functionality doesn't cover MTF signals, so don't expect to see TP&SL lines and labels for MTF signals.
See the visual showcase of MTF Scalper signals on the screenshot below:
MTF DASHBOARD
The functionality of the dashboard is pretty simple, but it makes the dashboard itself a very powerful tool in a hands of experienced trader.
Let's review structure of MTF dashboard on the screenshot below:
The important feature of MTF dashboard is that its tracks latest trade's data from a particular ticker and its four timeframes, all of which any trader chooses in the settings. This means, that you can be on asset ABC , but track the data from asset XYZ . This allows for a quick scan of sentiment from different assets and their timeframes, which gives traders a clue on what is the trend on these assets both on lower and higher timeframes at the same moment and saves a lot of time from jumping from one asset & timeframe to another.
To see that this is exactly the case with our indicator, see the screenshot below:
Needless to say, that you can track current asset in the dashboard as well. This will have the same benefits, described in the paragraph above.
You can also customize colours for bullish and bearish patterns for MTF Dashboard in the settings.
SUPPORT & RESISTANCE ZONES
Support & resistance (S&R) zones are a great tool for confirming Scalper signals in complex situations. Using these zones to determine whether or a particular entry opportunity is good is a practice of professional traders, which we specifically added to our indicator for the reason of improving the quality of Scalper signals in long run.
The mechanics behind these zones is based on pivot points, the lookback for which you can customize in the parameter called 'History Lookback (Bars)' in "Support & Resistance / Main Settings" group of settings. Increasing this parameter will lead to a appearance of more 'global' zones, but they will appear much rarer, rather then zones, generated with low values of this parameter.
The quality of these zones doesn't change much when changing this parameter — it only changes the frequency of the zones on the chart. Zones, generated from high values of this parameter are more suitable for long-term trading, while zones, generated from low value of this parameter, are more suitable for short-term trading.
It also important to mention that any zone on the chart is considered active only until the moment its farther border ( top border for resistance zones and bottom border for support zones) is reached by price's high or low .
Take a look on the screenshot below to see which zones does the indicator draw:
Let's review the zones themselves now:
Classic Support/Resistance Zone — a standard zone, which on average has amedium success rate to reverse the price when collided with it;
High-buyer-volume/High-seller-volume Support/Resistance Zone — a stronger zone, which on average has much better success rate to reverse the price when collided with it. Classic zone is marked as high-volume only if the up/down volume near the pivot point of this zone is greater than a certain threshold ( not changeable );
Extreme Support/Resistance Zone — a zone, which appeared beyond price's least-possible-to-cross levels, and has to the highest success rate of reversing the price on encounter across the zones, mentioned previously. Classic zone, which appeared beyond certain price levels, calculated with our proprietary risk system, is considered extreme. Classic zone doesn't need to be high-volume to become an Extreme Zone!
High-buyer-volume/High-seller-volume Extreme Support/Resistance Zone — an Extreme Zone, which has also passed up/down volume evolution process, mentioned in the point 2 .
Trading with the zones, mentioned above, with highest-on-paper success rate — especially Extreme Zones — does NOT guarantee you a price reversal when the price will reach this zone. However, by conducting our own extensive research with this indicator, we have found that using these zone will actually help you increase your success rate on average, because using these zones as confirmation systems filter out quite a number of false signals on average.
It is also important to mention, that opacity (same as 'transparency') of S&R zones depends on the volume of around zone's pivot point:
if volume is high , zone has 'brighter' (less opacity) colour;
if volume is low , zone has 'darker' (more opacity) colour.
Let's review examples of Scalper signal, which 1) where filtered out by our S&R zones and 2) where confirmed by our S&R zones. See the screenshot below:
The example above clearly shows the importance of having an S&R zone confirming the signal. This kind of 'team work' between of Scalper signals and S&R zones results in filtering lots of bad signals and confirmation of truly strong ones.
🔔 ALERTS
This indicator employs alerts for an event when new signal occurs on the current timeframe or on MTF timeframe. While creating the alert below 'Condition' field choose 'any alert() function call'.
When this alert is triggered, it will generate this kind of message:
// Alerts for current timeframe
string msg_template = "EXCHANGE:ASSET, TIMEFRAME: BUY_OR_SELL"
string msg_example = "BINANCE:BTCUSDT, 15m: Buy"
// Alerts for MTF timeframe
string msg_template_mtf = "MTF / EXCHANGE:ASSET, TIMEFRAME: BUY_OR_SELL"
string msg_example_mtf = "MTF / BINANCE:BTCUSDT, 1h: Buy"
📌 NOTES
This indicators works best on assets with high liquidity; most suitable timeframes range from 1m to 4h (depends on your trading style) ;
Seriously consider using S&R zones as confirmation to main Scalper signals or any of your own signals. Confirmation process may filter out a lot of signals, but your PNL History will say "thank you" to you in the long-run and you will see yourself how good confirmed signals actually do work;
Don't forget to look at MTF dashboard from time to time to see global sentiment. This will help you time your entry moments better and will improve your performance in the long run;
This indicator can serve both as primary source of signals and as confirmation tool, but we advise to try to combine it with your own strategy frst to see if it will improve your performance.
🏁 AFTERWORD
AQPRO ScalperX was designed to help traders identify high-quality price breakouts and generate market insights based on them, which include signal generation. Main feature of this indicator is Scalper algorithm, which generate price-breakout-based signals directly on your chart.
Alongside these signals you can leverage 1) MTF Dashboard to track latest trade's data from chosen asset and its four timeframes, 2) risk visualization functionality (TP&SL) to improve understanding of current market risks and 3) Support & Resistance zones, which serve as a great confirmation tool for Scalper signals, but can also work with any other signal generation tool to enhance its performance.
ℹ️ If you have questions about this or any other our indicator, please leave it in the comments.
ICT Smart Money Trading Suite PRO [SwissAlgo]ICT SMC Trading Suite Pro
Structure Detection. Imbalance Tracking. Trade Planning. Contextual Alerts.
Why This Integrated System Was Built
The ICT/SMC methodology requires tracking multiple analytical components simultaneously - a process prone to manual errors, time inefficiency, and visual clutter . This indicator consolidates these elements into a single, unified system , providing rules-based validation for experienced ICT traders who may struggle with execution speed, consistency, and manual calculations.
-----------------------------------------------------------------
What This Indicator Does
ICT/SMC methodology involves tracking multiple analytical components simultaneously. This indicator consolidates them into a single system.
Common challenges when applying ICT manually:
1️⃣ Structure Identification
Determining which pivots qualify as external (macro) structure versus internal (micro) structure requires consistent rules. Inconsistent structure identification affects the detection of the relevant trading range for entries , Change of Character (ChoCH) , and Break of Structure (BoS) . Accurate structure identification is paramount ; a faulty reading invalidates the entire ICT thesis for the current swing. While no automated system can replace human judgment, the indicator provides you with a rules-based starting point for structural analysis. The key goal is to help you find and map the relevant structural leg to focus on.
2️⃣ Chart Organization
Drawing Fibonacci retracements, Fair Value Gaps, Order Blocks, and other imbalances manually creates visual complexity that can obscure the analysis. The indicator addresses this by striving to show all imbalances in a consistent, unified, and understandable visual way , using color coding and z-order layering to maintain clarity even when multiple components are active.
3️⃣ Imbalance Tracking
ICT methodology requires monitoring a vast array of institutional footprints : Fair Value Gaps (FVG), Order Blocks (OB), Breaker Blocks (BB), Liquidity Pools (LP), Volume Imbalances, Wick Imbalances, and Kill Zone ranges. Tracking all these simultaneously and manually monitoring their mitigation status is highly time-intensive and prone to oversight . The indicator constantly scans and tracks all key imbalance types for you, automatically updating their status and creating a dynamic, real-time visual heatmap of unmitigated institutional inefficiency.
4️⃣ Trade Calculation
Determining structure-based Stop Loss (SL) placement, calculating multiple Take Profit (TP) levels with accurate position-sizing splits, and computing the final blended Risk-to-Reward (R:R) ratio involves multiple time-sensitive, manual calculations per setup . The indicator automates this entire trade calculation process for you, instantly providing the necessary pricing (entry, SL, TP), sizing, and performance projections, and mitigating the risk of execution error .
5️⃣ Condition Monitoring
ICT setups often require specific technical conditions to align: price reaching discount Fibonacci levels (0.618-0.882 for shorts, 0.118-0.382 for longs), EMA crossovers confirming momentum, or structural shifts (ChoCH/BoS). Identifying these moments requires continuous chart observation across multiple assets and timeframes.
This indicator includes an alert system that monitors these technical conditions and sends notifications when they occur (real-time). The alert system is designed to minimize spam. This allows traders to review potential setups on demand rather than through continuous observation - particularly relevant for those monitoring multiple instruments or trading sessions outside their local timezone.
-----------------------------------------------------------------
Intended Use
This indicator is designed for traders who:
♦ Apply ICT/SMC methodology - Familiarity with concepts such as Fair Value Gaps, Order Blocks, Liquidity Pools, market structure, and discount/premium zones is assumed. The indicator does not teach these concepts but provides tools to apply them.
♦ Trade on intraday to swing timeframes - The structure detection and Fibonacci zone mapping work across multiple timeframes. Recommended primary timeframe: 1H (adjustable based on trading approach).
♦ Prefer systematic entry planning - The trade calculation feature computes stop loss, take profit levels, and risk-to-reward ratios based on structure and Fibonacci positioning. Suitable for traders who use defined entry criteria.
♦ Monitor multiple instruments or sessions - The alert functionality notifies when specific technical conditions occur (discount zone entries, EMA crossovers, structure changes), reducing the need for continuous manual monitoring.
♦ Use trade execution platforms - The trade summary table displays pre-formatted values (entry, SL, TP levels with quantity splits) that can be manually input into trading platforms or bot services like 3Commas.
-----------------------------------------------------------------
How To Use
Step 1: Structure Analysis
The indicator automatically detects external and internal market structure using pivot analysis. Structure lines are color-coded: red for bearish structure, green for bullish. External pivots are marked with larger triangles, internal pivots with smaller markers. The pivot length parameters (default: 20/20) can be adjusted in settings to align with your structural analysis approach and the asset you are analyzing.
Step 2: Define Your Trading Zone
Use the "Start Swing" and "End Swing" date inputs to mark the beginning and end of the (external) structural leg you wish to analyze. The indicator calculates Fibonacci retracement levels based on these points and color-codes the zones:
* Green zones: Discount area (0.618-0.882 for bearish / 0.118-0.382 for bullish)
* Yellow zones: Premium area (0.786-1.0 for bearish / 0.0-0.214 for bullish)
* Red zones: Extension area beyond structure (potential fake-out zones)
Step 3: Review Imbalances
The indicator identifies and displays multiple imbalance types:
🔥 Volume imbalances (from displacement candles based on PVSRA methodology)
🔥 Fair Value Gaps (FVG)
🔥 Order Blocks (OB) and Breaker Blocks (BB)
🔥 Liquidity Pools (LP) at equal highs/lows
🔥 Wick imbalances (exceptional wick formations)
🔥 Kill Zone liquidity from specific trading sessions (Asian, London, NY AM)
Volume Imbalances
Fair Value Gaps
Order Blocks
Liquidity Pools
Wick Imbalances
Kill Zone Imbalances
According to ICT methodology, imbalances act as price magnets - areas where price tends to return for mitigation. When multiple imbalances overlap at the same price level, this creates a confluence zone with a higher probability of price reaction .
Imbalances are displayed as gray boxes , creating a visual heatmap of institutional inefficiencies. When imbalances overlap, the zones appear darker due to layering, and labels combine to show confluence (e.g., "FVG + OB" or "Vol + LP").
Heatmap of Imbalances
User can view each type alone, or all together (heatmap)
Each imbalance type is tracked until mitigated by price according to ICT principles and can be toggled on/off independently in settings.
Step 4: Reference Levels & Sessions
The indicator displays additional reference data:
🔥 Daily Pivot Points (PP, R1-R3, S1-S3) calculated from previous day
🔥Average Daily Range (ADR) projected from the current day's extremes
🔥 Daily OHLC levels: Today's Open (DO), Previous Day High (PDH), Previous Day Low (PDL)
🔥Session backgrounds (optional): Color-coded boxes for Asian, London, NY AM, and NY PM sessions
Sessions
While these are not ICT-specific imbalances, they represent widely-watched price levels that often attract institutional activity and can act as additional reference points for support, resistance, and liquidity targeting.
All reference levels can be toggled independently in settings.
Step 5: Momentum Reference
EMA 14 and EMA 21 lines are displayed for momentum analysis. When EMA 14 enters discount zones and crosses EMA 21, a triangle marker appears on the chart. This indicates a potential alignment of structure and momentum conditions.
Step 6: Trade Planning
Input your intended entry price in the "Entry Price" field along with your margin and leverage parameters. The indicator automatically calculates all trade parameters:
* Stop loss level (based on Fibonacci structure - typically at 1.118 extension)
* Three take profit levels (TP1, TP2, TP3) with position quantity splits
* Risk-to-reward ratio (blended across all three targets)
* Projected profit/loss values in both dollars and percentage
All calculated values are displayed both visually on the chart (as horizontal lines with labels) and in a formatted Trade Summary table. The table organizes the information for quick reference: entry details, take profit levels with quantities, stop loss parameters, and performance projections.
This pre-calculated data can be manually copied into trading platforms or bot services (such as 3Commas Smart Trades) without requiring additional calculations.
Step 7: Alert Configuration
Create alerts using TradingView's alert system (select "Any alert() function call"). The indicator sends notifications when:
* Price reaches specific discount Fibonacci levels (0.618, 0.786, 0.882 for shorts / 0.382, 0.214, 0.118 for longs)
* EMA 14/21 crossovers occur within discount zones
* Change of Character (ChoCH) is detected
* Break of Structure (BoS) is detected
Note: Alerts require active TradingView alert functionality. Update alerts when changing your trading zone parameters.
-----------------------------------------------------------------
Key Features
Structure & Zone Analysis
* Automated structure detection with external/internal pivots and zig-zag visualization
* Fibonacci retracement mapping with color-coded discount/premium zones
* Visual zone classification: Green (optimal discount), Yellow (premium), Red (fake-out risk)
ICT Imbalances Heatmap
* Volume imbalances (PVSRA displacement candles)
* Fair Value Gaps (FVG)
* Order Blocks (OB) and Breaker Blocks (BB)
* Liquidity Pools (LP) at equal highs/lows
* Wick imbalances (exceptional wick formations)
* Kill Zone liquidity (Asian, London, NY AM sessions)
* Confluence detection with combined labels and visual layering
Reference Levels
* Daily Pivot Points (PP, R1-R3, S1-S3)
* Average Daily Range (ADR) projections
* Daily OHLC levels (DO, PDH, PDL)
* Session backgrounds for kill zones
Trade Planning Tools
* Automated stop loss calculation based on Fibonacci structure
* Three-tier take profit system with position quantity splits
* Risk-to-reward ratio calculation (blended across all targets)
* P&L projections in dollars and percentages
* Trade Summary table formatted for manual platform entry
Momentum & Signals
* EMA 14/21 overlay for momentum analysis
* Visual crossover markers (triangles) in discount zones
* Change of Character (ChoCH) detection and labels
* Break of Structure (BoS) detection and labels
Chart Enhancements
* Higher timeframe candle overlay (5m to Monthly)
* PVSRA candle coloring (volume-based)
* Symbol legend for quick reference
* Customizable visual elements (toggle all components independently)
Alert System
* Discount zone entry notifications (Fibonacci level monitoring)
* EMA crossover signals within discount zones
* Structure change alerts (ChoCH and BoS)
* Configurable via TradingView alert functionality
Alert Functionality
The indicator includes an alert system that monitors technical conditions continuously.
When configured, alerts notify users when specific events occur:
❗ Discount Zone Monitoring
When EMA 14 crosses into key Fibonacci levels (0.618, 0.786, 0.882 for bearish structure / 0.382, 0.214, 0.118 for bullish structure), an alert is triggered. Example: Trading BTC and ETH simultaneously - instead of monitoring both charts for zone entries, alerts notify when either asset reaches the specified level.
❗ Momentum Alignment
When EMA 14 crosses EMA 21 within discount zones, an alert is sent. Example: Monitoring setups across multiple timeframes (1H, 4H, Daily) - alerts indicate when momentum conditions align on any timeframe being tracked.
❗ Structure Changes
Change of Character (ChoCH) and Break of Structure (BoS) events trigger alerts. Example: Trading during the Asian session while located in a different timezone - alerts notify of structure changes occurring outside active monitoring hours.
Configuration
Alerts are set up through TradingView's native alert system. Select "Any alert() function call" when creating the alert.
⚠️ Note: Alert parameters are captured at creation time, so alerts must be updated when changing trading zone settings (Start/End Swing dates) or any other parameter.
How to Create Alerts
Step 1: Open Alert Creation
Click the "Alert" button (clock icon) in the top toolbar of TradingView, or right-click on the chart and select "Add Alert."
Step 2: Configure Alert Condition
* In the alert dialog, set the Condition dropdown to select this indicator
* Set the alert type to ⚠️ " Any alert() function call "
* This configuration allows the indicator to trigger alerts based on its internal logic
Step 3: Set Alert Timing
* Timeframe: Same as chart
* Expiration: Choose "Open-ended (when triggered)" to keep the alert active until conditions occur
* Message tab: choose a name for the alert
Step 4: Notification Settings
Configure how you want to receive notifications:
* Popup within TradingView
* Email notification
* Mobile app push notification (requires TradingView mobile app)
Step 5: Create
Important Notes:
* Alert parameters are captured at creation time . If you change your trading zone (Start/End Swing dates) or entry price, delete the old alert and create a new one .
* One alert per chart: Create separate alerts for each instrument and timeframe you're monitoring.
* TradingView alert limits apply based on your TradingView subscription tier.
What Triggers Alerts: This indicator sends alerts for four key event types:
1. Discount Zone Entry - EMA 14 crossing key Fibonacci levels
2. Momentum Crossover - EMA 14/21 crossovers within discount zones
3. Change of Character (ChoCH) - Structure reversal detected
4. Break of Structure (BoS) - Trend continuation confirmed
All four conditions are monitored by a single alert configuration .
-----------------------------------------------------------------
Recommended Settings
* Timeframe : 1H works well for most assets
* Theme : Dark mode recommended
* Structural Pivots : Default 20/20 captures reasonable structure; adjust to match your analysis
-----------------------------------------------------------------
Chart Elements Guide
♦ Structure Visualization
Zig-zag lines
Automated structure detection - green lines indicate bullish structure, red lines indicate bearish structure. Thick lines represent external structure , thin faded lines show internal structure .
Triangle markers
Large triangles mark external pivots (swing highs/lows), small triangles mark internal pivots.
Fibonacci Zones
* Green zones: Discount area - potential entry zones (0.618-0.882 for shorts / 0.118-0.382 for longs)
* Yellow zones: Premium area - higher extension zones (0.786-1.0 for shorts / 0.0-0.214 for longs)
* Red zones: Fake-out risk area - price beyond structural extremes (above 1.0 for shorts / below 0.0 for longs)
* White dashed lines: Individual Fibonacci levels (1.0, 0.882, 0.786, 0.618, 0.5, 0.382, 0.214, 0.118, 0.0)
♦ Imbalance Heatmap
Gray boxes with dotted midlines
Unmitigated imbalances create a visual heatmap. Overlapping imbalances appear darker due to layering.
Combined labels
When multiple imbalances overlap, labels show confluence (e.g., "FVG + OB", "Vol + LP + Wick")
Types displayed : Vol (Volume), FVG (Fair Value Gap), OB (Order Block), BB (Breaker Block), LP (Liquidity Pool), Wick, KZ (Kill Zone)
♦ Momentum Indicators
* Red line: EMA 14
* Yellow line: EMA 21
* Small triangles on price: Crossover signals - red triangle (bearish crossover), green triangle (bullish crossover) when occurring within discount zones
♦ Structure Change Markers
* Labels with checkmarks/crosses: ChoCH (Change of Character) and BoS (Break of Structure) events (Green label with ✓: Bullish ChoCH or BoS, Red label with ✗: Bearish ChoCH or BoS)
♦ Trade Planning Lines (when entry price is set)
* Blue horizontal line: Entry price
* Green dashed lines: TP1 and TP2
* Green solid line: TP3 (final target)
* Red horizontal line: Stop Loss level
TP levels and SL are calculated based on the structure range, entry price, and mapped trading zone, and aim to achieve a minimum risk: reward ratio of 1:1.5 (R:R)
♦ Colored background zones:
Green shading between entry and TP3 (profit zone), red shading between entry and SL (loss zone)
♦ Reference Levels
* Orange dotted lines with labels: Daily Pivot Points (PP, R1-R3, S1-S3)
* Purple dotted lines with labels: ADR High and ADR Low projections
* Cyan dotted lines with labels: DO (Daily Open), PDH (Previous Day High), PDL (Previous Day Low)
♦ Session Backgrounds (optional)
* Yellow shaded box: Asian session (19:00-00:00 NY time)
* Blue shaded box: London session (02:00-05:00 NY time)
* Green shaded box: NY AM session (09:30-11:00 NY time)
* Orange shaded box: NY PM session (13:30-16:00 NY time)
♦ Trade Summary Table (top-right corner)
Displays a complete trade plan with sections:
* Sanity Check: Plan validation status
* Setup: Trade type, leverage, entry price, position size
* Take Profit: TP1, TP2, TP3 with prices, percentages, and quantity splits
* Stop Loss: SL price and type
* Performance: Potential profit/loss, ROI, and risk-to-reward ratio
♦ HTF Candle Overlay (optional, displayed to the right of the current price)
* Larger candlesticks representing higher timeframe price action
* Green bodies: Bullish HTF candles
* Red bodies: Bearish HTF candles
* Label shows selected timeframe (e.g., "HTF→ D" for daily)
♦ Legend Table (bottom-right corner)
Quick reference guide explaining all symbol abbreviations and color codes used on the chart.
-----------------------------------------------------------------
Methodology & Calculation Details
This indicator consolidates multiple ICT/SMC analytical components into a single integrated system. While individual elements could be created separately, this integration provides automated coordination between components , consistency, and reduces chart complexity.
Structure Detection External and internal pivots
Are identified using fractal pivot analysis with configurable lookback periods (default: 20 bars for both). A pivot high is confirmed when the high at the pivot bar exceeds all highs within the lookback range on both sides. Pivot lows use inverse logic. Structure lines connect validated pivots, with color coding based on price direction (higher highs/higher lows = bullish, lower highs/lower lows = bearish).
Fibonacci Retracement Calculation
Users define two swing points via date/time inputs. The indicator calculates the price range between these points and applies standard Fibonacci ratios (0.0, 0.118, 0.214, 0.382, 0.5, 0.618, 0.786, 0.882, 1.0, plus extensions at 1.118, 1.272, -0.118, -0.272). Zone classification is based on ICT discount/premium principles: 0.618-1.0 range for bearish setups, 0.0-0.382 for bullish setups.
Imbalance Identification
Volume Imbalances : Detected using PVSRA (Price, Volume, Support, Resistance Analysis) methodology. Candles are classified based on the percentile ranking of volume and price range over a 1344-bar lookback period. Type 1 imbalances require ≥95th percentile in both volume and range; Type 2 requires ≥85th percentile. Additional filters include body-to-range ratio (≥50% for Type 1, ≥30% for Type 2) and ATR validation.
Fair Value Gaps (FVG) : Identified when a three-candle sequence shows a price gap: low > high for bullish FVG, high < low for bearish FVG. The middle candle must close beyond the gap edge. Mitigation occurs when the price retraces into the gap.
Order Blocks (OB) : Detected by identifying the last opposing candle before a significant price move. When price breaks a swing high/low, the algorithm scans backwards to find the candle with the highest high (bearish OB) or lowest low (bullish OB) before the breakout. When an OB is breached, it converts to a Breaker Block (BB).
Liquidity Pools (LP) : Identified by detecting equal highs or equal lows using a tolerance threshold based on ATR. Pivot highs/lows within this tolerance range are grouped. Equal highs create Buy-Side Liquidity (BSL) zones above the level; equal lows create Sell-Side Liquidity (SSL) zones below the level.
Wick Imbalances: Flagged when a candle's wick exceeds 1.0x ATR and comprises >50% of the total candle range. These represent rapid rejections or absorption events.
Kill Zone Liquidity: Tracks the high/low range during specific ICT-defined sessions (Asian: 19:00-00:00 NY, London: 02:00-05:00 NY, NY AM: 09:30-11:00 NY). At session close, BSL and SSL zones are created above/below the session range.
Change of Character (ChoCH) & Break of Structure (BoS)
ChoCH is detected when price breaks counter to the established structure (bearish structure broken upward = bullish ChoCH; bullish structure broken downward = bearish ChoCH). BoS occurs when price breaks in the direction of the established trend (bearish structure breaking lower = bearish BoS; bullish structure breaking higher = bullish BoS).
Trade Calculations
Stop Loss and Take Profit levels are calculated based on the entry position within the Fibonacci zone structure:
* Premium entries (0.786-1.0 for shorts / 0.0-0.214 for longs): SL at 1.118/-0.118 extension, TP structure weighted toward zone extremes
* Golden entries (0.618-0.786 for shorts / 0.214-0.382 for longs): SL at 1.0/0.0 boundary, TP structure balanced across range
Risk-to-reward ratios are calculated as blended values across all three take profit levels, weighted by position quantity splits.
Reference Level Calculations
* Pivot Points: Standard formula using previous day's high, low, and close: PP = (H + L + C) / 3
* Support/Resistance: R1 = 2×PP - L, S1 = 2×PP - H, with R2/S2 and R3/S3 calculated using range extensions
* ADR: 14-period simple moving average of daily high-low range, projected from current day's extremes
Momentum Analysis
EMA 14 and EMA 21 use standard exponential moving average calculations. Crossovers are detected when EMA 14 crosses EMA 21 within user-defined discount zones, with directional confirmation (cross under in bearish discount = short signal; cross over in bullish discount = long signal).
Why This Integration Matters
While components like EMA crossovers, pivot detection, or Fibonacci retracements exist as separate indicators, this system provides:
1. Coordinated Analysis : All components reference the same structural framework (user-defined trading zone)
2. Automated Mitigation Tracking : Imbalances are monitored continuously and removed when mitigated according to ICT principles
3. Contextual Alerts : Notifications are triggered only when conditions align within the defined structural context
4. Trade Parameter Automation : Stop loss and take profit calculations adjust dynamically based on entry positioning within the structure
5. Consistent Visual Display : All elements use a unified color scheme, labeling system, and z-order layering. This eliminates visual conflicts that occur when stacking multiple independent indicators (overlapping lines, label collisions, inconsistent transparency levels, conflicting color schemes).
This consolidation reduces the need to manually coordinate 8-10 separate indicators, eliminates redundant calculations across disconnected tools, and maintains visual clarity even when all components are displayed simultaneously.
-----------------------------------------------------------------
Disclaimer
1. Indicator Functionality and Purpose
This indicator is solely a technical analysis tool built upon established methodologies (Smart Money Concepts/ICT) and statistical calculations (Pivots, Fibonacci, EMAs). It is designed to assist experienced traders in visualizing complex data, streamlining the analytical workflow, and automating conditional alerting.
The indicator is NOT:
♦ Financial Advice: It does not provide personalized investment recommendations, solicited advice, or instruction on buying, selling, or holding any financial instrument.
♦ A Guarantee of Profit: The presence of a signal, alert, or trade plan output by this tool does not guarantee that any trade will be profitable.
♦ A Predictor of Future Prices: The tool calculates probabilities and potential scenarios based on historical data and current structure; it does not predict future market movements.
2. General Trading Risks and Capital Loss
♦ All trading involves substantial risk of loss. You may lose some or all of your initial capital. Leveraged products, such as futures, CFDs, and margin trading, carry a high degree of risk and are not suitable for all investors.
♦ Risk Acknowledgment: By using this indicator, you acknowledge and accept that you are solely responsible for all trading decisions, and you bear the full risk of any resulting profit or loss.
♦ Risk Management is Crucial: This indicator is an analytical tool only. You must employ independent risk management techniques (position sizing, stop-loss orders) tailored to your personal financial situation and risk tolerance.
3. Calculation Limitations and Non-Real-Time Data
The calculations performed by this indicator are based on the data provided by your charting platform (e.g., TradingView).
♦ Data Accuracy: The accuracy of the outputs (e.g., Price Delivery Arrays, Pivots, P&L projections) is dependent on the accuracy and real-time nature of the underlying market data feed.
♦ Latencies: Trade alerts and signals may be subject to minor delays due to server processing, internet connectivity, or charting platform performance. Do not rely solely on alerts for execution.
♦ Backtesting and Performance: Any depiction of past performance, including data visible on the chart, is not indicative of future results. Trading results will vary based on market conditions, liquidity, and execution speed.
4. Software and Platform Disclaimer
"As Is" Basis: The indicator is provided on an "as is" basis without warranties of any kind, whether express or implied. The author does not guarantee the script will be error-free or operate without interruption.
Third-Party Integration: This indicator is not affiliated with, endorsed by, or connected to TradingView, 3Commas, or any other broker or execution platform. All third-party names are trademarks of their respective owners. The formatting of the Trade Summary Table for 3Commas is for user convenience only.
5. Required Competency (User Responsibility)
This indicator is built on the assumption that the user is an experienced trader with a working understanding of the complex concepts being visualized (ICT/SMC, FVG, Order Blocks, Liquidity, etc.). The indicator does not teach these concepts.
You Must Always Do Your Own Research (DYOR) before making any trading decision based on signals or visualization provided by this tool.
By installing and using this indicator, you explicitly agree to these terms and assume full responsibility for all trading activity.
Lorentzian Harmonic Flow - Adaptive ML⚡ LORENTZIAN HARMONIC FLOW — ADAPTIVE ML COMPLETE SYSTEM
THEORETICAL FOUNDATION: TEMPORAL RELATIVITY MEETS MACHINE LEARNING
The Lorentzian Harmonic Flow Adaptive ML system represents a paradigm shift in technical analysis by addressing a fundamental limitation that plagues traditional indicators: they assume time flows uniformly across all market conditions. In reality, markets experience time compression during volatile breakouts and time dilation during consolidation. A 50-period moving average calculated during a quiet overnight session captures vastly different market information than the same calculation during a high-volume news event.
This indicator solves this problem through Lorentzian spacetime modeling , borrowed directly from Einstein's special relativity. By calculating a dynamic gamma factor (γ) that measures market velocity relative to a volatility-based "speed of light," every calculation adapts its effective lookback period to the market's intrinsic clock. Combined with a dual-memory architecture, multi-regime detection, and Bayesian strategy selection, this creates a system that genuinely learns which approaches work in which market conditions.
CRITICAL DISTINCTION: TRUE ADAPTIVE LEARNING VS STATIC CLASSIFICATION
Before diving into the system architecture, it's essential to understand how this indicator fundamentally differs from traditional "Lorentzian" implementations, particularly the well-known Lorentzian Classification indicator.
THE ORIGINAL LORENTZIAN CLASSIFICATION APPROACH:
The pioneering Lorentzian Classification indicator (Jdehorty, 2022) introduced the financial community to Lorentzian distance metrics for pattern matching. However, it used offline training methodology :
• External Training: Required Python scripts or external ML tools to train the model on historical data
• Static Model: Once trained, the model parameters remained fixed
• No Real-Time Learning: The indicator classified patterns but didn't learn from outcomes
• Look-Ahead Bias Risk: Offline training could inadvertently use future data
• Manual Retraining: To adapt to new market conditions, users had to retrain externally and reload parameters
This was groundbreaking for bringing ML concepts to Pine Script, but it wasn't truly adaptive. The model was a snapshot—trained once, deployed, static.
THIS SYSTEM: TRUE ONLINE LEARNING
The Lorentzian Harmonic Flow Adaptive ML system represents a complete architectural departure :
✅ FULLY SELF-CONTAINED:
• Zero External Dependencies: No Python scripts, no external training tools, no data exports
• 100% Pine Script: Entire learning pipeline executes within TradingView
• One-Click Deployment: Load indicator, it begins learning immediately
• No Manual Configuration: System builds its own training data in real-time
✅ GENUINE FORWARD-WALK LEARNING:
• Real-Time Adaptation: Every trade outcome updates the model
• Forward-Only Logic: System uses only past confirmed data—zero look-ahead bias
• Continuous Evolution: Parameters adapt bar-by-bar based on rolling performance
• Regime-Specific Memory: Learns which patterns work in which conditions independently
✅ GETS BETTER WITH TIME:
• Week 1: Bootstrap mode—gathering initial data across regimes
• Month 2-3: Statistical significance emerges, parameter adaptation begins
• Month 4+: Mature learning, regime-specific optimization, confident selection
• Year 2+: Deep pattern library, proven parameter sets, robust to regime shifts
✅ NO RETRAINING REQUIRED:
• Automatic Adaptation: When market structure changes, system detects via performance degradation
• Memory Refresh: Old patterns naturally decay, new patterns replace them
• Parameter Evolution: Thresholds and multipliers adjust to current conditions
• Regime Awareness: If new regime emerges, enters bootstrap mode automatically
THE FUNDAMENTAL DIFFERENCE:
Traditional Lorentzian Classification:
"Here are patterns from the past. Current state matches pattern X, which historically preceded move Y. Signal fired."
→ Static knowledge, fixed rules, periodic retraining required
LHF Adaptive ML:
"In Trending Bull regime, Strategy B has 58% win rate and 1.4 Sharpe over last 30 trades. In High Vol Range, Strategy C performs better with 61% win rate and 1.8 Sharpe. Current state is Trending Bull, so I select Strategy B. If Strategy B starts failing, I'll adapt parameters or switch strategies. I'm learning which patterns matter in which contexts, and I improve every trade."
→ Dynamic learning, contextual adaptation, self-improving system
WHY THIS MATTERS:
Markets are non-stationary. A model trained on 2023 data may fail in 2024 when Fed policy shifts, volatility regime changes, or market structure evolves. Static models require constant human intervention—retraining, re-optimization, parameter updates.
This system learns continuously . It doesn't need you to tell it when markets changed. It discovers regime shifts through performance feedback, adapts parameters accordingly, and rebuilds its pattern library organically. The system running in Month 12 is fundamentally smarter than the system in Month 1—not because you retrained it, but because it learned from 1,000+ real outcomes.
This is the difference between pattern recognition (static ML) and reinforcement learning (adaptive ML). One classifies, the other learns and improves.
PART 1: LORENTZIAN TEMPORAL DYNAMICS
Markets don't experience time uniformly. During explosive volatility, price can compress weeks of movement into minutes. During consolidation, time dilates. Traditional indicators ignore this, using fixed periods regardless of market state.
The Lorentzian approach models market time using the Lorentz factor from special relativity:
γ = 1 / √(1 - v²/c²)
Where:
• v (velocity): Trend momentum normalized by ATR, calculated as (close - close ) / (N × ATR)
• c (speed limit): Realized volatility + volatility bursts, multiplied by c_multiplier parameter
• γ (gamma): Time dilation factor that compresses or expands effective lookback periods
When trend velocity approaches the volatility "speed limit," gamma spikes above 1.0, compressing time. Every calculation length becomes: base_period / γ. This creates shorter, more responsive periods during explosive moves and longer, more stable periods during quiet consolidation.
The system raises gamma to an optional power (gamma_power parameter) for fine control over compression strength, then applies this temporal scaling to every calculation in the indicator. This isn't metaphor—it's quantitative adaptation to the market's intrinsic clock.
PART 2: LORENTZIAN KERNEL SMOOTHING
Traditional moving averages use uniform weights (SMA) or exponential decay (EMA). The Lorentzian kernel uses heavy-tailed weighting:
K(distance, γ) = 1 / (1 + (distance/γ)²)
This Cauchy-like distribution gives more influence to recent extremes than Gaussian assumptions suggest, capturing the fat-tailed nature of financial returns. For any calculation requiring smoothing, the system loops through historical bars, computes Lorentzian kernel weights based on temporal distance and current gamma, then produces weighted averages.
This creates adaptive smoothing that responds to local volatility structure rather than imposing rigid assumptions about price distribution.
PART 3: HARMONIC FLOW (Multi-Timeframe Momentum)
The core directional signal comes from Harmonic Flow (HFL) , which blends three gamma-compressed Lorentzian smooths:
• Short Horizon: base_period × short_ratio / γ (default: 34 × 0.5 / γ ≈ 17 bars, faster with high γ)
• Mid Horizon: base_period × mid_ratio / γ (default: 34 × 1.0 / γ ≈ 34 bars, anchor timeframe)
• Long Horizon: base_period × long_ratio / γ (default: 34 × 2.5 / γ ≈ 85 bars, structural trend)
Each produces a Lorentzian-weighted smooth, converted to a z-score (distance from smooth normalized by ATR). These z-scores are then weighted-averaged:
HFL = (w_short × z_short + w_mid × z_mid + w_long × z_long) / (w_short + w_mid + w_long)
Default weights (0.45, 0.35, 0.20) favor recent momentum while respecting longer structure. Scalpers can increase short weight; swing traders can emphasize long weight. The result is a directional momentum indicator that captures multi-timeframe flow in compressed time.
From HFL, the system derives:
• Flow Velocity: HFL - HFL (momentum acceleration)
• Flow Acceleration: Second derivative (turning points)
• Temporal Compression Index (TCI): base_period / compressed_length (shows how much time is compressed)
PART 4: DUAL MEMORY ARCHITECTURE
Markets have memory—current conditions resonate with past regimes. But memory operates on two timescales, inspiring this indicator's dual-memory design:
SHORT-TERM MEMORY (STM):
• Capacity: 100 patterns (configurable 50-200)
• Decay Rate: 0.980 (50% weight after ~35 bars)
• Update Frequency: Every 10 bars
• Purpose: Capture current regime's tactical patterns
• Storage: Recent market states with 10-bar forward outcomes
• Analogy: Hippocampus (rapid encoding, fast fade)
LONG-TERM MEMORY (LTM):
• Capacity: 512 patterns (configurable 256-1024)
• Decay Rate: 0.997 (50% weight after ~230 bars)
• Quality Gate: Only high-quality patterns admitted (adaptive threshold per regime)
• Purpose: Strategic pattern library validated across regimes
• Storage: Validated patterns from weeks/months of history
• Analogy: Neocortex (slow consolidation, persistent storage)
Each memory stores 6-dimensional feature vectors:
1. HFL (harmonic flow strength)
2. Flow Velocity (momentum)
3. Flow Acceleration (turning points)
4. Volatility (realized vol EMA)
5. Entropy (market uncertainty)
6. Gamma (time compression state)
Plus the actual outcome (10-bar forward return).
K-NEAREST NEIGHBORS (KNN) PATTERN MATCHING:
When evaluating current market state, the system queries both memories using Lorentzian distance :
distance = Σ (1 - K(|feature_current - feature_memory|, γ))
This calculates similarity across all 6 dimensions using the same Lorentzian kernel, weighted by current gamma. The system finds K nearest neighbors (default: 8), weights each by:
• Similarity: Lorentzian kernel distance
• Age: Exponential decay based on bars since pattern
• Regime: Only patterns from similar regimes count
The weighted average of these neighbors' outcomes becomes the prediction. High-confidence predictions require both high similarity and agreement between multiple neighbors.
REGIME-AWARE BLENDING:
STM and LTM predictions are blended adaptively:
• High Vol Range regime: Trust STM 70% (recent matters in chaos)
• Trending regimes: Trust LTM 70% (structure matters in trends)
• Normal regimes: 50/50 blend
Agreement metric: When STM and LTM strongly disagree, the system flags low confidence—often indicating regime transition or novel market conditions requiring caution.
PART 5: FIVE-REGIME MARKET CLASSIFICATION
Traditional regime detection stops at "trending vs ranging." This system detects five distinct market states using linear regression slope and volatility analysis:
REGIME 0: TRENDING BULL ↗
• Detection: LR slope > trend_threshold (default: 0.3)
• Characteristics: Sustained positive HFL, elevated gamma, low entropy
• Best Strategy: B (Flow Momentum)
• Trading Behavior: Follow momentum, trail stops, pyramid winners
REGIME 1: TRENDING BEAR ↘
• Detection: LR slope < -trend_threshold
• Characteristics: Sustained negative HFL, elevated gamma, low entropy
• Best Strategy: B (Flow Momentum)
• Trading Behavior: Follow momentum short, aggressive exits on reversal
REGIME 2: HIGH VOL RANGE ↔
• Detection: |slope| < threshold AND vol_ratio > vol_expansion_threshold (default: 1.5)
• Characteristics: Oscillating HFL, high gamma spikes, high entropy
• Best Strategies: A (Squeeze Breakout) or C (Memory Pattern)
• Trading Behavior: Fade extremes, tight stops, quick profits
REGIME 3: LOW VOL RANGE —
• Detection: |slope| < threshold AND vol_ratio < vol_expansion_threshold
• Characteristics: Low HFL magnitude, gamma ≈ 1, squeeze conditions
• Best Strategy: A (Squeeze Breakout)
• Trading Behavior: Wait for breakout, wide stops on breakout entry
REGIME 4: TRANSITION ⚡
• Detection: Trend reversal OR volatility spike > 1.5× threshold
• Characteristics: Erratic gamma, high entropy, conflicting signals
• Best Strategy: None (often unfavorable)
• Trading Behavior: Stand aside, wait for clarity
Each regime gets a confidence score (0-1) measuring how clearly defined it is. Low confidence indicates messy, ambiguous conditions.
PART 6: THREE INDEPENDENT TRADING STRATEGIES
Rather than one signal logic, the system implements three distinct approaches:
STRATEGY A: SQUEEZE BREAKOUT
• Logic: Bollinger Bands squeeze release + HFL direction + flow velocity confirmation
• Calculation: Compares BB width to Keltner Channel width; fires when BB expands beyond KC
• Strength Score: 70 + compression_strength × 0.3 (tighter squeeze = higher score)
• Best Regimes: Low Vol Range (3), Transition exit (4→0 or 4→1)
• Pattern: Volatility contraction → directional expansion
• Philosophy: Calm before the storm; compression precedes explosion
STRATEGY B: LORENTZIAN FLOW MOMENTUM
• Logic: Strong HFL (×flow_mult) + positive velocity + gamma > 1.1 + NOT squeezing
• Calculation: |HFL × flow_mult| > 0.12, velocity confirms direction, gamma shows acceleration
• Strength Score: |HFL × flow_mult| × 80 + gamma × 10
• Best Regimes: Trending Bull (0), Trending Bear (1)
• Pattern: Established momentum → acceleration in compressed time
• Philosophy: Trend is friend when spacetime curves
STRATEGY C: MEMORY PATTERN MATCHING
• Logic: Dual KNN prediction > threshold + high confidence + agreement + HFL confirms
• Calculation: |memory_pred| > 0.005, memory_conf > 1.0, agreement > 0.5, HFL direction matches
• Strength Score: |prediction| × 800 × agreement
• Best Regimes: High Vol Range (2), sometimes others with sufficient pattern library
• Pattern: Historical similarity → outcome resonance
• Philosophy: Markets rhyme; learn from validated patterns
Each strategy generates independent strength scores. In multi-strategy mode (enabled by default), the system selects one strategy per regime based on risk-adjusted performance. In weighted mode (multi-strategy disabled), all three fire simultaneously with configurable weights.
PART 7: ADAPTIVE LEARNING & BAYESIAN SELECTION
This is where machine learning meets trading. The system maintains 15 independent performance matrices :
3 strategies × 5 regimes = 15 tracking systems
For each combination, it tracks:
• Trade Count: Number of completed trades
• Win Count: Profitable outcomes
• Total Return: Sum of percentage returns
• Squared Returns: For variance/Sharpe calculation
• Equity Curve: Virtual P&L assuming 10% risk per trade
• Peak Equity: All-time high for drawdown calculation
• Max Drawdown: Peak-to-trough decline
RISK-ADJUSTED SCORING:
For current regime, the system scores each strategy:
Sharpe Ratio: (mean_return / std_dev) × √252
Calmar Ratio: total_return / max_drawdown
Win Rate: wins / trades
Combined Score = 0.6 × Sharpe + 0.3 × Calmar + 0.1 × Win_Rate
The strategy with highest score is selected. This is similar to Thompson Sampling (multi-armed bandits) but uses deterministic selection rather than probabilistic sampling due to Pine Script limitations.
BOOTSTRAP MODE (Critical for Understanding):
For the first min_regime_samples trades (default: 10) in each regime:
• Status: "🔥 BOOTSTRAP (X/10)" displayed in dashboard
• Behavior: All signals allowed (gathering data)
• Regime Filter: Disabled (can't judge with insufficient data)
• Purpose: Avoid cold-start problem, build statistical foundation
After reaching threshold:
• Status: "✅ FAVORABLE" (score > 0.5) or "⚠️ UNFAVORABLE" (score ≤ 0.5)
• Behavior: Only trade favorable regimes (if enable_regime_filter = true)
• Learning: Parameters adapt based on outcomes
This solves a critical problem: you can't know which strategy works in a regime without data, but you can't get data without trading. Bootstrap mode gathers initial data safely, then switches to selective mode once statistical confidence emerges.
PARAMETER ADAPTATION (Per Regime):
Three parameters adapt independently for each regime based on outcomes:
1. SIGNAL QUALITY THRESHOLD (30-90):
• Starts: base_quality_threshold (default: 60)
• Adaptation:
Win Rate < 45% → RAISE threshold by learning_rate × 10 (be pickier)
Win Rate > 55% → LOWER threshold by learning_rate × 5 (take more)
• Effect: System becomes more selective in losing regimes, more aggressive in winning regimes
2. LTM QUALITY GATE (0.2-0.8):
• Starts: 0.4 (if adaptive gate enabled)
• Adaptation:
Sharpe < 0.5 → RAISE gate by learning_rate (demand better patterns)
Sharpe > 1.5 → LOWER gate by learning_rate × 0.5 (accept more patterns)
• Effect: LTM fills with high-quality patterns from winning regimes
3. FLOW MULTIPLIER (0.5-2.0):
• Starts: 1.0
• Adaptation:
Strong win (+2%+) → MULTIPLY by (1 + learning_rate × 0.1)
Strong loss (-2%+) → MULTIPLY by (1 - learning_rate × 0.1)
• Effect: Amplifies signal strength in profitable regimes, dampens in unprofitable
Each regime evolves independently. Trending Bull might develop threshold=55, gate=0.35, mult=1.3 while High Vol Range develops threshold=70, gate=0.50, mult=0.9.
PART 8: SHADOW PORTFOLIO VALIDATION
To validate learning objectively, the system runs three virtual portfolios :
Shadow Portfolio A: Trades only Strategy A signals
Shadow Portfolio B: Trades only Strategy B signals
Shadow Portfolio C: Trades only Strategy C signals
When any signal fires:
1. Open virtual position for corresponding strategy
2. On exit, calculate P&L (10% risk per trade)
3. Update equity, win count, profit factor
Dashboard displays:
• Equity: Current virtual balance (starts $10,000)
• Win%: Overall win rate across all regimes
• PF: Profit Factor (gross_profit / gross_loss)
This transparency shows which strategies actually perform, validates the selection logic, and prevents overfitting. If Shadow C shows $12,500 equity while A and B show $9,800, it confirms Strategy C's edge.
PART 9: HISTORICAL PRE-TRAINING
The system includes historical pre-training to avoid cold-start:
On Chart Load (if enabled):
1. Scan past pretrain_bars (default: 200)
2. Calculate historical HFL, gamma, velocity, acceleration, volatility, entropy
3. Compute 10-bar forward returns as outcomes
4. Populate STM with recent patterns
5. Populate LTM with high-quality patterns (quality > 0.4)
Effect:
• Without pre-training: Memories empty, no predictions for weeks, pure bootstrap
• With pre-training: System starts with pattern library, predictions from day one
Pre-training uses only past data (no future peeking) and fills memories with validated outcomes. This dramatically accelerates learning without compromising integrity.
PART 10: COMPREHENSIVE INPUT SYSTEM
The indicator provides 50+ inputs organized into logical groups. Here are the key parameters and their market-specific guidance:
🧠 ADAPTIVE LEARNING SYSTEM:
Enable Adaptive Learning (true/false):
• Function: Master switch for regime-specific strategy selection and parameter adaptation
• Enabled: System learns which strategies work in which regimes (recommended)
• Disabled: All strategies fire simultaneously with fixed weights (simpler, less adaptive)
• Recommendation: Keep enabled for all markets; system needs 2-3 months to mature
Learning Rate (0.01-0.20):
• Function: Speed of parameter adaptation based on outcomes
• Stocks/ETFs: 0.03-0.05 (slower, more stable)
• Crypto: 0.05-0.08 (faster, adapts to volatility)
• Forex: 0.04-0.06 (moderate)
• Timeframes:
1-5min scalping: 0.08-0.10 (rapid adaptation)
15min-1H day trading: 0.05-0.07 (balanced)
4H-Daily swing: 0.03-0.05 (conservative)
• Tradeoff: Higher = responsive but may overfit; Lower = stable but slower to adapt
Min Samples Per Regime (5-30):
• Function: Trades required before exiting bootstrap mode
• Active trading (>5 signals/day): 8-10 trades
• Moderate (1-5 signals/day): 10-15 trades
• Swing (few signals/week): 5-8 trades
• Logic: Bootstrap mode until this threshold; then uses Sharpe/Calmar for regime filtering
• Tradeoff: Lower = faster exit (risky, less data); Higher = more validation (safer, slower)
🌍 REGIME DETECTION:
Regime Lookback Period (20-200):
• Function: Bars used for linear regression to classify regime
• By Timeframe:
1-5min: 30-50 bars (~2-4 hour context)
15min: 40-60 bars (daily context)
1H: 50-100 bars (weekly context)
4H: 100-150 bars (monthly context)
Daily: 50-75 bars (quarterly context)
• By Market:
Crypto: 40-60 (faster regime changes)
Forex: 50-75 (moderate stability)
Stocks: 60-100 (slower structural trends)
• Tradeoff: Shorter = more regime switches (reactive); Longer = fewer switches (stable)
Trend Strength Threshold (0.1-0.8):
• Function: Minimum normalized LR slope to classify as trending vs ranging
• Lower (0.1-0.2): More markets classified as trending
• Higher (0.4-0.6): Only strong trends qualify
• Recommendations:
Choppy markets (BTC, small caps): 0.25-0.35
Smooth trends (major FX pairs): 0.30-0.40
Strong trends (indices during bull): 0.20-0.30
• Effect: Controls sensitivity of trending vs ranging classification
Vol Expansion Factor (1.2-3.0):
• Function: Volatility ratio to classify high-vol regimes (current_vol / avg_vol)
• By Asset:
Bitcoin: 1.4-1.6 (frequent vol spikes)
Altcoins: 1.3-1.5 (very volatile)
Major FX (EUR/USD): 1.6-2.0 (stable baseline)
Stocks (SPY): 1.5-1.8 (moderate)
Penny stocks: 1.3-1.4 (always volatile)
• Impact: Higher = fewer "High Vol Range" classifications; Lower = more sensitive to volatility spikes
🎯 SIGNAL GENERATION:
Base Quality Threshold (30-90):
• Function: Starting signal strength requirement (adapts per regime)
• THIS IS YOUR MAIN SIGNAL FREQUENCY CONTROL
• Conservative (70-80): Fewer, higher-quality signals
• Balanced (55-65): Moderate signal flow
• Aggressive (40-50): More signals, more noise
• By Trading Style:
Scalping (1-5min): 50-60
Day trading (15min-1H): 60-70
Swing (4H-Daily): 65-75
• Adaptive Behavior: System raises this in losing regimes (pickier), lowers in winning regimes (take more)
Min Confidence (0.1-0.9):
• Function: Minimum confidence score to fire signal
• Calculation: (Signal_Strength / 100) × Regime_Confidence
• Recommendations:
High-frequency (scalping): 0.2-0.3 (permissive)
Day trading: 0.3-0.4 (balanced)
Swing/position: 0.4-0.6 (selective)
• Interaction: During Transition regime (low regime confidence), even strong signals may fail confidence check; creates natural regime filtering
Only Trade Favorable Regimes (true/false):
• Function: Block signals in unfavorable regimes (where all strategies have negative risk-adjusted scores)
• Enabled (Recommended): Only trades when best strategy has positive Sharpe in current regime; auto-disables during bootstrap; protects capital
• Disabled: Always allows signals regardless of historical performance; use for manual regime assessment
• Bootstrap: Auto-allows trading until min_regime_samples reached, then switches to performance-based filtering
Min Bars Between Signals (1-20):
• Function: Prevents signal spam by enforcing minimum spacing
• By Timeframe:
1min: 3-5 bars (3-5 minutes)
5min: 3-6 bars (15-30 minutes)
15min: 4-8 bars (1-2 hours)
1H: 5-10 bars (5-10 hours)
4H: 3-6 bars (12-24 hours)
Daily: 2-5 bars (2-5 days)
• Logic: After signal fires, no new signals for X bars
• Tradeoff: Lower = more reactive (may overtrade); Higher = more patient (may miss reversals)
🌀 LORENTZIAN CORE:
Base Period (10-100):
• Function: Core time period for flow calculation (gets compressed by gamma)
• THIS IS YOUR PRIMARY TIMEFRAME KNOB
• By Timeframe:
1-5min scalping: 20-30 (fast response)
15min-1H day: 30-40 (balanced)
4H swing: 40-55 (smooth)
Daily position: 50-75 (very smooth)
• By Market Character:
Choppy (crypto, small caps): 25-35 (faster)
Smooth (major FX, indices): 35-50 (moderate)
Slow (bonds, utilities): 45-65 (slower)
• Gamma Effect: Actual length = base_period / gamma; High gamma compresses to ~20 bars, low gamma expands to ~50 bars
• Default 34 (Fibonacci) works well across most assets
Velocity Period (5-50):
• Function: Window for trend velocity calculation: (price_now - price ) / (N × ATR)
• By Timeframe:
1-5min scalping: 8-12 (fast momentum)
15min-1H day: 12-18 (balanced)
4H swing: 14-21 (smooth trend)
Daily: 18-30 (structural trend)
• By Market:
Crypto (fast moves): 10-14
Stocks (moderate): 14-20
Forex (smooth): 18-25
• Impact: Feeds into gamma calculation (v/c ratio); shorter = more sensitive to velocity spikes → higher gamma
• Relationship: Typically vel_period ≈ base_period / 2 to 2/3
Speed-of-Market (c) (0.5-3.0):
• Function: "Speed limit" for gamma calculation: c = realized_vol + vol_burst × c_multiplier
• By Asset Volatility:
High vol (BTC, TSLA): 1.0-1.3 (lower c = more compression)
Medium vol (SPY, EUR/USD): 1.3-1.6 (balanced)
Low vol (bonds, utilities): 1.6-2.5 (higher c = less compression)
• What It Does:
Lower c → velocity hits "speed limit" sooner → higher gamma → more compression
Higher c → velocity rarely hits limit → gamma stays near 1 → less adaptation
• Effect on Signals: More compression (low c) = faster regime detection, more responsive; Less compression (high c) = smoother, less adaptive
• Tuning: Start at 1.4; if gamma always ~1.0, lower to 1.0-1.2; if gamma spikes >5 often, raise to 1.6-2.0
Gamma Power (0.5-2.0):
• Function: Exponent applied to gamma: final_gamma = gamma^power
• Compression Strength:
0.5-0.8: Softens compression (gamma 4 → 2)
1.0: Linear (gamma 4 → 4)
1.2-2.0: Amplifies compression (gamma 4 → 16)
• Use Cases:
Reduce power (<1.0) if adaptive lengths swing too wildly or getting whipsawed
Increase power (>1.0) for more aggressive regime adaptation in fast markets
• Most users should leave at 1.0; only adjust if gamma behavior needs tuning
Max Kernel Lookback (20-200):
• Function: Computational limit for Lorentzian smoothing (performance control)
• Recommendations:
Fast PC / simple chart: 80-100
Slow PC / complex chart: 40-60
Mobile / lots of indicators: 30-50
• Impact: Each kernel smoothing loops through this many bars; higher = more accurate but slower
• Default 60 balances accuracy and speed; lower to 40-50 if indicator is slow
🎼 HARMONIC FLOW:
Short Horizon (0.2-1.0):
• Function: Fast timeframe multiplier: short_length = base_period × short_ratio / gamma
• Default: 0.5 (captures 2× faster flow than base)
• By Style:
Scalping: 0.3-0.4 (very fast)
Day trading: 0.4-0.6 (moderate)
Swing: 0.5-0.7 (balanced)
• Effect: Lower = more weight on micro-moves; Higher = smooths out fast fluctuations
Mid Horizon (0.5-2.0):
• Function: Medium timeframe multiplier: mid_length = base_period × mid_ratio / gamma
• Default: 1.0 (equals base_period, anchor timeframe)
• Usually keep at 1.0 unless specific strategy needs fine-tuning
Long Horizon (1.0-5.0):
• Function: Slow timeframe multiplier: long_length = base_period × long_ratio / gamma
• Default: 2.5 (captures trend/structure)
• By Style:
Scalping: 1.5-2.0 (less long-term influence)
Day trading: 2.0-3.0 (balanced)
Swing: 2.5-4.0 (strong trend component)
• Effect: Higher = more emphasis on larger structure; Lower = more reactive to recent price action
Short Weight (0-1):
Mid Weight (0-1):
Long Weight (0-1):
• Function: Relative importance in HFL calculation (should sum to 1.0)
• Defaults: Short: 0.45, Mid: 0.35, Long: 0.20 (day trading balanced)
• Preset Configurations:
SCALPING (fast response):
Short: 0.60, Mid: 0.30, Long: 0.10
DAY TRADING (balanced):
Short: 0.45, Mid: 0.35, Long: 0.20
SWING (trend-following):
Short: 0.25, Mid: 0.35, Long: 0.40
• Effect: More short weight = responsive but noisier; More long weight = smoother but laggier
🧠 DUAL MEMORY SYSTEM:
Enable Pattern Memory (true/false):
• Function: Master switch for KNN pattern matching via dual memory
• Enabled (Recommended): Strategy C (Memory Pattern) can fire; memory predictions influence all strategies; prediction arcs shown; heatmaps available
• Disabled: Only Strategy A and B available; faster performance (less computation); pure technical analysis (no pattern matching)
• Keep enabled for full system capabilities; disable only if CPU-constrained or testing pure flow signals
STM Size (50-200):
• Function: Short-Term Memory capacity (recent pattern storage)
• Characteristics: Fast decay (0.980), captures current regime, updates every 10 bars, tactical pattern matching
• Sizing:
Active markets (crypto): 80-120
Moderate (stocks): 100-150
Slow (bonds): 50-100
• By Timeframe:
1-15min: 60-100 (captures few hours of patterns)
1H: 80-120 (captures days)
4H-Daily: 100-150 (captures weeks/months)
• Tradeoff: More = better recent pattern coverage; Less = faster computation
• Default 100 is solid for most use cases
LTM Size (256-1024):
• Function: Long-Term Memory capacity (validated pattern storage)
• Characteristics: Slow decay (0.997), only high-quality patterns (gated), regime-specific recall, strategic pattern library
• Sizing:
Fast PC: 512-768
Medium PC: 384-512
Slow PC/Mobile: 256-384
• By Data Needs:
High-frequency (lots of patterns): 512-1024
Moderate activity: 384-512
Low-frequency (swing): 256-384
• Performance Impact: Each KNN search loops through entire LTM; 512 = good balance of coverage and speed; if slow, drop to 256-384
• Fills over weeks/months with validated patterns
STM Decay (0.95-0.995):
• Function: Short-Term Memory age decay rate: age_weight = decay^bars_since_pattern
• Decay Rates:
0.950: Aggressive fade (50% weight after 14 bars)
0.970: Moderate fade (50% after 23 bars)
0.980: Balanced (50% after 35 bars)
0.990: Slow fade (50% after 69 bars)
• By Timeframe:
1-5min: 0.95-0.97 (fast markets, old patterns irrelevant)
15min-1H: 0.97-0.98 (balanced)
4H-Daily: 0.98-0.99 (slower decay)
• Philosophy: STM should emphasize RECENT patterns; lower decay = only very recent matters; 0.980 works well for most cases
LTM Decay (0.99-0.999):
• Function: Long-Term Memory age decay rate
• Decay Rates:
0.990: 50% weight after 69 bars
0.995: 50% weight after 138 bars
0.997: 50% weight after 231 bars
0.999: 50% weight after 693 bars
• Philosophy: LTM should retain value for LONG periods; pattern from 6 months ago might still matter
• Usage:
Fast-changing markets: 0.990-0.995
Stable markets: 0.995-0.998
Structural patterns: 0.998-0.999
• Warning: Be careful with very high decay (>0.998); market structure changes, old patterns may mislead
• 0.997 balances long-term memory with regime evolution
K Neighbors (3-21):
• Function: Number of similar patterns to query in KNN search
• By Sample Size:
Small dataset (<100 patterns): 3-5
Medium dataset (100-300): 5-8
Large dataset (300-1000): 8-13
Very large (>1000): 13-21
• Tradeoff:
Fewer K (3-5): More reactive to closest matches; noisier; outlier-sensitive; better when patterns very distinct
More K (13-21): Smoother, more stable predictions; may dilute strong signals; better when patterns overlap
• Rule of Thumb: K ≈ √(memory_size) / 3; For STM=100, LTM=512: K ≈ 8-10 ideal
Adaptive Quality Gate (true/false):
• Function: Adapts LTM entry threshold per regime based on Sharpe ratio
• Enabled: Quality gate adapts: Low Sharpe → RAISE gate (demand better patterns); High Sharpe → LOWER gate (accept more patterns); each regime has independent gate
• Disabled: Fixed quality gate (0.4 default) for all regimes
• Recommended: Keep ENABLED; helps LTM focus on proven pattern types per regime; prevents weak patterns from polluting memory
🎯 MULTI-STRATEGY SYSTEM:
Enable Strategy Learning (true/false):
• Function: Core learning feature for regime-specific strategy selection
• Enabled: Tracks 3 strategies × 5 regimes = 15 performance matrices; selects best strategy per regime via Sharpe/Calmar/WinRate; adaptive strategy switching
• Disabled: All strategies fire simultaneously (weighted combination); no regime-specific selection; simpler but less adaptive
• Recommended: ENABLED (this is the core of the adaptive system); disable only for testing or simplification
Strategy A Weight (0-1):
• Function: Weight for Strategy A (Squeeze Breakout) when multi-strategy disabled
• Characteristics: Fires on Bollinger squeeze release; best in Low Vol Range, Transition; compression → expansion pattern
• When Multi-Strategy OFF: Default 0.33 (equal weight); increase to 0.4-0.5 for choppy ranges with breakouts; decrease to 0.2-0.3 for trending markets
• When Multi-Strategy ON: This is ignored (system auto-selects based on performance)
Strategy B Weight (0-1):
• Function: Weight for Strategy B (Lorentzian Flow) when multi-strategy disabled
• Characteristics: Fires on strong HFL + velocity + gamma; best in Trending Bull/Bear; momentum → acceleration pattern
• When Multi-Strategy OFF: Default 0.33; increase to 0.4-0.5 for trending markets; decrease to 0.2-0.3 for choppy/ranging markets
• When Multi-Strategy ON: Ignored (auto-selected)
Strategy C Weight (0-1):
• Function: Weight for Strategy C (Memory Pattern) when multi-strategy disabled
• Characteristics: Fires when dual KNN predicts strong move; best in High Vol Range; requires memory system enabled + sufficient data
• When Multi-Strategy OFF: Default 0.34; increase to 0.4-0.6 if strong pattern repetition and LTM has >200 patterns; decrease to 0.2-0.3 if new to system; set to 0.0 if memory disabled
• When Multi-Strategy ON: Ignored (auto-selected)
📚 PRE-TRAINING:
Historical Pre-Training (true/false):
• Function: Bootstrap feature that fills memory on chart load
• Enabled: Scans past bars to populate STM/LTM before live trading; calculates historical outcomes (10-bar forward returns); builds initial pattern library; system starts with context, not blank slate
• Disabled: Memories only populate in real-time; takes weeks to build pattern library
• Recommended: ENABLED (critical for avoiding "cold start" problem); disable only for testing clean learning
Training Bars (50-500):
• Function: How many historical bars to scan on load (limited by available history)
• Recommendations:
1-5min charts: 200-300 (few hours of history)
15min-1H: 200-400 (days/weeks)
4H: 300-500 (months)
Daily: 200-400 (years)
• Performance:
100 bars: ~1 second
300 bars: ~2-3 seconds
500 bars: ~4-5 seconds
• Sweet Spot: 200-300 (enough patterns without slow load)
• If chart loads slowly: Reduce to 100-150
🎨 VISUALIZATION:
Show Regime Background (true/false):
• Function: Color-code background by current regime
• Colors: Trending Bull (green tint), Trending Bear (red tint), High Vol Range (orange tint), Low Vol Range (blue tint), Transition (purple tint)
• Helps visually track regime changes
Show Flow Bands (true/false):
• Function: Plot upper/lower bands based on HFL strength
• Shows dynamic support/resistance zones; green fill = bullish flow; red fill = bearish flow
• Useful for visual trend confirmation
Show Confidence Meter (true/false):
• Function: Plot signal confidence (0-100) in separate pane
• Calculation: (Signal_Strength / 100) × Regime_Confidence
• Gold line = current confidence; dashed line = minimum threshold
• Signals fire when confidence exceeds threshold
Show Prediction Arc (true/false):
• Function: Dashed line projecting expected price move based on memory prediction
• NOT a price target - a probability vector; steep arc = strong expected move; flat arc = weak/uncertain prediction
• Green = bullish prediction; red = bearish prediction
Show Signals (true/false):
• Function: Triangle markers at entry points
• ▲ Green = Long signal; ▼ Red = Short signal
• Markers show on bar close (non-repainting)
🏆 DASHBOARD:
Show Dashboard (true/false):
• Function: Main info panel showing all system metrics
• Sections: Lorentzian Core, Regime, Dual Memory, Adaptive Parameters, Regime Performance, Shadow Portfolios, Current Signal Status
• Essential for understanding system state
Dashboard Position: Top Left, Top Right, Bottom Left, Bottom Right
Individual Section Toggles:
• System Stats: Lorentzian Core section (Gamma, v/c, HFL, TCI)
• Memory Stats: Dual Memory section (STM/LTM predictions, agreement)
• Shadow Portfolios: Shadow Portfolio table (equity, win%, PF)
• Adaptive Params: Adaptive Parameters section (threshold, quality gate, flow mult)
🔥 HEATMAPS:
Show Dual Heatmaps (true/false):
• Function: Visual pattern density maps for STM and LTM
• Layout: X-axis = pattern age (left=recent, right=old); Y-axis = outcome direction (top=bearish, bottom=bullish); Color intensity = pattern count; Color hue = bullish (green) vs bearish (red)
• Warning: Can clutter chart; disable if not using
Heatmap Position: Screen position for heatmaps (STM at selected position, LTM offset)
Resolution (5-15):
• Function: Grid resolution (bins)
• Higher = more detailed but smaller cells; Lower = clearer but less granular
• 10 is good balance; reduce to 6-8 if hard to read
PART 11: DASHBOARD METRICS EXPLAINED
The comprehensive dashboard provides real-time transparency into every aspect of the adaptive system:
⚡ LORENTZIAN CORE SECTION:
Gamma (γ):
• Range: 1.0 to ~10.0 (capped)
• Interpretation:
γ ≈ 1.0-1.2: Normal market time, low velocity
γ = 1.5-2.5: Moderate compression, trending
γ = 3.0-5.0: High compression, explosive moves
γ > 5.0: Extreme compression, parabolic volatility
• Usage: High gamma = system operating in compressed time; expect shorter effective periods and faster adaptation
v/c (Velocity / Speed Limit):
• Range: 0.0 to 0.999 (approaches but never reaches 1.0)
• Interpretation:
v/c < 0.3: Slow market, low momentum
v/c = 0.4-0.7: Moderate trending
v/c > 0.7: Approaching "speed limit," high velocity
v/c > 0.9: Parabolic move, system at limit
• Color Coding: Red (>0.7), Gold (0.4-0.7), Green (<0.4)
• Usage: High v/c warns of extreme conditions where trend may exhaust
HFL (Harmonic Flow):
• Range: Typically -3.0 to +3.0 (can exceed in extremes)
• Interpretation:
HFL > 0: Bullish flow
HFL < 0: Bearish flow
|HFL| > 0.5: Strong directional bias
|HFL| < 0.2: Weak, indecisive
• Color: Green (positive), Red (negative)
• Usage: Primary directional indicator; strategies often require HFL confirmation
TCI (Temporal Compression Index):
• Calculation: base_period / compressed_length
• Interpretation:
TCI ≈ 1.0: No compression, normal time
TCI = 1.5-2.5: Moderate compression
TCI > 3.0: Significant compression
• Usage: Shows how much time is being compressed; mirrors gamma but more intuitive
╔═══ REGIME SECTION ═══╗
Current:
• Display: Regime name with icon (Trending Bull ↗, Trending Bear ↘, High Vol Range ↔, Low Vol Range —, Transition ⚡)
• Color: Gold for visibility
• Usage: Know which regime you're in; check regime performance to see expected strategy behavior
Confidence:
• Range: 0-100%
• Interpretation:
>70%: Very clear regime definition
40-70%: Moderate clarity
<40%: Ambiguous, mixed conditions
• Color: Green (>70%), Gold (40-70%), Red (<40%)
• Usage: High confidence = trust regime classification; low confidence = regime may be transitioning
Mode:
• States:
🔥 BOOTSTRAP (X/10): Still gathering data for this regime
✅ FAVORABLE: Best strategy has positive risk-adjusted score (>0.5)
⚠️ UNFAVORABLE: All strategies have negative scores (≤0.5)
• Color: Orange (bootstrap), Green (favorable), Red (unfavorable)
• Critical Importance: This tells you whether the system will trade or stand aside (if regime filter enabled)
╔═══ DUAL MEMORY KNN SECTION ═══╗
STM (Size):
• Display: Number of patterns currently in STM (0 to stm_size)
• Interpretation: Should fill to capacity within hours/days; if not filling, check that memory is enabled
STM Pred:
• Range: Typically -0.05 to +0.05 (representing -5% to +5% expected 10-bar move)
• Color: Green (positive), Red (negative)
• Usage: STM's prediction based on recent patterns; emphasis on current regime
LTM (Size):
• Display: Number of patterns in LTM (0 to ltm_size)
• Interpretation: Fills slowly (weeks/months); only validated high-quality patterns; check quality gate if not filling
LTM Pred:
• Range: Similar to STM pred
• Color: Green (positive), Red (negative)
• Usage: LTM's prediction based on long-term validated patterns; more strategic than tactical
Agreement:
• Display:
✅ XX%: Strong agreement (>70%) - both memories aligned
⚠️ XX%: Moderate agreement (40-70%) - some disagreement
❌ XX%: Conflict (<40%) - memories strongly disagree
• Color: Green (>70%), Gold (40-70%), Red (<40%)
• Critical Usage: Low agreement often precedes regime change or signals novel conditions; Strategy C won't fire with low agreement
╔═══ ADAPTIVE PARAMS SECTION ═══╗
Threshold:
• Display: Current regime's signal quality threshold (30-90)
• Interpretation: Higher = pickier; lower = more permissive
• Watch For: If steadily rising in a regime, system is struggling (low win rate); if falling, system is confident
• Default: Starts at base_quality_threshold (usually 60)
Quality:
• Display: Current regime's LTM quality gate (0.2-0.8)
• Interpretation: Minimum quality score for pattern to enter LTM
• Watch For: If rising, system demanding higher-quality patterns; if falling, accepting more diverse patterns
• Default: Starts at 0.4
Flow Mult:
• Display: Current regime's flow multiplier (0.5-2.0)
• Interpretation: Amplifies or dampens HFL for Strategy B
• Watch For: If >1.2, system found strong edge in flow signals; if <0.8, flow signals underperforming
• Default: Starts at 1.0
Learning:
• Display: ✅ ON or ❌ OFF
• Shows whether adaptive learning is enabled
• Color: Green (on), Red (off)
╔═══ REGIME PERFORMANCE SECTION ═══╗
This table shows ONLY the current regime's statistics:
S (Strategy):
• Display: A, B, or C
• Color: Gold if selected strategy; gray if not
• Shows which strategies have data in this regime
Trades:
• Display: Number of completed trades for this pair
• Interpretation: Blank or low numbers mean bootstrap mode; >10 means statistical significance building
Win%:
• Display: Win rate percentage
• Color: Green (>55%), White (45-55%), Red (<45%)
• Interpretation: 52%+ is good; 58%+ is excellent; <45% means struggling
• Note: Short-term variance is normal; judge after 20+ trades
Sharpe:
• Display: Annualized Sharpe ratio
• Color: Green (>1.0), White (0-1.0), Red (<0)
• Interpretation:
>2.0: Exceptional (rare)
1.0-2.0: Good
0.5-1.0: Acceptable
0-0.5: Marginal
<0: Losing
• Usage: Primary metric for strategy selection (60% weight in score)
╔═══ SHADOW PORTFOLIOS SECTION ═══╗
Shows virtual equity tracking across ALL regimes (not just current):
S (Strategy):
• Display: A, B, or C
• Color: Gold if currently selected strategy; gray otherwise
Equity:
• Display: Current virtual balance (starts $10,000)
• Color: Green (>$10,000), White ($9,500-$10,000), Red (<$9,500)
• Interpretation: Which strategy is actually making virtual money across all conditions
• Note: 10% risk per trade assumed
Win%:
• Display: Overall win rate across all regimes
• Color: Green (>55%), White (45-55%), Red (<45%)
• Interpretation: Aggregate performance; strategy may do well in some regimes and poorly in others
PF (Profit Factor):
• Display: Gross profit / gross loss
• Color: Green (>1.5), White (1.0-1.5), Red (<1.0)
• Interpretation:
>2.0: Excellent
1.5-2.0: Good
1.2-1.5: Acceptable
1.0-1.2: Marginal
<1.0: Losing
• Usage: Confirms win rate; high PF with moderate win rate means winners >> losers
╔═══ STATUS BAR ═══╗
Display States:
• 🟢 LONG: Currently in long position (green background)
• 🔴 SHORT: Currently in short position (red background)
• ⬆️ LONG SIGNAL: Long signal present but not yet confirmed (waiting for bar close)
• ⬇️ SHORT SIGNAL: Short signal present but not yet confirmed
• ⚪ NEUTRAL: No position, no signal (white background)
Usage: Immediate visual confirmation of system state; check before manually entering/exiting
PART 12: VISUAL ELEMENT INTERPRETATION
REGIME BACKGROUND COLORS:
Green Tint: Trending Bull regime - expect Strategy B (Flow) to dominate; focus on long momentum
Red Tint: Trending Bear regime - expect Strategy B (Flow) shorts; focus on short momentum
Orange Tint: High Vol Range - expect Strategy A (Squeeze) or C (Memory); trade breakouts or patterns
Blue Tint: Low Vol Range - expect Strategy A (Squeeze); wait for compression release
Purple Tint: Transition regime - often unfavorable; system may stand aside; high uncertainty
Usage: Quick visual regime identification without reading dashboard
FLOW BANDS:
Upper Band: close + HFL × ATR × 1.5
Lower Band: close - HFL × ATR × 1.5
Green Fill: HFL positive (bullish flow); bands act as dynamic support/resistance in uptrend
Red Fill: HFL negative (bearish flow); bands act as dynamic resistance/support in downtrend
Usage:
• Bullish flow: Price bouncing off lower band = trend continuation; breaking below = possible reversal
• Bearish flow: Price rejecting upper band = trend continuation; breaking above = possible reversal
CONFIDENCE METER (Separate Pane):
Gold Line: Current signal confidence (0-100)
Dashed Line: Minimum confidence threshold
Interpretation:
• Line above threshold: Signal likely to fire if strength sufficient
• Line below threshold: Even if signal logic met, won't fire (insufficient confidence)
• Gradual rise: Signal building strength
• Sharp spike: Sudden conviction (check if sustainable)
Usage: Real-time signal probability; helps anticipate upcoming entries
PREDICTION ARC:
Dashed Line: Projects from current close to expected price 8 bars forward
Green Arc: Bullish memory prediction
Red Arc: Bearish memory prediction
Steep Arc: High conviction (strong expected move)
Flat Arc: Low conviction (weak/uncertain move)
Important: NOT a price target; this is a probability vector based on KNN outcomes; actual price may differ
Usage: Directional bias from pattern matching; confirms or contradicts flow signals
SIGNAL MARKERS:
▲ Green Triangle (below bar):
• Long signal confirmed on bar close
• Entry on next bar open
• Non-repainting (appears after bar closes)
▼ Red Triangle (above bar):
• Short signal confirmed on bar close
• Entry on next bar open
• Non-repainting
Size: Tiny (unobtrusive)
Text: "L" or "S" in marker
Usage: Historical signal record; alerts should fire on these; verify against dashboard status
DUAL HEATMAPS (If Enabled):
STM HEATMAP:
• X-axis: Pattern age (left = recent, right = older, typically 0-50 bars)
• Y-axis: Outcome direction (top = bearish outcomes, bottom = bullish outcomes)
• Color Intensity: Brightness = pattern count in that cell
• Color Hue: Green tint (bullish), Red tint (bearish), Gray (neutral)
Interpretation:
• Dense bottom-left: Many recent bullish patterns (bullish regime)
• Dense top-left: Many recent bearish patterns (bearish regime)
• Scattered: Mixed outcomes, ranging regime
• Empty areas: Few patterns (low data)
LTM HEATMAP:
• Similar layout but X-axis spans wider age range (0-500+ bars)
• Shows long-term pattern distribution
• Denser = more validated patterns
Comparison Usage:
• If STM and LTM heatmaps look similar: Current regime matches historical patterns (high agreement)
• If STM bottom-heavy but LTM top-heavy: Recent bullish activity contradicts historical bearish patterns (low agreement, transition signal)
PART 13: DEVELOPMENT STORY
The creation of the Lorentzian Harmonic Flow Adaptive ML system represents over six months of intensive research, mathematical exploration, and iterative refinement. What began as a theoretical investigation into applying special relativity to market time evolved into a complete adaptive learning framework.
THE CHALLENGE:
The fundamental problem was this: markets don't experience time uniformly, yet every indicator treats a 50-period calculation the same whether markets are exploding or sleeping. Traditional adaptive indicators adjust parameters based on volatility, but this is reactive—by the time you measure high volatility, the explosive move is over. What was needed was a framework that measured the market's intrinsic velocity relative to its own structural limits, then compressed time itself proportionally.
THE LORENTZIAN INSIGHT:
Einstein's special relativity provides exactly this framework through the Lorentz factor. When an object approaches the speed of light, time dilates—but from the object's reference frame, it experiences time compression. By treating price velocity as analogous to relativistic velocity and volatility structure as the "speed limit," we could calculate a gamma factor that compressed lookback periods during explosive moves.
The mathematics were straightforward in theory but devilishly complex in implementation. Pine Script has no native support for dynamically-sized arrays or recursive functions, forcing creative workarounds. The Lorentzian kernel smoothing required nested loops through historical bars, calculating kernel weights on the fly—a computational nightmare. Early versions crashed or produced bizarre artifacts (negative gamma values, infinite loops during volatility spikes).
Optimization took weeks. Limiting kernel lookback to 60 bars while still maintaining smoothing quality. Pre-calculating gamma once per bar and reusing it across all calculations. Caching intermediate results. The final implementation balances mathematical purity with computational reality.
THE MEMORY ARCHITECTURE:
With temporal compression working, the next challenge was pattern memory. Simple moving average systems have no memory—they forget yesterday's patterns immediately. But markets are non-stationary; what worked last month may not work today. The solution: dual-memory architecture inspired by cognitive neuroscience.
Short-Term Memory (STM) would capture tactical patterns—the hippocampus of the system. Fast encoding, fast decay, always current. Long-Term Memory (LTM) would store validated strategic patterns—the neocortex. Slow consolidation, persistent storage, regime-spanning wisdom.
The KNN implementation nearly broke me. Calculating Lorentzian distance across 6 dimensions for 500+ patterns per query, applying age decay, filtering by regime, finding K nearest neighbors without native sorting functions—all while maintaining sub-second execution. The breakthrough came from realizing we could use destructive sorting (marking found neighbors as "infinite distance") rather than maintaining separate data structures.
Pre-training was another beast. To populate memory with historical patterns, the system needed to scan hundreds of past bars, calculate forward outcomes, and insert patterns—all on chart load without timing out. The solution: cap at 200 bars, optimize loops, pre-calculate features. Now it works seamlessly.
THE REGIME DETECTION:
Five-regime classification emerged from empirical observation. Traditional trending/ranging dichotomy missed too much nuance. Markets have at least four distinct states: trending up, trending down, volatile range, quiet range—plus a chaotic transition state. Linear regression slope quantifies trend; volatility ratio quantifies expansion; combining them creates five natural clusters.
But classification is useless without regime-specific learning. That meant tracking 15 separate performance matrices (3 strategies × 5 regimes), computing Sharpe ratios and Calmar ratios for sparse data, implementing Bayesian-like strategy selection. The bootstrap mode logic alone took dozens of iterations—too strict and you never get data, too permissive and you blow up accounts during learning.
THE ADAPTIVE LAYER:
Parameter adaptation was conceptually elegant but practically treacherous. Each regime needed independent thresholds, quality gates, and multipliers that adapted based on outcomes. But naive gradient descent caused oscillations—win a few trades, lower threshold, take worse signals, lose trades, raise threshold, miss good signals. The solution: exponential smoothing via learning rate (α) and separate scoring for selection vs adaptation.
Shadow portfolios provided objective validation. By running virtual accounts for all strategies simultaneously, we could see which would have won even when not selected. This caught numerous bugs where selection logic was sound but execution was flawed, or vice versa.
THE DASHBOARD & VISUALIZATION:
A learning system is useless if users can't understand what it's doing. The dashboard went through five complete redesigns. Early versions were information dumps—too much data, no hierarchy, impossible to scan. The final version uses visual hierarchy (section headers, color coding, strategic whitespace) and progressive disclosure (show current regime first, then performance, then parameters).
The dual heatmaps were a late addition but proved invaluable for pattern visualization. Seeing STM cluster in one corner while LTM distributed broadly immediately signals regime novelty. Traders grasp this visually faster than reading disagreement percentages.
THE TESTING GAUNTLET:
Testing adaptive systems is uniquely challenging. Static backtest results mean nothing—the system should improve over time. Early "tests" showed abysmal performance because bootstrap periods were included. The breakthrough: measure pre-learning baseline vs post-learning performance. A system going from 48% win rate (first 50 trades) to 56% win rate (trades 100-200) is succeeding even if absolute performance seems modest.
Edge cases broke everything repeatedly. What happens when a regime never appears in historical data? When all strategies fail simultaneously? When memory fills with only bearish patterns during a bull run? Each required careful handling—bootstrap modes, forced diversification, quality gates.
THE DOCUMENTATION:
This isn't an indicator you throw on a chart with default settings and trade immediately. It's a learning system that requires understanding. The input tooltips alone contain over 10,000 words of guidance—market-specific recommendations, timeframe-specific settings, tradeoff explanations. Every parameter needed not just a description but a philosophical justification and practical tuning guide.
The code comments span 500+ lines explaining theory, implementation decisions, edge cases. Future maintainers (including myself in six months) need to understand not just what the code does but why certain approaches were chosen over alternatives.
WHAT ALMOST DIDN'T WORK:
The entire project nearly collapsed twice. First, when initial Lorentzian smoothing produced complete noise—hours of debugging revealed a simple indexing error where I was accessing instead of in the kernel loop. One character, entire system broken.
Second, when memory predictions showed zero correlation with outcomes. Turned out the KNN distance metric was dominated by the gamma dimension (values 1-10) drowning out normalized features (values -1 to 1). Solution: apply kernel transformation to all dimensions, not just final distance. Obvious in retrospect, maddening at the time.
THE PHILOSOPHY:
This system embodies a specific philosophy: markets are learnable but non-stationary. No single strategy works forever, but regime-specific patterns persist. Time isn't uniform, memory isn't perfect, prediction isn't possible—but probabilistic edges exist for those willing to track them rigorously.
It rejects the premise that indicators should give universal advice. Instead, it says: "In this regime, based on similar past states, Strategy B has a 58% win rate and 1.4 Sharpe. Strategy A has 45% and 0.2 Sharpe. I recommend B. But we're still in bootstrap for Strategy C, so I'm gathering data. Check back in 5 trades."
That humility—knowing what it knows and what it doesn't—is what makes it robust.
PART 14: PROFESSIONAL USAGE PROTOCOL
PHASE 1: DEPLOYMENT (Week 1-4)
Initial Setup:
1. Load indicator on primary trading chart with default settings
2. Verify historical pre-training enabled (should see ~200 patterns in STM/LTM on first load)
3. Enable all dashboard sections for maximum transparency
4. Set alerts but DO NOT trade real money
Observation Checklist:
• Dashboard Validation:
✓ Lorentzian Core shows reasonable gamma (1-5 range, not stuck at 1.0 or spiking to 10)
✓ HFL oscillates with price action (not flat or random)
✓ Regime classifications make intuitive sense
✓ Confidence scores vary appropriately
• Memory System:
✓ STM fills within first few hours/days of real-time bars
✓ LTM grows gradually (few patterns per day, quality-gated)
✓ Predictions show directional bias (not always 0.0)
✓ Agreement metric fluctuates with regime changes
• Bootstrap Tracking:
✓ Dashboard shows "🔥 BOOTSTRAP (X/10)" for each regime
✓ Trade counts increment on regime-specific signals
✓ Different regimes reach threshold at different rates
Paper Trading:
• Take EVERY signal (ignore unfavorable warnings during bootstrap)
• Log each trade: entry price, regime, selected strategy, outcome
• Calculate your actual P&L assuming proper risk management (1-2% risk per trade)
• Do NOT judge system performance yet—focus on understanding behavior
Troubleshooting:
• No signals for days:
- Check base_quality_threshold (try lowering to 50-55)
- Verify enable_regime_filter not blocking all regimes
- Confirm signal confidence threshold not too high (try 0.25)
• Signals every bar:
- Raise base_quality_threshold to 65-70
- Increase min_bars_between to 8-10
- Check if gamma spiking excessively (raise c_multiplier)
• Memory not filling:
- Confirm enable_memory = true
- Verify historical pre-training completed (check STM size after load)
- May need to wait 10 bars for first real-time update
PHASE 2: VALIDATION (Week 5-12)
Statistical Emergence:
By week 5-8, most regimes should exit bootstrap. Look for:
✓ Regime Performance Clarity:
- At least 2-3 strategies showing positive Sharpe in their favored regimes
- Clear separation (Strategy B strong in Trending, Strategy A strong in Low Vol Range, etc.)
- Win rates stabilizing around 50-60% for winning strategies
✓ Shadow Portfolio Divergence:
- Virtual portfolios showing clear winners ($10K → $11K+) and losers ($10K → $9K-)
- Profit factors >1.3 for top strategy
- System selection aligning with best shadow portfolio
✓ Parameter Adaptation:
- Thresholds varying per regime (not stuck at initial values)
- Quality gates adapting (some regimes higher, some lower)
- Flow multipliers showing regime-specific optimization
Validation Questions:
1. Do patterns make intuitive sense?
- Strategy B (Flow) dominating Trending Bull/Bear? ✓ Expected
- Strategy A (Squeeze) succeeding in Low Vol Range? ✓ Expected
- Strategy C (Memory) working in High Vol Range? ✓ Expected
- Random strategy winning everywhere? ✗ Problem
2. Is unfavorable filtering working?
- Regimes with negative Sharpe showing "⚠️ UNFAVORABLE"? ✓ System protecting capital
- Transition regime often unfavorable? ✓ Expected
- All regimes perpetually unfavorable? ✗ Settings too strict or asset unsuitable
3. Are memories agreeing appropriately?
- High agreement during stable regimes? ✓ Expected
- Low agreement during transitions? ✓ Expected (novel conditions)
- Perpetual conflict? ✗ Check memory sizes or decay rates
Fine-Tuning (If Needed):
Too Many Signals in Losing Regimes:
→ Increase learning_rate to 0.07-0.08 (faster adaptation)
→ Raise base_quality_threshold by 5-10 points
→ Enable regime filter if disabled
Missing Profitable Setups:
→ Lower base_quality_threshold by 5-10 points
→ Reduce min_confidence to 0.25-0.30
→ Check if bootstrap mode blocking trades (let it complete)
Excessive Parameter Swings:
→ Reduce learning_rate to 0.03-0.04
→ Increase min_regime_samples to 15-20 (more data before adaptation)
Memory Disagreement Too Frequent:
→ Increase LTM size to 768-1024 (broader pattern library)
→ Lower adaptive_quality_gate requirement (allow more patterns)
→ Increase K neighbors to 10-12 (smoother predictions)
PHASE 3: LIVE TRADING (Month 4+)
Pre-Launch Checklist:
1. ✓ At least 3 regimes show positive Sharpe (>0.8)
2. ✓ Top shadow portfolio shows >53% win rate and >1.3 profit factor
3. ✓ Parameters have stabilized (not changing more than 10% per month)
4. ✓ You understand every dashboard metric and can explain regime/strategy behavior
5. ✓ You have proper risk management plan independent of this system
Position Sizing:
Conservative (Recommended for Month 4-6):
• Risk per trade: 0.5-1.0% of account
• Max concurrent positions: 1-2
• Total exposure: 10-25% of intended full size
Moderate (Month 7-12):
• Risk per trade: 1.0-1.5% of account
• Max concurrent positions: 2-3
• Total exposure: 25-50% of intended size
Full Scale (Year 2+):
• Risk per trade: 1.5-2.0% of account
• Max concurrent positions: 3-5
• Total exposure: 100% (still following risk limits)
Entry Execution:
On Signal Confirmation:
1. Verify dashboard shows signal type (▲ LONG or ▼ SHORT)
2. Check regime mode (avoid if "⚠️ UNFAVORABLE" unless testing)
3. Note selected strategy (A/B/C) and its regime Sharpe
4. Verify memory agreement if Strategy C selected (want >60%)
Entry Method:
• Market entry: Next bar open after signal (for exact backtest replication)
• Limit entry: Slight improvement (2-3 ticks) if confident in direction
Stop Loss Placement:
• Strategy A (Squeeze): Beyond opposite band or recent swing point
• Strategy B (Flow): 1.5-2.0 ATR from entry against direction
• Strategy C (Memory): Based on predicted move magnitude (tighter if pred > 2%)
Exit Management:
System Exit Signals:
• Opposite signal fires: Immediate exit, potential reversal entry
• 20 bars no exit signal: System implies position stale, consider exiting
• Regime changes to unfavorable: Tighten stop, consider partial exit
Manual Exit Conditions:
• Stop loss hit: Take loss, log for validation (system expects some losses)
• Profit target hit: If using fixed targets (2-3R typical)
• Major news event: Flatten during high-impact news (system can't predict these)
Warning Signs (Exit Criteria):
🚨 Stop Trading If:
1. All regimes show negative Sharpe for 4+ weeks (market structure changed)
2. Your results >20% worse than shadow portfolios (execution problem)
3. Parameters hitting extremes (thresholds >85 or <35 across all regimes)
4. Memory agreement <30% for extended periods (unprecedented conditions)
5. Account drawdown >20% (risk management failure, system or otherwise)
⚠️ Reduce Size If:
1. Win rate drops 10%+ from peak (temporary regime shift)
2. Selected strategy underperforming another by >30% (selection lag)
3. Consecutive losses >5 (variance or problem, reduce until clarity)
4. Major market regime change (Fed policy shift, war, etc. - let system re-adapt)
PART 15: THEORETICAL IMPLICATIONS & LIMITATIONS
WHAT THIS SYSTEM REPRESENTS:
Contextual Bandits:
The regime-specific strategy selection implements a contextual multi-armed bandit problem. Each strategy is an "arm," each regime is a "context," and we select arms to maximize expected reward given context. This is reinforcement learning applied to trading.
Experience Replay:
The dual-memory architecture mirrors DeepMind's DQN breakthrough. STM = recent experience buffer; LTM = validated experience replay. This prevents catastrophic forgetting while enabling rapid adaptation—a key challenge in neural network training.
Meta-Learning:
The system learns how to learn. Parameter adaptation adjusts the system's own sensitivity and selectivity based on outcomes. This is "learning to learn"—optimizing the optimization process itself.
Non-Stationary Optimization:
Traditional backtesting assumes stationarity (past patterns persist). This system assumes non-stationarity and continuously adapts. The goal isn't finding "the best parameters" but tracking the moving optimum.
Regime-Conditional Policies:
Rather than a single strategy for all conditions, this implements regime-specific policies. This is contextual decision-making—environment state determines action selection.
FINAL WISDOM:
"The market is a complex adaptive system. To trade it successfully, one must also adapt. This indicator provides the framework—memory, learning, regime awareness—but wisdom comes from understanding when to trade, when to stand aside, and when to defer to conditions the system hasn't yet learned. The edge isn't in the algorithm alone; it's in the partnership between mathematical rigor and human judgment."
— Inspired by the intersection of Einstein's relativity, Kahneman's behavioral economics, and decades of quantitative trading research
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
ReversoReverso – Moving Average Touch Statistics Tracker
Reverso indicator is a technical analysis tool that tracks and visualizes how price interacts with a selected Exponential Moving Average (EMA). It provides detailed statistics about price behavior before, during, and after each EMA touch event.
This script is suitable for both trend-following and mean-reversion traders who want to study EMA reactions, understand market tendencies, and refine entry/exit strategies based on price-memory dynamics.
Features and Functionality
Supported MAs: EMA 9, 20, or 50
Timeframe Support: Uses the chart’s timeframe
Touch Detection: Triggered when the price range (high to low) crosses or touches the EMA
Automatic Data Tracking
Tables for Quick Visual Summary
Visual Overlay: Optional EMA line plotted on chart
Timeframe Support: Uses the chart’s timeframe
Capped history: Most recent 50 touches
Automatic Data Tracking:
Number of EMA touches
Time intervals between touches
Price distance from last touch
Maximum price deviation (above/below EMA) between touches
Time spent above/below EMA
Tables for Quick Visual Summary:
Info Table: Live details about last and first touches, distance from touch, bars above/below, peak movements since last touch
Stats Table: Averages and extreme values for price behavior patterns across recent history
Core Metrics Tracked
Last Touch Price: The last price level where price touched the EMA
Distance from Last Touch: Current % change from the last touch price
Time Between Touches: Average and maximum intervals (in bars or time) between touch events
Max Distance Above/Below: Peak movement above/below EMA between touches
Bars Above/Below: How long price stayed above/below the EMA since last touch
Peak This Cycle: Max deviation above/below in current cycle since last touch
How It Works
Reverso monitors each bar to check if price intersects the selected EMA.
When a new touch occurs, it records the touch price and time, and resets the tracking cycle.
From that point forward, it tracks how far and how long price drifts above or below the EMA.
This process repeats with each new touch, building a detailed profile of how price behaves around the moving average.
The result is a visual and statistical framework for understanding price memory, market rhythm, and mean-reversion opportunities.
Customization Options
EMA Length: Choose from EMA 9, 20, or 50
Show MA Line: Toggle the EMA plot on the chart
Show Info Table: Enable/disable the current-touch summary
Show Statistics Table: Show aggregate data over the history
Table Positioning: Customizable placement for both tables
MA Color: Select custom color for EMA plot
Intended Use Cases
Identify reversal or continuation setups near EMAs
Validate strategies relying on mean reversion
Backtest the consistency of price respect to EMAs
Detect periods of volatility clustering around EMAs
Notes and Disclaimers
This script does not repaint: calculations are made on confirmed bars.
This indicator is educational in nature and should be used alongside other forms of analysis.
Time durations in the tables are approximated using bar timing and may vary across markets/timeframes.
Momentum Pull Back Stratergy"Master Pull Back Strategy" is a highly detailed momentum and volume-based trading system designed for Trading View. It visually annotates the chart, detects buy/sell signals, tracks market phases, and evaluates retracements and confirmations. Below is a full breakdown of its logic and components:
🔷 1. Volume Profile Highlights (Arrow Emojis)
Purpose: Show volume strength vs. average using color-coded arrows.
Calculates average volume over a user-defined period (length = 10).
Divides current volume by average volume to get volRatio.
Based on volRatio, plots small arrows (acting like diamonds) in various colors:
Low volume (black, navy, blue...) to high volume (yellow, red, purple).
Visual Purpose: Give a quick sense of how "loud" or "quiet" a candle's volume is.
📈 2. Highs of Day Tracking
Purpose: Track the high price reached during different trading sessions.
Defines pre-market, regular, and post-market sessions.
Tracks the highest price (high) in each session.
Plots colored lines:
Orange: Pre-market high
Red: Regular market high
Blue: Post-market high
🟩 3. Green Candle Pattern Detection
Purpose: Detect bullish patterns formed by consecutive green candles.
Key Conditions:
Count green candles (greenCount) until a red candle appears or 10 candles max.
Require at least 1 silver-or-above volume candle (volRatio >= 1.0).
Must have ≥3% price gain during the green sequence.
Must accumulate >20,000 volume during the green run.
If Valid:
Locks the pattern.
Records important values:
patternStartPrice, patternEndPrice, totalPatternVolume, patternHigh, patternBars
Marks the bar after which red starts (redStartBar)
⬇️ 4. Retracement Monitoring
Purpose: Track retracement from the pattern high after it locks.
Defines retracement percentage:
(greenPatternHigh - low) / (greenPatternHigh - greenPatternLow)
If retracement exceeds 80%, it invalidates the pattern.
Buy signal is disabled if pattern retraces too far.
✅ 5. Buy Signal Logic
Purpose: Fire a buy signal after pattern lock if price breaks above local high.
Conditions:
Pattern is locked (patternLocked).
Price breaks above a short-term high (triggerBreak).
It's not the first red candle.
Price is within 8.5% above EMA9.
Buy signal fires and:
Sets buyActive = true
Tracks highest price after buy
Stores buyPrice = close
❌ 6. Sell Signal Logic
Purpose: Exit signal after retracement from post-buy high.
While buy is active:
If price retraces ≥3% from the post-buy high → sellSignal = true
Resets buyActive, trackedHigh, and buyPrice
Plots a red "SELL" label above the bar.
🎨 7. Buy Signal Visual Color Coding
Purpose: Color buy signal based on how deep the retracement is.
Uses retracement percentage:
≥65% → Red (high risk)
45–65% + MACD bullish → Yellow (moderate)
<45% + MACD bullish → Green (ideal)
Plots BUY label below bar in the respective color.
🔻 8. Retracement Triangle Visuals
Purpose: Shows retracement progression while pattern is locked.
If pattern is locked and not ready for buy:
Plots triangle below bar in the buyColor for visual tracking.
⭐ 9. Star Markers Above Lock Candle
Purpose: Confirmations when pattern locks.
First Star:
Plotted above the first red candle after green pattern lock.
Second Star (⭐⭐):
Additional confirmations:
Volume OK (less than previous)
MACD bullish
Price > VWAP
VolAtLock > 100K
Price up >6% from first green candle
Price below 75% of daily EMA200 or above EMA200
Third Star (⭐⭐⭐):
Even stricter confirmations:
Volume < 60% of previous
High <= previous high
VolAtLock > 500K
Price > $3
Gain >9% from first green
Price < 50% of daily EMA200 or above EMA200
📊 10. Bar Coloring
Purpose: Visually highlight bars based on pattern phase and MACD.
Gray: MACD Bearish
Light Green: Part of active green pattern
Blue: In locked phase but no buy triggered
🔄 11. Reset Logic
Purpose: Clears all tracking variables once a buy signal fires or pattern is invalidated.
Also resets if:
Retracement is too deep
10 candles pass post-lock without a trigger
⛰️ 12. Double Top Detection
Purpose: Basic visual marker when current high == previous high.
Plots a gray triangle if current and previous bar highs match.
📌 Summary: What This Strategy Shows
Buy Opportunities: Based on high-volume green runs and confirmed breakouts.
Sell Triggers: Once a retracement from peak exceeds 3%.
Visuals for Confirmation:
Diamonds for volume
Stars for lock confidence
Colors for retracement strength
Risk Management:
Retracement filtering
Time limits on locked phases
Volume filters
Market Context: Tracks pre/regular/post market highs and daily EMA 200.
Power RSI Segment Runner [CHE] Power RSI Segment Runner — Tracks RSI momentum across higher timeframe segments to detect directional switches for trend confirmation.
Summary
This indicator calculates a running Relative Strength Index adapted to segments defined by changes in a higher timeframe, such as daily closes, providing a smoothed view of momentum within each period. It distinguishes between completed segments, which fix the final RSI value, and ongoing ones, which update in real time with an exponential moving average filter. Directional switches between bullish and bearish momentum trigger visual alerts, including overlay lines and emojis, while a compact table displays current trend strength as a progress bar. This segmented approach reduces noise from intra-period fluctuations, offering clearer signals for trend persistence compared to standard RSI on lower timeframes.
Motivation: Why this design?
Standard RSI often generates erratic signals in choppy markets due to constant recalculation over fixed lookback periods, leading to false reversals that mislead traders during range-bound or volatile phases. By resetting the RSI accumulation at higher timeframe boundaries, this indicator aligns momentum assessment with broader market cycles, capturing sustained directional bias more reliably. It addresses the gap between short-term noise and long-term trends, helping users filter entries without over-relying on absolute overbought or oversold thresholds.
What’s different vs. standard approaches?
- Baseline Reference: Diverges from the classic Wilder RSI, which uses a fixed-length exponential moving average of gains and losses across all bars.
- Architecture Differences:
- Segments momentum resets at higher timeframe changes, isolating calculations per period instead of continuous history.
- Employs persistent sums for ups and downs within segments, with on-the-fly RSI derivation and EMA smoothing.
- Integrates switch detection logic that clears prior visuals on reversal, preventing clutter from outdated alerts.
- Adds overlay projections like horizontal price lines and dynamic percent change trackers for immediate trade context.
- Practical Effect: Charts show discrete RSI endpoints for past segments alongside a curved running trace, making momentum evolution visually intuitive. Switches appear as clean, extendable overlays, reducing alert fatigue and highlighting only confirmed directional shifts, which aids in avoiding whipsaws during minor pullbacks.
How it works (technical)
The indicator begins by detecting changes in the specified higher timeframe, such as a new daily bar, to define segment boundaries. At each boundary, it finalizes the prior segment's RSI by summing positive and negative price changes over that period and derives the value from the ratio of those sums, then applies an exponential moving average for smoothing. Within the active segment, it accumulates ongoing ups and downs from price changes relative to the source, recalculating the running RSI similarly and smoothing it with the same EMA length.
Points for the running RSI are collected into an array starting from the segment's onset, forming a curved polyline once sufficient bars accumulate. Comparisons between the running RSI and the last completed segment's value determine the current direction as long, short, or neutral, with switches triggering deletions of old visuals and creation of new ones: a label at the RSI pane, a vertical dashed line across the RSI range, an emoji positioned via ATR offset on the price chart, a solid horizontal line at the switch price, a dashed line tracking current close, and a midpoint label for percent change from the switch.
Initialization occurs on the first bar by resetting accumulators, and visualization gates behind a minimum bar count since the segment start to avoid early instability. The trend strength table builds vertically with filled cells proportional to the rounded RSI value, colored by direction. All drawing objects update or extend on subsequent bars to reflect live progress.
Parameter Guide
EMA Length — Controls the smoothing applied to the running RSI; higher values increase lag but reduce noise. Default: 10. Trade-offs: Shorter settings heighten sensitivity for fast markets but risk more false switches; longer ones suit trending conditions for stability.
Source — Selects the price data for change calculations, typically close for standard momentum. Default: close. Trade-offs: Open or high/low may emphasize gaps, altering segment intensity.
Segment Timeframe — Defines the higher timeframe for segment resets, like daily for intraday charts. Default: D. Trade-offs: Shorter frames create more frequent but shorter segments; longer ones align with major cycles but delay resets.
Overbought Level — Sets the upper threshold for potential overbought conditions (currently unused in visuals). Default: 70. Trade-offs: Adjust for asset volatility; higher values delay bearish warnings.
Oversold Level — Sets the lower threshold for potential oversold conditions (currently unused in visuals). Default: 30. Trade-offs: Lower values permit deeper dips before signaling bullish potential.
Show Completed Label — Toggles labels at segment ends displaying final RSI. Default: true. Trade-offs: Enables historical review but can crowd charts on dense timeframes.
Plot Running Segment — Enables the curved polyline for live RSI trace. Default: true. Trade-offs: Visualizes intra-segment flow; disable for cleaner panes.
Running RSI as Label — Displays current running RSI as a forward-projected label on the last bar. Default: false. Trade-offs: Useful for quick reads; may overlap in tight scales.
Show Switch Label — Activates RSI pane labels on directional switches. Default: true. Trade-offs: Provides context; omit to minimize pane clutter.
Show Switch Line (RSI) — Draws vertical dashed lines across the RSI range at switches. Default: true. Trade-offs: Marks reversal bars clearly; extends both ways for reference.
Show Solid Overlay Line — Projects a horizontal line from switch price forward. Default: true. Trade-offs: Acts as dynamic support/resistance; wider lines enhance visibility.
Show Dashed Overlay Line — Tracks a dashed line from switch to current close. Default: true. Trade-offs: Shows price deviation; thinner for subtlety.
Show Percent Change Label — Midpoint label tracking percent move from switch. Default: true. Trade-offs: Quantifies progress; centers dynamically.
Show Trend Strength Table — Displays right-side table with direction header and RSI bar. Default: true. Trade-offs: Instant strength gauge; fixed position avoids overlap.
Activate Visualization After N Bars — Delays signals until this many bars into a segment. Default: 3. Trade-offs: Filters immature readings; higher values miss early momentum.
Segment End Label — Color for completed RSI labels. Default: 7E57C2. Trade-offs: Purple tones for finality.
Running RSI — Color for polyline and running elements. Default: yellow. Trade-offs: Bright for live tracking.
Long — Color for bullish switch visuals. Default: green. Trade-offs: Standard for uptrends.
Short — Color for bearish switch visuals. Default: red. Trade-offs: Standard for downtrends.
Solid Line Width — Thickness of horizontal overlay line. Default: 2. Trade-offs: Bolder for emphasis on key levels.
Dashed Line Width — Thickness of tracking and vertical lines. Default: 1. Trade-offs: Finer to avoid dominance.
Reading & Interpretation
Completed segment RSIs appear as static points or labels in purple, indicating the fixed momentum at period close—values drifting toward the upper half suggest building strength, while lower half implies weakness. The yellow curved polyline traces the live smoothed RSI within the current segment, rising for accumulating gains and falling for losses. Directional labels and lines in green or red flag switches: green for running momentum exceeding the prior segment's, signaling potential uptrend continuation; red for the opposite.
The right table's header colors green for long, red for short, or gray for neutral/wait, with filled purple bars scaling from bottom (low RSI) to top (high), topped by the numeric value. Overlay elements project from switch bars: the solid green/red line as a price anchor, dashed tracker showing pullback extent, and percent label quantifying deviation—positive for alignment with direction, negative for counter-moves. Emojis (up arrow for long, down for short) float above/below price via ATR spacing for quick chart scans.
Practical Workflows & Combinations
- Trend Following: Enter long on green switch confirmation after a higher high in structure; filter with table strength above midpoint for conviction. Pair with volume surge for added weight.
- Exits/Stops: Trail stops to the solid overlay line on pullbacks; exit if percent change reverses beyond 2 percent against direction. Use wait bars to confirm without chasing.
- Multi-Asset/Multi-TF: Defaults suit forex/stocks on 1H-4H with daily segments; for crypto, shorten EMA to 5 for volatility. Scale segment TF to weekly for daily charts across indices.
- Combinations: Overlay on EMA clouds for confluence—switch aligning with cloud break strengthens signal. Add volatility filters like ATR bands to debounce in low-volume regimes.
Behavior, Constraints & Performance
Signals confirm on bar close within segments, with running polyline updating live but gated by minimum bars to prevent flicker. Higher timeframe changes may introduce minor repaints on timeframe switches, mitigated by relying on confirmed HTF closes rather than intrabar peeks. Resource limits cap at 500 labels/lines and 50 polylines, pruning old objects on switches to stay efficient; no explicit loops, but array growth ties to segment length—suitable for up to 500-bar histories without lag.
Known limits include delayed visualization in short segments and insensitivity to overbought/oversold levels, as thresholds are inputted but not actively visualized. Gaps in source data reset accumulators prematurely, potentially skewing early RSI.
Sensible Defaults & Quick Tuning
Start with EMA length 10, daily segments, and 3-bar wait for balanced responsiveness on hourly charts. For excessive switches in ranging markets, increase wait bars to 5 or EMA to 14 to dampen noise. If signals lag in trends, drop EMA to 5 and use 1H segments. For stable assets like indices, widen to weekly segments; tune colors for dark/light themes without altering logic.
What this indicator is—and isn’t
This tool serves as a momentum visualization and switch detector layered over price action, aiding trend identification and confirmation in segmented contexts. It is not a standalone trading system, predictive model, or risk calculator—always integrate with broader analysis, position sizing, and stop-loss discipline. View it as an enhancement for discretionary setups, not automated alerts without validation.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
taLibrary "ta"
█ OVERVIEW
This library holds technical analysis functions calculating values for which no Pine built-in exists.
Look first. Then leap.
█ FUNCTIONS
cagr(entryTime, entryPrice, exitTime, exitPrice)
It calculates the "Compound Annual Growth Rate" between two points in time. The CAGR is a notional, annualized growth rate that assumes all profits are reinvested. It only takes into account the prices of the two end points — not drawdowns, so it does not calculate risk. It can be used as a yardstick to compare the performance of two instruments. Because it annualizes values, the function requires a minimum of one day between the two end points (annualizing returns over smaller periods of times doesn't produce very meaningful figures).
Parameters:
entryTime : The starting timestamp.
entryPrice : The starting point's price.
exitTime : The ending timestamp.
exitPrice : The ending point's price.
Returns: CAGR in % (50 is 50%). Returns `na` if there is not >=1D between `entryTime` and `exitTime`, or until the two time points have not been reached by the script.
█ v2, Mar. 8, 2022
Added functions `allTimeHigh()` and `allTimeLow()` to find the highest or lowest value of a source from the first historical bar to the current bar. These functions will not look ahead; they will only return new highs/lows on the bar where they occur.
allTimeHigh(src)
Tracks the highest value of `src` from the first historical bar to the current bar.
Parameters:
src : (series int/float) Series to track. Optional. The default is `high`.
Returns: (float) The highest value tracked.
allTimeLow(src)
Tracks the lowest value of `src` from the first historical bar to the current bar.
Parameters:
src : (series int/float) Series to track. Optional. The default is `low`.
Returns: (float) The lowest value tracked.
█ v3, Sept. 27, 2022
This version includes the following new functions:
aroon(length)
Calculates the values of the Aroon indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: ( [float, float ]) A tuple of the Aroon-Up and Aroon-Down values.
coppock(source, longLength, shortLength, smoothLength)
Calculates the value of the Coppock Curve indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
longLength (simple int) : (simple int) Number of bars for the fast ROC value (length).
shortLength (simple int) : (simple int) Number of bars for the slow ROC value (length).
smoothLength (simple int) : (simple int) Number of bars for the weigted moving average value (length).
Returns: (float) The oscillator value.
dema(source, length)
Calculates the value of the Double Exponential Moving Average (DEMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The double exponentially weighted moving average of the `source`.
dema2(src, length)
An alternate Double Exponential Moving Average (Dema) function to `dema()`, which allows a "series float" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The double exponentially weighted moving average of the `src`.
dm(length)
Calculates the value of the "Demarker" indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
donchian(length)
Calculates the values of a Donchian Channel using `high` and `low` over a given `length`.
Parameters:
length (int) : (series int) Number of bars (length).
Returns: ( [float, float, float ]) A tuple containing the channel high, low, and median, respectively.
ema2(src, length)
An alternate ema function to the `ta.ema()` built-in, which allows a "series float" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int/float) Number of bars (length).
Returns: (float) The exponentially weighted moving average of the `src`.
eom(length, div)
Calculates the value of the Ease of Movement indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
div (simple int) : (simple int) Divisor used for normalzing values. Optional. The default is 10000.
Returns: (float) The oscillator value.
frama(source, length)
The Fractal Adaptive Moving Average (FRAMA), developed by John Ehlers, is an adaptive moving average that dynamically adjusts its lookback period based on fractal geometry.
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The fractal adaptive moving average of the `source`.
ft(source, length)
Calculates the value of the Fisher Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
ht(source)
Calculates the value of the Hilbert Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
Returns: (float) The oscillator value.
ichimoku(conLength, baseLength, senkouLength)
Calculates values of the Ichimoku Cloud indicator, including tenkan, kijun, senkouSpan1, senkouSpan2, and chikou. NOTE: offsets forward or backward can be done using the `offset` argument in `plot()`.
Parameters:
conLength (int) : (series int) Length for the Conversion Line (Tenkan). The default is 9 periods, which returns the mid-point of the 9 period Donchian Channel.
baseLength (int) : (series int) Length for the Base Line (Kijun-sen). The default is 26 periods, which returns the mid-point of the 26 period Donchian Channel.
senkouLength (int) : (series int) Length for the Senkou Span 2 (Leading Span B). The default is 52 periods, which returns the mid-point of the 52 period Donchian Channel.
Returns: ( [float, float, float, float, float ]) A tuple of the Tenkan, Kijun, Senkou Span 1, Senkou Span 2, and Chikou Span values. NOTE: by default, the senkouSpan1 and senkouSpan2 should be plotted 26 periods in the future, and the Chikou Span plotted 26 days in the past.
ift(source)
Calculates the value of the Inverse Fisher Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
Returns: (float) The oscillator value.
kvo(fastLen, slowLen, trigLen)
Calculates the values of the Klinger Volume Oscillator.
Parameters:
fastLen (simple int) : (simple int) Length for the fast moving average smoothing parameter calculation.
slowLen (simple int) : (simple int) Length for the slow moving average smoothing parameter calculation.
trigLen (simple int) : (simple int) Length for the trigger moving average smoothing parameter calculation.
Returns: ( [float, float ]) A tuple of the KVO value, and the trigger value.
pzo(length)
Calculates the value of the Price Zone Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
rms(source, length)
Calculates the Root Mean Square of the `source` over the `length`.
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The RMS value.
rwi(length)
Calculates the values of the Random Walk Index.
Parameters:
length (simple int) : (simple int) Lookback and ATR smoothing parameter length.
Returns: ( [float, float ]) A tuple of the `rwiHigh` and `rwiLow` values.
stc(source, fast, slow, cycle, d1, d2)
Calculates the value of the Schaff Trend Cycle indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
fast (simple int) : (simple int) Length for the MACD fast smoothing parameter calculation.
slow (simple int) : (simple int) Length for the MACD slow smoothing parameter calculation.
cycle (simple int) : (simple int) Number of bars for the Stochastic values (length).
d1 (simple int) : (simple int) Length for the initial %D smoothing parameter calculation.
d2 (simple int) : (simple int) Length for the final %D smoothing parameter calculation.
Returns: (float) The oscillator value.
stochFull(periodK, smoothK, periodD)
Calculates the %K and %D values of the Full Stochastic indicator.
Parameters:
periodK (simple int) : (simple int) Number of bars for Stochastic calculation. (length).
smoothK (simple int) : (simple int) Number of bars for smoothing of the %K value (length).
periodD (simple int) : (simple int) Number of bars for smoothing of the %D value (length).
Returns: ( [float, float ]) A tuple of the slow %K and the %D moving average values.
stochRsi(lengthRsi, periodK, smoothK, periodD, source)
Calculates the %K and %D values of the Stochastic RSI indicator.
Parameters:
lengthRsi (simple int) : (simple int) Length for the RSI smoothing parameter calculation.
periodK (simple int) : (simple int) Number of bars for Stochastic calculation. (length).
smoothK (simple int) : (simple int) Number of bars for smoothing of the %K value (length).
periodD (simple int) : (simple int) Number of bars for smoothing of the %D value (length).
source (float) : (series int/float) Series of values to process. Optional. The default is `close`.
Returns: ( [float, float ]) A tuple of the slow %K and the %D moving average values.
supertrend(factor, atrLength, wicks)
Calculates the values of the SuperTrend indicator with the ability to take candle wicks into account, rather than only the closing price.
Parameters:
factor (float) : (series int/float) Multiplier for the ATR value.
atrLength (simple int) : (simple int) Length for the ATR smoothing parameter calculation.
wicks (simple bool) : (simple bool) Condition to determine whether to take candle wicks into account when reversing trend, or to use the close price. Optional. Default is false.
Returns: ( [float, int ]) A tuple of the superTrend value and trend direction.
szo(source, length)
Calculates the value of the Sentiment Zone Oscillator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
t3(source, length, vf)
Calculates the value of the Tilson Moving Average (T3).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
vf (simple float) : (simple float) Volume factor. Affects the responsiveness.
Returns: (float) The Tilson moving average of the `source`.
t3Alt(source, length, vf)
An alternate Tilson Moving Average (T3) function to `t3()`, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
vf (simple float) : (simple float) Volume factor. Affects the responsiveness.
Returns: (float) The Tilson moving average of the `source`.
tema(source, length)
Calculates the value of the Triple Exponential Moving Average (TEMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The triple exponentially weighted moving average of the `source`.
tema2(source, length)
An alternate Triple Exponential Moving Average (TEMA) function to `tema()`, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The triple exponentially weighted moving average of the `source`.
trima(source, length)
Calculates the value of the Triangular Moving Average (TRIMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The triangular moving average of the `source`.
trima2(src, length)
An alternate Triangular Moving Average (TRIMA) function to `trima()`, which allows a "series int" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int) Number of bars (length).
Returns: (float) The triangular moving average of the `src`.
trix(source, length, signalLength, exponential)
Calculates the values of the TRIX indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
signalLength (simple int) : (simple int) Length for smoothing the signal line.
exponential (simple bool) : (simple bool) Condition to determine whether exponential or simple smoothing is used. Optional. The default is `true` (exponential smoothing).
Returns: ( [float, float, float ]) A tuple of the TRIX value, the signal value, and the histogram.
uo(fastLen, midLen, slowLen)
Calculates the value of the Ultimate Oscillator.
Parameters:
fastLen (simple int) : (series int) Number of bars for the fast smoothing average (length).
midLen (simple int) : (series int) Number of bars for the middle smoothing average (length).
slowLen (simple int) : (series int) Number of bars for the slow smoothing average (length).
Returns: (float) The oscillator value.
vhf(source, length)
Calculates the value of the Vertical Horizontal Filter.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
vi(length)
Calculates the values of the Vortex Indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: ( [float, float ]) A tuple of the viPlus and viMinus values.
vzo(length)
Calculates the value of the Volume Zone Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
williamsFractal(period)
Detects Williams Fractals.
Parameters:
period (int) : (series int) Number of bars (length).
Returns: ( [bool, bool ]) A tuple of an up fractal and down fractal. Variables are true when detected.
wpo(length)
Calculates the value of the Wave Period Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
█ v7, Nov. 2, 2023
This version includes the following new and updated functions:
atr2(length)
An alternate ATR function to the `ta.atr()` built-in, which allows a "series float" `length` argument.
Parameters:
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The ATR value.
changePercent(newValue, oldValue)
Calculates the percentage difference between two distinct values.
Parameters:
newValue (float) : (series int/float) The current value.
oldValue (float) : (series int/float) The previous value.
Returns: (float) The percentage change from the `oldValue` to the `newValue`.
donchian(length)
Calculates the values of a Donchian Channel using `high` and `low` over a given `length`.
Parameters:
length (int) : (series int) Number of bars (length).
Returns: ( [float, float, float ]) A tuple containing the channel high, low, and median, respectively.
highestSince(cond, source)
Tracks the highest value of a series since the last occurrence of a condition.
Parameters:
cond (bool) : (series bool) A condition which, when `true`, resets the tracking of the highest `source`.
source (float) : (series int/float) Series of values to process. Optional. The default is `high`.
Returns: (float) The highest `source` value since the last time the `cond` was `true`.
lowestSince(cond, source)
Tracks the lowest value of a series since the last occurrence of a condition.
Parameters:
cond (bool) : (series bool) A condition which, when `true`, resets the tracking of the lowest `source`.
source (float) : (series int/float) Series of values to process. Optional. The default is `low`.
Returns: (float) The lowest `source` value since the last time the `cond` was `true`.
relativeVolume(length, anchorTimeframe, isCumulative, adjustRealtime)
Calculates the volume since the last change in the time value from the `anchorTimeframe`, the historical average volume using bars from past periods that have the same relative time offset as the current bar from the start of its period, and the ratio of these volumes. The volume values are cumulative by default, but can be adjusted to non-accumulated with the `isCumulative` parameter.
Parameters:
length (simple int) : (simple int) The number of periods to use for the historical average calculation.
anchorTimeframe (simple string) : (simple string) The anchor timeframe used in the calculation. Optional. Default is "D".
isCumulative (simple bool) : (simple bool) If `true`, the volume values will be accumulated since the start of the last `anchorTimeframe`. If `false`, values will be used without accumulation. Optional. The default is `true`.
adjustRealtime (simple bool) : (simple bool) If `true`, estimates the cumulative value on unclosed bars based on the data since the last `anchor` condition. Optional. The default is `false`.
Returns: ( [float, float, float ]) A tuple of three float values. The first element is the current volume. The second is the average of volumes at equivalent time offsets from past anchors over the specified number of periods. The third is the ratio of the current volume to the historical average volume.
rma2(source, length)
An alternate RMA function to the `ta.rma()` built-in, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The rolling moving average of the `source`.
supertrend2(factor, atrLength, wicks)
An alternate SuperTrend function to `supertrend()`, which allows a "series float" `atrLength` argument.
Parameters:
factor (float) : (series int/float) Multiplier for the ATR value.
atrLength (float) : (series int/float) Length for the ATR smoothing parameter calculation.
wicks (simple bool) : (simple bool) Condition to determine whether to take candle wicks into account when reversing trend, or to use the close price. Optional. Default is `false`.
Returns: ( [float, int ]) A tuple of the superTrend value and trend direction.
vStop(source, atrLength, atrFactor)
Calculates an ATR-based stop value that trails behind the `source`. Can serve as a possible stop-loss guide and trend identifier.
Parameters:
source (float) : (series int/float) Series of values that the stop trails behind.
atrLength (simple int) : (simple int) Length for the ATR smoothing parameter calculation.
atrFactor (float) : (series int/float) The multiplier of the ATR value. Affects the maximum distance between the stop and the `source` value. A value of 1 means the maximum distance is 100% of the ATR value. Optional. The default is 1.
Returns: ( [float, bool ]) A tuple of the volatility stop value and the trend direction as a "bool".
vStop2(source, atrLength, atrFactor)
An alternate Volatility Stop function to `vStop()`, which allows a "series float" `atrLength` argument.
Parameters:
source (float) : (series int/float) Series of values that the stop trails behind.
atrLength (float) : (series int/float) Length for the ATR smoothing parameter calculation.
atrFactor (float) : (series int/float) The multiplier of the ATR value. Affects the maximum distance between the stop and the `source` value. A value of 1 means the maximum distance is 100% of the ATR value. Optional. The default is 1.
Returns: ( [float, bool ]) A tuple of the volatility stop value and the trend direction as a "bool".
Removed Functions:
allTimeHigh(src)
Tracks the highest value of `src` from the first historical bar to the current bar.
allTimeLow(src)
Tracks the lowest value of `src` from the first historical bar to the current bar.
trima2(src, length)
An alternate Triangular Moving Average (TRIMA) function to `trima()`, which allows a
"series int" length argument.






















