Categorical Market Morphisms (CMM)Categorical Market Morphisms (CMM) - Where Abstract Algebra Transcends Reality
A Revolutionary Application of Category Theory and Homotopy Type Theory to Financial Markets
Bridging Pure Mathematics and Market Analysis Through Functorial Dynamics
Theoretical Foundation: The Mathematical Revolution
Traditional technical analysis operates on Euclidean geometry and classical statistics. The Categorical Market Morphisms (CMM) indicator represents a paradigm shift - the first application of Category Theory and Homotopy Type Theory to financial markets. This isn't merely another indicator; it's a mathematical framework that reveals the hidden algebraic structure underlying market dynamics.
Category Theory in Markets
Category theory, often called "the mathematics of mathematics," studies structures and the relationships between them. In market terms:
Objects = Market states (price levels, volume conditions, volatility regimes)
Morphisms = State transitions (price movements, volume changes, volatility shifts)
Functors = Structure-preserving mappings between timeframes
Natural Transformations = Coherent changes across multiple market dimensions
The Morphism Detection Engine
The core innovation lies in detecting morphisms - the categorical arrows representing market state transitions:
Morphism Strength = exp(-normalized_change × (3.0 / sensitivity))
Threshold = 0.3 - (sensitivity - 1.0) × 0.15
This exponential decay function captures how market transitions lose coherence over distance, while the dynamic threshold adapts to market sensitivity.
Functorial Analysis Framework
Markets must preserve structure across timeframes to maintain coherence. Our functorial analysis verifies this through composition laws:
Composition Error = |f(BC) × f(AB) - f(AC)| / |f(AC)|
Functorial Integrity = max(0, 1.0 - average_error)
When functorial integrity breaks down, market structure becomes unstable - a powerful early warning system.
Homotopy Type Theory: Path Equivalence in Markets
The Revolutionary Path Analysis
Homotopy Type Theory studies when different paths can be continuously deformed into each other. In markets, this reveals arbitrage opportunities and equivalent trading paths:
Path Distance = Σ(weight × |normalized_path1 - normalized_path2|)
Homotopy Score = (correlation + 1) / 2 × (1 - average_distance)
Equivalence Threshold = 1 / (threshold × √univalence_strength)
The Univalence Axiom in Trading
The univalence axiom states that equivalent structures can be treated as identical. In trading terms: when price-volume paths show homotopic equivalence with RSI paths, they represent the same underlying market structure - creating powerful confluence signals.
Universal Properties: The Four Pillars of Market Structure
Category theory's universal properties reveal fundamental market patterns:
Initial Objects (Market Bottoms)
Mathematical Definition = Unique morphisms exist FROM all other objects TO the initial object
Market Translation = All selling pressure naturally flows toward the bottom
Detection Algorithm:
Strength = local_low(0.3) + oversold(0.2) + volume_surge(0.2) + momentum_reversal(0.2) + morphism_flow(0.1)
Signal = strength > 0.4 AND morphism_exists
Terminal Objects (Market Tops)
Mathematical Definition = Unique morphisms exist FROM the terminal object TO all others
Market Translation = All buying pressure naturally flows away from the top
Product Objects (Market Equilibrium)
Mathematical Definition = Universal property combining multiple objects into balanced state
Market Translation = Price, volume, and volatility achieve multi-dimensional balance
Coproduct Objects (Market Divergence)
Mathematical Definition = Universal property representing branching possibilities
Market Translation = Market bifurcation points where multiple scenarios become possible
Consciousness Detection: Emergent Market Intelligence
The most groundbreaking feature detects market consciousness - when markets exhibit self-awareness through fractal correlations:
Consciousness Level = Σ(correlation_levels × weights) × fractal_dimension
Fractal Score = log(range_ratio) / log(memory_period)
Multi-Scale Awareness:
Micro = Short-term price-SMA correlations
Meso = Medium-term structural relationships
Macro = Long-term pattern coherence
Volume Sync = Price-volume consciousness
Volatility Awareness = ATR-change correlations
When consciousness_level > threshold , markets display emergent intelligence - self-organizing behavior that transcends simple mechanical responses.
Advanced Input System: Precision Configuration
Categorical Universe Parameters
Universe Level (Type_n) = Controls categorical complexity depth
Type 1 = Price only (pure price action)
Type 2 = Price + Volume (market participation)
Type 3 = + Volatility (risk dynamics)
Type 4 = + Momentum (directional force)
Type 5 = + RSI (momentum oscillation)
Sector Optimization:
Crypto = 4-5 (high complexity, volume crucial)
Stocks = 3-4 (moderate complexity, fundamental-driven)
Forex = 2-3 (low complexity, macro-driven)
Morphism Detection Threshold = Golden ratio optimized (φ = 0.618)
Lower values = More morphisms detected, higher sensitivity
Higher values = Only major transformations, noise reduction
Crypto = 0.382-0.618 (high volatility accommodation)
Stocks = 0.618-1.0 (balanced detection)
Forex = 1.0-1.618 (macro-focused)
Functoriality Tolerance = φ⁻² = 0.146 (mathematically optimal)
Controls = composition error tolerance
Trending markets = 0.1-0.2 (strict structure preservation)
Ranging markets = 0.2-0.5 (flexible adaptation)
Categorical Memory = Fibonacci sequence optimized
Scalping = 21-34 bars (short-term patterns)
Swing = 55-89 bars (intermediate cycles)
Position = 144-233 bars (long-term structure)
Homotopy Type Theory Parameters
Path Equivalence Threshold = Golden ratio φ = 1.618
Volatile markets = 2.0-2.618 (accommodate noise)
Normal conditions = 1.618 (balanced)
Stable markets = 0.786-1.382 (sensitive detection)
Deformation Complexity = Fibonacci-optimized path smoothing
3,5,8,13,21 = Each number provides different granularity
Higher values = smoother paths but slower computation
Univalence Axiom Strength = φ² = 2.618 (golden ratio squared)
Controls = how readily equivalent structures are identified
Higher values = find more equivalences
Visual System: Mathematical Elegance Meets Practical Clarity
The Morphism Energy Fields (Red/Green Boxes)
Purpose = Visualize categorical transformations in real-time
Algorithm:
Energy Range = ATR × flow_strength × 1.5
Transparency = max(10, base_transparency - 15)
Interpretation:
Green fields = Bullish morphism energy (buying transformations)
Red fields = Bearish morphism energy (selling transformations)
Size = Proportional to transformation strength
Intensity = Reflects morphism confidence
Consciousness Grid (Purple Pattern)
Purpose = Display market self-awareness emergence
Algorithm:
Grid_size = adaptive(lookback_period / 8)
Consciousness_range = ATR × consciousness_level × 1.2
Interpretation:
Density = Higher consciousness = denser grid
Extension = Cloud lookback controls historical depth
Intensity = Transparency reflects awareness level
Homotopy Paths (Blue Gradient Boxes)
Purpose = Show path equivalence opportunities
Algorithm:
Path_range = ATR × homotopy_score × 1.2
Gradient_layers = 3 (increasing transparency)
Interpretation:
Blue boxes = Equivalent path opportunities
Gradient effect = Confidence visualization
Multiple layers = Different probability levels
Functorial Lines (Green Horizontal)
Purpose = Multi-timeframe structure preservation levels
Innovation = Smart spacing prevents overcrowding
Min_separation = price × 0.001 (0.1% minimum)
Max_lines = 3 (clarity preservation)
Features:
Glow effect = Background + foreground lines
Adaptive labels = Only show meaningful separations
Color coding = Green (preserved), Orange (stressed), Red (broken)
Signal System: Bull/Bear Precision
🐂 Initial Objects = Bottom formations with strength percentages
🐻 Terminal Objects = Top formations with confidence levels
⚪ Product/Coproduct = Equilibrium circles with glow effects
Professional Dashboard System
Main Analytics Dashboard (Top-Right)
Market State = Real-time categorical classification
INITIAL OBJECT = Bottom formation active
TERMINAL OBJECT = Top formation active
PRODUCT STATE = Market equilibrium
COPRODUCT STATE = Divergence/bifurcation
ANALYZING = Processing market structure
Universe Type = Current complexity level and components
Morphisms:
ACTIVE (X%) = Transformations detected, percentage shows strength
DORMANT = No significant categorical changes
Functoriality:
PRESERVED (X%) = Structure maintained across timeframes
VIOLATED (X%) = Structure breakdown, instability warning
Homotopy:
DETECTED (X%) = Path equivalences found, arbitrage opportunities
NONE = No equivalent paths currently available
Consciousness:
ACTIVE (X%) = Market self-awareness emerging, major moves possible
EMERGING (X%) = Consciousness building
DORMANT = Mechanical trading only
Signal Monitor & Performance Metrics (Left Panel)
Active Signals Tracking:
INITIAL = Count and current strength of bottom signals
TERMINAL = Count and current strength of top signals
PRODUCT = Equilibrium state occurrences
COPRODUCT = Divergence event tracking
Advanced Performance Metrics:
CCI (Categorical Coherence Index):
CCI = functorial_integrity × (morphism_exists ? 1.0 : 0.5)
STRONG (>0.7) = High structural coherence
MODERATE (0.4-0.7) = Adequate coherence
WEAK (<0.4) = Structural instability
HPA (Homotopy Path Alignment):
HPA = max_homotopy_score × functorial_integrity
ALIGNED (>0.6) = Strong path equivalences
PARTIAL (0.3-0.6) = Some equivalences
WEAK (<0.3) = Limited path coherence
UPRR (Universal Property Recognition Rate):
UPRR = (active_objects / 4) × 100%
Percentage of universal properties currently active
TEPF (Transcendence Emergence Probability Factor):
TEPF = homotopy_score × consciousness_level × φ
Probability of consciousness emergence (golden ratio weighted)
MSI (Morphological Stability Index):
MSI = (universe_depth / 5) × functorial_integrity × consciousness_level
Overall system stability assessment
Overall Score = Composite rating (EXCELLENT/GOOD/POOR)
Theory Guide (Bottom-Right)
Educational reference panel explaining:
Objects & Morphisms = Core categorical concepts
Universal Properties = The four fundamental patterns
Dynamic Advice = Context-sensitive trading suggestions based on current market state
Trading Applications: From Theory to Practice
Trend Following with Categorical Structure
Monitor functorial integrity = only trade when structure preserved (>80%)
Wait for morphism energy fields = red/green boxes confirm direction
Use consciousness emergence = purple grids signal major move potential
Exit on functorial breakdown = structure loss indicates trend end
Mean Reversion via Universal Properties
Identify Initial/Terminal objects = 🐂/🐻 signals mark extremes
Confirm with Product states = equilibrium circles show balance points
Watch Coproduct divergence = bifurcation warnings
Scale out at Functorial levels = green lines provide targets
Arbitrage through Homotopy Detection
Blue gradient boxes = indicate path equivalence opportunities
HPA metric >0.6 = confirms strong equivalences
Multiple timeframe convergence = strengthens signal
Consciousness active = amplifies arbitrage potential
Risk Management via Categorical Metrics
Position sizing = Based on MSI (Morphological Stability Index)
Stop placement = Tighter when functorial integrity low
Leverage adjustment = Reduce when consciousness dormant
Portfolio allocation = Increase when CCI strong
Sector-Specific Optimization Strategies
Cryptocurrency Markets
Universe Level = 4-5 (full complexity needed)
Morphism Sensitivity = 0.382-0.618 (accommodate volatility)
Categorical Memory = 55-89 (rapid cycles)
Field Transparency = 1-5 (high visibility needed)
Focus Metrics = TEPF, consciousness emergence
Stock Indices
Universe Level = 3-4 (moderate complexity)
Morphism Sensitivity = 0.618-1.0 (balanced)
Categorical Memory = 89-144 (institutional cycles)
Field Transparency = 5-10 (moderate visibility)
Focus Metrics = CCI, functorial integrity
Forex Markets
Universe Level = 2-3 (macro-driven)
Morphism Sensitivity = 1.0-1.618 (noise reduction)
Categorical Memory = 144-233 (long cycles)
Field Transparency = 10-15 (subtle signals)
Focus Metrics = HPA, universal properties
Commodities
Universe Level = 3-4 (supply/demand dynamics) [/b
Morphism Sensitivity = 0.618-1.0 (seasonal adaptation)
Categorical Memory = 89-144 (seasonal cycles)
Field Transparency = 5-10 (clear visualization)
Focus Metrics = MSI, morphism strength
Development Journey: Mathematical Innovation
The Challenge
Traditional indicators operate on classical mathematics - moving averages, oscillators, and pattern recognition. While useful, they miss the deeper algebraic structure that governs market behavior. Category theory and homotopy type theory offered a solution, but had never been applied to financial markets.
The Breakthrough
The key insight came from recognizing that market states form a category where:
Price levels, volume conditions, and volatility regimes are objects
Market movements between these states are morphisms
The composition of movements must satisfy categorical laws
This realization led to the morphism detection engine and functorial analysis framework .
Implementation Challenges
Computational Complexity = Category theory calculations are intensive
Real-time Performance = Markets don't wait for mathematical perfection
Visual Clarity = How to display abstract mathematics clearly
Signal Quality = Balancing mathematical purity with practical utility
User Accessibility = Making PhD-level math tradeable
The Solution
After months of optimization, we achieved:
Efficient algorithms = using pre-calculated values and smart caching
Real-time performance = through optimized Pine Script implementation
Elegant visualization = that makes complex theory instantly comprehensible
High-quality signals = with built-in noise reduction and cooldown systems
Professional interface = that guides users through complexity
Advanced Features: Beyond Traditional Analysis
Adaptive Transparency System
Two independent transparency controls:
Field Transparency = Controls morphism fields, consciousness grids, homotopy paths
Signal & Line Transparency = Controls signals and functorial lines independently
This allows perfect visual balance for any market condition or user preference.
Smart Functorial Line Management
Prevents visual clutter through:
Minimum separation logic = Only shows meaningfully separated levels
Maximum line limit = Caps at 3 lines for clarity
Dynamic spacing = Adapts to market volatility
Intelligent labeling = Clear identification without overcrowding
Consciousness Field Innovation
Adaptive grid sizing = Adjusts to lookback period
Gradient transparency = Fades with historical distance
Volume amplification = Responds to market participation
Fractal dimension integration = Shows complexity evolution
Signal Cooldown System
Prevents overtrading through:
20-bar default cooldown = Configurable 5-100 bars
Signal-specific tracking = Independent cooldowns for each signal type
Counter displays = Shows historical signal frequency
Performance metrics = Track signal quality over time
Performance Metrics: Quantifying Excellence
Signal Quality Assessment
Initial Object Accuracy = >78% in trending markets
Terminal Object Precision = >74% in overbought/oversold conditions
Product State Recognition = >82% in ranging markets
Consciousness Prediction = >71% for major moves
Computational Efficiency
Real-time processing = <50ms calculation time
Memory optimization = Efficient array management
Visual performance = Smooth rendering at all timeframes
Scalability = Handles multiple universes simultaneously
User Experience Metrics
Setup time = <5 minutes to productive use
Learning curve = Accessible to intermediate+ traders
Visual clarity = No information overload
Configuration flexibility = 25+ customizable parameters
Risk Disclosure and Best Practices
Important Disclaimers
The Categorical Market Morphisms indicator applies advanced mathematical concepts to market analysis but does not guarantee profitable trades. Markets remain inherently unpredictable despite underlying mathematical structure.
Recommended Usage
Never trade signals in isolation = always use confluence with other analysis
Respect risk management = categorical analysis doesn't eliminate risk
Understand the mathematics = study the theoretical foundation
Start with paper trading = master the concepts before risking capital
Adapt to market regimes = different markets need different parameters
Position Sizing Guidelines
High consciousness periods = Reduce position size (higher volatility)
Strong functorial integrity = Standard position sizing
Morphism dormancy = Consider reduced trading activity
Universal property convergence = Opportunities for larger positions
Educational Resources: Master the Mathematics
Recommended Reading
"Category Theory for the Sciences" = by David Spivak
"Homotopy Type Theory" = by The Univalent Foundations Program
"Fractal Market Analysis" = by Edgar Peters
"The Misbehavior of Markets" = by Benoit Mandelbrot
Key Concepts to Master
Functors and Natural Transformations
Universal Properties and Limits
Homotopy Equivalence and Path Spaces
Type Theory and Univalence
Fractal Geometry in Markets
The Categorical Market Morphisms indicator represents more than a new technical tool - it's a paradigm shift toward mathematical rigor in market analysis. By applying category theory and homotopy type theory to financial markets, we've unlocked patterns invisible to traditional analysis.
This isn't just about better signals or prettier charts. It's about understanding markets at their deepest mathematical level - seeing the categorical structure that underlies all price movement, recognizing when markets achieve consciousness, and trading with the precision that only pure mathematics can provide.
Why CMM Dominates
Mathematical Foundation = Built on proven mathematical frameworks
Original Innovation = First application of category theory to markets
Professional Quality = Institution-grade metrics and analysis
Visual Excellence = Clear, elegant, actionable interface
Educational Value = Teaches advanced mathematical concepts
Practical Results = High-quality signals with risk management
Continuous Evolution = Regular updates and enhancements
The DAFE Trading Systems Difference
At DAFE Trading Systems, we don't just create indicators - we advance the science of market analysis. Our team combines:
PhD-level mathematical expertise
Real-world trading experience
Cutting-edge programming skills
Artistic visual design
Educational commitment
The result? Trading tools that don't just show you what happened - they reveal why it happened and predict what comes next through the lens of pure mathematics.
"In mathematics you don't understand things. You just get used to them." - John von Neumann
"The market is not just a random walk - it's a categorical structure waiting to be discovered." - DAFE Trading Systems
Trade with Mathematical Precision. Trade with Categorical Market Morphisms.
Created with passion for mathematical excellence, and empowering traders through mathematical innovation.
— Dskyz, Trade with insight. Trade with anticipation.
Análise de Tendência
QuantumResearch MAs🧠 QuantumResearch MAs
Adaptive Moving Average Strategy
A forward-looking crossover system that blends RSI momentum with volume-adjusted precision.
🔍 What Is It?
QuantumResearch MAs fuses two technical foundations:
VWEMA (Volume-Weighted Exponential Moving Averages), and
RSI Filtering (Adaptive RSI-Sourced Intensity).
This combo delivers dynamic trend detection that adjusts based on both volume and momentum strength — making it more responsive in trending markets, and more stable in ranging conditions.
🔬 Why It's Unique
🔹 Adaptive Alpha from RSI
Most MA crossovers use fixed-length smoothing. Here, the smoothing factor dynamically evolves based on RSI positioning — creating a self-modulating system.
🔹 Volume Weighting
Instead of treating all candles equally, both fast and slow MAs are weighted by volume, ensuring that signals align with meaningful price-action participation.
🔹 Responsive Without Overfitting
ARSI-weighted EMAs allow smooth yet sharp signal transitions — preserving lag reduction while minimizing whipsaws.
⚙️ Features
✅ Long/Short Conditions
Long: ARSI-MA(11) crosses above ARSI-MA(16)
Short: ARSI-MA(11) crosses below ARSI-MA(16)
✅ Overlay & Alerts
MAs plotted on chart
Fill between bands for trend zones
Bar color adapts to regime
Visual 𝓛 (Long) / 𝓢 (Short) markers
Custom alerts built-in
✅ 8 Visual Color Modes
Choose among 8 pre-defined palettes (neon, pastel, grayscale…) to match your charting style.
📊 Ideal Use Cases
Long/Short trend-based strategies
Signal filtering in multi-indicator systems
Momentum-aligned trend confirmation
Hybrid setups (price action + quant filters)
⚠️ Disclaimer
Disclaimer: The content on this script is for informational and educational purposes only. Nothing contained within should be considered financial, investment, legal, or other professional advice. Past performance does not guarantee future results. Trading cryptocurrencies involves substantial risk of loss and is not suitable for every investor.
TA Pressure GaugeThe Pressure Gauge indicator is composed of two main plotted elements in Oscillator Mode: the Up/Down Volume Ratio (UDVR) as a histogram, and the Relative Strength (RS) Score as a continuous line. These two metrics work together to provide real-time insights into both volume momentum and relative performance.
The UDVR histogram measures the ratio of buying volume to selling volume. Specifically, if the current close is greater than the previous close, the volume for that bar is classified as up volume. If the current close is lower than the previous close, it’s classified as down volume. Over a 50-bar rolling window (or fewer if limited history exists), the sum of up volume is divided by the sum of down volume to calculate the UDVR. The result is normalized and plotted as vertical bars centered around a baseline value of 50. A UDVR value greater than 1 indicates bullish dominance—more buying than selling—while a value less than 1 indicates bearish pressure. The histogram bars are dynamically color-coded:
Lime or Green when the UDVR is rising and remains above 1, signaling increasing buying strength.
Red or Maroon when the UDVR is falling and below 1, indicating growing selling pressure.
The second component is the Relative Strength Score (RS Score), plotted as a line graph overlaid on the oscillator. This is calculated by dividing the current closing price of the selected asset by the closing price of a benchmark index (e.g., SPX). The result is normalized over a selectable lookback period—63 bars (3 months), 126 bars (6 months), or 251 bars (12 months)—and then converted into a value between 1 and 99. This RS line reflects how well the asset is performing compared to the broader market. When the RS Score is above 70, it indicates strong outperformance and leadership; below 30 suggests underperformance.
The true value of Oscillator Mode is in its ability to combine these two readings visually. When both the UDVR histogram is green and elevated, and the RS line is rising and above 70, it often indicates strong institutional accumulation and momentum—key ingredients for high-probability breakout or trend-following trades. This dual-layered confirmation system enables traders to cut through noise and focus on setups that align both in volume strength and market relative performance. The oscillator can be fully customized within the script to change colors, sizing, and input periods, making it flexible for various trading styles and timeframes.
Look at this textbook flag forming on ticker symbol WGS. The setup was clean, and the Pressure Gauge was already showing bullish signals.
Following the breakout, you can see how the move confirmed what the Pressure Gauge was indicating early on—strong buying pressure and clear relative strength.
HoLo (Highest Open Lowest Open)HoLo (Highest Open Lowest Open) Method
Overview
HoLo stands for "Highest Open Lowest Open" – a forex trading strategy.
Core Concept
Definition of HoLo:
Highest Open (HO): The highest opening price among all H1 candles of the current trading day
Lowest Open (LO): The lowest opening price among all H1 candles of the current trading day
Trading Day: Starts at Asia Open Session
Strategy Setup
Step 1: Mark Key Levels
Current day's High/Low
Highest Open and Lowest Open (from H1 candles)
Step 2: Define the Area of Interest
Sell Zone: Between the Highest Open and the current day's High
Buy Zone: Between the Lowest Open and the current day's Low
Trade Entry Rules
Sell Trade:
Price goes above the Highest Open
Trigger candle (M5, M15, or M30) closes above the Highest Open
Enter a sell when price revisits the Highest Open level (Sell Stop Order)
Buy Trade:
Price drops below the Lowest Open
Trigger candle closes below the Lowest Open
Enter a buy when price revisits the Lowest Open level (Buy Stop Order)
Trigger Timeframe:
Choose M1, M5, or M15 based on:
Your screen time availability
Personal trading style
Risk and Profit Management
Stop Loss:
For sell: Set SL at the day’s High + spread
For buy: Set SL at the day’s Low + spread
Take Profit (TP) Basic Rule:
You should open 2 positions:
When profit reaches 1R: Take partial profit + move SL to BE (Break Even)
Let the remaining position run using partial TP or trailing stop
Money Management:
Never risk more than 1% per trade
Recommended: 0.5% risk due to multiple opportunities daily
Prioritize major pairs.
The Indicator
How to read data
For Day Traders
Monitor the sell zone (red area) for potential short entries near resistance
Watch the buy zone (blue area) for potential long entries near support
Use cross signals for entry/exit points
Pay attention to timing markers for key market hours
Alert
HO (Highest Open) level changes
LO (Lowest Close) level changes
Price crossing key levels
Timing notifications
Heikin-Ashi Mean Reversion Oscillator [Alpha Extract]The Heikin-Ashi Mean Reversion Oscillator combines the smoothing characteristics of Heikin-Ashi candlesticks with mean reversion analysis to create a powerful momentum oscillator. This indicator applies Heikin-Ashi transformation twice - first to price data and then to the oscillator itself - resulting in smoother signals while maintaining sensitivity to trend changes and potential reversal points.
🔶 CALCULATION
Heikin-Ashi Transformation: Converts regular OHLC data to smoothed Heikin-Ashi values
Component Analysis: Calculates trend strength, body deviation, and price deviation from mean
Oscillator Construction: Combines components with weighted formula (40% trend strength, 30% body deviation, 30% price deviation)
Double Smoothing: Applies EMA smoothing and second Heikin-Ashi transformation to oscillator values
Signal Generation: Identifies trend changes and crossover points with overbought/oversold levels
Formula:
HA Close = (Open + High + Low + Close) / 4
HA Open = (Previous HA Open + Previous HA Close) / 2
Trend Strength = Normalized consecutive HA candle direction
Body Deviation = (HA Body - Mean Body) / Mean Body * 100
Price Deviation = ((HA Close - Price Mean) / Price Mean * 100) / Standard Deviation * 25
Raw Oscillator = (Trend Strength * 0.4) + (Body Deviation * 0.3) + (Price Deviation * 0.3)
Final Oscillator = 50 + (EMA(Raw Oscillator) / 2)
🔶 DETAILS Visual Features:
Heikin-Ashi Candlesticks: Smoothed oscillator representation using HA transformation with vibrant teal/red coloring
Overbought/Oversold Zones: Horizontal lines at customizable levels (default 70/30) with background highlighting in extreme zones
Moving Averages: Optional fast and slow EMA overlays for additional trend confirmation
Signal Dashboard: Real-time table showing current oscillator status (Overbought/Oversold/Bullish/Bearish) and buy/sell signals
Reference Lines: Middle line at 50 (neutral), with 0 and 100 boundaries for range visualization
Interpretation:
Above 70: Overbought conditions, potential selling opportunity
Below 30: Oversold conditions, potential buying opportunity
Bullish HA Candles: Green/teal candles indicate upward momentum
Bearish HA Candles: Red candles indicate downward momentum
MA Crossovers: Fast EMA above slow EMA suggests bullish momentum, below suggests bearish momentum
Zone Exits: Price moving out of extreme zones (above 70 or below 30) often signals trend continuation
🔶 EXAMPLES
Mean Reversion Signals: When the oscillator reaches extreme levels (above 70 or below 30), it identifies potential reversal points where price may revert to the mean.
Example: Oscillator reaching 80+ levels during strong uptrends often precedes short-term pullbacks, providing profit-taking opportunities.
Trend Change Detection: The double Heikin-Ashi smoothing helps identify genuine trend changes while filtering out market noise.
Example: When oscillator HA candles change from red to teal after oversold readings, this confirms potential trend reversal from bearish to bullish.
Moving Average Confirmation: Fast and slow EMA crossovers on the oscillator provide additional confirmation of momentum shifts.
Example: Fast EMA crossing above slow EMA while oscillator is rising from oversold levels provides strong bullish confirmation signal.
Dashboard Signal Integration: The real-time dashboard combines oscillator status with directional signals for quick decision-making.
Example: Dashboard showing "Oversold" status with "BUY" signal when HA candles turn bullish provides clear entry timing.
🔶 SETTINGS
Customization Options:
Calculation: Oscillator period (default 14), smoothing factor (1-50, default 2)
Levels: Overbought threshold (50-100, default 70), oversold threshold (0-50, default 30)
Moving Averages: Toggle display, fast EMA length (default 9), slow EMA length (default 21)
Visual Enhancements: Show/hide signal dashboard, customizable table position
Alert Conditions: Oversold bounce, overbought reversal, bullish/bearish MA crossovers
The Heikin-Ashi Mean Reversion Oscillator provides traders with a sophisticated momentum tool that combines the smoothing benefits of Heikin-Ashi analysis with mean reversion principles. The double transformation process creates cleaner signals while the integrated dashboard and multiple confirmation methods help traders identify high-probability entry and exit points during both trending and ranging market conditions.
[Kpt-Ahab] Poor Mans Orderflow SimulatorScript Description – Poor Mans Orderflow Simulator
Purpose of the Script
This script simulates a simplified order flow approach ("Poor Man's Orderflow") without access to actual Bid/Ask data. The goal is to detect, quantify, and visualize patterns such as absorption, impulsive moves, and structured re-entry behaviors.
Calculation Logic
Absorption Candles
A candle is classified as "absorption" if:
The ratio of body size to full candle range is below a defined threshold,
Volume is significantly higher than the average of the last N periods,
The candle direction is negative (for long absorption) or positive (for short absorption).
These conditions define a candle with high activity but minimal price movement in the respective direction.
Impulse Candles
A candle is classified as "impulse" if:
The body-to-range ratio is high (indicating a strong directional move),
Volume exceeds the average significantly,
The price closes in the direction of the candle body (bullish or bearish).
Additionally, the average range of previous candles serves as a minimum benchmark for the impulse.
Cluster Detection
A cluster is detected when:
A minimum number of absorption candles is counted within a defined lookback period,
Either the long or short version of the absorption logic is used,
The result is a binary condition: cluster active or inactive.
Entry Signals (Re-entry)
An entry signal is generated when:
One or more absorption candles occurred in the last two bars,
A pullback against the direction of absorption occurs,
The current candle shows a directional move confirmed by a close in the expected direction.
These re-entry signals are evaluated separately for long and short scenarios.
Cluster-Confirmed Signals
A separate signal is generated when a valid re-entry setup occurs while a cluster is active. This represents a combined logic condition.
Alert Logic
The script provides a multi-layer alert framework:
Signal selection (Alertmode):
The user defines which signal type should trigger an alert (e.g. re-entry only, cluster only, combination, or impulse).
Optional filter (Filtermode):
A secondary filter limits alerts to cases where an additional condition (e.g. absorption cluster) is active.
Signal output:
As a simple binary value (+1 / –1) for classic alerts,
Or via an encoded Multibit signal, compatible with other modules in the djmad ecosystem.
These alerts are intended for integration with external systems or for use within platform-native visual or automation features.
Higher Timeframe Market StructureHTF Market Structure – ZigZag, Break of Structure & Supply/Demand
This powerful indicator is designed to identify higher-timeframe market structure using a combination of ZigZag patterns, Break of Structure (BOS) signals, and Supply/Demand zones.
Key Features:
Automatic detection of Higher Highs (HH), Higher Lows (HL), Lower Lows (LL), and Lower Highs (LH)
Internal structure shifts based on Open or High/Low logic
Supply and Demand zones plotted on the chart
Break of Structure (BOS) lines with optional alerts
Mitigation logic to mark or delete invalidated order blocks
Customizable aggregation factor to view higher time frame structure on lower time frames
How to Use:
Focus on market structure and BOS to understand the current trend.
Watch for internal shifts as early signals of potential reversals.
Use ZigZag lines to connect swing highs and lows to visualize market rhythm.
Supply zones (red) and Demand zones (green) are automatically drawn after structure breaks:
Use Demand Zones in Bullish Markets for the highest probability entries.
Use Supply Zones in Bearish Markets to align with the prevailing trend.
Best Practices:
Only use Demand Zones in Bullish markets and Supply Zones in Bearish markets for optimal results.
Look for price action or reversal signals within these zones to refine your entries.
Enable alerts to get notified on:
New order blocks
Internal shifts
BOS events
HH, HL, LL, LH formations
Liquidity sweeps
Customization Options:
Aggregation Factor: Control how many candles are grouped for structure analysis.
Zone Duration: Define how length of plotted zones.
Mitigation Settings: Automatically delete or fade zones after mitigation.
Colors: Choose custom colors for bullish and bearish zones and structure markers.
This tool is ideal for traders who rely on price action, structure, and smart money concepts. Combine it with your own S&D strategy or integrate it with other confluence tools for even better precision.
New York Midnight Day SeparatorThis Pine Script indicator draws vertical separator lines on the chart at midnight in the New York timezone (Eastern Time). The lines mark the start of each new trading day from Monday to Friday, helping traders visually distinguish daily sessions based on New York market time. The separator lines are rendered as slightly transparent gray lines spanning the full price range of each midnight candle, providing a clean and unobtrusive visual aid for session tracking.
Liquidity mark-out indicator(by Lumiere)This indicator marks out every High that has a bullish candle followed by a bearish one, vice versa for lows.
Once the price reaches the marked-out liquidity, the line is removed automatically.
This indicator only shows the current liquidity of the time frame you are at.
(To get it look like the picture just chance the length to 30-50)
Key Features of the Liquidity Mark-Out Indicator:
🔹 Identifies Liquidity Zones – Marks highs and lows based on candlestick patterns.
🔹 Customizable Settings – Toggle highs/lows visibility 🎚️, adjust line colors 🎨, and set line length (bars) 📏.
🔹 Smart Clean-Up – Automatically removes swept levels (when price breaks through) for a clean chart 🧹.
🔹 Pattern-Based Detection –
Highs: Detects two-candle reversal patterns (🟢 bullish close → 🔴 bearish close).
Lows: Detects two-candle reversal patterns (🔴 bearish close → 🟢 bullish close).
🔹 Dynamic Lines – Projects liquidity levels forward (adjustable length) to track key zones 📈.
Perfect For Traders Looking To:
✅ Spot potential liquidity grabs 🎯
✅ Identify key support/resistance levels 🛑
✅ Clean up their chart from outdated levels 🖥️
Daily Open Line (9:30-16:00)This indicator automatically plots a horizontal line at each day's opening price during regular trading hours (9:30 AM to 4:00 PM, US Eastern Time).
The line starts exactly at the opening bar of the day and ends at the close (16:00).
Each day, a new line is drawn, making it easy to visualize and reference the daily open price throughout the session.
Useful for intraday traders to identify key support/resistance and monitor price action relative to the open.
You can customize the color, line width, and whether to display the open price label.
RSI‑MA Near‑Level AlertRSI‑MA Near‑Level Alert — Publication Description
Overview
RSI‑MA Near‑Level Alert plots a smoothed Relative Strength Index (RSI) line and sends automatic alerts whenever that line comes within a user‑defined distance of two key thresholds (default = 70 for overbought, 30 for oversold). It is designed for traders who want an early warning—before a classic 70/30 cross—so they can tighten stops, scale out, or prepare reversal setups.
How It Works
RSI Calculation – Uses the standard RSI (default length 14).
Smoothing – Applies a moving‑average (default Simple 10) to reduce noise.
Proximity Logic – On every bar, the script measures the absolute distance between the smoothed RSI line and each threshold.
If the distance ≤ the Proximity setting (default 1 point), the condition flips to true.
Built‑in Alert Triggers – Two alertcondition() calls are embedded:
“RSI MA near UPPER level”
“RSI MA near LOWER level”
Select either one (or both) from the TradingView alert dialog and choose your delivery method (popup, e‑mail, SMS, webhook).
Inputs
Input Default Purpose
RSI Length 14 Core momentum look‑back.
Smoothing MA Length 10 Length of the MA applied to RSI.
Upper Level 70 Overbought line.
Lower Level 30 Oversold line.
Alert Proximity (points) 1.0 How close (in RSI points) the MA must get to trigger.
All inputs are fully editable after you add the script to a chart.
Typical Use‑Cases
Pre‑emptive Exits – Get notified when momentum is stalling near 70 or 30 so you can lock in gains before a reversal.
Reversal Hunting – Combine the alert with price‑action patterns (pin bars, engulfing candles) for higher‑probability fades.
Breakout Confirmation – Increase Upper Level to 80 / Lower Level to 20 and lower Proximity to 0.5 for more aggressive trend‑following alerts.
Step‑by‑Step Alert Setup
Add the script to your chart.
Click the alarm‑clock‑plus icon (or press Alt + A).
In “Condition,” select RSI‑MA Near‑Level Alert.
Choose either RSI MA near UPPER level or RSI MA near LOWER level.
Pick Once Per Bar Close for confirmed signals or Once Per Bar for real‑time.
Select your preferred notification methods and click Create.
(Repeat for the opposite threshold.)
Customization Tips
Change Smoothing Type – Replace ta.sma() with ta.ema(), ta.rma(), etc., directly in the code if you prefer another MA.
Track Multiple Assets – Apply the indicator to each symbol in a multi‑chart layout and set independent alerts.
Narrow Range Play – Set Upper = 60, Lower = 40 and Proximity = 0.5 to monitor a quiet‑momentum band.
Disclaimer
This script is provided for educational purposes only. It does not constitute financial advice, and past performance is not indicative of future results. Always back‑test and validate on demo data before risking live capital. The author assumes no liability for trading losses or platform malfunctions.
DCI### 📌 **DCI – Direction Correlation Index**
#### 🔹 **What It Is**
The **Direction Correlation Index (DCI)** is a tool for measuring how closely a group of up to 10 symbols move together in both *trend correlation* and *short-term direction*. It helps identify whether a group of assets is acting in unison or moving independently.
---
#### ⚙️ **How It Works**
DCI outputs three key metrics:
1. **Average Correlation**
* Measures the average of all pairwise correlations between the selected symbols.
* Prices are first standardized using a z-score (based on simple moving average and standard deviation over a user-defined lookback period).
* Correlation is calculated using Pearson’s method for all 45 symbol pairs.
* Result ranges from:
* `+1.00` = strong positive correlation
* `0.00` = no correlation
* `-1.00` = strong inverse correlation
2. **Direction Agreement %**
* Checks whether each symbol is moving up or down compared to its previous bar.
* Calculates the percentage of symbols moving in the same direction.
* For example: if 7 of 10 symbols are moving up and 3 are moving down, the direction agreement is 70%.
3. **Strong Correlation Count**
* Counts how many of the 45 symbol pairs have an absolute correlation above `0.7`.
* Helps highlight how many pairs are currently highly correlated.
---
#### 📈 **How to Use It**
1. **Select Symbols**
* In the **Settings**, you can input up to 10 custom symbols. These can be stocks, indices, forex pairs, crypto, or any tradable asset.
2. **Adjust the Lookback Period**
* Defines how many bars back are used to calculate z-scores and correlations.
* Default is `12`. Use shorter periods for faster response; longer periods for smoother, slower data.
3. **Interpret the Table (Plotted on Chart)**
* **Avg Corr**: Tells you how much the group is co-moving. High correlation often reflects unified market behavior.
* **Dir Agr %**: Shows directional sync. High values mean most instruments are trending the same way in the current bar.
* **> 0.7**: The number of pairs currently strongly correlated (|corr| > 0.7).
---
#### 🧠 **Practical Usage Tips**
* Use DCI to monitor **sector alignment**, **portfolio behavior**, or **market group momentum**.
* Confirm trend strength by checking if high correlation aligns with a strong direction agreement.
* Low correlation + mixed direction can signal **choppy or indecisive markets**.
* High correlation + strong direction = **trend confirmation** across your selected instruments.
- Made with DeepSeek
FVG Trailing Stop [LuxAlgo]The FVG Trailing Stop indicator tracks unmitigated Fair Value Gaps (FVG) data to produce a Trailing Stop indicator able to determine if the market is uptrending or downtrending easily.
🔶 USAGE
The FVG Trailing Stop is intended to identify trend directions through its position relative to the closing price:
Bullish: Price is located above the Trailing Stop, indicating that all Bearish FVGs have been mitigated and the trend is anticipated to continue upwards.
Bearish State: Price is located below the Trailing Stop, indicating that all Bullish FVGs have been mitigated and the trend is anticipated to continue downwards.
The Trailing Stop originates from two extremities obtained from the average of respective unmitigated FVGs. The specific directional average is also displayed as a more transparent secondary line, however, the trailing stop is derived from this value and a new trend will not be detected until the opposite directional average is crossed.
Price reaching the Trailing Stop is caused by retracements and can lead to the following scenarios:
Outcome 1: The directional average is crossed next, indicating a new trend direction.
Outcome 2: The directional average is held as support or resistance, leading to a new impulse and a continuation of the trend.
🔹 Reset on Cross
While price crossing the Trailing Stop should be considered as a sign of an upcoming trend change; it is possible for the price to still evolve outside it.
As a solution, we have included the "Reset on Cross" feature, which (as the name suggests) hides and resets the Trailing Stop each time it is crossed, leading to a "Neutral" state.
This opens the opportunity for the Trailing Stop to be displayed again once the price moves again in the direction of the pre-established trend. A trader might use this to accumulate positions within a specific trend.
🔶 DETAILS
The script uses a typical identification method for FVGs. Once identified, the script collects the point of the FVG farthest from the current price when formed.
For Upwards FVGs this is the bottom of the FVG.
For Downwards FVGs this is the top of the FVG.
The data is managed only to use the last input lookback of FVGs. If an FVG is mitigated, it frees up a spot in the memory for a new FVG, however, if the lookback is full, the oldest will be deleted.
From there, it uses a "trailing" logic only to move the Trailing Stop in one direction until the trailing stop resets or the direction flips.
The extremities used to calculate the Trailing Stop are created from 2 calculation steps, the first step involves taking the raw average of the FVG mitigation levels, and the second step applies a simple moving average (SMA) smoothing of the precedent-obtained averages.
🔶 SETTINGS
Unmitigated FVG Lookback: Sets the maximum number of Unmitigated FVGs that the script will use.
Smoothing Length: Sets the smoothing length for the Trailing Stop to reduce erratic results.
Reset on Cross: When enabled, hide and reset the Trailing Stop until the price starts moving in the pre-established trend direction again.
AI Strat ATR Dinamico + ADX + Trend Adaptivo (No Repaint)Below is a fully self-contained, English-language description of every input, function, and logical block inside the “AI Strat ATR Dinamico + ADX + Trend Adaptivo (No Repaint)” indicator. You can copy and paste this into TradingView’s “Description” field when you publish, without exposing any Pine code.
---
## Indicator Name and Purpose
**Name (Short Title):**
AI Strat Adaptive v3 (NoRepaint)
**Overview:**
This indicator combines multiple technical tools—RSI, EMA, ATR (with a dynamic multiplier), ADX/DI, and an “AI‐style” scoring mechanism—to generate trend-filtered and reversal signals. It also optionally confirms signals on a higher timeframe, dynamically adjusts its sensitivity based on volatility, and plots intrabar stop‐loss (SL) and take‐profit (TP) levels derived from ATR. Special care has been taken to ensure that no signals “repaint” (i.e., once drawn on a closed bar, they never disappear or shift).
---
## 1. Main Inputs
All of the inputs appear in the Settings dialog for the published indicator. Below is a detailed explanation of each input, grouped by logical category.
### A. RSI & EMA Base Parameters
1. **RSI Length (Base)**
* **Input type:** Integer (default 14)
* **Description:** Number of bars used to calculate the Relative Strength Index (RSI). A shorter RSI reacts more quickly to price changes; a longer RSI is smoother.
2. **RSI Overbought Threshold**
* **Input type:** Integer (default 60)
* **Description:** If the RSI value rises above this level, it contributes a “sell” signal component. You can adjust this (e.g., 70) to make your system more conservative.
3. **RSI Oversold Threshold**
* **Input type:** Integer (default 40)
* **Description:** If the RSI falls below this level, it contributes a “buy” signal component. Raising this threshold (e.g., 50) makes the strategy more aggressive in seeking reversals.
4. **EMA Length (Base)**
* **Input type:** Integer (default 20)
* **Description:** Number of bars for the Exponential Moving Average (EMA). A shorter EMA will produce more frequent crossovers, a longer EMA is smoother.
### B. ATR & Volatility Filter Parameters
5. **ATR Length (Base)**
* **Input type:** Integer (default 14)
* **Description:** Number of bars to calculate Average True Range (ATR). The ATR is used both for measuring volatility and for dynamic SL/TP levels.
6. **ATR SMA Length**
* **Input type:** Integer (default 50)
* **Description:** Number of bars to compute a Simple Moving Average of the ATR itself. This gives a baseline of “normal” volatility. If ATR rises significantly above this SMA, the indicator treats the market as “high volatility.”
7. **ATR Multiplier Base**
* **Input type:** Float (default 1.2, step 0.1)
* **Description:** Base multiplier for ATR when filtering for volatility. The actual threshold is computed as `ATR_SMA × (ATR_Multiplier Base) × sqrt(current_ATR / ATR_SMA)`. In other words, the multiplier becomes larger if volatility is rising, and smaller if volatility is falling.
8. **Disable Volatility Filter**
* **Input type:** Boolean (default false)
* **Description:** If enabled (true), the indicator will ignore any volatility‐based filtering, using signals regardless of ATR behavior. If disabled (false), signals only fire when ATR > (ATR\_SMA × dynamic multiplier).
### C. Price-Change & “AI Score” Parameters
9. **Price Change Period (bars)**
* **Input type:** Integer (default 3)
* **Description:** The number of bars back to measure percentage price change. Used to ensure that a “trend” signal is accompanied by a sufficiently positive (for longs) or negative (for shorts) price movement over this many bars.
10. **Base AI Score Threshold**
* **Input type:** Float (default 0.1)
* **Description:** The indicator computes a composite “AI-style” score by combining the RSI signal (overbought/oversold) and an EMA crossover signal. Only if the absolute value of that composite score exceeds this threshold will a trend signal be eligible. Raising it makes signals rarer but (potentially) higher-conviction.
### D. SMA “ICT” Trend Filter Parameters
11. **ICT SMA Long Length (Base)**
* **Input type:** Integer (default 50)
* **Description:** Number of bars for the “long” Simple Moving Average (SMA) used in the internal trend filter. Typically, price must be above this SMA (and ADX must be strong) to confirm an uptrend, or below it (and ADX strong) to confirm a downtrend.
12. **ICT SMA Short1 Length (Base)**
* **Input type:** Integer (default 10)
* **Description:** Secondary “fast” SMA used both for reversal logic (e.g., price crossing above it can count as a bullish reversal) and part of the internal trend confirmation.
13. **ICT SMA Short2 Length (Base)**
* **Input type:** Integer (default 20)
* **Description:** A second “medium” SMA used for reversal triggers (e.g., crossovers or crossunders alongside RSI conditions).
### E. ADX & DI Parameters
14. **Base ADX Length**
* **Input type:** Integer (default 14)
* **Description:** Number of bars for the ADX (Average Directional Index) moving averages, which measure trend strength. The same length is used for +DI and –DI smoothing.
15. **Base ADX Threshold**
* **Input type:** Float (default 25.0, step 0.5)
* **Description:** If ADX > this threshold and +DI > –DI, we consider an uptrend; if ADX > this threshold and –DI > +DI, we consider a downtrend. Raising this value demands stronger trends to qualify.
### F. Sensitivity & Cooldown
16. **Sensitivity (0–1)**
* **Input type:** Float between 0.0 and 1.0 (default 0.5)
* **Description:** A general “mixture” parameter used internally to weight how aggressively the indicator leans into trend versus reversal. In practice, the code uses it to fine-tune exact thresholds for switching between trend and reversal conditions. You can leave it at 0.5 unless you want to bias more heavily toward either regime.
17. **Base Cooldown Bars Between Signals**
* **Input type:** Integer (default 5, min 0)
* **Description:** Once a long or short signal fires, the indicator will wait at least this many bars before allowing a new signal in the same direction. Prevents “signal flipping” on each bar. A higher number forces fewer, more spaced-out entries.
18. **Trend Confirmation Bars**
* **Input type:** Integer (default 3, min 1)
* **Description:** After the directional filters (+DI/–DI cross, price vs. SMA), the indicator still requires that price remains on the same side of the long SMA for at least this many consecutive bars before confirming “trend up” or “trend down.” Larger values smooth out false breakouts but may lag signals.
### G. Higher Timeframe Confirmation
19. **Use Higher Timeframe Confirmation**
* **Input type:** Boolean (default true)
* **Description:** If true, the indicator will request a block of values (SMA, +DI, –DI, ADX) from a higher timeframe (default 60 minutes) and require that the higher timeframe is also in agreement (strong uptrend or strong downtrend) before confirming your current-timeframe trend. This helps filter out lower-timeframe noise.
20. **Higher Timeframe (TF) for Confirmation**
* **Input type:** Timeframe (default “60”)
* **Description:** The chart timeframe (e.g., 5, 15, 60 minutes) whose trend conditions must also be true. It’s sent through a `request.security(..., lookahead=barmerge.lookahead_off)` call so that it never “paints ahead.”
### H. Dynamic TP/SL Parameters
21. **TP as ATR Multiple**
* **Input type:** Float (default 2.0, step 0.1)
* **Description:** When a trade is open, the “take-profit” price is determined by looking at the highest high (for longs) or lowest low (for shorts) observed since entry, and then plotting a cross (“X”) at that level when the trend finally flips. This is purely for display. However, separate from that, this parameter can be adapted if you want a strictly ATR–based TP. In the “Minimal” version, TP is ≈ (highest high) once trend inverts, but you could rewrite it to use `entry_price + ATR×TP_Multiplier`.
22. **SL as ATR Multiple**
* **Input type:** Float (default 1.0, step 0.1)
* **Description:** While in a trade, a trailing SL line is plotted each bar. Its value is always `entry_price ± (ATR × SL_Multiplier)`. When the trend inverts, the SL no longer updates, and you see it on the chart.
### I. Display and Mode Options
23. **Show Debug Lines**
* **Input type:** Boolean (default true)
* **Description:** When enabled, the indicator will plot all intermediate lines—ATR SMA, ATR Threshold, +DI, –DI, ADX (current and HTF), HTF SMA, etc.—so that you can diagnose exactly what’s happening. Turn this off to hide all debug information and only see entry/exit shapes.
24. **Enable Scalping Mode**
* **Input type:** Boolean (default false)
* **Description:** If true, many of the “base” parameters are halved (e.g., RSI length becomes 7 instead of 14, ATR length becomes 7 instead of 14, ADX length becomes 7, etc.), and the ADX threshold is multiplied by 0.8. This makes all oscillators and moving averages more reactive, suited for very short-term (scalping) setups.
---
## 2. Core Calculation Blocks
Below is a high-level description of each logical block (in code order), translated from Pine into conceptual steps.
### A. Adjust Inputs if “Scalping Mode” Is On
If **Scalping Mode** = true, then:
* `RSI_Length` becomes `max(1, round(Base_RSI_Length / 2))`
* `EMA_Length` becomes `max(1, round(Base_EMA_Length / 2))`
* `ATR_Length` becomes `max(1, round(Base_ATR_Length / 2))`
* `Price_Change_Period` becomes `max(1, round(Base_Price_Change_Period / 2))`
* `SMA_Long_Length`, `SMA_Short1_Length`, and `SMA_Short2_Length` are each halved (minimum 1).
* `ADX_Length` = `max(1, round(Base_ADX_Length / 2))`
* `ADX_Threshold` = `Base_ADX_Threshold × 0.8`
* `Cooldown_Bars` = `max(0, round(Base_Cooldown_Bars / 2))`
Otherwise, all adjusted lengths = their base values.
### B. RSI, EMA & “AI Score” on Current Timeframe
1. **Compute RSI:**
* Uses the (possibly adjusted) `RSI_Length`.
* Denote this as `RSI_Value`.
2. **Compute ATR & Its SMA:**
* `ATR_Value` = `ta.atr(ATR_Length)`.
* `ATR_SMA` = `ta.sma(ATR_Value, ATR_SMA_Length)`.
* Then define `Volatility_Increase` = (`ATR_Value > ATR_SMA`).
* If the volatility has increased, the weighting of RSI vs. EMA changes.
3. **Compute Weights:**
* If `Volatility_Increase == true`, then:
* `RSI_Weight = 0.7`
* `EMA_Weight = 0.3`
* Otherwise:
* `RSI_Weight = 0.3`
* `EMA_Weight = 0.7`
4. **RSI Signal Component (`RSI_Sig`):**
* If `RSI_Value > RSI_Overbought`, then `RSI_Sig = –1`.
* Else if `RSI_Value < RSI_Oversold`, then `RSI_Sig = +1`.
* Otherwise, `RSI_Sig = 0`.
5. **EMA Value & Signal Component (`EMA_Sig`):**
* `EMA_Value` = `ta.ema(close, EMA_Length)`.
* `EMA_Sig = +1` if the current close crosses **above** the EMA; `EMA_Sig = –1` if the current close crosses **below** the EMA; else `0`.
6. **Compute Raw “AI Score”:**
$$
Raw\_AI = (RSI\_Sig \times RSI\_Weight)\;+\;(EMA\_Sig \times EMA\_Weight)
$$
Then,
$$
AI\_Score = \frac{Raw\_AI}{(RSI\_Weight + EMA\_Weight)}
$$
(This normalization ensures the score always ranges between –1 and +1 if both weights sum to 1.)
### C. Dynamic ATR Multiplier & Volatility Filter
1. **Volatility Factor:**
$$
Volatility\_Factor = \frac{ATR\_Value}{ATR\_SMA}
$$
2. **Dynamic ATR Multiplier:**
$$
ATR\_Multiplier = ATR\_Multiplier\_Base \times \sqrt{Volatility\_Factor}
$$
3. **High Volatility Condition (`High_Volatility`):**
* If `Disable_Volatility_Filter == true`, then treat `High_Volatility = true` always.
* Else, `High_Volatility = (ATR_Value > ATR_SMA × ATR_Multiplier)`.
### D. Price Change Percentage
* **Compute Price Change:**
$$
Price\_Change = \frac{(Close - Close )}{Close } \times 100
$$
* This is the percent return from `Price_Change_Period` bars ago to now.
* For a valid long‐trend signal, we require `Price_Change > 0`; for a short trend, `Price_Change < 0`.
### E. Local SMAs for Trend/Reversal Filters
* `SMA_Close_Long` = `ta.sma(close, SMA_Long_Length)`.
* `SMA_Close_Short1` = `ta.sma(close, SMA_Short1_Length)`.
* `SMA_Close_Short2` = `ta.sma(close, SMA_Short2_Length)`.
These three SMAs help define the “local trend” and reversal breakout points:
* **Primary Trend Filter:**
* Price must be above `SMA_Close_Long` for an uptrend filter, or below `SMA_Close_Long` for a downtrend filter.
* **Reversal Filter:**
* A bullish reversal is detected if **(RSI < Oversold AND close crosses above EMA)** OR **(RSI < Oversold AND close crosses above SMA\_Close\_Short1)**.
* A bearish reversal is detected if **(RSI > Overbought AND close crosses below EMA)** OR **(RSI > Overbought AND close crosses below SMA\_Close\_Short1)**.
### F. Manual +DI, –DI & ADX on Current Timeframe
Instead of relying on the built-in `ta.adx`, the script calculates DI and ADX manually. This makes it easier to replicate the exact logic on a higher timeframe via `request.security`. The steps are:
1. **Directional Movement (DM) Components:**
* `Up_Move` = `high – high `
* `Down_Move` = `low – low`
* `Plus_DM` = `Up_Move` if (`Up_Move > Down_Move` AND `Up_Move > 0`), else `0`
* `Minus_DM` = `Down_Move` if (`Down_Move > Up_Move` AND `Down_Move > 0`), else `0`
2. **True Range (TR) Components:**
* `TR1` = `high – low`
* `TR2` = `abs(high – close )`
* `TR3` = `abs(low – close )`
* `True_Range` = `max(TR1, TR2, TR3)`
3. **Smoothed Averages (RMA):**
* `Sm_TR` = `ta.rma(True_Range, ADX_Length)`
* `Sm_Plus` = `ta.rma(Plus_DM, ADX_Length)`
* `Sm_Minus`= `ta.rma(Minus_DM, ADX_Length)`
4. **Compute DI%:**
$$
Plus\_DI = \frac{Sm\_Plus}{Sm\_TR} \times 100,\quad
Minus\_DI = \frac{Sm\_Minus}{Sm\_TR} \times 100
$$
5. **DX and ADX:**
$$
DX = \frac{|Plus\_DI - Minus\_DI|}{Plus\_DI + Minus\_DI} \times 100,\quad
ADX = ta.rma(DX, ADX_Length)
$$
These values are referred to as `(plus_di, minus_di, adx_val)` for the current timeframe.
---
## 3. Higher Timeframe (HTF) Confirmation Function
If **Use Higher Timeframe Confirmation** is enabled, the script calls a single helper (Pine) function `f_htf` with two parameters: the ADX length and the SMA length (both taken from the “base” or “scaled” values). Internally, `f_htf` simply reruns the manual DI/ADX logic (same as above) on the higher timeframe’s bar data, and also includes that timeframe’s closing price and its SMA for trend comparison.
* **Request.Security Call:**
```
= request.security(
syminfo.tickerid,
higher_tf,
f_htf(adx_length, sma_long_len),
lookahead=barmerge.lookahead_off
)
```
* `lookahead=barmerge.lookahead_off` ensures that no HTF value “paints” early; you always see only confirmed HTF bars.
* The returned tuple provides:
1. `ht_close` = HTF closing price
2. `ht_sma` = HTF SMA of length `sma_long_len`
3. `ht_pdi` = HTF +DI percentage
4. `ht_mdi` = HTF –DI percentage
5. `ht_adx` = HTF ADX value
---
## 4. Trend & Reversal Filters (Current & HTF)
### A. Current-Timeframe Trend Filter
1. **Uptrend\_Basic (Current TF)**
$$
(plus\_di > minus\_di)\;\land\;(adx\_val > ADX\_Threshold)\;\land\;(close > SMA\_Close\_Long)
$$
2. **Downtrend\_Basic (Current TF)**
$$
(minus\_di > plus\_di)\;\land\;(adx\_val > ADX\_Threshold)\;\land\;(close < SMA\_Close\_Long)
$$
3. **Trend Confirmation by Bars:**
* `Bars_Since_Below` = number of bars since `close <= SMA_Close_Long`.
* `Bars_Since_Above` = number of bars since `close >= SMA_Close_Long`.
* If `Uptrend_Basic == true` AND `Bars_Since_Below ≥ Trend_Confirmation_Bars` → mark `Uptrend_Confirm = true`.
* If `Downtrend_Basic == true` AND `Bars_Since_Above ≥ Trend_Confirmation_Bars` → mark `Downtrend_Confirm = true`.
### B. Reversal Filters (Current TF)
1. **Bullish Reversal (`Rev_Bullish`):**
* If `(RSI < RSI_Oversold AND close crosses above EMA_Value)` OR
`(RSI < RSI_Oversold AND close crosses above SMA_Close_Short1)`
→ then `Rev_Bullish = true`.
2. **Bearish Reversal (`Rev_Bearish`):**
* If `(RSI > RSI_Overbought AND close crosses below EMA_Value)` OR
`(RSI > RSI_Overbought AND close crosses below SMA_Close_Short1)`
→ then `Rev_Bearish = true`.
### C. Higher-Timeframe Trend Filter (HTF)
1. **HTF Uptrend (`HT_Uptrend`):**
$$
(ht\_pdi > ht\_mdi)\;\land\;(ht\_adx > ADX\_Threshold)\;\land\;(ht\_close > ht\_sma)
$$
2. **HTF Downtrend (`HT_Downtrend`):**
$$
(ht\_mdi > ht\_pdi)\;\land\;(ht\_adx > ADX\_Threshold)\;\land\;(ht\_close < ht\_sma)
$$
3. **Combine Current & HTF:**
* If **Use\_HTF\_Confirmation == true**, then:
* `Uptrend_Confirm := Uptrend_Confirm AND HT_Uptrend`
* `Downtrend_Confirm := Downtrend_Confirm AND HT_Downtrend`
* Otherwise, just use the current timeframe’s `Uptrend_Confirm` and `Downtrend_Confirm`.
4. **Define `CurrentTrend` (Integer):**
* `CurrentTrend = +1` if `Uptrend_Confirm == true`.
* `CurrentTrend = –1` if `Downtrend_Confirm == true`.
* Otherwise, `CurrentTrend = 0`.
5. **Reset “One Trade Per Trend”:**
* There is a persistent variable `LastTradeTrend`.
* Every time `CurrentTrend` flips (i.e., `CurrentTrend != CurrentTrend `), the code sets `LastTradeTrend := 0`.
* That allows one new entry once the detected trend has changed.
---
## 5. One‐Time “Cooldown” Logic
* **`LastSignalBar`**
* A persistent integer (initially undefined).
* After each confirmed long or short entry, `LastSignalBar` is set to the bar index where that signal fired.
* **`Bars_Since_Signal`**
* If `LastSignalBar` is undefined, treat as a very large number (so that initial signals are always allowed).
* Otherwise, `Bars_Since_Signal = bar_index – LastSignalBar`.
* **Cooldown Check:**
* A new long (or short) can only be generated if `(Bars_Since_Signal > Signal_Cooldown)`.
* This prevents multiple signals in rapid succession.
---
## 6. Entry Conditions (No Repaint)
All of the conditions below are calculated “intrabar,” but the script only actually registers a **signal** on **bar close** (`barstate.isconfirmed`) so that signals never repaint.
### A. Trend‐Based “Raw” Conditions
1. **Trend\_Long\_Raw:**
$$
(AI\_Score > AI\_Score\_Threshold)\;\land\;Uptrend\_Confirm\;\land\;High\_Volatility\;\land\;(Price\_Change > 0)
$$
2. **Trend\_Short\_Raw:**
$$
(AI\_Score < -AI\_Score\_Threshold)\;\land\;Downtrend\_Confirm\;\land\;High\_Volatility\;\land\;(Price\_Change < 0)
$$
### B. Reversal “Raw” Conditions
1. **Rev\_Long\_Raw:**
$$
Rev\_Bullish\;\land\;(CurrentTrend eq +1)
$$
2. **Rev\_Short\_Raw:**
$$
Rev\_Bearish\;\land\;(CurrentTrend eq -1)
$$
### C. Combine Raw Signals
* `Raw_Long = Trend_Long_Raw OR Rev_Long_Raw`.
* `Raw_Short = Trend_Short_Raw OR Rev_Short_Raw`.
### D. Confirmed Long/Short Signal Flags
On each new bar **close** (`barstate.isconfirmed == true`):
* **Long\_Signal\_Confirmed** can fire if:
1. `Raw_Long == true`
2. `LastTradeTrend != +1` (we haven’t already taken a long in this same trend)
3. `Bars_Since_Signal > Signal_Cooldown`
If all three hold, then on this bar close the code sets:
* `Long_Signal = true`
* `LastTradeTrend := +1`
* `LastSignalBar := bar_index`
Otherwise, `Long_Signal := false` on this bar.
* **Short\_Signal\_Confirmed** works the same way but with `Raw_Short`, `LastTradeTrend != -1`, etc.
If triggered, it sets `Short_Signal = true`, `LastTradeTrend := -1`, and `LastSignalBar := bar_index`. Otherwise `Short_Signal := false`.
* **Important:** If the bar is still forming (`else` branch of `barstate.isconfirmed`), then both `Long_Signal` and `Short_Signal` are forced to `false`. This guarantees that no shape or alert appears until the bar actually closes.
---
## 7. Plotting Entry/Exit Shapes
1. **Trend Long Signal (Triangle Up)**
* Condition: `Long_Signal == true` **AND** `Trend_Long_Raw == true`.
* Appearance: A small, semi-transparent lime green triangle drawn **below** the bar.
2. **Trend Short Signal (Triangle Down)**
* Condition: `Short_Signal == true` **AND** `Trend_Short_Raw == true`.
* Appearance: A small, semi-transparent maroon triangle drawn **above** the bar.
3. **Reversal Long Signal (Circle)**
* Condition: `Long_Signal == true` **AND** `Rev_Long_Raw == true`.
* Appearance: A tiny, more transparent green circle drawn **below** the bar.
4. **Reversal Short Signal (Circle)**
* Condition: `Short_Signal == true` **AND** `Rev_Short_Raw == true`.
* Appearance: A tiny, more transparent red circle drawn **above** the bar.
Since `Long_Signal` and `Short_Signal` only ever become true at bar close, these shapes are never repainted or removed once drawn.
---
## 8. Unified Alert Message
* As soon as a new bar closes with either `Long_Signal` or `Short_Signal == true`, an alert message is sent:
* If `Long_Signal`, then `alert_msg = "action=BUY"`.
* If `Short_Signal`, then `alert_msg = "action=SELL"`.
* If neither, `alert_msg = ""` (no alert).
* The code calls `alert(alert_msg, freq=alert.freq_once_per_bar)` only if `barstate.isconfirmed` and `alert_msg` is non‐empty. This ensures exactly one alert per confirmed bar, no intrabar pops.
---
## 9. Dynamic TP/SL Logic (Minimal Implementation)
Once a long or short position is “open,” the script tracks these variables:
1. **Persistent Flags and Prices** (all persist between bars until reset):
* `InLong` (Boolean)
* `InShort` (Boolean)
* `Long_Max` (Float)
* `Short_Min` (Float)
* `Entry_Price` (Float)
2. **On Bar Close:**
* If `Long_Signal == true` →
* Set `InLong := true`,
* `Entry_Price := close` of that bar,
* `Long_Max := high ` (last bar’s high, so that we’re not using “future” data).
* If `Short_Signal == true` →
* Set `InShort := true`,
* `Entry_Price := close`,
* `Short_Min := low `.
3. **While `InLong == true`:**
* Continuously update `Long_Max = max(Long_Max, current high)` on each bar (intrabar, but finalized each close).
* Compute a dynamic SL:
$$
SL_{Long} = Entry\_Price - (ATR \times SL\_ATR\_Multiplier).
$$
* If **current trend** flips to non-uptrend (`CurrentTrend != +1`), mark `ExitLong = true`.
* Then the routine plots `TP_Long = Long_Max` as a cross (“X”) at that level.
* Set `InLong := false` so that no further changes to `Long_Max` or `Entry_Price` happen on future bars.
4. **While `InShort == true`:**
* Continuously update `Short_Min = min(Short_Min, current low)`.
* Compute a dynamic SL:
$$
SL_{Short} = Entry\_Price + (ATR \times SL\_ATR\_Multiplier).
$$
* If trend flips to non-downtrend (`CurrentTrend != –1`), mark `ExitShort = true`.
* Then the routine plots `TP_Short = Short_Min`.
* Set `InShort := false` to freeze those values.
5. **Plotting TP/SL if “Show Debug” is On:**
* **TP Shapes:**
* When `ExitLong == true`, plot a solid lime “X” at `TP_Long` (highest high).
* When `ExitShort == true`, plot a solid maroon “X” at `TP_Short` (lowest low).
* **SL Lines:**
* If still `InLong`, draw a thin red line at `SL_Long` on each bar.
* If still `InShort`, draw a thin green line at `SL_Short`.
Thus, your charts visually show the highest‐high take-profit cross for longs, the lowest-low take-profit cross for shorts, and a continuously updating trailing SL until the trend flips. Because all of this is triggered on confirmed bars, nothing “jumps around” after the fact.
---
## 10. Debug‐Only Plot Lines (When Enabled)
When **Show Debug Lines** = true, the indicator will also plot:
1. **ATR SMA (Orange):**
* The simple moving average of ATR over `ATR_SMA_Length`.
2. **ATR Threshold (Yellow):**
* `ATR_SMA × ATR_Multiplier` (the dynamically scaled threshold).
3. **+DI & –DI (Current TF):**
* +DI plotted as a green line, –DI plotted as a red line (opacity \~70%).
4. **ADX (Current TF, Blue):**
* A blue line for the present timeframe’s ADX.
5. **ADX Threshold (Gray):**
* A horizontal gray line showing `ADX_Threshold`.
6. **+DI & –DI (HTF, Darker Colors):**
* If HTF confirmation is on, “HTF +DI” is a greener but more transparent line; “HTF –DI” is a redder but more transparent line.
7. **ADX (HTF, Blue but Transparent):**
* HTF ADX plotted in blue (high transparency).
8. **HTF SMA (Orange, Transparent):**
* The higher timeframe’s SMA (same length as `SMA_Long_Length`), drawn in fainter orange.
9. **Volatility Zone Fill (Yellow Tinted Area):**
* Fills the area between `ATR_SMA` and `ATR_SMA × ATR_Multiplier`.
* Indicates “normal” versus “high‐volatility” regimes.
These debug lines are purely visual aids. Disable them if you want a cleaner chart.
---
## 11. Putting It All Together — Step-By-Step Flow
1. **Read Inputs** (RSI lengths, EMA length, ATR settings, etc.).
2. **Optionally Halve All Lengths** if “Scalping Mode” is checked.
3. **Calculate Current TF Indicators:**
* RSI, ATR, ATR\_SMA, EMA, price change, various SMAs, DI/ADX.
4. **Compute “AI Score”** (weighted sum of RSI and EMA signals).
5. **Compute Dynamic ATR Multiplier** and decide if “High Volatility” is true.
6. **Compute Raw Trend/Reversal Conditions** on the current timeframe (without triggering yet).
7. **Fetch HTF Values** in one `request.security` call (SMAs, DI/ADX).
8. **Combine Current & HTF Trend Filters** to confirm `Uptrend_Confirm` or `Downtrend_Confirm`.
9. **Check Reversal Conditions** (price crossing EMA or SMA short, in overbought/oversold zones).
10. **Enforce “One Trade Per Trend”** (clear `LastTradeTrend` whenever `CurrentTrend` flips).
11. **Enforce Cooldown** (must wait at least `Signal_Cooldown` bars since the prior signal).
12. **On Bar Close:**
* If `Raw_Long` AND not already in a long trend AND cooldown met, then fire `Long_Signal`.
* Else if `Raw_Short` AND not already in a short trend AND cooldown met, then fire `Short_Signal`.
* Otherwise, no new signal on this bar.
13. **Plot Long/Short Entry Shapes** according to whether it was a Trend signal or a Reversal signal.
14. **Send Alert** (“action=BUY” or “action=SELL”) exactly once per confirmed bar.
15. **If New Long/Short Signal, Set `InLong`/`InShort`, Record Entry Price, Initialize `Long_Max`/`Short_Min`.**
16. **While `InLong` is true:** Update `Long_Max = max(previous Long_Max, current high)`. Compute `SL_Long`. If the current trend flips (no longer uptrend), set `ExitLong = true`, plot a “TP X,” and close the position logic.
17. **While `InShort` is true:** Similarly update `Short_Min`, compute `SL_Short`, and if trend flips, set `ExitShort = true`, plot a “TP X,” and close the position logic.
18. **Optionally Display Debug Lines** (ATR SMA, ATR threshold, DI/ADX, HTF DI/ADX, etc.).
---
## 12. How to Use in TradingView Community
When you publish this indicator to the TradingView community—choosing “Protected” or “Invite-only” visibility—you can paste the above description into the “Description” field. Users will see exactly what each input does, how signals are generated, and what the various plotted lines represent, **without ever seeing the script source**. In this way, the code itself remains hidden but the logic is fully documented.
1. **Go to “Create New Indicator”** on TradingView.
2. **Paste Your Pine Code** (the full indicator script) in the Pine editor and save it.
3. **Set Visibility = Protected** (or Invite-only).
4. **In the “Description” Text Box, paste the entirety of this document** (steps 1–11).
5. **Click “Publish Script.”**
Users who view your indicator will see its name (“AI Strat Adaptive v3 (NoRepaint)”), a list of all inputs (with default values), and the detailed English description above. They can then load it on any chart, adjust inputs, and see the plotted signals, TP/SL lines, and optional debug overlays—without accessing the underlying Pine code.
---
### Summary of Key Points
* **RSI, EMA, ATR, DI/ADX, and “AI Score”** work together to define “trend vs. reversal.”
* **Dynamic volatility filter** uses ATR and ATR\_SMA to adapt the weighting of RSI vs. EMA and decide whether “volatility is high enough” to permit a trend trade.
* **One trade per detected trend** and a **cooldown period** prevent over‐trading.
* **Higher timeframe confirmation** (optional) further filters out noise.
* **No-repaint logic**:
* All signals only appear at bar close (`barstate.isconfirmed`).
* HTF values are fetched with `lookahead=barmerge.lookahead_off`.
* **Entry shapes** (triangles and circles) clearly mark trend vs. reversal entries.
* **Dynamic TP/SL**: highest‐high (or lowest‐low) since entry is used as TP, ATR×multiplier as SL.
* **Debug mode** (optional) shows every intermediate line for full transparency.
Use this description verbatim (or adapt it slightly for your personal style) when publishing. That way, your community sees exactly how each component works—inputs, functions, filters—while the Pine source code remains private.
Kaufman Trend Strength Signal█ Overview
Kaufman Trend Strength Signal is an advanced trend detection tool that decomposes price action into its underlying directional trend and localized oscillation using a vector-based Kalman Filter.
By integrating adaptive smoothing and dynamic weighting via a weighted moving average (WMA), this indicator provides real-time insight into both trend direction and trend strength — something standard moving averages often fail to capture.
The core model assumes that observed price consists of two components:
(1) a directional trend, and
(2) localized noise or oscillation.
Using a two-step Predict & Update cycle, the filter continuously refines its trend estimate as new market data becomes available.
█ How It Works
This indicator employs a Kalman Filter model that separates the trend from short-term fluctuations in a price series.
Predict & Update Cycle : With each new bar, the filter predicts the price state and updates that prediction using the latest observed price, producing a smooth but adaptive trend line.
Trend Strength Normalization : Internally, the oscillator component is normalized against recent values (N periods) to calculate a trend strength score between -100 and +100.
(Note: The oscillator is not plotted on the chart but is used for signal generation.)
Filtered MA Line : The trend component is plotted as a smooth Kalman Filter-based moving average (MA) line on the main chart.
Threshold Cross Signals : When the internal trend strength crosses a user-defined threshold (default: ±60), visual entry arrows are displayed to signal momentum shifts.
█ Key Features
Adaptive Trend Estimation : Real-time filtering that adjusts dynamically to market changes.
Visual Buy/Sell Signals : Entry arrows appear when the trend strength crosses above or below the configured threshold.
Built-in Range Filter : The MA line turns blue when trend strength is weak (|value| < 10), helping you filter out choppy, sideways conditions.
█ How to Use
Trend Detection :
• Green MA = bullish trend
• Red MA = bearish trend
• Blue MA = no trend / ranging market
Entry Signals :
• Green triangle = trend strength crossed above +Threshold → potential bullish entry
• Red triangle = trend strength crossed below -Threshold → potential bearish entry
█ Settings
Entry Threshold : Level at which the trend strength triggers entry signals (default: 60)
Process Noise 1 & 2 : Control the filter’s responsiveness to recent price action. Higher = more reactive; lower = smoother.
Measurement Noise : Sets how much the filter "trusts" price data. High = smoother MA, low = faster response but more noise.
Trend Lookback (N2) : Number of bars used to normalize trend strength. Lower = more sensitive; higher = more stable.
Trend Smoothness (R2) : WMA smoothing applied to the trend strength calculation.
█ Visual Guide
Green MA Line → Bullish trend
Red MA Line → Bearish trend
Blue MA Line → Sideways/range
Green Triangle → Entry signal (trend strengthening)
Red Triangle → Entry signal (trend weakening)
█ Best Practices
In high-volatility conditions, increase Measurement Noise to reduce false signals.
Combine with other indicators (e.g., RSI, MACD, EMA) for confirmation and filtering.
Adjust "Entry Threshold" and noise settings depending on your timeframe and trading style.
❗ Disclaimer
This script is provided for educational purposes only and should not be considered financial advice or a recommendation to buy/sell any asset.
Trading involves risk. Past performance does not guarantee future results.
Always perform your own analysis and use proper risk management when trading.
ZigZag Levels (Polytrends Method)Overview
This is a comprehensive technical analysis indicator that identifies price trends, support/resistance levels, and containment patterns on trading charts. It uses advanced zigzag analysis to detect trend reversals and automatically draws key levels that traders can use for decision-making.
Key Features
Trend Analysis
Zigzag Pattern Detection: Automatically identifies significant highs and lows to create a clean trend visualization
Multi-Timeframe Support: Analyze trends from any timeframe while viewing on your preferred chart timeframe
Trend Direction Alerts: Real-time notifications when trend direction changes
Support & Resistance Levels
Automatic Level Detection: Identifies key horizontal support and resistance levels based on historical price action
Smart Level Filtering: Option to show only the most relevant levels to avoid chart clutter
Customizable Level Count: Control how many support and resistance levels are displayed
Containment Analysis
Range-Bound Detection: Highlights when price is trading within defined boundaries
Visual Containment Alerts: Color-coded system to show when price breaks out of or remains within established ranges
How to Use
Getting Started
Add the Indicator: Apply Polytrends Free to your chart from the indicators menu
Configure Basic Settings: Start with the main toggle switches to enable the features you want
Customize Appearance: Adjust colors, line styles, and sizes to match your chart preferences
Essential Settings
Trend Display
Display Trend: Master toggle to show/hide all trend analysis elements
Target Time Frame: Select which timeframe to use for trend analysis (leave blank for chart timeframe)
Containment: Enable to highlight when price is contained within previous ranges
Level Settings
Enable Levels: Master toggle for support/resistance level display
Above/Below: Set how many resistance levels (above price) and support levels (below price) to show
Filter Levels: When enabled, shows only the most significant levels without intermediary ones
Max Levels: Maximum number of levels the indicator will track (reduce if experiencing performance issues)
Understanding the Visual Elements
Trend Lines
Yellow Lines: Current active trend connections
Red Lines: Contained price action (when containment is enabled)
Dotted Lines: Most recent trend segment
Support & Resistance Levels
Horizontal Lines: Key price levels where price has previously reacted
Price Labels: Exact price values displayed on the right side of levels (when enabled)
Timeframe Labels: Shows which timeframe generated each level (when enabled)
Advanced Configuration
Visual Customization
Line Styles: Choose between solid, dashed, or dotted lines for trends and levels
Line Width: Adjust thickness from 1-50 pixels
Colors: Customize colors for different trend states and level types
Label Sizes: Set font size for price and timeframe labels
Performance Optimization
Relevance Factor: Controls how far back the indicator looks for levels (higher values = more historical data)
Max Levels: Limit the total number of levels tracked to improve performance
Price Offset: Adjust horizontal position of price labels
Practical Applications
For Day Traders
Use lower timeframes (15m, 1H) for intraday support/resistance levels
Enable containment detection to identify breakout opportunities
Set alerts for trend direction changes
For Swing Traders
Analyze daily or 4-hour timeframes for major trend direction
Focus on key support/resistance levels for entry and exit points
Use level filtering to see only the most significant price levels
For Position Traders
Use weekly or monthly timeframes for long-term trend analysis
Identify major support/resistance zones for portfolio allocation decisions
Monitor containment patterns for market structure changes
Alert System
The indicator provides three types of alerts:
Direction Changed: Triggers when trend direction changes (either bullish to bearish or vice versa)
Bullish Direction: Specifically triggers when trend changes from bearish to bullish
Bearish Direction: Specifically triggers when trend changes from bullish to bearish
To set up alerts, use TradingView's alert system and select the appropriate Polytrends alert condition.
Best Practices
Setup Recommendations
Start with default settings and gradually customize based on your trading style
Use higher timeframes for trend direction and lower timeframes for precise entries
Enable containment analysis during ranging markets
Reduce max levels if chart becomes cluttered
Interpretation Tips
Treat support/resistance levels as zones rather than exact prices
Look for confluence between multiple timeframe levels
Use containment patterns to identify potential breakout setups
Confirm trend changes with other technical indicators
Troubleshooting
Performance Issues
Reduce the "Max Levels" setting
Lower the "Relevance Factor"
Disable features you're not actively using
Too Many/Few Levels
Adjust "Above" and "Below" settings to control level quantity
Use "Filter Levels" to show only the most significant levels
Modify "Relevance Factor" to change how far back the indicator looks
Visual Clarity
Adjust line width and colors for better visibility
Use different line styles to distinguish between trend types
Modify label sizes based on your screen resolution
Limitations
The indicator works best on liquid markets with clear trend patterns
Very choppy or low-volume markets may produce less reliable signals
Performance may be affected on lower-end devices with very high "Max Levels" settings
Historical levels are based on past price action and don't predict future movements
Nova SMC Key TimesThe Nova SMC Key Times is a focused TradingView® indicator tailored for futures traders who want clear visual markers at key session transitions. Designed with simplicity in mind, it automatically plots two dashed vertical lines each trading day to highlight the pre-market and official market-open times (adjusted for Micro E-mini S&P 500 and Micro Gold contracts).
Pre-Market Marker: A semi-transparent white dashed line drawn at the start of pre-market activity, helping you observe early liquidity movements and potential order accumulation.
Market-Open Marker: A fully opaque white dashed line at the exact opening bar of the main session, providing a clear reference for breakout attempts and volatility spikes.
Because LSF detects the appropriate timestamps based on the loaded symbol (MES1! or MGC1!), you never need to manually set session times. If applied to other symbols, it remains silent, ensuring that charts stay uncluttered.
You can easily customize line colors to match your visual preferences under the provided style settings. By visually framing these two critical moments each day, Nova LSF helps traders anticipate stop hunts, breakout retests, and initial momentum moves—making it a useful complement to any liquidity-oriented or order-flow strategy.
CISD Levels by HAZEDCISD Levels by HAZED - Advanced Market Structure Analysis
📊 Overview
The CISD Levels indicator is a sophisticated market structure analysis tool that automatically identifies and plots critical support and resistance levels based on Change in State Direction (CISD) methodology. This indicator helps traders visualize key market turning points and potential breakout/breakdown levels with precision.
🎯 What are CISD Levels?
CISD (Change in State Direction) levels represent significant price points where market sentiment shifts from bullish to bearish or vice versa. These levels are dynamically calculated based on:
Market structure breaks (higher highs/lower lows)
Pullback patterns and trend continuations
Real-time price action analysis
Dynamic level updates as market conditions evolve
✨ Key Features
🔥 Smart Level Detection
Automatically identifies bullish (+CISD) and bearish (-CISD) levels
Real-time updates as market structure evolves
Intelligent pullback detection algorithm
🎨 Full Customization
Colors: Customize bullish/bearish level colors
Line Styles: Choose from solid, dotted, or dashed lines
Text Labels: Fully customizable text, size, and font options
Transparency: Adjustable line transparency (0-100%)
Extensions: Control how far lines extend into the future
📈 Historical Analysis
Show All Levels: Option to display historical CISD levels
Max Levels Control: Limit the number of historical levels shown (1-50)
Level Management: Automatic cleanup of old levels
🚨 Smart Alerts
Bullish Alerts: Get notified when price breaks above +CISD levels
Bearish Alerts: Get notified when price breaks below -CISD levels
Alert Frequency: Choose between "Once Per Bar" or "Once Per Bar Close"
📊 Statistics Table
Market State: Current bullish/bearish market condition
Active Levels: Count of currently active CISD levels
Latest Levels: Display of most recent +CISD and -CISD values
Positioning: 5 different table positions available
🛠️ How to Use
For Swing Traders:
Use CISD levels as key support/resistance zones
Enter positions on level breaks with proper risk management
Set stop losses below/above opposite CISD levels
For Day Traders:
Watch for price reactions at CISD levels
Use levels for entry/exit timing
Combine with volume analysis for confirmation
For Position Traders:
Identify major market structure changes
Use higher timeframe CISD levels for strategic entries
Monitor level breaks for trend continuation signals
⚙️ Settings Guide
CISD Level Settings
Bullish/Bearish Colors: Customize level appearance
Custom Text: Add your own labels to levels
Alert Setup: Enable notifications for level breaks
Historical Levels: Choose to show past levels for context
Appearance Customization
Line Width: 1-5 pixel thickness options
Line Style: Solid, dotted, or dashed
Extension Bars: Control future projection (1-50 bars)
Text Options: Size, font, and bold formatting
Statistics Table
Enable/Disable: Toggle table visibility
Position: 5 placement options on chart
Real-time Data: Live market state and level information
🎯 Best Practices
Multi-Timeframe Analysis: Use CISD levels across different timeframes for confluence
Risk Management: Always use proper position sizing and stop losses
Confirmation: Combine with volume, momentum, or other indicators
Market Context: Consider overall market conditions and news events
Backtesting: Test the levels on historical data before live trading
📋 Technical Specifications
Overlay: True (plots directly on price chart)
Max Lines: 500 (handles multiple historical levels)
Max Labels: 500 (supports extensive labeling)
Real-time Updates: Dynamic level calculation and alerts
Performance: Optimized code for smooth chart operation
🚀 Why Choose CISD Levels?
Precision: Advanced algorithm for accurate level identification
Flexibility: Extensive customization options for any trading style
Reliability: Proven market structure analysis methodology
User-Friendly: Intuitive settings with helpful tooltips
Professional: Clean, professional appearance on any chart
📞 Support & Updates
This indicator is actively maintained and updated. For questions, suggestions, or feature requests, feel free to reach out through TradingView messaging.
⚠️ Disclaimer: This indicator is for educational and informational purposes only. Always conduct your own analysis and risk management. Past performance does not guarantee future results.
OA - SMESSmart Money Entry Signals (SMES)
The SMES indicator is developed to identify potential turning points in market behavior by analyzing internal price dynamics, rather than relying on external volume or sentiment data. It leverages normalized price movement, directional volatility, and smoothing algorithms to detect potential areas of accumulation or distribution by market participants.
Core Concepts
Smart Money Flow calculation based on normalized price positioning
Directional VHF (Vertical Horizontal Filter) used to enhance signal directionality
Overbought and Oversold regions defined with optional glow visualization
Entry and Exit signals based on dynamic crossovers
Highly customizable input parameters for precision control
Key Inputs
Smart Money Flow Period
Smoothing Period
Price Analysis Length
Fibonacci Lookback Length
Visual toggle options (zones, glow effects, signal display)
Usage
This tool plots the smoothed smart money flow as a standalone oscillator, designed to help traders identify potential momentum shifts or extremes in market sentiment. Entry signals are generated through crossover logic, while optional filters based on price behavior can refine those signals. Exit signals are shown when the smart money line exits extreme regions.
Important Notes
This indicator does not repaint
Works on all timeframes and instruments
Best used as a confirmation tool with other technical frameworks
All calculations are based strictly on price data
Disclaimer
This script is intended for educational purposes only. It does not provide financial advice or guarantee performance. Please do your own research and apply appropriate risk management before making any trading decisions.
Kaufman Trend Strategy# ✅ Kaufman Trend Strategy – Full Description (Script Publishing Version)
**Kaufman Trend Strategy** is a dynamic trend-following strategy based on Kaufman Filter theory.
It detects real-time trend momentum, reduces noise, and aims to enhance entry accuracy while optimizing risk.
⚠️ _For educational and research purposes only. Past performance does not guarantee future results._
---
## 🎯 Strategy Objective
- Smooth price noise using Kaufman Filter smoothing
- Detect the strength and direction of trends with a normalized oscillator
- Manage profits using multi-stage take-profits and adaptive ATR stop-loss logic
---
## ✨ Key Features
- **Kaufman Filter Trend Detection**
Extracts directional signal using a state space model.
- **Multi-Stage Profit-Taking**
Automatically takes partial profits based on color changes and zero-cross events.
- **ATR-Based Volatility Stops**
Stops adjust based on swing highs/lows and current market volatility.
---
## 📊 Entry & Exit Logic
**Long Entry**
- `trend_strength ≥ 60`
- Green trend signal
- Price above the Kaufman average
**Short Entry**
- `trend_strength ≤ -60`
- Red trend signal
- Price below the Kaufman average
**Exit (Long/Short)**
- Blue trend color → TP1 (50%)
- Oscillator crosses 0 → TP2 (25%)
- Trend weakens → Final exit (25%)
- ATR + swing-based stop loss
---
## 💰 Risk Management
- Initial capital: `$3,000`
- Order size: `$100` per trade (realistic, low-risk sizing)
- Commission: `0.002%`
- Slippage: `2 ticks`
- Pyramiding: `1` max position
- Estimated risk/trade: `~0.1–0.5%` of equity
> ⚠️ _No trade risks more than 5% of equity. This strategy follows TradingView script publishing rules._
---
## ⚙️ Default Parameters
- **1st Take Profit**: 50%
- **2nd Take Profit**: 25%
- **Final Exit**: 25%
- **ATR Period**: 14
- **Swing Lookback**: 10
- **Entry Threshold**: ±60
- **Exit Threshold**: ±40
---
## 📅 Backtest Summary
- **Symbol**: USD/JPY
- **Timeframe**: 1H
- **Date Range**: Jan 3, 2022 – Jun 4, 2025
- **Trades**: 924
- **Win Rate**: 41.67%
- **Profit Factor**: 1.108
- **Net Profit**: +$1,659.29 (+54.56%)
- **Max Drawdown**: -$1,419.73 (-31.87%)
---
## ✅ Summary
This strategy uses Kaufman filtering to detect market direction with reduced lag and increased smoothness.
It’s built with visual clarity and strong trade management, making it practical for both beginners and advanced users.
---
## 📌 Disclaimer
This script is for educational and informational purposes only and should not be considered financial advice.
Use with proper risk controls and always test in a demo environment before live trading.
Curved Trend Channels (Zeiierman)█ Overview
Curved Trend Channels (Zeiierman) is a next-generation trend visualization tool engineered to adapt dynamically to both linear and non-linear market behavior. It introduces a novel curvature-based channeling system that grows over time during trending conditions, mirroring the natural acceleration of price trends, while simultaneously leveraging adaptive range filtering and dual-layer candle trend logic.
This tool is ideal for traders seeking smooth yet reactive dynamic channels that evolve with market structure. Whether used in curved mode or traditional slope mode, it provides exceptional clarity on trend transitions, volatility compression, and breakout development.
█ How It Works
⚪ Adaptive Range Filter Foundation
The core of the system is a volatility-based range filter that determines the underlying structure of the bands:
Pre-Smoothing of High/Low Data – Highs and lows are smoothed using a selectable moving average (SMA, EMA, HMA, KAMA, etc.) before calculating the volatility range.
Volatility Envelope – The range is scaled using a fixed factor (2.618) and further adjusted by a Band Multiplier to form the primary envelope around price.
Smoothed Volatility Curve – Final bands are stabilized using a long lookback, ensuring clean visual structure and trend clarity.
⚪ Curved Channel Logic
In Curved Mode, the trend channel grows over time when the trend direction remains unchanged:
Base Step Size (× ATR) – Sets the minimum unit of slope change.
Growth per Bar (× ATR) – Defines the acceleration rate of the channel slope with time.
Trend Persistence Recognition – The longer a trend persists, the more pronounced the slope becomes, mimicking real market accelerations.
This dynamic, time-dependent logic enables the channel to "curve" upward or downward, tracking long-standing trends with increasing confidence.
⚪ Trend Slope
As an alternative to curved logic, traders can activate a regular Trend slope using:
Slope Length – Determines how quickly the trend line adapts to price shifts.
Multiplicative Factor – Amplifies the sensitivity of the slope, useful in fast-moving markets or lower timeframes.
⚪ Candle Trend Confirmation
A robust second-layer trend detection method, the Candle Trend System evaluates directional pressure by analyzing smoothed price action:
Multi-tier Smoothing – Trend lines are derived from short-, medium-, and long-term candle movement.
█ How to Use
⚪ Trend Identification
When the Trend Line direction and Candle Colors are in agreement, this indicates strong, persistent directional conviction. Use these moments to enter with trend confirmation and manage risk more confidently.
⚪ Retest
During ongoing trends, the price will often pull back into the dynamic channel. Look for:
Support/resistance interactions at the upper or lower bands.
█ Settings
Scaled Volatility Length – Controls the historical depth used to stabilize the volatility bands.
Smoothing Type – Choose from HMA, KAMA, VIDYA, FRAMA, Super Smoother, etc. to match your asset and trading style.
Volatility MA Length – Smoothing length for the calculated range; shorter = more reactive.
High/Low Smoother Length – Additional smoothing to reduce noise from spikes or false pivots.
Band Multiplier – Widens or tightens the band range based on personal preference.
Enable Curved Channel – Toggle between curved or regular trend slope behavior.
Base Step (× ATR) – The starting point for curved slope progression.
Growth per Bar (× ATR) – How much the slope accelerates per bar during a sustained trend.
Slope – Reactivity of the standard trend line to price movements.
Multiplicative Factor – Sensitivity adjustment for HyperTrend slope.
Candle Trend Length – Lookback period for trend determination from candle structure.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Median Shifting Band Oscillator | QuantMAC📊 Median Shifting Band Oscillator | QuantMAC
🚀 Revolutionary Trend Analysis with Integrated Performance Metrics
The Median Shifting Band Oscillator (MSBO) is a sophisticated technical analysis tool that combines dynamic median-based band calculations with a powerful oscillator to deliver precise trend identification across all market conditions and asset classes.
🎯 Core Features & Functionality
📈 Advanced Median Band Technology
Dynamic median calculation using customizable lookback periods (default 54 bars)
Adaptive standard deviation bands that adjust to market volatility
Real-time band positioning with visual overlay on price charts
Intelligent band fill visualization for enhanced trend clarity
⚡Precision Oscillator System
Normalized oscillator ranging from -50 to +50 for consistent readings
Customizable threshold levels for long (80) and short (54) signals
Multi-timeframe compatibility with real-time signal generation
Color-coded visualization with 9 professional color schemes
📊 Integrated Performance Dashboard
Real-time metrics calculation with professional statistics
Comprehensive risk metrics: Sharpe, Sortino, Omega ratios
Advanced position sizing with Half Kelly percentage
Maximum drawdown tracking and profit factor analysis
Customizable metrics table positioning (6 locations available)
🛠️ Trading Modes & Flexibility
🎭 Dual Trading Strategies
Long/Short Mode: Full bidirectional trading with short positions
Long/Cash Mode: Conservative approach with cash positions during bearish signals
🎨 Visual Customization
9 professional color schemes (Classic through Classic9)
Configurable date range limiter for backtesting
Force overlay plots for seamless chart integration
Dynamic bar coloring based on trend direction
📈 Performance Metrics Suite
The MSBO includes a comprehensive metrics table displaying:
Risk Analysis: Maximum Drawdown %, Sharpe Ratio, Sortino Ratio
Performance Metrics: Net Profit %, Profit Factor, Win Rate %
Advanced Statistics: Omega Ratio, Half Kelly %, Total Trades
Real-time Updates: Live calculation with every bar confirmation
🌍 Universal Asset Compatibility
✅ Cryptocurrencies - Bitcoin, altcoins, and DeFi tokens
✅ Stock Markets - Individual stocks, ETFs, and indices
🎯 Key Advantages
🔄 Adaptive Intelligence
The median-based approach provides superior noise filtering compared to traditional moving averages, automatically adjusting to changing market volatility patterns.
⚡ Real-time Precision
Advanced signal generation with customizable thresholds ensures optimal entry and exit timing while minimizing false signals.
📊 Professional Analytics
Built-in performance tracking eliminates the need for external backtesting tools, providing instant strategy validation and optimization insights.
🎨 User Experience
Intuitive interface with professional-grade customization options suitable for both retail traders and institutional analysts.
🚀 Getting Started
Add the indicator to your chart
Configure your preferred color scheme and trading mode
Adjust threshold levels based on your risk tolerance
Enable the metrics table for performance tracking
Set date range for historical analysis (optional)
💡 Pro Tips
Trend Confirmation: Use oscillator position relative to zero line for primary trend bias
Signal Quality: Higher threshold values reduce signal frequency but increase accuracy
Multi-Timeframe: Combine with higher timeframe analysis for enhanced precision
Risk Management: Monitor Half Kelly % for optimal position sizing guidance
---
🏆 Professional-Grade Tool for Serious Traders
The Median Shifting Band Oscillator represents the evolution of technical analysis, combining time-tested statistical methods with modern computational power to deliver actionable trading insights across all market conditions.
💬 Questions? Comments? Share your them below! 👇
---
📝 Disclaimer: This indicator is for educational and informational purposes only. Past performance does not guarantee future results. Always conduct your own analysis and manage risk appropriately.
CNN Statistical Trading System [PhenLabs]📌 DESCRIPTION
An advanced pattern recognition system utilizing Convolutional Neural Network (CNN) principles to identify statistically significant market patterns and generate high-probability trading signals.
CNN Statistical Trading System transforms traditional technical analysis by applying machine learning concepts directly to price action. Through six specialized convolution kernels, it detects momentum shifts, reversal patterns, consolidation phases, and breakout setups simultaneously. The system combines these pattern detections using adaptive weighting based on market volatility and trend strength, creating a sophisticated composite score that provides both directional bias and signal confidence on a normalized -1 to +1 scale.
🚀 CONCEPTS
• Built on Convolutional Neural Network pattern recognition methodology adapted for financial markets
• Six specialized kernels detect distinct price patterns: upward/downward momentum, peak/trough formations, consolidation, and breakout setups
• Activation functions create non-linear responses with tanh-like behavior, mimicking neural network layers
• Adaptive weighting system adjusts pattern importance based on current market regime (volatility < 2% and trend strength)
• Multi-confirmation signals require CNN threshold breach (±0.65), RSI boundaries, and volume confirmation above 120% of 20-period average
🔧 FEATURES
Six-Kernel Pattern Detection:
Simultaneous analysis of upward momentum, downward momentum, peak/resistance, trough/support, consolidation, and breakout patterns using mathematically optimized convolution kernels.
Adaptive Neural Architecture:
Dynamic weight adjustment based on market volatility (ATR/Price) and trend strength (EMA differential), ensuring optimal performance across different market conditions.
Professional Visual Themes:
Four sophisticated color palettes (Professional, Ocean, Sunset, Monochrome) with cohesive design language. Default Monochrome theme provides clean, distraction-free analysis.
Confidence Band System:
Upper and lower confidence zones at 150% of threshold values (±0.975) help identify high-probability signal areas and potential exhaustion zones.
Real-Time Information Panel:
Live display of CNN score, market state with emoji indicators, net momentum, confidence percentage, and RSI confirmation with dynamic color coding based on signal strength.
Individual Feature Analysis:
Optional display of all six kernel outputs with distinct visual styles (step lines, circles, crosses, area fills) for advanced pattern component analysis.
User Guide
• Monitor CNN Score crossing above +0.65 for long signals or below -0.65 for short signals with volume confirmation
• Use confidence bands to identify optimal entry zones - signals within confidence bands carry higher probability
• Background intensity reflects signal strength - darker backgrounds indicate stronger conviction
• Enter long positions when blue circles appear above oscillator with RSI < 75 and volume > 120% average
• Enter short positions when dark circles appear below oscillator with RSI > 25 and volume confirmation
• Information panel provides real-time confidence percentage and momentum direction for position sizing decisions
• Individual feature plots allow granular analysis of specific pattern components for strategy refinement
💡Conclusion
CNN Statistical Trading System represents the evolution of technical analysis, combining institutional-grade pattern recognition with retail accessibility. The six-kernel architecture provides comprehensive market pattern coverage while adaptive weighting ensures relevance across all market conditions. Whether you’re seeking systematic entry signals or advanced pattern confirmation, this indicator delivers mathematically rigorous analysis with intuitive visual presentation.
IU Pivot Zones + GMADESCRIPTION:
IU Pivot Zones + GMA is a smart price-action-based indicator that detects meaningful support and resistance zones formed through pivot highs/lows while combining them with dynamic zone generation and Geometric Moving Averages (GMA). This tool is built to help traders visualize institutional breakout/rejection zones with clear, logical mapping and live box management — helping you stay ahead of the move.
The indicator is designed for intraday, swing, and positional traders who want to enhance their trading decisions with visual confluence zones and market structure logic.
USER INPUTS
* Pivot point Lengths: Number of bars used to detect pivot highs/lows
* Zone length: Controls the thickness of the support/resistance zone; higher values create wider zones
* GMA Length: Period for calculating the geometric moving averages based on highs and lows
* Allow Bar/candle Color: Enables or disables special candle coloring when price interacts with the zones
LOGIC OF THE INDICATOR:
* Detects pivot highs and pivot lows using the user-defined length
* Compares consecutive pivot levels to determine if they fall within a valid ATR-based price band to form a zone
* If confirmed, the indicator dynamically plots a resistance or support box between those pivot points, colored respectively (red for resistance, green for support)
* The boxes update in real-time based on price action. If price respects the zone, the box extends forward. If price breaks the zone, the box disappears
* Geometric Moving Averages (GMA) based on logarithmic mean of highs and lows are plotted to offer a trend bias
* Candles that touch the top of the support zone are colored yellow, and those touching the bottom of the resistance zone are orange, enhancing zone reaction visibility
WHY IT IS UNIQUE:
* Uses logarithmic-based GMAs, which are smoother and less reactive than traditional moving averages
* ATR-based zone logic makes it adaptive to volatility instead of using fixed-width zones
* Combines structural levels (pivots), volatility filters (ATR), and trend overlays (GMA) in one unified tool
* Real-time zone extension and disappearance logic based on price interaction
HOW USER CAN BENEFIT FROM IT:
* Spot high-probability breakout or reversal zones that price respects consistently
* Use the GMA cloud for trend confirmation — for example, bullish bias when price is above both GMAs
* Build price action strategies around zone touches, breakouts, or rejections
* Use color-coded candles as real-time alerts for potential entry/exit signals near S/R levels
* Save time by avoiding manual marking of zones on charts across timeframes
DISCLAIMER:
This indicator is created for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any asset. All trading involves risk, and users should conduct their own analysis or consult with a qualified financial advisor before making any trading decisions. The creator is not responsible for any losses incurred through the use of this tool. Use at your own discretion.