M-oscillator
Algorithm Predator - ProAlgorithm Predator - Pro: Advanced Multi-Agent Reinforcement Learning Trading System
Algorithm Predator - Pro combines four specialized market microstructure agents with a state-of-the-art reinforcement learning framework . Unlike traditional indicator mashups, this system implements genuine machine learning to automatically discover which detection strategies work best in current market conditions and adapts continuously without manual intervention.
Core Innovation: Rather than forcing traders to interpret conflicting signals, this system uses 15 different multi-armed bandit algorithms and a full reinforcement learning stack (Q-Learning, TD(λ) with eligibility traces, and Policy Gradient with REINFORCE) to learn optimal agent selection policies. The result is a self-improving system that gets smarter with every trade.
Target Users: Swing traders, day traders, and algorithmic traders seeking systematic signal generation with mathematical rigor. Suitable for stocks, forex, crypto, and futures on liquid instruments (>100k daily volume).
Why These Components Are Combined
The Fundamental Problem
No single indicator works consistently across all market regimes. What works in trending markets fails in ranging conditions. Traditional solutions force traders to manually switch indicators (slow, error-prone) or interpret all signals simultaneously (cognitive overload).
This system solves the problem through automated meta-learning: Deploy multiple specialized agents designed for specific market microstructure conditions, then use reinforcement learning to discover which agent (or combination) performs best in real-time.
Why These Specific Four Agents?
The four agents provide orthogonal failure mode coverage —each agent's weakness is another's strength:
Spoofing Detector - Optimal in consolidation/manipulation; fails in trending markets (hedged by Exhaustion Detector)
Exhaustion Detector - Optimal at trend climax; fails in range-bound markets (hedged by Liquidity Void)
Liquidity Void - Optimal pre-breakout compression; fails in established trends (hedged by Mean Reversion)
Mean Reversion - Optimal in low volatility; fails in strong trends (hedged by Spoofing Detector)
This creates complete market state coverage where at least one agent should perform well in any condition. The bandit system identifies which one without human intervention.
Why Reinforcement Learning vs. Simple Voting?
Traditional consensus systems have fatal flaws: equal weighting assumes all agents are equally reliable (false), static thresholds don't adapt, and no learning means past mistakes repeat indefinitely.
Reinforcement learning solves this through the exploration-exploitation tradeoff: Continuously test underused agents (exploration) while primarily relying on proven winners (exploitation). Over time, the system builds a probability distribution over agent quality reflecting actual market performance.
Mathematical Foundation: Multi-armed bandit problem from probability theory, where each agent is an "arm" with unknown reward distribution. The goal is to maximize cumulative reward while efficiently learning each arm's true quality.
The Four Trading Agents: Technical Explanation
Agent 1: 🎭 Spoofing Detector (Institutional Manipulation Detection)
Theoretical Basis: Market microstructure theory on order flow toxicity and information asymmetry. Based on research by Easley, López de Prado, and O'Hara on high-frequency trading manipulation.
What It Detects:
1. Iceberg Orders (Hidden Liquidity Absorption)
Method: Monitors volume spikes (>2.5× 20-period average) with minimal price movement (<0.3× ATR)
Formula: score += (close > open ? -2.5 : 2.5) when volume > vol_avg × 2.5 AND abs(close - open) / ATR < 0.3
Interpretation: Large volume without price movement indicates institutional absorption (buying) or distribution (selling) using hidden orders
Signal Logic: Contrarian—fade false breakouts caused by institutional manipulation
2. Spoofing Patterns (Fake Liquidity via Layering)
Method: Analyzes candlestick wick-to-body ratios during volume spikes
Formula: if upper_wick > body × 2 AND volume_spike: score += 2.0
Mechanism: Spoofing creates large wicks (orders pulled before execution) with volume evidence
Signal Logic: Wick direction indicates trapped participants; trade against the failed move
3. Post-Manipulation Reversals
Method: Tracks volume decay after manipulation events
Formula: if volume > vol_avg × 3 AND volume / volume < 0.3: score += (close > open ? -1.5 : 1.5)
Interpretation: Sharp volume drop after manipulation indicates exhaustion of manipulative orders
Why It Works: Institutional manipulation creates detectable microstructure anomalies. While retail traders see "mysterious reversals," this agent quantifies the order flow patterns causing them.
Parameter: i_spoof (sensitivity 0.5-2.0) - Controls detection threshold
Best Markets: Consolidations before breakouts, London/NY overlap windows, stocks with institutional ownership >70%
Agent 2: ⚡ Exhaustion Detector (Momentum Failure Analysis)
Theoretical Basis: Technical analysis divergence theory combined with VPIN reversals from market microstructure literature.
What It Detects:
1. Price-RSI Divergence (Momentum Deceleration)
Method: Compares 5-bar price ROC against RSI change
Formula: if price_roc > 5% AND rsi_current < rsi : score += 1.8
Mathematics: Second derivative detecting inflection points
Signal Logic: When price makes higher highs but momentum makes lower highs, expect mean reversion
2. Volume Exhaustion (Buying/Selling Climax)
Method: Identifies strong price moves (>5% ROC) with declining volume (<-20% volume ROC)
Formula: if price_roc > 5 AND vol_roc < -20: score += 2.5
Interpretation: Price extension without volume support indicates retail chasing while institutions exit
3. Momentum Deceleration (Acceleration Analysis)
Method: Compares recent 3-bar momentum to prior 3-bar momentum
Formula: deceleration = abs(mom1) < abs(mom2) × 0.5 where momentum significant (> ATR)
Signal Logic: When rate of price change decelerates significantly, anticipate directional shift
Why It Works: Momentum is lagging, but momentum divergence is leading. By comparing momentum's rate of change to price, this agent detects "weakening conviction" before reversals become obvious.
Parameter: i_momentum (sensitivity 0.5-2.0)
Best Markets: Strong trends reaching climax, parabolic moves, instruments with high retail participation
Agent 3: 💧 Liquidity Void Detector (Breakout Anticipation)
Theoretical Basis: Market liquidity theory and order book dynamics. Based on research into "liquidity holes" and volatility compression preceding expansion.
What It Detects:
1. Bollinger Band Squeeze (Volatility Compression)
Method: Monitors Bollinger Band width relative to 50-period average
Formula: bb_width = (upper_band - lower_band) / middle_band; triggers when < 0.6× average
Mathematical Foundation: Regression to the mean—low volatility precedes high volatility
Signal Logic: When volatility compresses AND cumulative delta shows directional bias, anticipate breakout
2. Volume Profile Gaps (Thin Liquidity Zones)
Method: Identifies sharp volume transitions indicating few limit orders
Formula: if volume < vol_avg × 0.5 AND volume < vol_avg × 0.5 AND volume > vol_avg × 1.5
Interpretation: Sudden volume drop after spike indicates price moved through order book to low-opposition area
Signal Logic: Price accelerates through low-liquidity zones
3. Stop Hunts (Liquidity Grabs Before Reversals)
Method: Detects new 20-bar highs/lows with immediate reversal and rejection wick
Formula: if new_high AND close < high - (high - low) × 0.6: score += 3.0
Mechanism: Market makers push price to trigger stop-loss clusters, then reverse
Signal Logic: Enter reversal after stop-hunt completes
Why It Works: Order book theory shows price moves fastest through zones with minimal liquidity. By identifying these zones before major moves, this agent provides early entry for high-reward breakouts.
Parameter: i_liquidity (sensitivity 0.5-2.0)
Best Markets: Range-bound pre-breakout setups, volatility compression zones, instruments prone to gap moves
Agent 4: 📊 Mean Reversion (Statistical Arbitrage Engine)
Theoretical Basis: Statistical arbitrage theory, Ornstein-Uhlenbeck mean-reverting processes, and pairs trading methodology applied to single instruments.
What It Detects:
1. Z-Score Extremes (Standard Deviation Analysis)
Method: Calculates price distance from 20-period and 50-period SMAs in standard deviation units
Formula: zscore_20 = (close - SMA20) / StdDev(50)
Statistical Interpretation: Z-score >2.0 means price is 2 standard deviations above mean (97.5th percentile)
Trigger Logic: if abs(zscore_20) > 2.0: score += zscore_20 > 0 ? -1.5 : 1.5 (fade extremes)
2. Ornstein-Uhlenbeck Process (Mean-Reverting Stochastic Model)
Method: Models price as mean-reverting stochastic process: dx = θ(μ - x)dt + σdW
Implementation: Calculates spread = close - SMA20, then z-score of spread vs. spread distribution
Formula: ou_signal = (spread - spread_mean) / spread_std
Interpretation: Measures "tension" pulling price back to equilibrium
3. Correlation Breakdown (Regime Change Detection)
Method: Compares 50-period price-volume correlation to 10-period correlation
Formula: corr_breakdown = abs(typical_corr - recent_corr) > 0.5
Enhancement: if corr_breakdown AND abs(zscore_20) > 1.0: score += zscore_20 > 0 ? -1.2 : 1.2
Why It Works: Mean reversion is the oldest quantitative strategy (1970s pairs trading at Morgan Stanley). While simple, it remains effective because markets exhibit periodic equilibrium-seeking behavior. This agent applies rigorous statistical testing to identify when mean reversion probability is highest.
Parameter: i_statarb (sensitivity 0.5-2.0)
Best Markets: Range-bound instruments, low-volatility periods (VIX <15), algo-dominated markets (forex majors, index futures)
Multi-Armed Bandit System: 15 Algorithms Explained
What Is a Multi-Armed Bandit Problem?
Origin: Named after slot machines ("one-armed bandits"). Imagine facing multiple slot machines, each with unknown payout rates. How do you maximize winnings?
Formal Definition: K arms (agents), each with unknown reward distribution with mean μᵢ. Goal: Maximize cumulative reward over T trials. Challenge: Balance exploration (trying uncertain arms to learn quality) vs. exploitation (using known-best arm for immediate reward).
Trading Application: Each agent is an "arm." After each trade, receive reward (P&L). Must decide which agent to trust for next signal.
Algorithm Categories
Bayesian Approaches (probabilistic, optimal for stationary environments):
Thompson Sampling
Bootstrapped Thompson Sampling
Discounted Thompson Sampling
Frequentist Approaches (confidence intervals, deterministic):
UCB1
UCB1-Tuned
KL-UCB
SW-UCB (Sliding Window)
D-UCB (Discounted)
Adversarial Approaches (robust to non-stationary environments):
EXP3-IX
Hedge
FPL-Gumbel
Reinforcement Learning Approaches (leverage learned state-action values):
Q-Values (from Q-Learning)
Policy Network (from Policy Gradient)
Simple Baseline:
Epsilon-Greedy
Softmax
Key Algorithm Details
Thompson Sampling (DEFAULT - RECOMMENDED)
Theoretical Foundation: Bayesian decision theory with conjugate priors. Published by Thompson (1933), rediscovered for bandits by Chapelle & Li (2011).
How It Works:
Model each agent's reward distribution as Beta(α, β) where α = wins, β = losses
Each step, sample from each agent's beta distribution: θᵢ ~ Beta(αᵢ, βᵢ)
Select agent with highest sample: argmaxᵢ θᵢ
Update winner's distribution after observing outcome
Mathematical Properties:
Optimality: Achieves logarithmic regret O(K log T) (proven optimal)
Bayesian: Maintains probability distribution over true arm means
Automatic Balance: High uncertainty → more exploration; high certainty → exploitation
⚠️ CRITICAL APPROXIMATION: This is a pseudo-random approximation of true Thompson Sampling. True implementation requires random number generation from beta distributions, which Pine Script doesn't provide. This version uses Box-Muller transform with market data (price/volume decimal digits) as entropy source. While not mathematically pure, it maintains core exploration-exploitation balance and learns agent preferences effectively.
When To Use: Best all-around choice. Handles non-stationary markets reasonably well, balances exploration naturally, highly sample-efficient.
UCB1 (Upper Confidence Bound)
Formula: UCB_i = reward_mean_i + sqrt(2 × ln(total_pulls) / pulls_i)
Interpretation: First term (exploitation) + second term (exploration bonus for less-tested arms)
Mathematical Properties:
Deterministic : Always selects same arm given same state
Regret Bound: O(K log T) — same optimality as Thompson Sampling
Interpretable: Can visualize confidence intervals
When To Use: Prefer deterministic behavior, want to visualize uncertainty, stable markets
EXP3-IX (Exponential Weights - Adversarial)
Theoretical Foundation: Adversarial bandit algorithm. Assumes environment may be actively hostile (worst-case analysis).
How It Works:
Maintain exponential weights: w_i = exp(η × cumulative_reward_i)
Select agent with probability proportional to weights: p_i = (1-γ)w_i/Σw_j + γ/K
After outcome, update with importance weighting: estimated_reward = observed_reward / p_i
Mathematical Properties:
Adversarial Regret: O(sqrt(TK log K)) even if environment is adversarial
No Assumptions: Doesn't assume stationary or stochastic reward distributions
Robust: Works even when optimal arm changes continuously
When To Use: Extreme non-stationarity, don't trust reward distribution assumptions, want robustness over efficiency
KL-UCB (Kullback-Leibler Upper Confidence Bound)
Theoretical Foundation: Uses KL-divergence instead of Hoeffding bounds. Tighter confidence intervals.
Formula (conceptual): Find largest q such that: n × KL(p||q) ≤ ln(t) + 3×ln(ln(t))
Mathematical Properties:
Tighter Bounds: KL-divergence adapts to reward distribution shape
Asymptotically Optimal: Better constant factors than UCB1
Computationally Intensive: Requires iterative binary search (15 iterations)
When To Use: Maximum sample efficiency needed, willing to pay computational cost, long-term trading (>500 bars)
Q-Values & Policy Network (RL-Based Selection)
Unique Feature: Instead of treating agents as black boxes with scalar rewards, these algorithms leverage the full RL state representation .
Q-Values Selection:
Uses learned Q-values: Q(state, agent_i) from Q-Learning
Selects agent via softmax over Q-values for current market state
Advantage: Selects based on state-conditional quality (which agent works best in THIS market state)
Policy Network Selection:
Uses neural network policy: π(agent | state, θ) from Policy Gradient
Direct policy over agents given market features
Advantage: Can learn non-linear relationships between market features and agent quality
When To Use: After 200+ RL updates (Q-Values) or 500+ updates (Policy Network) when models converged
Machine Learning & Reinforcement Learning Stack
Why Both Bandits AND Reinforcement Learning?
Critical Distinction:
Bandits treat agents as contextless black boxes: "Agent 2 has 60% win rate"
Reinforcement Learning adds state context: "Agent 2 has 60% win rate WHEN trend_score > 2 and RSI < 40"
Power of Combination: Bandits provide fast initial learning with minimal assumptions. RL provides state-dependent policies for superior long-term performance.
Component 1: Q-Learning (Value-Based RL)
Algorithm: Temporal Difference Learning with Bellman equation.
State Space: 54 discrete states formed from:
trend_state = {0: bearish, 1: neutral, 2: bullish} (3 values)
volatility_state = {0: low, 1: normal, 2: high} (3 values)
RSI_state = {0: oversold, 1: neutral, 2: overbought} (3 values)
volume_state = {0: low, 1: high} (2 values)
Total states: 3 × 3 × 3 × 2 = 54 states
Action Space: 5 actions (No trade, Agent 1, Agent 2, Agent 3, Agent 4)
Total state-action pairs: 54 × 5 = 270 Q-values
Bellman Equation:
Q(s,a) ← Q(s,a) + α ×
Parameters:
α (learning rate): 0.01-0.50, default 0.10 - Controls step size for updates
γ (discount factor): 0.80-0.99, default 0.95 - Values future rewards
ε (exploration): 0.01-0.30, default 0.10 - Probability of random action
Update Mechanism:
Position opens with state s, action a (selected agent)
Every bar position is open: Calculate floating P&L → scale to reward
Perform online TD update
When position closes: Perform terminal update with final reward
Gradient Clipping: TD errors clipped to ; Q-values clipped to for stability.
Why It Works: Q-Learning learns "quality" of each agent in each market state through trial and error. Over time, builds complete state-action value function enabling optimal state-dependent agent selection.
Component 2: TD(λ) Learning (Temporal Difference with Eligibility Traces)
Enhancement Over Basic Q-Learning: Credit assignment across multiple time steps.
The Problem TD(λ) Solves:
Position opens at t=0
Market moves favorably at t=3
Position closes at t=8
Question: Which earlier decisions contributed to success?
Basic Q-Learning: Only updates Q(s₈, a₈) ← reward
TD(λ): Updates ALL visited state-action pairs with decayed credit
Eligibility Trace Formula:
e(s,a) ← γ × λ × e(s,a) for all s,a (decay all traces)
e(s_current, a_current) ← 1 (reset current trace)
Q(s,a) ← Q(s,a) + α × TD_error × e(s,a) (update all with trace weight)
Lambda Parameter (λ): 0.5-0.99, default 0.90
λ=0: Pure 1-step TD (only immediate next state)
λ=1: Full Monte Carlo (entire episode)
λ=0.9: Balance (recommended)
Why Superior: Dramatically faster learning for multi-step tasks. Q-Learning requires many episodes to propagate rewards backwards; TD(λ) does it in one.
Component 3: Policy Gradient (REINFORCE with Baseline)
Paradigm Shift: Instead of learning value function Q(s,a), directly learn policy π(a|s).
Policy Network Architecture:
Input: 12 market features
Hidden: None (linear policy)
Output: 5 actions (softmax distribution)
Total parameters: 12 features × 5 actions + 5 biases = 65 parameters
Feature Set (12 Features):
Price Z-score (close - SMA20) / ATR
Volume ratio (volume / vol_avg - 1)
RSI deviation (RSI - 50) / 50
Bollinger width ratio
Trend score / 4 (normalized)
VWAP deviation
5-bar price ROC
5-bar volume ROC
Range/ATR ratio - 1
Price-volume correlation (20-period)
Volatility ratio (ATR / ATR_avg - 1)
EMA50 deviation
REINFORCE Update Rule:
θ ← θ + α × ∇log π(a|s) × advantage
where advantage = reward - baseline (variance reduction)
Why Baseline? Raw rewards have high variance. Subtracting baseline (running average) centers rewards around zero, reducing gradient variance by 50-70%.
Learning Rate: 0.001-0.100, default 0.010 (much lower than Q-Learning because policy gradients have high variance)
Why Policy Gradient?
Handles 12 continuous features directly (Q-Learning requires discretization)
Naturally maintains exploration through probability distribution
Can converge to stochastic optimal policy
Component 4: Ensemble Meta-Learner (Stacking)
Architecture: Level-1 meta-learner combines Level-0 base learners (Q-Learning, TD(λ), Policy Gradient).
Three Meta-Learning Algorithms:
1. Simple Average (Baseline)
Final_prediction = (Q_prediction + TD_prediction + Policy_prediction) / 3
2. Weighted Vote (Reward-Based)
weight_i ← 0.95 × weight_i + 0.05 × (reward_i + 1)
3. Adaptive Weighting (Gradient-Based) — RECOMMENDED
Loss Function: L = (y_true - ŷ_ensemble)²
Gradient: ∂L/∂weight_i = -2 × (y_true - ŷ_ensemble) × agent_contribution_i
Updates weights via gradient descent with clipping and normalization
Why It Works: Unlike simple averaging, meta-learner discovers which base learner is most reliable in current regime. If Policy Gradient excels in trending markets while Q-Learning excels in ranging, meta-learner learns these patterns and weights accordingly.
Feature Importance Tracking
Purpose: Identify which of 12 features contribute most to successful predictions.
Update Rule: importance_i ← 0.95 × importance_i + 0.05 × |feature_i × reward|
Use Cases:
Feature selection: Drop low-importance features
Market regime detection: Importance shifts reveal regime changes
Agent tuning: If VWAP deviation has high importance, consider boosting agents using VWAP
RL Position Tracking System
Critical Innovation: Proper reinforcement learning requires tracking which decisions led to outcomes.
State Tracking (When Signal Validates):
active_rl_state ← current_market_state (0-53)
active_rl_action ← selected_agent (1-4)
active_rl_entry ← entry_price
active_rl_direction ← 1 (long) or -1 (short)
active_rl_bar ← current_bar_index
Online Updates (Every Bar Position Open):
floating_pnl = (close - entry) / entry × direction
reward = floating_pnl × 10 (scale to meaningful range)
reward = clip(reward, -5.0, 5.0)
Update Q-Learning, TD(λ), and Policy Gradient
Terminal Update (Position Close):
Final Q-Learning update (no next Q-value, terminal state)
Update meta-learner with final result
Update agent memory
Clear position tracking
Exit Conditions:
Time-based: ≥3 bars held (minimum hold period)
Stop-loss: 1.5% adverse move
Take-profit: 2.0% favorable move
Market Microstructure Filters
Why Microstructure Matters
Traditional technical analysis assumes fair, efficient markets. Reality: Markets have friction, manipulation, and information asymmetry. Microstructure filters detect when market structure indicates adverse conditions.
Filter 1: VPIN (Volume-Synchronized Probability of Informed Trading)
Theoretical Foundation: Easley, López de Prado, & O'Hara (2012). "Flow Toxicity and Liquidity in a High-Frequency World."
What It Measures: Probability that current order flow is "toxic" (informed traders with private information).
Calculation:
Classify volume as buy or sell (close > close = buy volume)
Calculate imbalance over 20 bars: VPIN = |Σ buy_volume - Σ sell_volume| / Σ total_volume
Compare to moving average: toxic = VPIN > VPIN_MA(20) × sensitivity
Interpretation:
VPIN < 0.3: Normal flow (uninformed retail)
VPIN 0.3-0.4: Elevated (smart money active)
VPIN > 0.4: Toxic flow (informed institutions dominant)
Filter Logic:
Block LONG when: VPIN toxic AND price rising (don't buy into institutional distribution)
Block SHORT when: VPIN toxic AND price falling (don't sell into institutional accumulation)
Adaptive Threshold: If VPIN toxic frequently, relax threshold; if rarely toxic, tighten threshold. Bounded .
Filter 2: Toxicity (Kyle's Lambda Approximation)
Theoretical Foundation: Kyle (1985). "Continuous Auctions and Insider Trading."
What It Measures: Price impact per unit volume — market depth and informed trading.
Calculation:
price_impact = (close - close ) / sqrt(Σ volume over 10 bars)
impact_zscore = (price_impact - impact_mean) / impact_std
toxicity = abs(impact_zscore)
Interpretation:
Low toxicity (<1.0): Deep liquid market, large orders absorbed easily
High toxicity (>2.0): Thin market or informed trading
Filter Logic: Block ALL SIGNALS when toxicity > threshold. Most dangerous when price breaks from VWAP with high toxicity.
Filter 3: Regime Filter (Counter-Trend Protection)
Purpose: Prevent counter-trend trades during strong trends.
Trend Scoring:
trend_score = 0
trend_score += close > EMA8 ? +1 : -1
trend_score += EMA8 > EMA21 ? +1 : -1
trend_score += EMA21 > EMA50 ? +1 : -1
trend_score += close > EMA200 ? +1 : -1
Range:
Regime Classification:
Strong Bull: trend_score ≥ +3 → Block all SHORT signals
Strong Bear: trend_score ≤ -3 → Block all LONG signals
Neutral: -2 ≤ trend_score ≤ +2 → Allow both directions
Filter 4: Liquidity Boost (Signal Enhancer)
Unique: Unlike other filters (which block), this amplifies signals during low liquidity.
Logic: if volume < vol_avg × 0.7: agent_scores × 1.2
Why It Works: Low liquidity often precedes explosive moves (breakouts). By increasing agent sensitivity during compression, system catches pre-breakout signals earlier.
Technical Implementation & Approximations
⚠️ Critical Approximations Required by Pine Script
1. Thompson Sampling: Pseudo-Random Beta Distribution
Academic Standard: True random sampling from beta distributions using cryptographic RNG
This Implementation: Box-Muller transform for normal distribution using market data (price/volume decimal digits) as entropy source, then scale to beta distribution mean/variance
Impact: Not cryptographically random, may have subtle biases in specific price ranges, but maintains correct mean and approximate variance. Sufficient for bandit agent selection.
2. VPIN: Simplified Volume Classification
Academic Standard: Lee-Ready algorithm or exchange-provided aggressor flags with tick-by-tick data
This Implementation: Bar-based classification: if close > close : buy_volume += volume
Impact: 10-15% precision loss. Works well in directional markets, misclassifies in choppy conditions. Still captures order flow imbalance signal.
3. Policy Gradient: Simplified Per-Action Updates
Academic Standard: Full softmax gradient updating all actions (selected action UP, others DOWN proportionally)
This Implementation: Only updates selected action's weights
Impact: Valid approximation for small action spaces (5 actions). Slower convergence than full softmax but still learns optimal policy.
4. Kyle's Lambda: Simplified Price Impact
Academic Standard: Regression over multiple time scales with signed order flow
This Implementation: price_impact = Δprice_10 / sqrt(Σvolume_10); z_score calculation
Impact: 15-20% precision loss. No proper signed order flow. Still detects informed trading signals at extremes (>2σ).
5. Other Simplifications:
Hawkes Process: Fixed exponential decay (0.9) not MLE-optimized
Entropy: Ratio approximation not true Shannon entropy H(X) = -Σ p(x)·log₂(p(x))
Feature Engineering: 12 features vs. potential 100+ with polynomial interactions
RL Hybrid Updates: Both online and terminal (non-standard but empirically effective)
Overall Precision Loss Estimate: 10-15% compared to academic implementations with institutional data feeds.
Practical Trade-off: For retail trading with OHLCV data, these approximations provide 90%+ of the edge while maintaining full transparency, zero latency, no external dependencies, and runs on any TradingView plan.
How to Use: Practical Guide
Initial Setup (5 Minutes)
Select Trading Mode: Start with "Balanced" for most users
Enable ML/RL System: Toggle to TRUE, select "Full Stack" ML Mode
Bandit Configuration: Algorithm: "Thompson Sampling", Mode: "Switch" or "Blend"
Microstructure Filters: Enable all four filters, enable "Adaptive Microstructure Thresholds"
Visual Settings: Enable dashboard (Top Right), enable all chart visuals
Learning Phase (First 50-100 Signals)
What To Monitor:
Agent Performance Table: Watch win rates develop (target >55%)
Bandit Weights: Should diverge from uniform (0.25 each) after 20-30 signals
RL Core Metrics: "RL Updates" should increase when position open
Filter Status: "Blocked" count indicates filter activity
Optimization Tips:
Too few signals: Lower min_confidence to 0.25, increase agent sensitivities to 1.1-1.2
Too many signals: Raise min_confidence to 0.35-0.40, decrease agent sensitivities to 0.8-0.9
One agent dominates (>70%): Consider "Lock Agent" feature
Signal Interpretation
Dashboard Signal Status:
⚪ WAITING FOR SIGNAL: No agent signaling
⏳ ANALYZING...: Agent signaling but not confirmed
🟡 CONFIRMING 2/3: Building confirmation (2 of 3 bars)
🟢 LONG ACTIVE : Validated long entry
🔴 SHORT ACTIVE : Validated short entry
Kill Zone Boxes: Entry price (triangle marker), Take Profit (Entry + 2.5× ATR), Stop Loss (Entry - 1.5× ATR). Risk:Reward = 1:1.67
Risk Management
Position Sizing:
Risk per trade = 1-2% of capital
Position size = (Capital × Risk%) / (Entry - StopLoss)
Stop-Loss Placement:
Initial: Entry ± 1.5× ATR (shown in kill zone)
Trailing: After 1:1 R:R achieved, move stop to breakeven
Take-Profit Strategy:
TP1 (2.5× ATR): Take 50% off
TP2 (Runner): Trail stop at 1× ATR or use opposite signal as exit
Memory Persistence
Why Save Memory: Every chart reload resets the system. Saving learned parameters preserves weeks of learning.
When To Save: After 200+ signals when agent weights stabilize
What To Save: From Memory Export panel, copy all alpha/beta/weight values and adaptive thresholds
How To Restore: Enable "Restore From Saved State", input all values into corresponding fields
What Makes This Original
Innovation 1: Genuine Multi-Armed Bandit Framework
This implements 15 mathematically rigorous bandit algorithms from academic literature (Thompson Sampling from Chapelle & Li 2011, UCB family from Auer et al. 2002, EXP3 from Auer et al. 2002, KL-UCB from Garivier & Cappé 2011). Each algorithm maintains proper state, updates according to proven theory, and converges to optimal behavior. This is real learning, not superficial parameter changes.
Innovation 2: Full Reinforcement Learning Stack
Beyond bandits learning which agent works best globally, RL learns which agent works best in each market state. After 500+ positions, system builds 54-state × 5-action value function (270 learned parameters) capturing context-dependent agent quality.
Innovation 3: Market Microstructure Integration
Combines retail technical analysis with institutional-grade microstructure metrics: VPIN from Easley, López de Prado, O'Hara (2012), Kyle's Lambda from Kyle (1985), Hawkes Processes from Hawkes (1971). These detect informed trading, manipulation, and liquidity dynamics invisible to technical analysis.
Innovation 4: Adaptive Threshold System
Dynamic quantile-based thresholds: Maintains histogram of each agent's score distribution (24 bins, exponentially decayed), calculates 80th percentile threshold from histogram. Agent triggers only when score exceeds its own learned quantile. Proper non-parametric density estimation automatically adapts to instrument volatility, agent behavior shifts, and market regime changes.
Innovation 5: Episodic Memory with Transfer Learning
Dual-layer architecture: Short-term memory (last 20 trades, fast adaptation) + Long-term memory (condensed episodes, historical patterns). Transfer mechanism consolidates knowledge when STM reaches threshold. Mimics hippocampus → neocortex consolidation in human memory.
Limitations & Disclaimers
General Limitations
No Predictive Guarantee: Pattern recognition ≠ prediction. Past performance ≠ future results.
Learning Period Required: Minimum 50-100 bars for reliable statistics. Initial performance may be suboptimal.
Overfitting Risk: System learns patterns in historical data. May not generalize to unprecedented conditions.
Approximation Limitations: See technical implementation section (10-15% precision loss vs. academic standards)
Single-Instrument Limitation: No multi-asset correlation, sector context, or VIX integration.
Forward-Looking Bias Disclaimer
CRITICAL TRANSPARENCY: The RL system uses an 8-bar forward-looking window for reward calculation.
What This Means: System learns from rewards incorporating future price information (bars 101-108 relative to entry at bar 100).
Why Acceptable:
✅ Signals do NOT look ahead: Entry decisions use only data ≤ entry bar
✅ Learning only: Forward data used for optimization, not signal generation
✅ Real-time mirrors backtest: In live trading, system learns identically
⚠️ Implication: Dashboard "Agent Win%" reflects this 8-bar evaluation. Real-time performance may differ slightly if positions held longer, slippage/fees not captured, or market microstructure changes.
Risk Warnings
No Guarantee of Profit: All trading involves risk of loss
System Failures: Bugs possible despite extensive testing
Market Conditions: Optimized for liquid markets (>100k daily volume). Performance degrades in illiquid instruments, major news events, flash crashes
Broker-Specific Issues: Execution slippage, commission/fees, overnight financing costs
Appropriate Use
This Indicator Is:
✅ Entry trigger system
✅ Risk management framework (stop/target)
✅ Adaptive agent selection engine
✅ Learning system that improves over time
This Indicator Is NOT:
❌ Complete trading strategy (requires position sizing, portfolio management)
❌ Replacement for fundamental analysis
❌ Guaranteed profit generator
❌ Suitable for complete beginners without training
Recommended Complementary Analysis: Market context (support/resistance), volume profile, fundamental catalysts, correlation with related instruments, broader market regime
Recommended Settings by Instrument
Stocks (Large Cap, >$1B):
Mode: Balanced | ML/RL: Enabled, Full Stack | Bandit: Thompson Sampling, Switch
Agent Sensitivity: Spoofing 1.0-1.2, Exhaustion 0.9-1.1, Liquidity 0.8-1.0, StatArb 1.1-1.3
Microstructure: All enabled, VPIN 1.2, Toxicity 1.5 | Timeframe: 15min-1H
Forex Majors (EURUSD, GBPUSD):
Mode: Balanced to Conservative | ML/RL: Enabled, Full Stack | Bandit: Thompson Sampling, Blend
Agent Sensitivity: Spoofing 0.8-1.0, Exhaustion 0.9-1.1, Liquidity 0.7-0.9, StatArb 1.2-1.5
Microstructure: All enabled, VPIN 1.0-1.1, Toxicity 1.3-1.5 | Timeframe: 5min-30min
Crypto (BTC, ETH):
Mode: Aggressive to Balanced | ML/RL: Enabled, Full Stack | Bandit: Thompson Sampling OR EXP3-IX
Agent Sensitivity: Spoofing 1.2-1.5, Exhaustion 1.1-1.3, Liquidity 1.2-1.5, StatArb 0.7-0.9
Microstructure: All enabled, VPIN 1.4-1.6, Toxicity 1.8-2.2 | Timeframe: 15min-4H
Futures (ES, NQ, CL):
Mode: Balanced | ML/RL: Enabled, Full Stack | Bandit: UCB1 or Thompson Sampling
Agent Sensitivity: All 1.0-1.2 (balanced)
Microstructure: All enabled, VPIN 1.1-1.3, Toxicity 1.4-1.6 | Timeframe: 5min-30min
Conclusion
Algorithm Predator - Pro synthesizes academic research from market microstructure theory, reinforcement learning, and multi-armed bandit algorithms. Unlike typical indicator mashups, this system implements 15 mathematically rigorous bandit algorithms, deploys a complete RL stack (Q-Learning, TD(λ), Policy Gradient), integrates institutional microstructure metrics (VPIN, Kyle's Lambda), adapts continuously through dual-layer memory and meta-learning, and provides full transparency on approximations and limitations.
The system is designed for serious algorithmic traders who understand that no indicator is perfect, but through proper machine learning, we can build systems that improve over time and adapt to changing markets without manual intervention.
Use responsibly. Risk disclosure applies. Past performance ≠ future results.
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Multitimeframe Stochastic RSIIndicator is Combining 4 different timeframe Stochastic RSI and show buy signal when all of them are oversold and sell signal when all of them are overbought.
Default settings are set up for 15 minute timeframe:
K1 - 15M (period = 14)
K2 - 30M (period = 28)
K3 - 1H (period = 56)
K4 - 2H (period = 112)
It indicates top and bottoms of given period.
Its good to use as a confirmation indicator.
Feel free to comment and use it.
Greetings!
SP - MACD with DivergenceIdentifies Bullish and Bearish Divergences on any time frame.
Using with a combination of candlestick and a trend bias based on long term trend of the underlying can pic reversals quiet effectively.
Hybrid MFI The Hybrid MFI (Money Flow Index) indicator is a sophisticated momentum oscillator designed for Pine Script v5 that combines two fundamentally different approaches to analyzing market momentum. At its core, this indicator merges price-based momentum analysis with the traditional volume-weighted Money Flow Index methodology, creating a comprehensive tool that gives traders dual perspectives on market momentum in a single indicator pane. The hybrid approach allows traders to see both pure price momentum and volume-confirmed momentum simultaneously, providing a more complete picture of market dynamics than either method alone could offer.
Pressure Pivots - MPIPressure Pivots - MPI
A multi-factor reversal detection system built on a proprietary Market Pressure Index (MPI) that combines institutional order flow analysis, liquidity dynamics, and momentum exhaustion to identify high-probability pivot points with automated win rate validation.
What This System Does
This indicator solves the core challenge of reversal trading: distinguishing genuine exhaustion pivots from temporary retracements. It combines six independent detection mechanisms—divergence, liquidity sweeps, order flow imbalance, wick rejection, volume surges, and velocity exhaustion—weighted by reliability and unified through a custom pressure oscillator.
Three-Layer Architecture:
Layer 1 - Market Pressure Index (MPI): Proprietary volume-weighted pressure oscillator that measures buying vs. selling pressure using proportional intrabar allocation and dual-timeframe normalization (-1.0 to +1.0 range).
Layer 2 - Weighted Confluence Engine: Six detection factors scored hierarchically (divergence: 3.0 pts, liquidity: 2.5 pts, order flow: 2.0 pts, velocity: 1.5 pts, wick: 1.5 pts, volume: 1.0 pt). Premium signals (DIV/LIQ/OF) require 6.0+ score, standard signals (STD) require 4.0+ score.
Layer 3 - Automated Win Rate Validation: Every signal tracked forward and validated against actual pivot formation within 10-bar window. Real-time performance statistics displayed by signal type and direction.
The Market Pressure Index - Original Calculation
What MPI Measures: The balance of aggressive buying vs. aggressive selling within each bar, smoothed and normalized to create a continuous oscillator.
Calculation Methodology:
Step 1: Intrabar Pressure Decomposition
Buy Pressure = Volume × (Close - Low) / (High - Low)
Sell Pressure = Volume × (High - Close) / (High - Low)
Net Pressure = Buy Pressure - Sell Pressure
Step 2: Exponential Smoothing
Smooth Pressure = EMA(Net Pressure, 14)
Step 3: Normalization
Avg Absolute Pressure = SMA(|Net Pressure|, 28)
MPI Raw = Smooth Pressure / Avg Absolute Pressure
Step 4: Sensitivity Amplification
MPI = clamp(MPI Raw × 1.5, -1.0, +1.0)
Why This Is Different:
• vs. RSI: RSI measures price momentum without volume context. MPI integrates volume magnitude and distribution within each bar.
• vs. OBV: OBV uses binary classification (up bar = buy volume). MPI uses proportional allocation based on close position within range.
• vs. Money Flow Index: MFI uses typical price × volume. MPI uses intrabar positioning, revealing pressure balance regardless of bar-to-bar movement.
• vs. VWAP: VWAP shows average price. MPI shows directional pressure balance (who controls the bar).
MPI Interpretation:
• +0.7 to +1.0: Extreme buying pressure (strong uptrends, potential exhaustion)
• +0.3 to +0.7: Moderate buying pressure (healthy uptrends)
• -0.3 to +0.3: Neutral/balanced (ranging, consolidation)
• -0.7 to -0.3: Moderate selling pressure (healthy downtrends)
• -1.0 to -0.7: Extreme selling pressure (strong downtrends, potential exhaustion)
Critical Insight: MPI at extremes indicates pressure exhaustion risk , not automatic reversal. Reversals occur when extreme MPI coincides with confluence factors.
Six Confluence Factors - Detection Arsenal
1. Divergence Detection (Weight: 3.0 - Highest Priority)
Detects: Price making higher highs while MPI makes lower highs (bearish), or price making lower lows while MPI makes higher lows (bullish).
Why It Matters: Reveals weakening pressure behind price moves. Declining participation signals potential reversal.
Signal Type: Premium (DIV) - Historically highest win rates.
2. Liquidity Sweep Detection (Weight: 2.5)
Detects: Price penetrates recent swing high/low (triggering stops), then immediately reverses and closes back inside range.
Calculation: High breaks swing high by <0.3× ATR but closes below it (bearish), or low breaks swing low by <0.3× ATR but closes above it (bullish).
Why It Matters: Stop hunts mark institutional accumulation/distribution zones. Often pinpoints exact pivot points.
Signal Type: Premium (LIQ) - Extremely reliable with volume confirmation.
3. Order Flow Imbalance (Weight: 2.0)
Detects: Aggressive directional ordering where price consistently closes in upper/lower third of bars with elevated volume.
Calculation:
Close Position = (Close - Low) / (High - Low)
Aggressive Buy = Volume when Close Position > 0.65
Aggressive Sell = Volume when Close Position < 0.35
Imbalance = EMA(Aggressive Buy, 5) - EMA(Aggressive Sell, 5)
Strong Flow = |Imbalance| > 1.5 × Average
Why It Matters: Reveals institutional accumulation/distribution footprints before directional moves.
Signal Type: Premium (OF)
4. Wick Rejection Patterns (Weight: 1.5)
Detects: Pin bars, hammers, shooting stars where wick exceeds 60% of total bar range.
Why It Matters: Large wicks demonstrate failed attempts to push price, indicating strong opposition.
5. Volume Spike Detection (Weight: 1.0)
Detects: Volume exceeding 2× the 20-bar average.
Why It Matters: Confirms institutional participation vs. retail noise. Most effective when combined with wick rejection or liquidity sweeps.
6. Velocity Exhaustion (Weight: 1.5)
Detects: Parabolic moves (velocity >2.0× ATR over 3 bars) showing deceleration while MPI at extremes.
Calculation:
Velocity = Change(Close, 3) / ATR(14)
Exhaustion = |Velocity| > 2.0 AND MPI > |0.5| AND Velocity Slowing
Why It Matters: Extended moves are unsustainable. Momentum deceleration from extremes precedes reversals.
Signal Classification & Scoring
Weighted Confluence Scoring:
Each factor contributes points when present. Signals fire when total score exceeds thresholds:
Bearish Example:
+ At recent high (1.0)
+ Bearish divergence (3.0)
+ Wick rejection (1.5)
+ Volume spike (1.0)
+ Velocity slowing (1.5)
= 8.0 total score → BEARISH DIV SIGNAL
Bullish Example:
+ At recent low (1.0)
+ Liquidity sweep (2.5)
+ Strong buy flow (2.0)
+ Wick rejection (1.5)
= 7.0 total score → BULLISH LIQ SIGNAL
Dual Threshold System:
• Premium Signals (DIV/LIQ/OF): Require 6.0+ points. Must include divergence, liquidity sweep, or order flow. Higher win rates.
• Standard Signals (STD): Require 4.0+ points. No premium factors. More frequent, moderate win rates.
Visual Signal Color-Coding:
• Purple Triangle: DIV (Divergence signal)
• Orange Triangle: LIQ (Liquidity sweep signal)
• Aqua Triangle: OF (Order flow signal)
• Red/Green Triangle: STD (Standard signal)
• Yellow Diamond: Warning (setup forming, not confirmed)
Warning System - Early Alerts
Yellow diamond warnings fire when 2+ factors present but full confluence not met:
• At recent 10-bar high/low
• Wick rejection present
• Volume spike present
• MPI extreme or accelerating/decelerating
Critical: Warnings are NOT trade signals. They indicate potential setups forming. Wait for colored triangle confirmation.
Win Rate Validation - Transparent Performance Tracking
How It Works:
Signal Storage: Every signal recorded (bar index, price, type, direction)
Pivot Confirmation: System monitors next 10 bars for confirmed pivot formation at signal price (±2%)
Validation: If pivot forms within window → Win. If not → Loss.
Statistics: Win Rate = Validated Signals / Total Mature Signals × 100
Dashboard Displays:
• Overall win rate with visual bar
• Bearish signal win rate
• Bullish signal win rate
• Win rate by signal type (DIV/LIQ/OF/STD)
• Wins/Total for each category
Why This Matters:
After 30-50 signals, you'll know exactly which patterns work on your instrument:
Example Performance Analysis:
Overall: 58% (35/60)
Bearish: 52% | Bullish: 65%
DIV: 72% | LIQ: 68% | OF: 50% | STD: 38%
Insight: Focus on bullish DIV/LIQ signals (72%/68% win rate), avoid STD signals (38%), investigate bearish underperformance.
This transforms the indicator from signal generator to learning system.
Dynamic Microstructure Visualization
Fibonacci Retracement Levels
• Auto-detects last swing high + swing low
• Draws 11 levels: 0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, 100%, 127.2%, 161.8%, 200%, 261.8%
• Removes crossed levels automatically
• Clears on new signal (fresh structure analysis)
• Color gradient (bullish to bearish across range)
• Key levels (0.618, 0.5, 1.0) highlighted with solid lines
Support/Resistance Lines
• Resistance: 50-bar highest high (red, only shown when above price)
• Support: 50-bar lowest low (green, only shown when below price)
• Auto-removes when price crosses
Usage: Signals firing at key Fibonacci levels (38.2%, 50%, 61.8%) or major S/R zones have enhanced structural significance.
Dashboard - Real-Time Intelligence
MPI Status:
• Current pressure reading with interpretation
• Color-coded background (green/red/gray zones)
Signal Status:
• Active signal type and direction
• Confidence score with visual bar (20 blocks, color-coded)
• Scanning status when no signal active
Divergence Indicator:
• Highlights active divergence separately (highest priority factor)
Performance Stats:
• Overall win rate with 10-block visual bar
• Directional breakdown (bearish vs. bullish)
• Signal type breakdown (DIV/LIQ/OF/STD individual win rates)
• Sample size for each category
Customization:
• Position: 9 locations (Top/Middle/Bottom × Left/Center/Right)
• Size: Tiny/Small/Normal/Large
• Toggle sections independently
How to Use This System
Initial Setup (10 Minutes)
1. MPI Configuration:
• Period: 14 (balanced) | 5-10 for scalping | 21-30 for swing
• Sensitivity: 1.5 (moderate) | Increase if MPI rarely hits ±0.7 | Decrease if constantly maxed
2. Detection Thresholds:
• Wick Threshold: 0.6 (60% of bar must be wick)
• Volume Spike: 2.0× average (lower to 1.5-1.8 for stocks, raise to 2.5-3.0 for crypto)
• Velocity: 2.0 ATR (raise to 2.5-3.0 for crypto)
3. Confluence Settings:
• Enable Divergence (highest win rate factor)
• Pivot Lookback: 5 (day trading) | 8-10 (swing trading)
• Keep default weights initially
4. Thresholds:
• Premium: 6.0 (quality over quantity)
• Standard: 4.0 (balanced)
• Warning: 2 factors minimum
Trading Workflow
When Warning Fires (Yellow Diamond):
Note warning type (bearish/bullish)
Do not enter - this is preparation only
Monitor for full signal confirmation
Prepare entry parameters
When Signal Fires (Colored Triangle):
Identify type from color (Purple=DIV, Orange=LIQ, Aqua=OF, Red/Green=STD)
Check dashboard confidence score
Verify confluence on chart (wick, volume, MPI extreme, Fib level)
Confirm with your analysis (context, higher timeframe, news)
Enter with proper risk management
Risk Management (Not Provided by Indicator):
• Stop Loss: Beyond recent swing or 1.5-2.0× ATR
• Position Size: Risk 0.5-2% of capital per trade
• Take Profit: 2-3× ATR or next structural level
Performance Analysis (After 30-50 Signals)
Review Dashboard Statistics:
Overall Win Rate:
• Target >50% for profitability with 1:1.5+ RR
• <45% = system may not suit instrument
• >65% = consider tightening thresholds
Directional Analysis:
• Bullish >> Bearish = uptrend bias, avoid counter-trend shorts
• Bearish >> Bullish = downtrend bias, avoid counter-trend longs
Signal Type Ranking:
• Focus on highest win rate types (typically DIV/LIQ)
• If STD <40% = raise threshold or ignore STD signals
• If premium type <50% = investigate (may need parameter adjustment)
Optimize Settings:
• Too many weak signals → Raise thresholds (premium 7.0-8.0, standard 5.0-6.0)
• Too few signals → Lower thresholds or reduce detection strictness
• Adjust factor weights based on what appears in winning signals
What Makes This Original
1. Proprietary Market Pressure Index
Unique Methodology:
• Proportional intrabar allocation: Unlike binary volume classification (OBV), MPI uses close position within range for proportional pressure assignment
• Dual-timeframe normalization: EMA smoothing (14) + SMA normalization (28) for responsiveness with context
• Bounded oscillator with sensitivity control: -1 to +1 range enables cross-instrument comparison while sensitivity allows customization
• Active signal integration: MPI drives divergence detection, extreme requirements, exhaustion confirmation (not just display)
vs. Existing Indicators:
• MFI uses typical price × volume (different pressure measure)
• CMF accumulates over time (not bounded oscillator)
• OBV is cumulative and binary (not proportional or normalized)
2. Hierarchical Confluence Engine
Why Simple Mashups Fail: Most multi-indicator systems create decision paralysis (RSI says sell, MACD says buy).
This System's Solution:
• Six factors weighted by reliability (3.0 down to 1.0)
• Dual thresholds (premium 6.0, standard 4.0)
• Automatic signal triage by quality tier
• Color-coded visual prioritization
Orthogonal Detection: Each factor detects different failure mode:
• Divergence = momentum exhaustion
• Liquidity = institutional manipulation
• Order Flow = smart money positioning
• Wick = supply/demand rejection
• Volume = participation confirmation
• Velocity = parabolic exhaustion
Complementary, not redundant. Weighted synthesis creates unified confidence measure.
3. Self-Validating Performance System
The Problem: Most indicators never reveal actual performance. Traders never know if it works on their instrument.
This Solution:
• Forward-looking validation (signals tracked to pivot confirmation)
• Pivot-based success criteria (objective, mechanical)
• Segmented statistics (by direction and type)
• Real-time dashboard updates
Result: After 30-50 signals, you have statistically meaningful data on what actually works on your specific market. Transforms indicator into adaptive learning system.
Technical Notes
No Repainting:
• All signals use confirmed bar data (closed bars only)
• Pivot detection has inherent lookback lag (5 bars)
• Divergence lines drawn after confirmation (retroactive visualization)
• Signals fire on bar close
Forward-Looking Disclosure:
• Win rate validation looks forward 10 bars for pivot confirmation
• Creates forward bias in statistics , not signal generation
• Real-time performance may differ until validation period elapses
Lookback Limits:
• Fibonacci/S/R: Limited by limitDrawBars (default 100)
• MPI calculation: 28 bars maximum
• Signal storage: 20 per direction (configurable)
Visual Limits:
• Max lines/labels/boxes: 500 each
• Auto-clearing prevents overflow
Limitations & Disclaimers
Not a Complete Trading System:
• Does not provide stop loss, take profit, or position sizing
• Requires trader risk management and market context analysis
Reversal Bias:
• Designed specifically for reversal trading
• Not optimized for trend continuation or breakouts
Learning Period:
• Statistics meaningless until 20-30 mature signals
• Preferably 50+ for statistical confidence
Instrument Dependency:
• Best: Liquid instruments (major forex, large-caps, BTC/ETH)
• Poor: Illiquid small-caps, low-volume altcoins (order flow unreliable)
Timeframe Dependency:
• Optimal: 15m - 4H charts
• Not Recommended: <5m (noise) or >Daily (insufficient signals)
No Guarantee of Profit:
• Win rate >50% does not guarantee profitability (depends on RR, sizing, execution)
• Past performance ≠ future performance
• All trading involves risk of loss
Warning Signals:
• Warnings are NOT trade signals
• Trading warnings produces lower win rates
• For preparation only
Recommended Settings by Instrument
Forex Majors (15m-1H):
• MPI Sensitivity: 1.3-1.5 | Volume: 2.0 | Thresholds: 6.0/4.0
Crypto BTC/ETH (15m-4H):
• MPI Sensitivity: 2.0-2.5 | Volume: 2.5-3.0 | Velocity: 2.5-3.0 | Thresholds: 6.5-7.0/4.5-5.0
Large-Cap Stocks (5m-1H):
• MPI Sensitivity: 1.2-1.5 | Volume: 1.8-2.0 | Thresholds: 6.0/4.0
Index Futures ES/NQ (5m-30m):
• MPI Period: 10-14 | Sensitivity: 1.5 | Velocity: 1.8-2.0 | Thresholds: 5.5-6.0/4.0
Altcoins High Vol (1H-4H):
• MPI Period: 21 | Sensitivity: 2.0-3.0 | Volume: 3.0+ | Thresholds: 7.0-8.0/5.0 (very selective)
Alert Configuration
Built-In Alerts:
Bullish Signal (all types)
Bearish Signal (all types)
Bullish Divergence (DIV only)
Bearish Divergence (DIV only)
Setup:
• TradingView Alert → Select "Pressure Pivots - MPI"
• Choose condition
• Frequency: "Once Per Bar Close" (prevents repainting)
• Configure notifications (popup/email/SMS/webhook)
Recommended:
• Active traders: Enable all signals
• Selective traders: DIV only (highest quality)
In-Code Documentation
Every input parameter includes extensive tooltips (800+ words total) providing:
• What it controls
• How it affects calculations
• Range guidance (low/medium/high implications)
• Default justification
• Asset-specific recommendations
• Timeframe adjustments
Access: Hover over (i) icon next to any setting. Creates self-documenting learning system—no external docs required.
DskyzInvestments | Trade with insight. Trade with anticipation.
CryptoSmart Momentum Engine1. Core Concept
The "CryptoSmart Momentum Engine" is an advanced, regime-filtered momentum dashboard. It is designed to solve the single biggest problem with oscillators: false signals during sideways, "chop" markets.
This indicator is not just a MACD and a Stochastic; it's a complete system that combines three elements in one panel:
Momentum (MACD): Measures the primary momentum and trend direction.
Overbought/Oversold (Stochastic): Measures short-term price exhaustion.
Volatility (Bollinger Band Width): Acts as a "Regime Filter" to determine if the market is in a volatile "Trend Mode" or a quiet "Chop Mode".
The indicator's primary function is to visually disable itself—turning the background gray and hiding all signals—during low-volatility chop, forcing you to trade only when the market has enough volatility to be predictable.
2. Key Features
Hybrid Oscillator: A normalized MACD (line, signal, and histogram) and a full Stochastic oscillator (%K and %D) are plotted in a single 0-100 pane.
Volatility "Regime" Filter: Using a Bollinger Band Width (BBW) filter, the indicator automatically detects the difference between a high-volatility Trend Mode (signal-on) and a low-volatility Chop Mode (signal-off).
Filtered Arrow Signals: The primary buy/sell signals (arrows) are only permitted to appear when the indicator is in "Trend Mode." All signals are automatically hidden during "Chop Mode" to prevent you from trading in sideways markets.
Centralized Histogram: The MACD histogram (the difference between the MACD and Signal lines) is visually centered at the 50-line, allowing it to oscillate in the middle of the 0-100 range.
Comprehensive Visuals: The indicator is a full dashboard with fill-shading for the MACD/Signal shadow, the Stochastic K/D spread, and the OB/OS background zones.
3. How It Works: The "Engine" Logic
The indicator's logic is based on its three main components:
Part 1: The Oscillators (MACD & Stochastic)
Normalized MACD: To make the MACD and Stochastic compatible, the MACD's value is "normalized" (mathematically compressed) to fit on the same 0-100 scale as the Stochastic.
Histogram: The histogram is calculated as MACD - Signal but is visually plotted relative to the 50-line (the new "zero").
Stochastic: This is a standard %K and %D oscillator used to identify short-term overbought/oversold levels.
Part 2: The Volatility Filter (The "Brain") This is the most important feature. The indicator calculates the Bollinger Band Width (BBW) and a moving average of that width (bbw_ma).
if bbw > bbw_ma → "Trend Mode" (Current volatility is expanding and higher than average).
if bbw <= bbw_ma → "Chop Mode" (Current volatility is contracting and lower than average).
Part 3: The Filtered Output (The "Result") The indicator's entire visual display is controlled by the Volatility Filter (use_vol_filter):
When in "Chop Mode" (Low Volatility):
All background color fills (for both MACD and Stochastic OB/OS zones) are disabled and replaced by the single, neutral chop_bg_color (Gray).
All arrow signals (longSignal and shortSignal) are disabled.
Meaning: The indicator is visually telling you: "Do not trade. The market is sideways and signals are unreliable."
When in "Trend Mode" (High Volatility):
The indicator "turns on."
The background colors for MACD and Stochastic OB/OS zones become visible.
The arrow signals are enabled and will appear if their conditions are met.
4. How to Read & Use It (Strategy)
The Gray Background (Chop Mode) is the most important signal. It means "Do nothing. Ignore all oscillator crosses. Wait for volatility to return."
The Colored Background (Trend Mode) means the indicator is "armed." You can now look for its signals.
Signal Definitions:
Buy Signal (Up Arrow ⬆️):
The Volatility Filter must be in "Trend Mode" (background is not gray).
The normalized MACD line (blue) crosses UP over the Oversold Level (20).
Interpretation: This is a "recovering from panic" signal. Momentum is returning to the market after an extreme oversold condition, and the market has enough volatility to trend.
Sell Signal (Down Arrow ⬇️):
The Volatility Filter must be in "Trend Mode".
The normalized MACD line (blue) crosses DOWN below the Overbought Level (80).
Interpretation: This is an "exiting from euphoria" signal. Momentum is failing after an extreme overbought condition, and the market has enough volatility to trend downwards.
Secondary Confirmation:
Histogram: Use the histogram (centered at 50) to gauge the speed of momentum. A growing histogram confirms the strength of your signal. A shrinking (diverging) histogram warns that the move is losing strength.
Stochastic: Use the %K and %D lines for faster, shorter-term confirmation or to identify additional entries/exits within the larger trend defined by the MACD and the Volatility Filter.
Range Oascilator + LessDivergences + MACD+StochRSIRange Oscillator + EMA Filter
Calculates a custom oscillator based on the highest high and lowest low over a chosen period.
Generates BUY signals when the oscillator crosses up from the oversold zone and price is above the EMA.
Generates SELL signals when the oscillator crosses down from the overbought zone and price is below the EMA.
MACD (3‑10‑16 EMA Settings)
Uses fast EMA = 3, slow EMA = 10, signal EMA = 16.
Detects bullish and bearish crossovers.
These crossovers only trigger a single unified buy/sell signal if they coincide with Stochastic RSI being in oversold (for buy) or overbought (for sell) zones.
Stochastic RSI
Standard calculation with %K and %D smoothing.
Defines oversold (<20) and overbought (>80) zones.
Used both for divergence detection and as a filter for MACD signals.
Divergence Detection
RSI Divergence: Price makes a lower low but RSI makes a higher low (bullish), or price makes a higher high but RSI makes a lower high (bearish).
MACD Histogram Divergence: Price makes a lower low but MACD histogram makes a higher low (bullish), or price makes a higher high but MACD histogram makes a lower high (bearish).
Stochastic RSI Divergence: Similar logic applied to %K line.
Divergences are flagged only once per pivot to avoid repetitive signals.
Visuals
EMA plotted on chart.
BUY/SELL signals shown as triangles above/below bars.
Divergences shown as labels (e.g., “RSI BullDiv”, “MACD BearDiv”).
Unified MACD+Stoch RSI signals shown in distinct colors (lime for buy, orange for sell).
Trapper Absolute PriceActionThe Trapper Absolute PriceAction (TAPA) indicator is a custom, momentum-based oscillator designed to help traders visually read shifts in bullish and bearish price strength — with no reliance on volume or external data.
TAPA calculates and smooths both bullish and bearish momentum using multiple methods (RSI, Stochastic, or ADX) and compares their relative strength in real time. The result is a clean dual-line oscillator with color-coded histograms that highlight which side of the market currently has control.
It was built to give traders a sniper-level precision tool for detecting early momentum shifts before they appear clearly on price charts, allowing confirmation or invalidation of setups faster than with lagging indicators.
How It Works
Momentum Strength Calculation
The script measures directional price movement across the chosen mode (RSI, Stochastic, or ADX).
These values are smoothed twice using a selectable moving average type (WMA, EMA, SMA, ALMA, HMA, etc.).
Bullish & Bearish Curves
The green line represents smoothed bullish momentum (SmthBulls).
The orange/red line represents smoothed bearish momentum (SmthBears).
Histogram Strength Visualization
The distance between the two curves forms a color-coded histogram.
Green/Lime bars indicate growing bullish control, while Orange/Red bars show bearish dominance.
A gray neutral zone reflects indecision or range-bound conditions.
Signal Triggers
BUY 🐂 appears when the green line crosses up through the orange — signaling a bullish momentum flip.
SELL 🐻 appears when the green line crosses down through the orange — signaling bearish control.
Alerts can be enabled directly in TradingView through the BUY (🐂) or SELL (🐻) alert conditions for automated notifications or integrations.
How to Use
1. Confirm Early Momentum Shifts
When a crossover appears, check that the histogram color supports the move (green shades for bullish, red/orange for bearish).
Avoid signals when both lines are tangled and the histogram alternates gray, that usually indicates consolidation or low volatility.
2. Validate with Higher-Timeframe Structure
TAPA is most powerful when aligned with trend structure from higher timeframes.
Example: A bullish crossover on the 1-hour timeframe, while the daily TAPA shows the green line already rising, can confirm momentum alignment before entry.
3. Combine with Support/Resistance
Mark your key support and resistance zones (manual or using your “Trapper S&R PRO” indicator).
Look for a TAPA bullish crossover occurring at a major support zone, that’s often the start of a reversal move.
4. Multi-Mode Analysis
Experiment with “Indicator Method” in the inputs:
RSI Mode - smoother and responsive for swing trading.
Stochastic Mode - better for short-term entries and exits.
ADX Mode - captures trending momentum on strong breakouts.
Examples
Bullish Example:
Price forms a higher low on the chart while TAPA’s green line crosses up through orange with a lime/green histogram. That’s a strong early signal that momentum is reversing before price confirms on structure.
Bearish Example:
Price rallies into resistance, then TAPA shows a red histogram and a bearish cross (green dropping under orange). That’s typically a high-probability short signal once structure breaks.
What Makes TAPA Different
No Volume Dependency: Focuses purely on price behavior, not volume spikes or anomalies.
Multi-Mode Engine: Switch between RSI, Stochastic, or ADX-style momentum math instantly.
Customizable Visuals: Editable histogram color layers (weak/strong bull/bear, neutral) and line color control.
Sniper Labeling System: Clean, minimal BUY/SELL cues at each verified crossover.
Alert-Ready: Built-in conditions allow for TradingView alerts, webhooks, or bot automation.
Modernized Core: Rebuilt in Pine v6 with optimized performance and compliance to TradingView standards.
TAPA is designed to filter out the noise and show what truly drives a move — the shift in control between buyers and sellers.
Best Pairing Indicators
To get maximum clarity and confluence:
Trapper Support & Resistance PRO
Helps identify key zones where momentum flips from TAPA have the most impact. A bullish crossover at a defined support level often marks an early trend reversal.
Trapper Volume Trigger
While TAPA doesn’t use volume internally, pairing it with a volume-based trigger confirms that momentum shifts have institutional participation.
Simple Moving Averages (5, 20, or 50)
Overlay short and mid-term SMAs on your chart to confirm directional bias. A bullish TAPA cross that aligns with SMA-5 crossing above SMA-20 increases reliability.
Disclaimer
This indicator is provided for educational and analytical purposes only.
It does not constitute financial advice or a recommendation to buy or sell any security.
Always conduct your own due diligence and practice proper risk management before trading any strategy.
© 2025 RAMS-offthecharts | “Read • Analyze • Mark • Snipe.”
TAPA is part of the RAMS ecosystem of tactical market tools, designed for traders who focus on precision, discipline, and momentum awareness.
Range Oscillator Strategy + Stoch Confirm🔹 Short summary
This is a free, educational long-only strategy built on top of the public “Range Oscillator” by Zeiierman (used under CC BY-NC-SA 4.0), combined with a Stochastic timing filter, an EMA-based exit filter and an optional risk-management layer (SL/TP and R-multiple exits). It is NOT financial advice and it is NOT a magic money machine. It’s a structured framework to study how range-expansion + momentum + trend slope can be combined into one rule-based system, often with intentionally RARE trades.
────────────────────────
0. Legal / risk disclaimer
────────────────────────
• This script is FREE and public. I do not charge any fee for it.
• It is for EDUCATIONAL PURPOSES ONLY.
• It is NOT financial advice and does NOT guarantee profits.
• Backtest results can be very different from live results.
• Markets change over time; past performance is NOT indicative of future performance.
• You are fully responsible for your own trades and risk.
Please DO NOT use this script with money you cannot afford to lose. Always start in a demo / paper trading environment and make sure you understand what the logic does before you risk any capital.
────────────────────────
1. About default settings and risk (very important)
────────────────────────
The script is configured with the following defaults in the `strategy()` declaration:
• `initial_capital = 10000`
→ This is only an EXAMPLE account size.
• `default_qty_type = strategy.percent_of_equity`
• `default_qty_value = 100`
→ This means 100% of equity per trade in the default properties.
→ This is AGGRESSIVE and should be treated as a STRESS TEST of the logic, not as a realistic way to trade.
TradingView’s House Rules recommend risking only a small part of equity per trade (often 1–2%, max 5–10% in most cases). To align with these recommendations and to get more realistic backtest results, I STRONGLY RECOMMEND you to:
1. Open **Strategy Settings → Properties**.
2. Set:
• Order size: **Percent of equity**
• Order size (percent): e.g. **1–2%** per trade
3. Make sure **commission** and **slippage** match your own broker conditions.
• By default this script uses `commission_value = 0.1` (0.1%) and `slippage = 3`, which are reasonable example values for many crypto markets.
If you choose to run the strategy with 100% of equity per trade, please treat it ONLY as a stress-test of the logic. It is NOT a sustainable risk model for live trading.
────────────────────────
2. What this strategy tries to do (conceptual overview)
────────────────────────
This is a LONG-ONLY strategy designed to explore the combination of:
1. **Range Oscillator (Zeiierman-based)**
- Measures how far price has moved away from an adaptive mean.
- Uses an ATR-based range to normalize deviation.
- High positive oscillator values indicate strong price expansion away from the mean in a bullish direction.
2. **Stochastic as a timing filter**
- A classic Stochastic (%K and %D) is used.
- The logic requires %K to be below a user-defined level and then crossing above %D.
- This is intended to catch moments when momentum turns up again, rather than chasing every extreme.
3. **EMA Exit Filter (trend slope)**
- An EMA with configurable length (default 70) is calculated.
- The slope of the EMA is monitored: when the slope turns negative while in a long position, and the filter is enabled, it triggers an exit condition.
- This acts as a trend-protection exit: if the medium-term trend starts to weaken, the strategy exits even if the oscillator has not yet fully reverted.
4. **Optional risk-management layer**
- Percentage-based Stop Loss and Take Profit (SL/TP).
- Risk/Reward (R-multiple) exit based on the distance from entry to SL.
- Implemented as OCO orders that work *on top* of the logical exits.
The goal is not to create a “holy grail” system but to serve as a transparent, configurable framework for studying how these concepts behave together on different markets and timeframes.
────────────────────────
3. Components and how they work together
────────────────────────
(1) Range Oscillator (based on “Range Oscillator (Zeiierman)”)
• The script computes a weighted mean price and then measures how far price deviates from that mean.
• Deviation is normalized by an ATR-based range and expressed as an oscillator.
• When the oscillator is above the **entry threshold** (default 100), it signals a strong move away from the mean in the bullish direction.
• When it later drops below the **exit threshold** (default 30), it can trigger an exit (if enabled).
(2) Stochastic confirmation
• Classic Stochastic (%K and %D) is calculated.
• An entry requires:
- %K to be below a user-defined “Cross Level”, and
- then %K to cross above %D.
• This is a momentum confirmation: the strategy tries to enter when momentum turns up from a pullback rather than at any random point.
(3) EMA Exit Filter
• The EMA length is configurable via `emaLength` (default 70).
• The script monitors the EMA slope: it computes the relative change between the current EMA and the previous EMA.
• If the slope turns negative while the strategy holds a long position and the filter is enabled, it triggers an exit condition.
• This is meant to help protect profits or cut losses when the medium-term trend starts to roll over, even if the oscillator conditions are not (yet) signalling exit.
(4) Risk management (optional)
• Stop Loss (SL) and Take Profit (TP):
- Defined as percentages relative to average entry price.
- Both are disabled by default, but you can enable them in the Inputs.
• Risk/Reward Exit:
- Uses the distance from entry to SL to project a profit target at a configurable R-multiple.
- Also optional and disabled by default.
These exits are implemented as `strategy.exit()` OCO orders and can close trades independently of oscillator/EMA conditions if hit first.
────────────────────────
4. Entry & Exit logic (high level)
────────────────────────
A) Time filter
• You can choose a **Start Year** in the Inputs.
• Only candles between the selected start date and 31 Dec 2069 are used for backtesting (`timeCondition`).
• This prevents accidental use of tiny cherry-picked windows and makes tests more honest.
B) Entry condition (long-only)
A long entry is allowed when ALL the following are true:
1. `timeCondition` is true (inside the backtest window).
2. If `useOscEntry` is true:
- Range Oscillator value must be above `entryLevel`.
3. If `useStochEntry` is true:
- Stochastic condition (`stochCondition`) must be true:
- %K < `crossLevel`, then %K crosses above %D.
If these filters agree, the strategy calls `strategy.entry("Long", strategy.long)`.
C) Exit condition (logical exits)
A position can be closed when:
1. `timeCondition` is true AND a long position is open, AND
2. At least one of the following is true:
- If `useOscExit` is true: Oscillator is below `exitLevel`.
- If `useMagicExit` (EMA Exit Filter) is true: EMA slope is negative (`isDown = true`).
In that case, `strategy.close("Long")` is called.
D) Risk-management exits
While a position is open:
• If SL or TP is enabled:
- `strategy.exit("Long Risk", ...)` places an OCO stop/limit order based on the SL/TP percentages.
• If Risk/Reward exit is enabled:
- `strategy.exit("RR Exit", ...)` places an OCO order using a projected R-multiple (`rrMult`) of the SL distance.
These risk-based exits can trigger before the logical oscillator/EMA exits if price hits those levels.
────────────────────────
5. Recommended backtest configuration (to avoid misleading results)
────────────────────────
To align with TradingView House Rules and avoid misleading backtests:
1. **Initial capital**
- 10 000 (or any value you personally want to work with).
2. **Order size**
- Type: **Percent of equity**
- Size: **1–2%** per trade is a reasonable starting point.
- Avoid risking more than 5–10% per trade if you want results that could be sustainable in practice.
3. **Commission & slippage**
- Commission: around 0.1% if that matches your broker.
- Slippage: a few ticks (e.g. 3) to account for real fills.
4. **Timeframe & markets**
- Volatile symbols (e.g. crypto like BTCUSDT, or major indices).
- Timeframes: 1H / 4H / **1D (Daily)** are typical starting points.
- I strongly recommend trying the strategy on **different timeframes**, for example 1D, to see how the behaviour changes between intraday and higher timeframes.
5. **No “caution warning”**
- Make sure your chosen symbol + timeframe + settings do not trigger TradingView’s caution messages.
- If you see warnings (e.g. “too few trades”), adjust timeframe/symbol or the backtest period.
────────────────────────
5a. About low trade count and rare signals
────────────────────────
This strategy is intentionally designed to trade RARELY:
• It is **long-only**.
• It uses strict filters (Range Oscillator threshold + Stochastic confirmation + optional EMA Exit Filter).
• On higher timeframes (especially **1D / Daily**) this can result in a **low total number of trades**, sometimes WELL BELOW 100 trades over the whole backtest.
TradingView’s House Rules mention 100+ trades as a guideline for more robust statistics. In this specific case:
• The **low trade count is a conscious design choice**, not an attempt to cherry-pick a tiny, ultra-profitable window.
• The goal is to study a **small number of high-conviction long entries** on higher timeframes, not to generate frequent intraday signals.
• Because of the low trade count, results should NOT be interpreted as statistically strong or “proven” – they are only one sample of how this logic would have behaved on past data.
Please keep this in mind when you look at the equity curve and performance metrics. A beautiful curve with only a handful of trades is still just a small sample.
────────────────────────
6. How to use this strategy (step-by-step)
────────────────────────
1. Add the script to your chart.
2. Open the **Inputs** tab:
- Set the backtest start year.
- Decide whether to use Oscillator-based entry/exit, Stochastic confirmation, and EMA Exit Filter.
- Optionally enable SL, TP, and Risk/Reward exits.
3. Open the **Properties** tab:
- Set a realistic account size if you want.
- Set order size to a realistic % of equity (e.g. 1–2%).
- Confirm that commission and slippage are realistic for your broker.
4. Run the backtest:
- Look at Net Profit, Max Drawdown, number of trades, and equity curve.
- Remember that a low trade count means the statistics are not very strong.
5. Experiment:
- Tweak thresholds (`entryLevel`, `exitLevel`), Stochastic settings, EMA length, and risk params.
- See how the metrics and trade frequency change.
6. Forward-test:
- Before using any idea in live trading, forward-test on a demo account and observe behaviour in real time.
────────────────────────
7. Originality and usefulness (why this is more than a mashup)
────────────────────────
This script is not intended to be a random visual mashup of indicators. It is designed as a coherent, testable strategy with clear roles for each component:
• Range Oscillator:
- Handles mean vs. range-expansion states via an adaptive, ATR-normalized metric.
• Stochastic:
- Acts as a timing filter to avoid entering purely on extremes and instead waits for momentum to turn.
• EMA Exit Filter:
- Trend-slope-based safety net to exit when the medium-term direction changes against the position.
• Risk module:
- Provides practical, rule-based exits: SL, TP, and R-multiple exit, which are useful for structuring risk even if you modify the core logic.
It aims to give traders a ready-made **framework to study and modify**, not a black box or “signals” product.
────────────────────────
8. Limitations and good practices
────────────────────────
• No single strategy works on all markets or in all regimes.
• This script is long-only; it does not short the market.
• Performance can degrade when market structure changes.
• Overfitting (curve fitting) is a real risk if you endlessly tweak parameters to maximise historical profit.
Good practices:
- Test on multiple symbols and timeframes.
- Focus on stability and drawdown, not only on how high the profit line goes.
- View this as a learning tool and a basis for your own research.
────────────────────────
9. Licensing and credits
────────────────────────
• Core oscillator idea & base code:
- “Range Oscillator (Zeiierman)”
- © Zeiierman, licensed under CC BY-NC-SA 4.0.
• Strategy logic, Stochastic confirmation, EMA Exit Filter, and risk-management layer:
- Modifications by jokiniemi.
Please respect both the original license and TradingView House Rules if you fork or republish any part of this script.
────────────────────────
10. No payments / no vendor pitch
────────────────────────
• This script is completely FREE to use on TradingView.
• There is no paid subscription, no external payment link, and no private signals group attached to it.
• If you have questions, please use TradingView’s comment system or private messages instead of expecting financial advice.
Use this script as a tool to learn, experiment, and build your own understanding of markets.
────────────────────────
11. Example backtest settings used in screenshots
────────────────────────
To avoid any confusion about how the results shown in screenshots were produced, here is one concrete example configuration:
• Symbol: BTCUSDT (or similar major BTC pair)
• Timeframe: 1D (Daily)
• Backtest period: from 2018 to the most recent data
• Initial capital: 10 000
• Order size type: Percent of equity
• Order size: 2% per trade
• Commission: 0.1%
• Slippage: 3 ticks
• Risk settings: Stop Loss and Take Profit disabled by default, Risk/Reward exit disabled by default
• Filters: Range Oscillator entry/exit enabled, Stochastic confirmation enabled, EMA Exit Filter enabled
If you change any of these settings (symbol, timeframe, risk per trade, commission, slippage, filters, etc.), your results will look different. Please always adapt the configuration to your own risk tolerance, market, and trading style.
RADAR Oscillator (Regime Adaptive Directional Analysis)RADAR (Regime Adaptive Directional Analysis)
This script is available by invitation only.
What is it?
The RADAR Oscillator is a multi-layered decision support oscillator designed to filter market noise and detect high-probability trend resumptions. It combines multiple analytical engines that analyze different aspects of the market (Structure, Momentum, Trend Strength, Rhythm) to eliminate the weaknesses of a single indicator. Final buy/sell signals are generated only when a consensus is reached between these engines.
This is not a "strategy," but a signal-generating oscillator. Therefore, it does not provide backtest results (profit/loss, drawdown, etc.) as seen in TradingView's strategy tester. Its purpose is to add clarity and accuracy to the investor's decision-making process.
What Does It Promise, and What Does It Not Promise?
• What Does It Promise:
o Clarity and Noise Filtering: Aims to significantly reduce misleading signals in sideways and unstable markets.
o High-Probability Setup Detection: Thanks to its multiple confirmation mechanism, it generates signals only during strong and distinct market conditions.
o Adaptation to Market Conditions: It offers the ability to automatically adjust the analysis method based on the market's current "regime" (trend or sideways).
• What It Doesn't Promise:
o Guaranteed Profit: No financial instrument can guarantee future profits. RADAR is a probability-enhancing tool, not a magic formula.
o Automatic Wealth: Successful use requires proper risk management, market experience, and user discipline.
o Backtest Results: Because it is an oscillator, it does not provide historical performance metrics. Its value should be measured by its effectiveness in real-time market analysis.
Which Well-Known Indicators Are Used For What Purpose?
While RADAR creates a unique decision-making mechanism, it utilizes the fundamental building blocks of technical analysis. However, these indicators are never used directly to generate signals; instead, they serve as data sources and filters for our unique algorithm.
• ADX and DMI: Used to measure the strength and directional dominance of a trend. RADAR uses this data as a filter to confirm only the existence of a sufficiently strong trend.
• Moving Averages (EMA and SMA): Used as primary inputs to smooth price data and determine overall direction. Their outputs are processed in the consensus engine along with other filters.
• ATR (Average True Range): Does not directly generate signals, but measures market volatility. This data forms the basis of the oscillator's dynamic volatility smoothing engine, helping to adjust risk to market conditions.
Original Methodology and Proprietary Logic
This algorithm is not based on any open-source strategy code. The author's unique methodology combines multi-filter consensus, adaptive thresholding, statistical noise filtering, and market structure-based execution logic. Specifically, the oscillator's ability to analyze market characteristics (trending or sideways) and automatically adjust filtering multipliers accordingly forms the basis of its trading value. This combination is the author's original work, and preserving the source code is preferred.
What Problems Does It Solve?
Problem 1: Misleading Signals and Market Noise
o RADAR Solution: Consensus-Based Decision Mechanism. RADAR never relies on a single signal. No signal is generated unless the different analytical engines agree on the same direction. This filters out market noise, ensuring only high-probability signals are processed.
Problem 2: Static Analysis and Changing Market Conditions
o RADAR Solution: Adaptive Regime Shifting. The Oscillator actively analyzes whether the market is in "Trend Mode" or "Sideways Mode" using its proprietary market character analysis engine. It adapts to conditions like a chameleon, automatically adjusting signal generation rules and filter sensitivity according to the current regime.
Problem 3: Fixed Parameters and Declining Performance
o RADAR Solution: Full Adaptation Principle. To reduce reliance on fixed settings, it dynamically adjusts analysis speed and filter sensitivity based on the market's natural rhythm and volatility.
Automation Ready: Customizable Webhook Alerts
RADAR is more than just a visual analysis tool; it's designed to work seamlessly with full automation systems.
The oscillator generates alert messages in fully configurable JSON format for buy (long) and sell (short) signals. This feature allows you to easily connect RADAR signals to popular automation platforms like 3Commas, PineConnector, Tickeron, or your own custom bots. This allows you to execute your strategy 24/7 without manual intervention.
Why Released "By Invitation Only"?
• Protecting Proprietary Intellectual Property: RADAR is the product of hundreds of hours of research and development. Its consensus logic, regime detection, and engine integration are unique. Opening the source code would instantly destroy this intellectual property and competitive advantage.
• Maintaining Performance Integrity: Uncontrolled distribution can lead to misuse or theft and resale of signals by malicious actors. The invitation model protects the integrity of the oscillator.
• Business Model and Support: RADAR is a premium analysis tool. Access by invitation reflects its value and compensates the developer for ongoing maintenance, support, and future improvements.
____________________________
This indicator is for educational purposes only. Past performance does not guarantee future results. Always practice appropriate risk management and protect your capital.
DAO - Demand Advanced Oscillator# DAO - Demand Advanced Oscillator
## 📊 Overview
DAO (Demand Advanced Oscillator) is a powerful momentum oscillator that measures buying and selling pressure by analyzing consecutive high-low relationships. It helps identify market extremes, divergences, and potential trend reversals.
**Values range from 0 to 1:**
- **Above 0.70** = Overbought (potential reversal down)
- **Below 0.30** = Oversold (potential reversal up)
- **0.30 - 0.70** = Neutral zone
---
## ✨ Key Features
✅ **Automatic Divergence Detection**
- Bullish divergences (price lower low + DAO higher low)
- Bearish divergences (price higher high + DAO lower high)
- Visual lines connecting divergence points
✅ **Multi-Timeframe Analysis**
- View higher timeframe DAO on current chart
- Perfect for trend alignment strategies
✅ **Signal Line (EMA)**
- Customizable EMA for trend confirmation
- Crossover signals for momentum shifts
✅ **Real-Time Statistics Dashboard**
- Current DAO value
- Market status (Overbought/Oversold/Neutral)
- Trend direction indicator
✅ **Complete Alert System**
- Overbought/Oversold signals
- Bullish/Bearish divergences
- Signal line crosses
- Level crosses
✅ **Fully Customizable**
- Adjustable periods and levels
- Customizable colors and zones
- Toggle features on/off
---
## 📈 Trading Signals
### 1. Divergences (Most Powerful)
**Bullish Divergence:**
- Price makes lower low
- DAO makes higher low
- Signal: Strong reversal up likely
**Bearish Divergence:**
- Price makes higher high
- DAO makes lower high
- Signal: Strong reversal down likely
### 2. Overbought/Oversold
**Overbought (>0.70):**
- Market may be overextended
- Consider taking profits or looking for shorts
- Can remain overbought in strong trends
**Oversold (<0.30):**
- Market may be oversold
- Consider buying opportunities
- Can remain oversold in strong downtrends
### 3. Signal Line Crossovers
**Bullish Cross:**
- DAO crosses above signal line
- Momentum turning positive
**Bearish Cross:**
- DAO crosses below signal line
- Momentum turning negative
### 4. Level Crosses
**Cross Above 0.30:** Exiting oversold zone (potential uptrend)
**Cross Below 0.70:** Exiting overbought zone (potential downtrend)
---
## ⚙️ Default Settings
📊 Oscillator Period: 14
Number of bars for calculation
📈 Signal Line Period: 9
EMA period for signal line
🔴 Overbought Level: 0.70
Upper threshold
🟢 Oversold Level: 0.30
Lower threshold
🎯 Divergence Detection: ON
Auto divergence identification
⏰ Multi-Timeframe: OFF
Higher TF overlay (optional)
All parameters are fully customizable!
---
## 🔔 Alerts
Six pre-configured alerts available:
1. DAO Overbought
2. DAO Oversold
3. DAO Bullish Divergence
4. DAO Bearish Divergence
5. DAO Signal Cross Up
6. DAO Signal Cross Down
**Setup:** Right-click indicator → Add Alert → Choose condition
---
## 💡 How to Use
### Best Practices:
✅ Focus on divergences (strongest signals)
✅ Combine with support/resistance levels
✅ Use multiple timeframes for confirmation
✅ Wait for price action confirmation
✅ Practice proper risk management
### Avoid:
❌ Trading on indicator alone
❌ Fighting strong trends
❌ Ignoring market context
❌ Overtrading
### Recommended Settings by Trading Style:
**Day Trading:** Period 7-10, All alerts ON
**Swing Trading:** Period 14-21, Divergence alerts
**Scalping:** Period 5-7, Signal crosses
**Position Trading:** Period 21-30, Weekly/Daily TF
---
## 🌍 Markets & Timeframes
**Works on all markets:**
- Forex (all pairs)
- Stocks (all exchanges)
- Cryptocurrencies
- Commodities
- Indices
- Futures
**Works on all timeframes:** 1m to Monthly
---
## 📊 How It Works
DAO calculates the ratio of buying pressure to total market pressure:
1. **Calculate Buying Pressure (DemandMax):**
- If current high > previous high: DemandMax = difference
- Otherwise: DemandMax = 0
2. **Calculate Selling Pressure (DemandMin):**
- If previous low > current low: DemandMin = difference
- Otherwise: DemandMin = 0
3. **Apply Smoothing:**
- Calculate SMA of DemandMax over N periods
- Calculate SMA of DemandMin over N periods
4. **Final Formula:**
```
DAO = SMA(DemandMax) / (SMA(DemandMax) + SMA(DemandMin))
```
This produces a normalized value (0-1) representing market demand strength.
---
## 🎯 Trading Strategies
### Strategy 1: Divergence Trading
- Wait for divergence label
- Confirm at support/resistance
- Enter on confirming candle
- Stop loss beyond recent swing
- Target: opposite level or 0.50
### Strategy 2: Overbought/Oversold
- Best for ranging markets
- Wait for extreme readings
- Enter on reversal from extremes
- Target: middle line (0.50)
### Strategy 3: Trend Following
- Identify trend direction first
- Use DAO to time entries in trend direction only
- Enter on pullbacks to oversold (uptrend) or overbought (downtrend)
- Trade with the trend
### Strategy 4: Multi-Timeframe
- Enable MTF feature
- Trade only when both timeframes align
- Higher TF = trend direction
- Lower TF = precise entry
---
## 📂 Category
**Primary:** Oscillators
**Secondary:** Statistics, Volatility, Momentum
---
## 🏷️ Tags
dao, oscillator, momentum, overbought-oversold, divergence, reversal, demand-indicator, price-exhaustion, statistics, volatility, forex, stocks, crypto, multi-timeframe, technical-analysis
---
## ⚠️ Disclaimer
**This indicator is for educational purposes only.** It does not constitute financial advice. Trading involves substantial risk of loss. Always conduct your own research, use proper risk management, and consult with financial professionals before making trading decisions. Past performance does not guarantee future results.
---
## 📄 License
Open source - Free to use for personal trading, modify as needed, and share with attribution.
---
**Version:** 1.0
**Status:** Production Ready ✅
**Pine Script:** v5
**Trademark-Free:** 100% Safe to Publish
---
*Made with 💙 for traders worldwide*
RSI + ADX + ATR Strength GaugeThis indicator combines Relative Strength Index (RSI), Average Directional Index (ADX), and Average True Range (ATR) into a unified strength gauge that identifies high-quality trending conditions while filtering out choppy, low-volatility markets.
RSI measures momentum and overbought/oversold conditions.
ADX confirms trend strength (not direction), highlighting when price movement has strong follow-through.
ATR captures volatility expansion, filtering out flat, low-range candles where fake signals occur.
When the components diverge or show contraction, the gauge warns of market chop, suggesting it’s better to avoid entries or reduce position size.
Purpose:
To keep you out of sideways markets and confirm entries only when momentum, trend strength, and volatility all agree — reducing whipsaws and improving trade quality.
Tweak to your liking.
NQ Gamma LevelsNQ Gamma Levels - Dynamic Options Flow Visualization
This indicator displays gamma exposure levels from QQQ options data, automatically scaled to NQ/MNQ futures prices. Simply copy gamma data from your dashboard and paste it into the indicator to see key support and resistance levels based on dealer positioning.
Features:
- Automatic QQQ to NQ price conversion using live 1-minute ratios
- Visual strength indicators - thicker/longer lines show stronger gamma concentrations
- Customizable colors for positive and negative gamma levels
- Dotted reference lines extending across the chart for easy price tracking
- Updates every minute to prevent chart clutter and jumping levels
- Filters to show only significant levels above your threshold
- Strongest positive and negative levels are automatically highlighted
The solid colored lines represent gamma strength - longer lines indicate higher concentration at that price level. Dotted lines provide continuous reference points across your chart. Green levels typically act as support (dealers long gamma), while red levels often act as resistance (dealers short gamma).
Best used on 1-5 minute timeframes for intraday trading. Paste fresh data from your options flow dashboard whenever you want updated levels.
Trendlines with Breaks Oscillator [LuxAlgo]The Trendlines with Breaks Oscillator is an oscillator based on the Trendlines with Breaks indicator, and tracks the maximum distance on price from bullish and bearish trendline breakouts.
The oscillator features divergences and trendline breakout detection.
🔶 USAGE
This tool is based on our Trendlines with Breaks indicator, which detects bullish and bearish trendlines and highlights the breaks on the chart. Now, we bring you this tool as an oscillator.
The oscillator calculates the maximum distance between the price and the break of each trendline, for both bullish and bearish cases, then calculates the delta between both.
When the oscillator is above 0, the market is in an uptrend; when it is below 0, it is in a downtrend. An ascending slope indicates positive momentum, and a descending slope indicates negative momentum.
Trendline breaks are displayed as green and red dots on the oscillator. A green dot corresponds to a bullish break of a descending trendline, and a red dot corresponds to a bearish break of an ascending trendline.
The oscillator calculation depends on two parameters from the settings panel: short and long alpha length. These parameters are used to calculate a synthetic EMA with a variable alpha for both bullish and bearish breaks. The final result is the difference between the two averages.
As shown in the image, using the same trend detection parameters but different alphas can produce very different results. The larger the alphas, the smoother the oscillator becomes, detecting bigger trends but making it less reactive.
This tool features the same trendline detection system as the Trendlines with Breaks indicator, which is based on three main parameters: swing length, slope, and calculation method.
As we can see in the image above, the data collected for the oscillator calculation will be different when using different parameters. A larger length detects larger trends. A larger slope or a different calculation method also impacts the final result.
🔹 Signal Line
The signal line is a smoothed version of the oscillator; traders can choose the smoothing method and length used from the settings panel.
In the image, the signal line crossings are displayed as vertical lines. As we can see, the market usually corrects downward after a bearish crossing and corrects upward after a bullish crossing.
Traders can choose among 10 different smoothing methods for the signal line. In the image, we can see how different methods and lengths give different outputs.
🔹 Divergences
The tool features a divergence detector that helps traders understand the strength behind price movements. Traders can adjust the detection length from the settings panel.
As shown in the image, a bearish divergence occurs when the price prints higher highs, but the momentum on the histogram prints lower highs. A bullish divergence occurs when the price prints lower lows, but the histogram prints higher lows.
By adjusting the length of the divergence detector, traders can filter out smaller divergences, allowing the tool to only detect more significant ones.
The image above depicts divergences detected with different lengths; the larger the length, the bigger the divergences are detected.
🔶 SETTINGS
🔹 Trendlines
Swing Detection Lookback: The size of the market structure used for trendline detection.
Slope: Slope steepness, a value of 0 gives horizontal levels, values larger than 1 give a steeper slope
Slope Calculation Method: Choose how the slope is calculated
🔹 Oscillator
Short Alpha Length: Synthetic EMA short period
Long Alpha Length: Synthetic EMA long period
Smoothing Signal: Choose the smoothing method and period
Divergences: Enable or disable divergences and select the detection length.
🔹 Style
Bullish: Select bullish color.
Bearish: Select bearish color.
Screener (MC) [AlgoAlpha]🟠 OVERVIEW
This script is a multi-symbol scanner that works as a companion to the "Momentum Concepts" indicator. It provides a comprehensive dashboard view, allowing traders to monitor the momentum signals of up to 18 different assets in real-time from a single chart. The main purpose is to offer a bird's-eye view of the market, helping you quickly identify assets with strong momentum confluence or potential reversal opportunities without having to switch between different charts.
The screener displays the status of all key components from the Momentum Concepts indicator, including the Fast Oscillator, Scalper's Momentum, Momentum Impulse Oscillator, and Hidden Liquidity Flow, organizing them into a clear and easy-to-read table.
🟠 CONCEPTS
The core of this screener is built upon the analytical framework of the "Momentum Concepts" indicator, which evaluates market momentum across multiple layers: short-term, medium-term, and long-term. This screener applies those complex, proprietary calculations to each symbol in your watchlist and visualizes the current state of each component.
Each column in the table represents a specific aspect of momentum analysis:
Fast Oscillator Columns: These columns reflect the short-term momentum. They show the immediate trend direction, whether the asset is in an overbought or oversold condition, and flag high-probability events like divergences, reversals, or diminishing momentum.
Scalper's Momentum Column: This column gives insight into medium-term momentum. It distinguishes between strong, sustained moves and weakening, corrective moves, which is useful for gauging the health of a trend.
Momentum Impulse Column: This column represents the dominant, long-term trend bias. It helps you understand the underlying market regime (bullish, bearish, or consolidating) to align your trades with the bigger picture.
Hidden Liquidity Flow Column: This column provides a unique view into the market's underlying liquidity dynamics. It signals whether there is net buying or selling pressure and uses special coloring to highlight periods of unusually high liquidity activity, which often precedes volatile price movements.
By combining these perspectives, the screener justifies its utility by enabling traders to make more informed decisions based on multi-layered signal confluence.
🟠 FEATURES
This screener organizes momentum data into several key columns. Here is a breakdown of each column and its possible values:
Asset: Displays the symbol for the asset being analyzed in that row.
Fast Oscillator Trend: Shows the immediate, short-term momentum direction.
▲: Indicates a bullish short-term trend.
▼: Indicates a bearish short-term trend.
–: Indicates a neutral or transitional state.
Fast Oscillator Valuation: Measures whether the asset is in a short-term overbought or oversold state.
OB: Signals an "Overbought" condition, often associated with bullish exhaustion.
OS: Signals an "Oversold" condition, often associated with bearish exhaustion.
Neutral: The asset is trading in a neutral zone, neither overbought nor oversold.
Scalper's Momentum: Assesses the strength and direction of medium-term momentum.
Strong▲: Strong bullish momentum.
Weak▲: Bullish momentum exists but is weakening or corrective.
Strong▼: Strong bearish momentum.
Weak▼: Bearish momentum exists but is weakening or corrective.
–: Neutral or no clear medium-term momentum.
Momentum Impulse: Identifies the dominant, long-term trend bias. A colored background indicates that the momentum is in a strong "impulse" phase.
▲: Indicates a bullish long-term bias.
▼: Indicates a bearish long-term bias.
0: Indicates a neutral or ranging market condition.
Hidden Liquidity Flow: Tracks underlying buying and selling pressure. The background color highlights periods of unusual liquidity activity.
▲: Positive liquidity flow, suggesting net buying pressure.
▼: Negative liquidity flow, suggesting net selling pressure.
–: Neutral liquidity flow.
Dim. Momentum: Provides an early warning that short-term momentum is beginning to fade.
● (Bullish Color): Bullish momentum is weakening.
● (Bearish Color): Bearish momentum is weakening.
–: No diminishing momentum detected.
Divergence: Flags classic or hidden divergences between price and the Fast Oscillator.
Div▲: A bullish divergence has been detected.
Div▼: A bearish divergence has been detected.
–: No active divergence signal.
Reversal: Signals a potential reversal when the Fast Oscillator crosses its trend line from an overbought or oversold zone.
Rev▲: A bullish reversal signal has occurred.
Rev▼: A bearish reversal signal has occurred.
–: No active reversal signal.
🟠 USAGE
The primary function of this screener is to quickly identify trading opportunities and filter setups based on momentum confluence across your watchlist.
1. Setup and Configuration:
Add the indicator to your chart.
Go into the script settings and populate the "Watchlist" group with the symbols you wish to monitor.
Adjust the settings for the various momentum components (Fast Oscillator, Scalper's Momentum, etc.) to align with your trading strategy. These settings will be universally applied to all symbols in the screener.
2. Interpreting the Columns for Trading Decisions:
Momentum Impulse & Hidden Liquidity Flow: Use these columns to establish a directional bias. A bullish "▲" in both columns on an asset suggests a strong underlying uptrend with supportive buying pressure, making it a good candidate for long positions.
Scalper's Momentum: Use this for entry timing and trend health. A "Strong▲" reading can confirm the strength of an uptrend, while a shift to "Weak▲" might suggest it's time to tighten stops or look for an exit.
Fast Oscillator Trend & Valuation: These are best for precise entry triggers. For a "buy the dip" strategy in an uptrend, you could wait for the Fast Oscillator to show "OS" (Oversold) and then enter when the "Trend" column flips back to "▲".
Dim. Momentum: This is an excellent take-profit signal. If you are in a long position and a bullish-colored "●" appears, it's a warning that the upward move is losing steam, and you might consider closing your trade.
Divergence & Reversal: These columns are for identifying potential turning points. A "Div▲" or "Rev▲" signal is a strong alert that a downtrend might be ending, making the asset a prime candidate to watch for a long entry.
3. Finding High-Probability Setups:
Trend Confluence: Look for assets where multiple components show alignment. For example, an ideal long setup might show a bullish "Momentum Impulse" (▲), a "Strong▲" reading in "Scalper's Momentum," and a bullish trend in the "Fast Oscillator." This indicates that the long-term, medium-term, and short-term momentums are all in agreement.
Reversal and Exhaustion: Use the "Divergence" and "Reversal" columns to spot potential turning points. A "Div▲" signal appearing in an asset that is in an oversold "Fast Oscillator Valuation" zone can be a strong indication of an upcoming bounce.
Skrip berbayar
Relational RSI - Trend IdentifierThis indicator analyzes the relationship between Price and RSI. It doesn't just show you the current RSI value; it compares the current Price-to-RSI relationship against thousands of historical examples to see if the market is behaving "normally."
The core idea is to identify when this historical relationship "decays" or breaks.
Positive (Green): Price is higher than it "should be" for the current RSI level, based on history. This is a sign of bullish strength or over-exuberance.
Negative (Red): Price is lower than it "should be" for the current RSI level. This is a sign of bearish weakness or being oversold.
Zero Line: Price is exactly where history suggests it should be for the current RSI. This is the "normal" or equilibrium state.
Think of it as an "expectations" indicator. Is the price over-performing or under-performing relative to its typical momentum signature?
How to Read the Indicator
1. The Main Oscillator (Relational Decay)
This is the central line that moves above and below zero.
Rising (Bullish Decay): When the line moves up, it means bulls are in control, pushing price higher than the RSI momentum would normally suggest.
Falling (Bearish Decay): When the line moves down, it means bears are in control, suppressing price lower than the RSI momentum would normally suggest.
Extreme Readings (> 2.0 or < -2.0): These are the dotted/dashed lines. Reaching these zones means the market is in an "extreme" state of deviation—either extremely over-extended (top) or extremely oversold (bottom) relative to its own history.
2. Background Color (Relationship Strength)
The background color tells you how reliable the indicator's main signal is right now.
Blue Background: High strength. The historical Price-RSI relationship is stable and consistent. The oscillator's readings are reliable.
Orange Background: Low strength. The historical relationship is weak, volatile, or inconsistent. The oscillator's readings are less reliable—the market is choppy or "out of character."
3. Diamonds (Extreme Reversal Signals)
These diamonds appear at potential exhaustion points.
Aqua Diamond (at bottom): An "Extreme Bullish Reversal." This appears when the indicator was at an extremely negative (bearish) level and has just started to turn up. It's a potential bottoming signal.
Fuchsia Diamond (at top): An "Extreme Bearish Reversal." This appears when the indicator was at an extremely positive (bullish) level and has just started to turn down. It's a potential topping signal.
4. The Info Table (Top Right)
This table provides a snapshot of the current state:
RSI/Price: Your current values.
Expected Price: The price the indicator "expects" to see based on the current RSI and historical data. This is the most important number.
Relational Decay: The main oscillator's value. It's essentially the difference between the Current Price and the Expected Price, normalized.
State: A simple text description (e.g., "Stable," "Strong Bullish Decay").
Matches Found: How many historical data points the script found to make its calculation.
Strength: The "Relationship Strength" (background color) as a percentage.
Key User Inputs
RSI Period (14): The lookback for the standard RSI calculation.
Historical Lookback (500): How many past bars the indicator should analyze to build its "normal" model. A larger number gives it more historical context.
RSI Similarity Threshold (3.0): How close the current RSI must be to a historical RSI to be considered a "match."
Normalization Method (Z-Score): The statistical method used to scale the output. Z-Score is standard and robust. "Percentile" and "Raw" are other options for different ways of viewing the deviation.
Squeeze Momentum Early In and Out CandlesJohn Carter presented some candles called "Early In and Out Candles". Although I couldn't imitate the exact candles and warnings I create better indications and bars in my opinion.
When the Candles are above Donchian MA then we have a bullish Momentum.
When the Candles are bellow Donchian MA then we have bearish momentum.
This indicator works best to get an WARNING to enter and close EARLY positions.
Bullish:
When the candles are Light Blue then we have early warning to enter.
When the candles are Dark Blue then we have early warning to close the position.
Bearish:
When the candles are Red then we have early warning to enter.
When the candles are Yellow then we have early warning to close the position.
IMPORTANT NOTES:
Always combine it with the Squeeze Pro indicator.
Suggested Donchian MA: 5 (You can adjust it).
Don't let candles only to be your closing indication once again there are EARLY WARNINGS therefore can move your stop loses to maximize your profits when you are exiting.
I tested my self and I found that is the best strategy when we get Dark Blue candle in the Bullish move I move my stop loss little bit bellow the candle.
Therefore here we go we have early warnings for In and Out.
Thank you and Good Luck.
Algorithm Predator - ML-liteAlgorithm Predator - ML-lite
This indicator combines four specialized trading agents with an adaptive multi-armed bandit selection system to identify high-probability trade setups. It is designed for swing and intraday traders who want systematic signal generation based on institutional order flow patterns , momentum exhaustion , liquidity dynamics , and statistical mean reversion .
Core Architecture
Why These Components Are Combined:
The script addresses a fundamental challenge in algorithmic trading: no single detection method works consistently across all market conditions. By deploying four independent agents and using reinforcement learning algorithms to select or blend their outputs, the system adapts to changing market regimes without manual intervention.
The Four Trading Agents
1. Spoofing Detector Agent 🎭
Detects iceberg orders through persistent volume at similar price levels over 5 bars
Identifies spoofing patterns via asymmetric wick analysis (wicks exceeding 60% of bar range with volume >1.8× average)
Monitors order clustering using simplified Hawkes process intensity tracking (exponential decay model)
Signal Logic: Contrarian—fades false breakouts caused by institutional manipulation
Best Markets: Consolidations, institutional trading windows, low-liquidity hours
2. Exhaustion Detector Agent ⚡
Calculates RSI divergence between price movement and momentum indicator over 5-bar window
Detects VWAP exhaustion (price at 2σ bands with declining volume)
Uses VPIN reversals (volume-based toxic flow dissipation) to identify momentum failure
Signal Logic: Counter-trend—enters when momentum extreme shows weakness
Best Markets: Trending markets reaching climax points, over-extended moves
3. Liquidity Void Detector Agent 💧
Measures Bollinger Band squeeze (width <60% of 50-period average)
Identifies stop hunts via 20-bar high/low penetration with immediate reversal and volume spike
Detects hidden liquidity absorption (volume >2× average with range <0.3× ATR)
Signal Logic: Breakout anticipation—enters after liquidity grab but before main move
Best Markets: Range-bound pre-breakout, volatility compression zones
4. Mean Reversion Agent 📊
Calculates price z-scores relative to 50-period SMA and standard deviation (triggers at ±2σ)
Implements Ornstein-Uhlenbeck process scoring (mean-reverting stochastic model)
Uses entropy analysis to detect algorithmic trading patterns (low entropy <0.25 = high predictability)
Signal Logic: Statistical reversion—enters when price deviates significantly from statistical equilibrium
Best Markets: Range-bound, low-volatility, algorithmically-dominated instruments
Adaptive Selection: Multi-Armed Bandit System
The script implements four reinforcement learning algorithms to dynamically select or blend agents based on performance:
Thompson Sampling (Default - Recommended):
Uses Bayesian inference with beta distributions (tracks alpha/beta parameters per agent)
Balances exploration (trying underused agents) vs. exploitation (using proven winners)
Each agent's win/loss history informs its selection probability
Lite Approximation: Uses pseudo-random sampling from price/volume noise instead of true random number generation
UCB1 (Upper Confidence Bound):
Calculates confidence intervals using: average_reward + sqrt(2 × ln(total_pulls) / agent_pulls)
Deterministic algorithm favoring agents with high uncertainty (potential upside)
More conservative than Thompson Sampling
Epsilon-Greedy:
Exploits best-performing agent (1-ε)% of the time
Explores randomly ε% of the time (default 10%, configurable 1-50%)
Simple, transparent, easily tuned via epsilon parameter
Gradient Bandit:
Uses softmax probability distribution over agent preference weights
Updates weights via gradient ascent based on rewards
Best for Blend mode where all agents contribute
Selection Modes:
Switch Mode: Uses only the selected agent's signal (clean, decisive)
Blend Mode: Combines all agents using exponentially weighted confidence scores controlled by temperature parameter (smooth, diversified)
Lock Agent Feature:
Optional manual override to force one specific agent
Useful after identifying which agent dominates your specific instrument
Only applies in Switch mode
Four choices: Spoofing Detector, Exhaustion Detector, Liquidity Void, Mean Reversion
Memory System
Dual-Layer Architecture:
Short-Term Memory: Stores last 20 trade outcomes per agent (configurable 10-50)
Long-Term Memory: Stores episode averages when short-term reaches transfer threshold (configurable 5-20 bars)
Memory Boost Mechanism: Recent performance modulates agent scores by up to ±20%
Episode Transfer: When an agent accumulates sufficient results, averages are condensed into long-term storage
Persistence: Manual restoration of learned parameters via input fields (alpha, beta, weights, microstructure thresholds)
How Memory Works:
Agent generates signal → outcome tracked after 8 bars (performance horizon)
Result stored in short-term memory (win = 1.0, loss = 0.0)
Short-term average influences agent's future scores (positive feedback loop)
After threshold met (default 10 results), episode averaged into long-term storage
Long-term patterns (weighted 30%) + short-term patterns (weighted 70%) = total memory boost
Market Microstructure Analysis
These advanced metrics quantify institutional order flow dynamics:
Order Flow Toxicity (Simplified VPIN):
Measures buy/sell volume imbalance over 20 bars: |buy_vol - sell_vol| / (buy_vol + sell_vol)
Detects informed trading activity (institutional players with non-public information)
Values >0.4 indicate "toxic flow" (informed traders active)
Lite Approximation: Uses simple open/close heuristic instead of tick-by-tick trade classification
Price Impact Analysis (Simplified Kyle's Lambda):
Measures market impact efficiency: |price_change_10| / sqrt(volume_sum_10)
Low values = large orders with minimal price impact ( stealth accumulation )
High values = retail-dominated moves with high slippage
Lite Approximation: Uses simplified denominator instead of regression-based signed order flow
Market Randomness (Entropy Analysis):
Counts unique price changes over 20 bars / 20
Measures market predictability
High entropy (>0.6) = human-driven, chaotic price action
Low entropy (<0.25) = algorithmic trading dominance (predictable patterns)
Lite Approximation: Simple ratio instead of true Shannon entropy H(X) = -Σ p(x)·log₂(p(x))
Order Clustering (Simplified Hawkes Process):
Tracks self-exciting event intensity (coordinated order activity)
Decays at 0.9× per bar, spikes +1.0 when volume >1.5× average
High intensity (>0.7) indicates clustering (potential spoofing/accumulation)
Lite Approximation: Simple exponential decay instead of full λ(t) = μ + Σ α·exp(-β(t-tᵢ)) with MLE
Signal Generation Process
Multi-Stage Validation:
Stage 1: Agent Scoring
Each agent calculates internal score based on its detection criteria
Scores must exceed agent-specific threshold (adjusted by sensitivity multiplier)
Agent outputs: Signal direction (+1/-1/0) and Confidence level (0.0-1.0)
Stage 2: Memory Boost
Agent scores multiplied by memory boost factor (0.8-1.2 based on recent performance)
Successful agents get amplified, failing agents get dampened
Stage 3: Bandit Selection/Blending
If Adaptive Mode ON:
Switch: Bandit selects single best agent, uses only its signal
Blend: All agents combined using softmax-weighted confidence scores
If Adaptive Mode OFF:
Traditional consensus voting with confidence-squared weighting
Signal fires when consensus exceeds threshold (default 70%)
Stage 4: Confirmation Filter
Raw signal must repeat for consecutive bars (default 3, configurable 2-4)
Minimum confidence threshold: 0.25 (25%) enforced regardless of mode
Trend alignment check: Long signals require trend_score ≥ -2, Short signals require trend_score ≤ 2
Stage 5: Cooldown Enforcement
Minimum bars between signals (default 10, configurable 5-15)
Prevents over-trading during choppy conditions
Stage 6: Performance Tracking
After 8 bars (performance horizon), signal outcome evaluated
Win = price moved in signal direction, Loss = price moved against
Results fed back into memory and bandit statistics
Trading Modes (Presets)
Pre-configured parameter sets:
Conservative: 85% consensus, 4 confirmations, 15-bar cooldown
Expected: 60-70% win rate, 3-8 signals/week
Best for: Swing trading, capital preservation, beginners
Balanced: 70% consensus, 3 confirmations, 10-bar cooldown
Expected: 55-65% win rate, 8-15 signals/week
Best for: Day trading, most traders, general use
Aggressive: 60% consensus, 2 confirmations, 5-bar cooldown
Expected: 50-58% win rate, 15-30 signals/week
Best for: Scalping, high-frequency trading, active management
Elite: 75% consensus, 3 confirmations, 12-bar cooldown
Expected: 58-68% win rate, 5-12 signals/week
Best for: Selective trading, high-conviction setups
Adaptive: 65% consensus, 2 confirmations, 8-bar cooldown
Expected: Varies based on learning
Best for: Experienced users leveraging bandit system
How to Use
1. Initial Setup (5 Minutes):
Select Trading Mode matching your style (start with Balanced)
Enable Adaptive Learning (recommended for automatic agent selection)
Choose Thompson Sampling algorithm (best all-around performance)
Keep Microstructure Metrics enabled for liquid instruments (>100k daily volume)
2. Agent Tuning (Optional):
Adjust Agent Sensitivity multipliers (0.5-2.0):
<0.8 = Highly selective (fewer signals, higher quality)
0.9-1.2 = Balanced (recommended starting point)
1.3 = Aggressive (more signals, lower individual quality)
Monitor dashboard for 20-30 signals to identify dominant agent
If one agent consistently outperforms, consider using Lock Agent feature
3. Bandit Configuration (Advanced):
Blend Temperature (0.1-2.0):
0.3 = Sharp decisions (best agent dominates)
0.5 = Balanced (default)
1.0+ = Smooth (equal weighting, democratic)
Memory Decay (0.8-0.99):
0.90 = Fast adaptation (volatile markets)
0.95 = Balanced (most instruments)
0.97+ = Long memory (stable trends)
4. Signal Interpretation:
Green triangle (▲): Long signal confirmed
Red triangle (▼): Short signal confirmed
Dashboard shows:
Active agent (highlighted row with ► marker)
Win rate per agent (green >60%, yellow 40-60%, red <40%)
Confidence bars (█████ = maximum confidence)
Memory size (short-term buffer count)
Colored zones display:
Entry level (current close)
Stop-loss (1.5× ATR)
Take-profit 1 (2.0× ATR)
Take-profit 2 (3.5× ATR)
5. Risk Management:
Never risk >1-2% per signal (use ATR-based stops)
Signals are entry triggers, not complete strategies
Combine with your own market context analysis
Consider fundamental catalysts and news events
Use "Confirming" status to prepare entries (not to enter early)
6. Memory Persistence (Optional):
After 50-100 trades, check Memory Export Panel
Record displayed alpha/beta/weight values for each agent
Record VPIN and Kyle threshold values
Enable "Restore From Memory" and input saved values to continue learning
Useful when switching timeframes or restarting indicator
Visual Components
On-Chart Elements:
Spectral Layers: EMA8 ± 0.5 ATR bands (dynamic support/resistance, colored by trend)
Energy Radiance: Multi-layer glow boxes at signal points (intensity scales with confidence, configurable 1-5 layers)
Probability Cones: Projected price paths with uncertainty wedges (15-bar projection, width = confidence × ATR)
Connection Lines: Links sequential signals (solid = same direction continuation, dotted = reversal)
Kill Zones: Risk/reward boxes showing entry, stop-loss, and dual take-profit targets
Signal Markers: Triangle up/down at validated entry points
Dashboard (Configurable Position & Size):
Regime Indicator: 4-level trend classification (Strong Bull/Bear, Weak Bull/Bear)
Mode Status: Shows active system (Adaptive Blend, Locked Agent, or Consensus)
Agent Performance Table: Real-time win%, confidence, and memory stats
Order Flow Metrics: Toxicity and impact indicators (when microstructure enabled)
Signal Status: Current state (Long/Short/Confirming/Waiting) with confirmation progress
Memory Panel (Configurable Position & Size):
Live Parameter Export: Alpha, beta, and weight values per agent
Adaptive Thresholds: Current VPIN sensitivity and Kyle threshold
Save Reminder: Visual indicator if parameters should be recorded
What Makes This Original
This script's originality lies in three key innovations:
1. Genuine Meta-Learning Framework:
Unlike traditional indicator mashups that simply display multiple signals, this implements authentic reinforcement learning (multi-armed bandits) to learn which detection method works best in current conditions. The Thompson Sampling implementation with beta distribution tracking (alpha for successes, beta for failures) is statistically rigorous and adapts continuously. This is not post-hoc optimization—it's real-time learning.
2. Episodic Memory Architecture with Transfer Learning:
The dual-layer memory system mimics human learning patterns:
Short-term memory captures recent performance (recency bias)
Long-term memory preserves historical patterns (experience)
Automatic transfer mechanism consolidates knowledge
Memory boost creates positive feedback loops (successful strategies become stronger)
This architecture allows the system to adapt without retraining , unlike static ML models that require batch updates.
3. Institutional Microstructure Integration:
Combines retail-focused technical analysis (RSI, Bollinger Bands, VWAP) with institutional-grade microstructure metrics (VPIN, Kyle's Lambda, Hawkes processes) typically found in academic finance literature and professional trading systems, not standard retail platforms. While simplified for Pine Script constraints, these metrics provide insight into informed vs. uninformed trading , a dimension entirely absent from traditional technical analysis.
Mashup Justification:
The four agents are combined specifically for risk diversification across failure modes:
Spoofing Detector: Prevents false breakout losses from manipulation
Exhaustion Detector: Prevents chasing extended trends into reversals
Liquidity Void: Exploits volatility compression (different regime than trending)
Mean Reversion: Provides mathematical anchoring when patterns fail
The bandit system ensures the optimal tool is automatically selected for each market situation, rather than requiring manual interpretation of conflicting signals.
Why "ML-lite"? Simplifications and Approximations
This is the "lite" version due to necessary simplifications for Pine Script execution:
1. Simplified VPIN Calculation:
Academic Implementation: True VPIN uses volume bucketing (fixed-volume bars) and tick-by-tick buy/sell classification via Lee-Ready algorithm or exchange-provided trade direction flags
This Implementation: 20-bar rolling window with simple open/close heuristic (close > open = buy volume)
Impact: May misclassify volume during ranging/choppy markets; works best in directional moves
2. Pseudo-Random Sampling:
Academic Implementation: Thompson Sampling requires true random number generation from beta distributions using inverse transform sampling or acceptance-rejection methods
This Implementation: Deterministic pseudo-randomness derived from price and volume decimal digits: (close × 100 - floor(close × 100)) + (volume % 100) / 100
Impact: Not cryptographically random; may have subtle biases in specific price ranges; provides sufficient variation for agent selection
3. Hawkes Process Approximation:
Academic Implementation: Full Hawkes process uses maximum likelihood estimation with exponential kernels: λ(t) = μ + Σ α·exp(-β(t-tᵢ)) fitted via iterative optimization
This Implementation: Simple exponential decay (0.9 multiplier) with binary event triggers (volume spike = event)
Impact: Captures self-exciting property but lacks parameter optimization; fixed decay rate may not suit all instruments
4. Kyle's Lambda Simplification:
Academic Implementation: Estimated via regression of price impact on signed order flow over multiple time intervals: Δp = λ × Δv + ε
This Implementation: Simplified ratio: price_change / sqrt(volume_sum) without proper signed order flow or regression
Impact: Provides directional indicator of impact but not true market depth measurement; no statistical confidence intervals
5. Entropy Calculation:
Academic Implementation: True Shannon entropy requires probability distribution: H(X) = -Σ p(x)·log₂(p(x)) where p(x) is probability of each price change magnitude
This Implementation: Simple ratio of unique price changes to total observations (variety measure)
Impact: Measures diversity but not true information entropy with probability weighting; less sensitive to distribution shape
6. Memory System Constraints:
Full ML Implementation: Neural networks with backpropagation, experience replay buffers (storing state-action-reward tuples), gradient descent optimization, and eligibility traces
This Implementation: Fixed-size array queues with simple averaging; no gradient-based learning, no state representation beyond raw scores
Impact: Cannot learn complex non-linear patterns; limited to linear performance tracking
7. Limited Feature Engineering:
Advanced Implementation: Dozens of engineered features, polynomial interactions (x², x³), dimensionality reduction (PCA, autoencoders), feature selection algorithms
This Implementation: Raw agent scores and basic market metrics (RSI, ATR, volume ratio); minimal transformation
Impact: May miss subtle cross-feature interactions; relies on agent-level intelligence rather than feature combinations
8. Single-Instrument Data:
Full Implementation: Multi-asset correlation analysis (sector ETFs, currency pairs, volatility indices like VIX), lead-lag relationships, risk-on/risk-off regimes
This Implementation: Only OHLCV data from displayed instrument
Impact: Cannot incorporate broader market context; vulnerable to correlated moves across assets
9. Fixed Performance Horizon:
Full Implementation: Adaptive horizon based on trade duration, volatility regime, or profit target achievement
This Implementation: Fixed 8-bar evaluation window
Impact: May evaluate too early in slow markets or too late in fast markets; one-size-fits-all approach
Performance Impact Summary:
These simplifications make the script:
✅ Faster: Executes in milliseconds vs. seconds (or minutes) for full academic implementations
✅ More Accessible: Runs on any TradingView plan without external data feeds, APIs, or compute servers
✅ More Transparent: All calculations visible in Pine Script (no black-box compiled models)
✅ Lower Resource Usage: <500 bars lookback, minimal memory footprint
⚠️ Less Precise: Approximations may reduce statistical edge by 5-15% vs. academic implementations
⚠️ Limited Scope: Cannot capture tick-level dynamics, multi-order-book interactions, or cross-asset flows
⚠️ Fixed Parameters: Some thresholds hardcoded rather than dynamically optimized
When to Upgrade to Full Implementation:
Consider professional Python/C++ versions with institutional data feeds if:
Trading with >$100K capital where precision differences materially impact returns
Operating in microsecond-competitive environments (HFT, market making)
Requiring regulatory-grade audit trails and reproducibility
Backtesting with tick-level precision for strategy validation
Need true real-time adaptation with neural network-based learning
For retail swing/day trading and position management, these approximations provide sufficient signal quality while maintaining usability, transparency, and accessibility. The core logic—multi-agent detection with adaptive selection—remains intact.
Technical Notes
All calculations use standard Pine Script built-in functions ( ta.ema, ta.atr, ta.rsi, ta.bb, ta.sma, ta.stdev, ta.vwap )
VPIN and Kyle's Lambda use simplified formulas optimized for OHLCV data (see "Lite" section above)
Thompson Sampling uses pseudo-random noise from price/volume decimal digits for beta distribution sampling
No repainting: All calculations use confirmed bar data (no forward-looking)
Maximum lookback: 500 bars (set via max_bars_back parameter)
Performance evaluation: 8-bar forward-looking window for reward calculation (clearly disclosed)
Confidence threshold: Minimum 0.25 (25%) enforced on all signals
Memory arrays: Dynamic sizing with FIFO queue management
Limitations and Disclaimers
Not Predictive: This indicator identifies patterns in historical data. It cannot predict future price movements with certainty.
Requires Human Judgment: Signals are entry triggers, not complete trading strategies. Must be confirmed with your own analysis, risk management rules, and market context.
Learning Period Required: The adaptive system requires 50-100 bars minimum to build statistically meaningful performance data for bandit algorithms.
Overfitting Risk: Restoring memory parameters from one market regime to a drastically different regime (e.g., low volatility to high volatility) may cause poor initial performance until system re-adapts.
Approximation Limitations: Simplified calculations (see "Lite" section) may underperform academic implementations by 5-15% in highly efficient markets.
No Guarantee of Profit: Past performance, whether backtested or live-traded, does not guarantee future performance. All trading involves risk of loss.
Forward-Looking Bias: Performance evaluation uses 8-bar forward window—this creates slight look-ahead for learning (though not for signals). Real-time performance may differ from indicator's internal statistics.
Single-Instrument Limitation: Does not account for correlations with related assets or broader market regime changes.
Recommended Settings
Timeframe: 15-minute to 4-hour charts (sufficient volatility for ATR-based stops; adequate bar volume for learning)
Assets: Liquid instruments with >100k daily volume (forex majors, large-cap stocks, BTC/ETH, major indices)
Not Recommended: Illiquid small-caps, penny stocks, low-volume altcoins (microstructure metrics unreliable)
Complementary Tools: Volume profile, order book depth, market breadth indicators, fundamental catalysts
Position Sizing: Risk no more than 1-2% of capital per signal using ATR-based stop-loss
Signal Filtering: Consider external confluence (support/resistance, trendlines, round numbers, session opens)
Start With: Balanced mode, Thompson Sampling, Blend mode, default agent sensitivities (1.0)
After 30+ Signals: Review agent win rates, consider increasing sensitivity of top performers or locking to dominant agent
Alert Configuration
The script includes built-in alert conditions:
Long Signal: Fires when validated long entry confirmed
Short Signal: Fires when validated short entry confirmed
Alerts fire once per bar (after confirmation requirements met)
Set alert to "Once Per Bar Close" for reliability
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Liquidity Absorption OscillatorDescription:
The Liquidity Absorption Oscillator (LAO) is a sophisticated momentum indicator that measures how efficiently price moves relative to trading range while confirming momentum with volume-based liquidity flows. By combining price efficiency analysis with volume velocity, the LAO provides earlier and more reliable signals than traditional price-only oscillators, helping traders identify high-probability trend initiations and reversals.
🔍 Core Technology & Innovation:
Tri-Component Signal Processing:
Price Efficiency Ratio (PER): Measures how "cleanly" price moves by comparing net displacement to total trading range over the lookback period. High PER indicates trending markets with directional conviction.
Volume Velocity Ratio (VVR): Combines price momentum with volume confirmation, normalized by ATR to ensure consistent behavior across different instruments and volatility regimes.
Adaptive Smoothing: Dynamically adjusts responsiveness based on market conditions - becoming more stable during noisy periods and more responsive in clean trends.
Multi-Layer Signal Detection:
Confirmed Crossovers: Traditional zero-line crosses filtered by efficiency thresholds
Early Momentum Signals: Detects momentum shifts BEFORE zero-line crosses for optimal entry timing
Smart Divergence Detection: Identifies hidden bullish/bearish divergences with built-in quality filters
🎯 Trading Signals & Interpretation:
🟢 BULLISH SIGNALS:
Strong Buy: LAO crosses above zero line with medium/high efficiency (PER)
Early Buy: Momentum accelerates while LAO is still negative (anticipates reversal)
Divergence Buy: Price makes lower low while LAO forms higher low
🔴 BEARISH SIGNALS:
Strong Sell: LAO crosses below zero line with medium/high efficiency
Early Sell: Momentum decelerates while LAO is still positive (anticipates top)
Divergence Sell: Price makes higher high while LAO forms lower high
⚪ SIGNAL QUALITY FILTERING:
Automatic signal suppression during low-efficiency (choppy) market conditions
Configurable PER threshold ensures only high-quality signals are considered
📊 Visual Features:
Clean Oscillator Display: Smooth line plot with gradient fills above/below zero line
Multiple Coloring Options: Choose between no coloring, trend-based, or slope-based bar coloring
Professional Styling: Inspired by institutional-grade indicator design with subtle visual cues
Non-Repainting Logic: All signals confirmed on bar close for reliable backtesting
⚙️ Input Parameters:
Core Settings:
Lookback Period: Base period for efficiency and velocity calculations (default: 24)
Base Smooth Period: Starting point for adaptive smoothing (default: 8)
Min Efficiency for Signals: PER threshold for signal validation (default: 35)
Divergence Lookback: Bars to search for divergence patterns (default: 5)
UI Options:
Bar Coloring: Choose visual style (None, Trend, Slope)
🔔 Alert Conditions:
Buy/Sell Signal: Traditional zero-line crosses with quality filtering
Early Buy/Early Sell: Momentum-based signals before traditional crosses
All alerts use confirmed, non-repainting logic
Market Profile Dominance Analyzer# Market Profile Dominance Analyzer
## 📊 OVERVIEW
**Market Profile Dominance Analyzer** is an advanced multi-factor indicator that combines Market Profile methodology with composite dominance scoring to identify buyer and seller strength across higher timeframes. Unlike traditional volume profile indicators that only show volume distribution, or simple buyer/seller indicators that only compare candle colors, this script integrates six distinct analytical components into a unified dominance measurement system.
This indicator helps traders understand **WHO controls the market** by analyzing price position relative to Market Profile key levels (POC, Value Area) combined with volume distribution, momentum, and trend characteristics.
## 🎯 WHAT MAKES THIS ORIGINAL
### **Hybrid Analytical Approach**
This indicator uniquely combines two separate methodologies that are typically analyzed independently:
1. **Market Profile Analysis** - Calculates Point of Control (POC) and Value Area (VA) using volume distribution across price channels on higher timeframes
2. **Multi-Factor Dominance Scoring** - Weights six independent factors to produce a composite dominance index
### **Six-Factor Composite Analysis**
The dominance score integrates:
- Price position relative to POC (equilibrium assessment)
- Price position relative to Value Area boundaries (acceptance/rejection zones)
- Volume imbalance within Value Area (institutional bias detection)
- Price momentum (directional strength)
- Volume trend comparison (participation analysis)
- Normalized Value Area position (precise location within fair value zone)
### **Adaptive Higher Timeframe Integration**
The script features an intelligent auto-selection system that automatically chooses appropriate higher timeframes based on the current chart period, ensuring optimal Market Profile structure regardless of the trading timeframe being analyzed.
## 💡 HOW IT WORKS
### **Market Profile Construction**
The indicator builds a Market Profile structure on a higher timeframe by:
1. **Session Identification** - Detects new higher timeframe sessions using `request.security()` to ensure accurate period boundaries
2. **Data Accumulation** - Stores high, low, and volume data for all bars within the current higher timeframe session
3. **Channel Distribution** - Divides the session's price range into configurable channels (default: 20 rows)
4. **Volume Mapping** - Distributes each bar's volume proportionally across all price channels it touched
### **Key Level Calculation**
**Point of Control (POC)**
- Identifies the price channel with the highest accumulated volume
- Represents the price level where the most trading activity occurred
- Serves as a magnetic level where price often returns
**Value Area (VA)**
- Starts at POC and expands both upward and downward
- Includes channels until reaching the specified percentage of total volume (default: 70%)
- Expansion algorithm compares adjacent volumes and prioritizes the direction with higher activity
- Defines the "fair value" zone where most market participants agreed to trade
### **Dominance Score Formula**
```
Dominance Score = (price_vs_poc × 10) +
(price_vs_va × 5) +
(volume_imbalance × 0.5) +
(price_momentum × 100) +
(volume_trend × 5) +
(va_position × 15)
```
**Component Breakdown:**
- **price_vs_poc**: +1 if above POC, -1 if below (shows which side of equilibrium)
- **price_vs_va**: +2 if above VAH, -2 if below VAL, 0 if inside VA
- **volume_imbalance**: Percentage difference between upper and lower VA volumes
- **price_momentum**: 5-period SMA of price change (directional acceleration)
- **volume_trend**: Compares 5-period vs 20-period volume averages
- **va_position**: Normalized position within Value Area (-1 to +1)
The composite score is then smoothed using EMA with configurable sensitivity to reduce noise while maintaining responsiveness.
### **Market State Determination**
- **BUYERS Dominant**: Smooth dominance > +10 (bullish control)
- **SELLERS Dominant**: Smooth dominance < -10 (bearish control)
- **NEUTRAL**: Between -10 and +10 (balanced market)
## 📈 HOW TO USE THIS INDICATOR
### **Trend Identification**
- **Green background** indicates buyers are in control - look for long opportunities
- **Red background** indicates sellers are in control - look for short opportunities
- **Gray background** indicates neutral market - consider range-bound strategies
### **Signal Interpretation**
**Buy Signals** (green triangle) appear when:
- Dominance crosses above -10 from oversold conditions
- Previous state was not already bullish
- Suggests shift from seller to buyer control
**Sell Signals** (red triangle) appear when:
- Dominance crosses below +10 from overbought conditions
- Previous state was not already bearish
- Suggests shift from buyer to seller control
### **Value Area Context**
Monitor the information table (top-right) to understand market structure:
- **Price vs POC**: Shows if trading above/below equilibrium
- **Volume Imbalance**: Positive values favor buyers, negative favors sellers
- **Market State**: Current dominant force (BUYERS/SELLERS/NEUTRAL)
### **Multi-Timeframe Strategy**
The auto-timeframe feature analyzes higher timeframe structure:
- On 1-minute charts → analyzes 2-hour structure
- On 5-minute charts → analyzes Daily structure
- On 15-minute charts → analyzes Weekly structure
- On Daily charts → analyzes Yearly structure
This higher timeframe context helps avoid counter-trend trades against the dominant force.
### **Confluence Trading**
Strongest signals occur when multiple factors align:
1. Price above VAH + positive volume imbalance + buyers dominant = Strong bullish setup
2. Price below VAL + negative volume imbalance + sellers dominant = Strong bearish setup
3. Price at POC + neutral state = Potential breakout/breakdown pivot
## ⚙️ INPUT PARAMETERS
- **Higher Time Frame**: Select specific HTF or use 'Auto' for intelligent selection
- **Value Area %**: Percentage of volume contained in VA (default: 70%)
- **Show Buy/Sell Signals**: Toggle signal triangles visibility
- **Show Dominance Histogram**: Toggle histogram display
- **Signal Sensitivity**: EMA period for dominance smoothing (1-20, default: 5)
- **Number of Channels**: Market Profile resolution (10-50, default: 20)
- **Color Settings**: Customize buyer, seller, and neutral colors
## 🎨 VISUAL ELEMENTS
- **Histogram**: Shows smoothed dominance score (green = buyers, red = sellers)
- **Zero Line**: Neutral equilibrium reference
- **Overbought/Oversold Lines**: ±50 levels marking extreme dominance
- **Background Color**: Highlights current market state
- **Information Table**: Displays key metrics (state, dominance, POC relationship, volume imbalance, timeframe, bars in session, total volume)
- **Signal Shapes**: Triangle markers for buy/sell signals
## 🔔 ALERTS
The indicator includes three alert conditions:
1. **Buyers Dominate** - Fires on buy signal crossovers
2. **Sellers Dominate** - Fires on sell signal crossovers
3. **Dominance Shift** - Fires when dominance crosses zero line
## 📊 BEST PRACTICES
### **Timeframe Selection**
- **Scalping (1-5min)**: Focus on 2H-4H dominance shifts
- **Day Trading (15-60min)**: Monitor Daily and Weekly structure
- **Swing Trading (4H-Daily)**: Track Weekly and Monthly dominance
### **Confirmation Strategies**
1. **Trend Following**: Enter in direction of dominance above/below ±20
2. **Reversal Trading**: Fade extreme readings beyond ±50 when diverging with price
3. **Breakout Trading**: Look for dominance expansion beyond ±30 with increasing volume
### **Risk Management**
- Avoid trading during NEUTRAL states (dominance between -10 and +10)
- Use POC levels as logical stop-loss placement
- Consider VAH/VAL as profit targets for mean reversion
## ⚠️ LIMITATIONS & WARNINGS
**Data Requirements**
- Requires sufficient historical data on current chart (minimum 100 bars recommended)
- Lower timeframes may show fewer bars per HTF session initially
- More accurate results after several complete HTF sessions have formed
**Not a Standalone System**
- This indicator analyzes market structure and participant control
- Should be combined with price action, support/resistance, and risk management
- Does not guarantee profitable trades - past dominance does not predict future results
**Repainting Characteristics**
- Higher timeframe levels (POC, VAH, VAL) update as new bars form within the session
- Dominance score recalculates with each new bar
- Historical signals remain fixed, but current session data is developing
**Volume Limitations**
- Uses exchange-provided volume data which varies by instrument type
- Forex and some CFDs use tick volume (not actual transaction volume)
- Most accurate on instruments with reliable volume data (stocks, futures, crypto)
## 🔍 TECHNICAL NOTES
**Performance Optimization**
- Uses `max_bars_back=5000` for extended historical analysis
- Efficient array management prevents memory issues
- Automatic cleanup of session data on new period
**Calculation Method**
- Market Profile uses actual volume distribution, not TPO (Time Price Opportunity)
- Value Area expansion follows traditional Market Profile auction theory
- All calculations occur on the chart's current symbol and timeframe
## 📚 EDUCATIONAL VALUE
This indicator helps traders understand:
- How institutional traders use Market Profile to identify fair value
- The relationship between price, volume, and market acceptance
- Multi-factor analysis techniques for assessing market conditions
- The importance of higher timeframe structure in trade planning
## 🎓 RECOMMENDED READING
To better understand the concepts behind this indicator:
- "Mind Over Markets" by James Dalton (Market Profile foundations)
- "Markets in Profile" by James Dalton (Value Area analysis)
- Volume Profile analysis in institutional trading
## 💬 USAGE TERMS
This indicator is provided as an educational and analytical tool. It does not constitute financial advice, investment recommendations, or trading signals. Users are responsible for their own trading decisions and should conduct their own research and due diligence.
Trading involves substantial risk of loss. Past performance does not guarantee future results. Always use proper risk management and never risk more than you can afford to lose.
Dynamic Momentum OscillatorDescription:
The Dynamic Momentum Oscillator is a statistically-driven momentum tool that goes beyond traditional oscillators. Instead of using raw price, it analyzes the momentum of a DEMA (Double Exponential Moving Average) itself, creating a smoother, more refined signal. Its innovative approach incorporates volatility-weighted z-scoring, allowing the indicator to automatically adjust its sensitivity based on market conditions, helping to identify both the strength and sustainability of momentum shifts.
🔍 How It Works:
DEMA Momentum Core: The indicator first calculates a DEMA of the price. It then analyzes the momentum of this DEMA, effectively creating a "momentum of momentum" measure that filters out market noise.
Volatility-Adaptive Z-Score: The core signal is a statistical z-score, which measures how many standard deviations the DEMA is from its mean. This tells you not just the direction, but the statistical significance of the move.
Dynamic Volatility Weighting: The unique addition is a normalized standard deviation component that weights the z-score. In high volatility periods, this amplifies the signal, making strong trends more pronounced. In low volatility, it provides a more muted, conservative output.
🎯 Interpreting the Oscillator:
Zero Line: The baseline. Momentum is considered neutral here.
Orange Histogram (Above Zero): Indicates bullish momentum. The further the bar extends above zero, the stronger and more statistically significant the bullish momentum.
Purple Histogram (Below Zero): Indicates bearish momentum. The further the bar extends below zero, the stronger and more statistically significant the bearish momentum.
Signal Strength: The height of the histogram bars reflects the combined momentum and volatility, giving you a direct visual gauge of momentum strength.
⚙️ Input Parameters (Group: Core Settings):
DEMA Length: The period for the primary Double Exponential Moving Average.
Standard Deviation Length: The lookback period for calculating volatility and the z-score.
StDev Weight: Controls the influence of volatility on the final signal (0.1 = minimal, 1.0 = maximum). Adjust this to fine-tune the indicator's responsiveness.
By focusing on the statistical properties of price momentum, the Dynamic Momentum Oscillator offers a unique lens for pinpointing high-probability trend continuations and reversals. It's a powerful tool for traders who appreciate quantitative methods.
Alpha-Weighted RSIDescription:
The Alpha-Weighted RSI is a next-generation momentum oscillator that redefines the classic RSI by incorporating the mathematical principles of Lévy Flight. This advanced adaptation applies non-linear weighting to price changes, making the indicator more sensitive to significant market moves and less reactive to minor noise. It is designed for traders seeking a clearer, more powerful view of momentum and potential reversal zones.
🔍 Key Features & Innovations:
Lévy Flight Alpha Weighting: At the core of this indicator is the Alpha parameter (1.0-2.0), which controls the sensitivity to price changes.
Lower Alpha (e.g., 1.2): Makes the indicator highly responsive to recent price movements, ideal for capturing early trend shifts.
Higher Alpha (e.g., 1.8): Creates a smoother, more conservative output that filters out noise, focusing on stronger momentum.
Customizable Smoothing: The raw Lévy-RSI is smoothed by a user-selectable moving average (8 MA types supported: SMA, EMA, SMMA, etc.), allowing for further customization of responsiveness.
Intuitive Centered Oscillator: The RSI is centered around a zero line, providing a clean visual separation between bullish and bearish territory.
Dynamic Gradient Zones: Subtle, colour coded gradient fills in the overbought (>+25) and oversold (<-25) regions enhance visual clarity without cluttering the chart.
Modern Histogram Display: Momentum is plotted as a sleek histogram that changes color between bright cyan (bullish) and magenta (bearish) based on its position relative to the zero line.
🎯 How to Use & Interpret:
Zero-Line Crossovers: The most basic signals. A crossover above the zero line indicates building bullish momentum, while a crossover below suggests growing bearish momentum.
Overbought/Oversold Levels: Use the +25/-25 and +35/-35 levels as dynamic zones. A reading above +25 suggests strong bullish momentum (overbought), while a reading below -25 indicates strong bearish momentum (oversold).
Divergence Detection: Look for divergences between the Alpha-Weighted RSI and price action. For example, if price makes a new low but the RSI forms a higher low, it can signal a potential bullish reversal.
Alpha Tuning: Adjust the Alpha parameter to match market volatility. In choppy markets, increase alpha to reduce noise. In trending markets, decrease alpha to become more responsive.
⚙️ Input Parameters:
RSI Settings: Standard RSI inputs for Length and Calculation Source.
Lévy Flight Settings: The crucial Alpha factor for response control.
MA Settings: MA Type and MA Length for smoothing the final output.
By applying Lévy Flight dynamics, this indicator offers a nuanced perspective on momentum, helping you stay ahead of the curve. Feedback is always welcome!






















