Recession Warning Model [BackQuant]Recession Warning Model
Overview
The Recession Warning Model (RWM) is a Pine Script® indicator designed to estimate the probability of an economic recession by integrating multiple macroeconomic, market sentiment, and labor market indicators. It combines over a dozen data series into a transparent, adaptive, and actionable tool for traders, portfolio managers, and researchers. The model provides customizable complexity levels, display modes, and data processing options to accommodate various analytical requirements while ensuring robustness through dynamic weighting and regime-aware adjustments.
Purpose
The RWM fulfills the need for a concise yet comprehensive tool to monitor recession risk. Unlike approaches relying on a single metric, such as yield-curve inversion, or extensive economic reports, it consolidates multiple data sources into a single probability output. The model identifies active indicators, their confidence levels, and the current economic regime, enabling users to anticipate downturns and adjust strategies accordingly.
Core Features
- Indicator Families : Incorporates 13 indicators across five categories: Yield, Labor, Sentiment, Production, and Financial Stress.
- Dynamic Weighting : Adjusts indicator weights based on recent predictive accuracy, constrained within user-defined boundaries.
- Leading and Coincident Split : Separates early-warning (leading) and confirmatory (coincident) signals, with adjustable weighting (default 60/40 mix).
- Economic Regime Sensitivity : Modulates output sensitivity based on market conditions (Expansion, Late-Cycle, Stress, Crisis), using a composite of VIX, yield-curve, financial conditions, and credit spreads.
- Display Options : Supports four modes—Probability (0-100%), Binary (four risk bins), Lead/Coincident, and Ensemble (blended probability).
- Confidence Intervals : Reflects model stability, widening during high volatility or conflicting signals.
- Alerts : Configurable thresholds (Watch, Caution, Warning, Alert) with persistence filters to minimize false signals.
- Data Export : Enables CSV output for probabilities, signals, and regimes, facilitating external analysis in Python or R.
Model Complexity Levels
Users can select from four tiers to balance simplicity and depth:
1. Essential : Focuses on three core indicators—yield-curve spread, jobless claims, and unemployment change—for minimalistic monitoring.
2. Standard : Expands to nine indicators, adding consumer confidence, PMI, VIX, S&P 500 trend, money supply vs. GDP, and the Sahm Rule.
3. Professional : Includes all 13 indicators, incorporating financial conditions, credit spreads, JOLTS vacancies, and wage growth.
4. Research : Unlocks all indicators plus experimental settings for advanced users.
Key Indicators
Below is a summary of the 13 indicators, their data sources, and economic significance:
- Yield-Curve Spread : Difference between 10-year and 3-month Treasury yields. Negative spreads signal banking sector stress.
- Jobless Claims : Four-week moving average of unemployment claims. Sustained increases indicate rising layoffs.
- Unemployment Change : Three-month change in unemployment rate. Sharp rises often precede recessions.
- Sahm Rule : Triggers when unemployment rises 0.5% above its 12-month low, a reliable recession indicator.
- Consumer Confidence : University of Michigan survey. Declines reflect household pessimism, impacting spending.
- PMI : Purchasing Managers’ Index. Values below 50 indicate manufacturing contraction.
- VIX : CBOE Volatility Index. Elevated levels suggest market anticipation of economic distress.
- S&P 500 Growth : Weekly moving average trend. Declines reduce wealth effects, curbing consumption.
- M2 + GDP Trend : Monitors money supply and real GDP. Simultaneous declines signal credit contraction.
- NFCI : Chicago Fed’s National Financial Conditions Index. Positive values indicate tighter conditions.
- Credit Spreads : Proxy for corporate bond spreads using 10-year vs. 2-year Treasury yields. Widening spreads reflect stress.
- JOLTS Vacancies : Job openings data. Significant drops precede hiring slowdowns.
- Wage Growth : Year-over-year change in average hourly earnings. Late-cycle spikes often signal economic overheating.
Data Processing
- Rate of Change (ROC) : Optionally applied to capture momentum in data series (default: 21-bar period).
- Z-Score Normalization : Standardizes indicators to a common scale (default: 252-bar lookback).
- Smoothing : Applies a short moving average to final signals (default: 5-bar period) to reduce noise.
- Binary Signals : Generated for each indicator (e.g., yield-curve inverted or PMI below 50) based on thresholds or Z-score deviations.
Probability Calculation
1. Each indicator’s binary signal is weighted according to user settings or dynamic performance.
2. Weights are normalized to sum to 100% across active indicators.
3. Leading and coincident signals are aggregated separately (if split mode is enabled) and combined using the specified mix.
4. The probability is adjusted by a regime multiplier, amplifying risk during Stress or Crisis regimes.
5. Optional smoothing ensures stable outputs.
Display and Visualization
- Probability Mode : Plots a continuous 0-100% recession probability with color gradients and confidence bands.
- Binary Mode : Categorizes risk into four levels (Minimal, Watch, Caution, Alert) for simplified dashboards.
- Lead/Coincident Mode : Displays leading and coincident probabilities separately to track signal divergence.
- Ensemble Mode : Averages traditional and split probabilities for a balanced view.
- Regime Background : Color-coded overlays (green for Expansion, orange for Late-Cycle, amber for Stress, red for Crisis).
- Analytics Table : Optional dashboard showing probability, confidence, regime, and top indicator statuses.
Practical Applications
- Asset Allocation : Adjust equity or bond exposures based on sustained probability increases.
- Risk Management : Hedge portfolios with VIX futures or options during regime shifts to Stress or Crisis.
- Sector Rotation : Shift toward defensive sectors when coincident signals rise above 50%.
- Trading Filters : Disable short-term strategies during high-risk regimes.
- Event Timing : Scale positions ahead of high-impact data releases when probability and VIX are elevated.
Configuration Guidelines
- Enable ROC and Z-score for consistent indicator comparison unless raw data is preferred.
- Use dynamic weighting with at least one economic cycle of data for optimal performance.
- Monitor stress composite scores above 80 alongside probabilities above 70 for critical risk signals.
- Adjust adaptation speed (default: 0.1) to 0.2 during Crisis regimes for faster indicator prioritization.
- Combine RWM with complementary tools (e.g., liquidity metrics) for intraday or short-term trading.
Limitations
- Macro indicators lag intraday market moves, making RWM better suited for strategic rather than tactical trading.
- Historical data availability may constrain dynamic weighting on shorter timeframes.
- Model accuracy depends on the quality and timeliness of economic data feeds.
Final Note
The Recession Warning Model provides a disciplined framework for monitoring economic downturn risks. By integrating diverse indicators with transparent weighting and regime-aware adjustments, it empowers users to make informed decisions in portfolio management, risk hedging, or macroeconomic research. Regular review of model outputs alongside market-specific tools ensures its effective application across varying market conditions.
Recherche dans les scripts pour "股价在8元左右净利润为正市值小于80亿的热门股票有哪些"
FEDFUNDS Rate Divergence Oscillator [BackQuant]FEDFUNDS Rate Divergence Oscillator
1. Concept and Rationale
The United States Federal Funds Rate is the anchor around which global dollar liquidity and risk-free yield expectations revolve. When the Fed hikes, borrowing costs rise, liquidity tightens and most risk assets encounter head-winds. When it cuts, liquidity expands, speculative appetite often recovers. Bitcoin, a 24-hour permissionless asset sometimes described as “digital gold with venture-capital-like convexity,” is particularly sensitive to macro-liquidity swings.
The FED Divergence Oscillator quantifies the behavioural gap between short-term monetary policy (proxied by the effective Fed Funds Rate) and Bitcoin’s own percentage price change. By converting each series into identical rate-of-change units, subtracting them, then optionally smoothing the result, the script produces a single bounded-yet-dynamic line that tells you, at a glance, whether Bitcoin is outperforming or underperforming the policy backdrop—and by how much.
2. Data Pipeline
• Fed Funds Rate – Pulled directly from the FRED database via the ticker “FRED:FEDFUNDS,” sampled at daily frequency to synchronise with crypto closes.
• Bitcoin Price – By default the script forces a daily timeframe so that both series share time alignment, although you can disable that and plot the oscillator on intraday charts if you prefer.
• User Source Flexibility – The BTC series is not hard-wired; you can select any exchange-specific symbol or even swap BTC for another crypto or risk asset whose interaction with the Fed rate you wish to study.
3. Math under the Hood
(1) Rate of Change (ROC) – Both the Fed rate and BTC close are converted to percent return over a user-chosen lookback (default 30 bars). This means a cut from 5.25 percent to 5.00 percent feeds in as –4.76 percent, while a climb from 25 000 to 30 000 USD in BTC over the same window converts to +20 percent.
(2) Divergence Construction – The script subtracts the Fed ROC from the BTC ROC. Positive values show BTC appreciating faster than policy is tightening (or falling slower than the rate is cutting); negative values show the opposite.
(3) Optional Smoothing – Macro series are noisy. Toggle “Apply Smoothing” to calm the line with your preferred moving-average flavour: SMA, EMA, DEMA, TEMA, RMA, WMA or Hull. The default EMA-25 removes day-to-day whips while keeping turning points alive.
(4) Dynamic Colour Mapping – Rather than using a single hue, the oscillator line employs a gradient where deep greens represent strong bullish divergence and dark reds flag sharp bearish divergence. This heat-map approach lets you gauge intensity without squinting at numbers.
(5) Threshold Grid – Five horizontal guides create a structured regime map:
• Lower Extreme (–50 pct) and Upper Extreme (+50 pct) identify panic capitulations and euphoria blow-offs.
• Oversold (–20 pct) and Overbought (+20 pct) act as early warning alarms.
• Zero Line demarcates neutral alignment.
4. Chart Furniture and User Interface
• Oscillator fill with a secondary DEMA-30 “shader” offers depth perception: fat ribbons often precede high-volatility macro shifts.
• Optional bar-colouring paints candles green when the oscillator is above zero and red below, handy for visual correlation.
• Background tints when the line breaches extreme zones, making macro inflection weeks pop out in the replay bar.
• Everything—line width, thresholds, colours—can be customised so the indicator blends into any template.
5. Interpretation Guide
Macro Liquidity Pulse
• When the oscillator spends weeks above +20 while the Fed is still raising rates, Bitcoin is signalling liquidity tolerance or an anticipatory pivot view. That condition often marks the embryonic phase of major bull cycles (e.g., March 2020 rebound).
• Sustained prints below –20 while the Fed is already dovish indicate risk aversion or idiosyncratic crypto stress—think exchange scandals or broad flight to safety.
Regime Transition Signals
• Bullish cross through zero after a long sub-zero stint shows Bitcoin regaining upward escape velocity versus policy.
• Bearish cross under zero during a hiking cycle tells you monetary tightening has finally started to bite.
Momentum Exhaustion and Mean-Reversion
• Touches of +50 (or –50) come rarely; they are statistically stretched events. Fade strategies either taking profits or hedging have historically enjoyed positive expectancy.
• Inside-bar candlestick patterns or lower-timeframe bearish engulfings simultaneously with an extreme overbought print make high-probability short scalp setups, especially near weekly resistance. The same logic mirrors for oversold.
Pair Trading / Relative Value
• Combine the oscillator with spreads like BTC versus Nasdaq 100. When both the FED Divergence oscillator and the BTC–NDQ relative-strength line roll south together, the cross-asset confirmation amplifies conviction in a mean-reversion short.
• Swap BTC for miners, altcoins or high-beta equities to test who is the divergence leader.
Event-Driven Tactics
• FOMC days: plot the oscillator on an hourly chart (disable ‘Force Daily TF’). Watch for micro-structural spikes that resolve in the first hour after the statement; rapid flips across zero can front-run post-FOMC swings.
• CPI and NFP prints: extremes reached into the release often mean positioning is one-sided. A reversion toward neutral in the first 24 hours is common.
6. Alerts Suite
Pre-bundled conditions let you automate workflows:
• Bullish / Bearish zero crosses – queue spot or futures entries.
• Standard OB / OS – notify for first contact with actionable zones.
• Extreme OB / OS – prime time to review hedges, take profits or build contrarian swing positions.
7. Parameter Playground
• Shorten ROC Lookback to 14 for tactical traders; lengthen to 90 for macro investors.
• Raise extreme thresholds (for example ±80) when plotting on altcoins that exhibit higher volatility than BTC.
• Try HMA smoothing for responsive yet smooth curves on intraday charts.
• Colour-blind users can easily swap bull and bear palette selections for preferred contrasts.
8. Limitations and Best Practices
• The Fed Funds series is step-wise; it only changes on meeting days. Rapid BTC oscillations in between may dominate the calculation. Keep that perspective when interpreting very high-frequency signals.
• Divergence does not equal causation. Crypto-native catalysts (ETF approvals, hack headlines) can overwhelm macro links temporarily.
• Use in conjunction with classical confirmation tools—order-flow footprints, market-profile ledges, or simple price action to avoid “pure-indicator” traps.
9. Final Thoughts
The FEDFUNDS Rate Divergence Oscillator distills an entire macro narrative monetary policy versus risk sentiment into a single colourful heartbeat. It will not magically predict every pivot, yet it excels at framing market context, spotting stretches and timing regime changes. Treat it as a strategic compass rather than a tactical sniper scope, combine it with sound risk management and multi-factor confirmation, and you will possess a robust edge anchored in the world’s most influential interest-rate benchmark.
Trade consciously, stay adaptive, and let the policy-price tension guide your roadmap.
Smart MTF Bias Detector v3 (Debug)Here's a breakdown of the "Smart MTF Bias Detector v3 (Debug)" indicator's five main filters:
Main Trend (Multi-Timeframe Heikin Ashi)
The green/red background indicates the trend from Heikin Ashi candles on the H1 timeframe (or your set timeframe).
If the Heikin Ashi candle closes above its open, the background is green (indicating an upward bias).
If the Heikin Ashi candle closes below its open, the background is red (indicating a downward bias).
Short-Term Trend Filter (EMA50)
The yellow line represents the EMA50.
Buy only when the price closes above the EMA50.
Sell only when the price closes below the EMA50.
Abnormal Buy/Sell Pressure Detection (Volume Spike)
Purple dots signify candles where the volume is greater than the SMA (Simple Moving Average) of volume over N previous candles, multiplied by a specified multiplier.
This confirms there's "force" driving the price up or serious selling pressure.
Momentum Filter (Stochastic RSI)
Blue upward triangles and orange downward triangles indicate when %K crosses %D.
It uses Oversold/Overbought targets (20/80) to avoid crosses in the middle ranges.
Pivot Break (Fractal Breakout)
Red "X" marks represent Fractal Highs, and green "X" marks represent Fractal Lows.
Red/green up/down arrows indicate breakouts of these levels (e.g., a previous High being broken means an upward breakout, or a previous Low being broken means a downward breakout).
BUY Signal Conditions
A BUY signal will be generated when:
The background is green (HTF Trend ↑).
The Stoch RSI crosses up from below the Oversold zone (blue arrow).
A Fractal Low breakout occurs (Fract UP arrow).
The price is above the EMA50.
There is a Volume Spike (purple dot).
SELL Signal Conditions
A SELL signal will be generated when:
The background is red (HTF Trend ↓).
The Stoch RSI crosses down from above the Overbought zone (orange arrow).
A Fractal High breakout occurs (Fract DOWN arrow).
The price is below the EMA50.
There is a Volume Spike (purple dot).
4H Bollinger Breakout StrategyThis strategy leverages Bollinger Bands on the 4-hour timeframe for long and short trades in trending or ranging markets. Entries trigger on BB breakouts with optional filters for volume, trend, and RSI. Exits occur on opposite BB crosses. Customizable for long-only, short-only, or indicator mode via code comments. Supports forex, stocks, or crypto with full equity allocation and 0.1% commission.
Length (Default: 20): Period for BB basis and std dev; shorter for sensitivity, longer for smoothing.
Basis MA Type (Default: SMA): Selects MA for middle band (SMA, EMA, etc.); EMA for faster response.
Source (Default: Close): Price input for calculations; use close for standard accuracy.
StdDev Multiplier (Default: 1.8): Band width control; higher for fewer signals, lower for more.
Offset (Default: 0): Shifts BB plots; typically unchanged.
Use Filters (Default: True): Applies volume, trend, RSI checks to filter signals.
Volume MA Length (Default: 20): For volume filter (long: >105% avg, short: >120%).
Trend MA Length (Default: 80): SMA for trend filter (long: above MA, short: below).
RSI Length (Default: 14): For short filter (entry if RSI <85).
Use Long/Short Signals (Defaults: True): Toggles directions; long entry on lower BB crossover, short on upper crossunder.
Visuals: BB plots (blue basis, red upper, green lower), orange trend MA, filled background.
Labels/Alerts: Green/red for long entry/exit, yellow/purple for short; alert conditions included.
Smart Impulse Exhaustion Finder (ATR + ADX Filter)📌 Purpose
This indicator detects potential exhaustion of strong bullish or bearish impulses at fresh swing highs/lows by combining multiple price action and volatility-based filters.
🧠 How It Works
A signal is triggered only when all core conditions are satisfied:
1. Swing High/Low Detection
Current high (or low) must be the highest (or lowest) over the last Extremum Lookback bars (default: 50).
This ensures the move is significant relative to recent price action.
2. Impulse Confirmation
Price must extend by at least 1 × ATR from the previous swing point.
This filters out minor fluctuations.
3. Exhaustion Conditions (at least 2 out of 3 must be met)
RSI Extreme: RSI > Overbought Level (default: 80) for bearish signals, RSI < Oversold Level (default: 20) for bullish signals.
Volume Spike: Volume > SMA(Volume, Volume SMA Length) × Volume Spike Multiplier.
Candle Wick Rejection: Upper wick ≥ Wick Threshold % for bearish setups, Lower wick ≥ Wick Threshold % for bullish setups.
4. Trend Filter
ADX > ADX Threshold ensures the market is trending and filters out sideways conditions.
5. Candle Body Filter
Candle body must be ≥ Body Size ATR Factor × ATR.
This avoids weak signals from small candles or doji formations.
📈 How to Use
Bearish Signal:
Appears at fresh swing highs with exhaustion conditions met. Useful for tightening stops, taking partial profits, or counter-trend shorts.
Bullish Signal:
Appears at fresh swing lows with exhaustion conditions met. Useful for trailing stops, profit-taking, or counter-trend longs.
Recommended Timeframes: Works best on 1h, 4h, and Daily charts.
Markets: Crypto, Forex, Stocks — wherever volatility and trends are present.
⚙️ Inputs
RSI Length / Overbought / Oversold
Volume SMA Length & Volume Spike Multiplier
Wick Threshold %
Extremum Lookback (bars for highs/lows)
ADX Length & Threshold
Body Size ATR Factor
⚠️ Disclaimer
This script is for educational purposes only and does not constitute financial advice.
Always test thoroughly and apply proper risk management before live trading.
💡 Tip: Combine this tool with your own market context and confluence factors for higher probability setups.
Reversal Signal avec TICK + RSIThis indicator is a potential reversal indicator for SCALPING, don't use it for swing. It's base on TICK and on an overbrought/oversold condition of the RSI. You can play with the setting, typicaly I like my TICK to be over reacting an 800/-800 and my rsi over 20 and 80, but it give not enough signal. So I set the TICK signal at 651/-651 and the RSI at 25/75. This indicator is made for SP500 and Nasdaq, so SPY/QQQ/SPX/ES/NQ should work well. It's the first version of it, so maybe I'll add so more data to it to increase signal and lower false one. For now I've test it on live market yet(26/7/25).
The RSI is Fast(5 period), I like to use it on the 1 or 5 min chart.
Please not that it only work during 9h30am to 4pm EST.(Because of the TICK)
Feel free to try and even comment. Don't be harsh on me, it's my first try!
(Sorry for my 'english' it's not my first language)
FAUCON
Reversal Point Dynamics⇋ Reversal Point Dynamics (RPD)
This is not an indicator; it is a complete system for deconstructing the mechanics of a market reversal. Reversal Point Dynamics (RPD) moves far beyond simplistic pattern recognition, venturing into a deep analysis of the underlying forces that cause trends to exhaust, pause, and turn. It is engineered from the ground up to identify high-probability reversal points by quantifying the confluence of market dynamics in real-time.
Where other tools provide a static signal, RPD delivers a dynamic probability. It understands that a true market turning point is not a single event, but a cascade of failing momentum, structural breakdown, and a shift in market order. RPD's core engine meticulously analyzes each of these dynamic components—the market's underlying state, its velocity and acceleration, its degree of chaos (entropy), and its structural framework. These forces are synthesized into a single, unified Probability Score, offering you an unprecedented, transparent view into the conviction behind every potential reversal.
This is not a "black box" system. It is an open-architecture engine designed to empower the discerning trader. Featuring real-time signal projection, an integrated Fibonacci R2R Target Engine, and a comprehensive dashboard that acts as your Dynamics Control Center , RPD gives you a complete, holistic view of the market's state.
The Theoretical Core: Deconstructing Market Dynamics
RPD's analytical power is born from the intelligent synthesis of multiple, distinct theoretical models. Each pillar of the engine analyzes a different facet of market behavior. The convergence of these analyses—the "Singularity" event referenced in the dashboard—is what generates the final, high-conviction probability score.
1. Pillar One: Quantum State Analysis (QSA)
This is the foundational analysis of the market's current state within its recent context. Instead of treating price as a random walk, QSA quantizes it into a finite number of discrete "states."
Formulaic Concept: The engine establishes a price range using the highest high and lowest low over the Adaptive Analysis Period. This range is then divided into a user-defined number of Analysis Levels. The current price is mapped to one of these states (e.g., in a 9-level system, State 0 is the absolute low, and State 8 is the absolute high).
Analytical Edge: This acts as a powerful foundational filter. The engine will only begin searching for reversal signals when the market has reached a statistically stretched, extreme state (e.g., State 0 or 8). The Edge Sensitivity input allows you to control exactly how close to this extreme edge the price must be, ensuring you are trading from points of maximum potential exhaustion.
2. Pillar Two: Price State Roc (PSR) - The Dynamics of Momentum
This pillar analyzes the kinetic forces of the market: its velocity and acceleration. It understands that it’s not just where the price is, but how it got there that matters.
Formulaic Concept: The psr function calculates two derivatives of price.
Velocity: (price - price ). This measures the speed and direction of the current move.
Acceleration: (velocity - velocity ). This measures the rate of change in that speed. A negative acceleration (deceleration) during a strong rally is a critical pre-reversal warning, indicating momentum is fading even as price may be pushing higher.
Analytical Edge: The engine specifically hunts for exhaustion patterns where momentum is clearly decelerating as price reaches an extreme state. This is the mechanical signature of a weakening trend.
3. Pillar Three: Market Entropy Analysis - The Dynamics of Order & Chaos
This is RPD's chaos filter, a concept borrowed from information theory. Entropy measures the degree of randomness or disorder in the market's price action.
Formulaic Concept: The calculateEntropy function analyzes recent price changes. A market moving directionally and smoothly has low entropy (high order). A market chopping back and forth without direction has high entropy (high chaos). The value is normalized between 0 and 1.
Analytical Edge: The most reliable trades occur in low-entropy, ordered environments. RPD uses the Entropy Threshold to disqualify signals that attempt to form in chaotic, unpredictable conditions, providing a powerful shield against whipsaw markets.
4. Pillar Four: The Synthesis Engine & Probability Calculation
This is where all the dynamic forces converge. The final probability score is a weighted calculation that heavily rewards confluence.
Formulaic Concept: The calculateProbability function intelligently assembles the final score:
A Base Score is established from trend strength and entropy.
An Entropy Score adds points for low entropy (order) and subtracts for high entropy (chaos).
A significant Divergence Bonus is awarded for a classic momentum divergence.
RSI & Volume Bonuses are added if momentum oscillators are in extreme territory or a volume spike confirms institutional interest.
MTF & Adaptive Bonuses add further weight for alignment with higher timeframe structure.
Analytical Edge: A signal backed by multiple dynamic forces (e.g., extreme state + decelerating momentum + low entropy + volume spike) will receive an exponentially higher probability score. This is the very essence of analyzing reversal point dynamics.
The Command Center: Mastering the Inputs
Every input is a precise lever of control, allowing you to fine-tune the RPD engine to your exact trading style, market, and timeframe.
🧠 Core Algorithm
Predictive Mode (Early Detection):
What It Is: Enables the engine to search for potential reversals on the current, unclosed bar.
How It Works: Analyzes intra-bar acceleration and state to identify developing exhaustion. These signals are marked with a ' ? ' and are tentative.
How To Use It: Enable for scalping or very aggressive day trading to get the earliest possible indication. Disable for swing trading or a more conservative approach that waits for full bar confirmation.
Live Signal Mode (Current Bar):
What It Is: A highly aggressive mode that plots tentative signals with a ' ! ' on the live bar based on projected price and momentum. These signals repaint intra-bar.
How It Works: Uses a linear regression projection of the close to anticipate a reversal.
How To Use It: For advanced users who use intra-bar dynamics for execution and understand the nature of repainting signals.
Adaptive Analysis Period:
What It Is: The main lookback period for the QSA, PSR, and Entropy calculations. This is the engine's "memory."
How It Works: A shorter period makes the engine highly sensitive to local price swings. A longer period makes it focus only on major, significant market structure.
How To Use It: Scalping (1-5m): 15-25. Day Trading (15m-1H): 25-40. Swing Trading (4H+): 40-60.
Fractal Strength (Bars):
What It Is: Defines the strength of the pivot detection used for confirming reversal events.
How It Works: A value of '2' requires a candle's high/low to be more extreme than the two bars to its left and right.
How To Use It: '2' is a robust standard. Increase to '3' for an even stricter definition of a structural pivot, which will result in fewer signals.
MTF Multiplier:
What It Is: Integrates pivot data from a higher timeframe for confluence.
How It Works: A multiplier of '4' on a 15-minute chart will pull pivot data from the 1-hour chart (15 * 4 = 60m).
How To Use It: Set to a multiple that corresponds to your preferred higher timeframe for contextual analysis.
🎯 Signal Settings
Min Probability %:
What It Is: Your master quality filter. A signal is only plotted if its score exceeds this threshold.
How It Works: Directly filters the output of the final probability calculation.
How To Use It: High-Quality (80-95): For A+ setups only. Balanced (65-75): For day trading. Aggressive (50-60): For scalping.
Min Signal Distance (Bars):
What It Is: A noise filter that prevents signals from clustering in choppy conditions.
How It Works: Enforces a "cooldown" period of N bars after a signal.
How To Use It: Increase in ranging markets to focus on major swings. Decrease on lower timeframes.
Entropy Threshold:
What It Is: Your "chaos shield." Sets the maximum allowable market randomness for a signal.
How It Works: If calculated entropy is above this value, the signal is invalidated.
How To Use It: Lower values (0.1-0.5): Extremely strict. Higher values (0.7-1.0): More lenient. 0.85 is a good balance.
Adaptive Entropy & Aggressive Mode:
What It Is: Toggles for dynamically adjusting the engine's core parameters.
How It Works: Adaptive Entropy can slightly lower the required probability in strong trends. Aggressive Mode uses more lenient settings across the board.
How To Use It: Keep Adaptive on. Use Aggressive Mode sparingly, primarily for scalping highly volatile assets.
📊 State Analysis
Analysis Levels:
What It Is: The number of discrete "states" for the QSA.
How It Works: More levels create a finer-grained analysis of price location.
How To Use It: 6-7 levels are ideal. Increasing to 9 can provide more precision on very volatile assets.
Edge Sensitivity:
What It Is: Defines how close to the absolute top/bottom of the range price must be.
How It Works: '0' means price must be in the absolute highest/lowest state. '3' allows a signal within the top/bottom 3 states.
How To Use It: '3' provides a good balance. Lower it to '1' or '0' if you only want to trade extreme exhaustion.
The Dashboard: Your Dynamics Control Center
The dashboard provides a transparent, real-time view into the engine's brain. Use it to understand the context behind every signal and to gauge the current market environment at a glance.
🎯 UNIFIED PROB SCORE
TOTAL SCORE: The highest probability score (either Peak or Valley) the engine is currently calculating. This is your main at-a-glance conviction metric. The "Singularity" header refers to the event where market dynamics align—the event RPD is built to detect.
Quality: A human-readable interpretation of the Total Score. "EXCEPTIONAL" (🌟) is a rare, A+ confluence event. "STRONG" (💪) is a high-quality, tradable setup.
📊 ORDER FLOW & COMPONENT ANALYSIS
Volume Spike: Shows if the current volume is significantly higher than average (YES/NO). A 'YES' adds major confirmation.
Peak/Valley Conf: This breaks down the probability score into its directional components, showing you the separate confidence levels for a potential top (Peak) versus a bottom (Valley).
🌌 MARKET STRUCTURE
HTF Trend: Shows the direction of the underlying trend based on a Supertrend calculation.
Entropy: The current market chaos reading. "🔥 LOW" is an ideal, ordered state for trading. "😴 HIGH" is a warning of choppy, unpredictable conditions.
🔮 FIB & R2R ZONE (Large Dashboard)
This section gives you the status of the Fibonacci Target Engine. It shows if an Active Channel (entry zone) or Stop Zone (invalidation zone) is active and displays the precise price levels for the static entry, target, and stop calculated at the time of the signal.
🛡️ FILTERS & PREDICTIVES (Large Dashboard)
This panel provides a status check on all the bonus filters. It shows the current RSI Status, whether a Divergence is present, and if a Live Pending signal is forming.
The Visual Interface: A Symphony of Data
Every visual element is designed for instant, intuitive interpretation of market dynamics.
Signal Markers: These are the primary outputs of the engine.
▼/▲ b: A fully confirmed signal that has passed all filters.
? b: A tentative signal generated in Predictive Mode, indicating developing dynamics.
◈ b: This diamond icon replaces the standard triangle when the signal is confirmed by a strong momentum divergence, highlighting it as a superior setup where dynamics are misaligned with price.
Harmonic Wave: The flowing, colored wave around the price.
What It Represents: The market's "flow dynamic" and volatility.
How to Interpret It: Expanding waves show increasing volatility. The color is tied to the "Quantum Color" in your theme, representing the underlying energy field of the market.
Entropy Particles: The small dots appearing above/below price.
What They Represent: A direct visualization of the "order dynamic."
How to Interpret Them: Their presence signifies a low-entropy, ordered state ideal for trading. Their color indicates the direction of momentum (PSR velocity). Their absence means the market is too chaotic (high entropy).
The Fibonacci Target Engine: The dynamic R2R system appearing post-signal.
Static Fib Levels: Colored horizontal lines representing the market's "structural dynamic."
The Green "Active Channel" Box: Your zone of consideration. An area to manage a potential entry.
Development Philosophy
Reversal Point Dynamics was engineered to answer a fundamental question: can we objectively measure the forces behind a market turn? It is a synthesis of concepts from market microstructure, statistics, and information theory. The objective was never to create a "perfect" system, but to build a robust decision-support tool that provides a measurable, statistical edge by focusing on the principle of confluence.
By demanding that multiple, independent market dynamics align simultaneously, RPD filters out the vast majority of market noise. It is designed for the trader who thinks in terms of probability and risk management, not in terms of certainties. It is a tool to help you discount the obvious and bet on the unexpected alignment of market forces.
"Markets are constantly in a state of uncertainty and flux and money is made by discounting the obvious and betting on the unexpected."
— George Soros
Trade with insight. Trade with anticipation.
— Dskyz, for DAFE Trading Systems
Stochastic Trend Signal with MTF FilterMulti-Timeframe Stochastic Trend Filter – Real Signals with Confirmation Candles
This script is a multi-timeframe Stochastic trend filter designed to help traders identify reliable BUY/SELL signals based on both momentum and higher-timeframe trend context.
It combines three key components:
Entry Signal Logic:
Entry is based on the Stochastic Oscillator (%K, 14,3), where overbought/oversold conditions are detected in the current chart's timeframe.
A green (bullish) candle following a red candle with %K below 20 can trigger a BUY signal.
A red (bearish) candle following a green candle with %K above 80 can trigger a SELL signal.
Trend Confirmation – Daily Filter:
The script uses Stochastic on the 1D (Daily) timeframe to determine whether short-term momentum aligns with a broader daily trend.
BUY signals are only allowed if the Daily %K is above 50.
SELL signals are only allowed if the Daily %K is below 50.
Long-Term Trend Filter – Weekly Stochastic:
A second filter uses Weekly %K:
BUY signals are suppressed if the Weekly trend is bearish (Weekly %K < 50) while Daily %K is bullish (> 50).
SELL signals are suppressed if the Weekly trend is bullish (Weekly %K > 50) while Daily %K is bearish (< 50).
🖼️ The chart background changes color to visually assist users:
Green background: bullish alignment on Daily and Weekly Stochastic.
Red background: bearish alignment.
Gray background: trend conflict (Daily and Weekly disagree).
✅ This script is ideal for swing traders or position traders who want to enter with confirmation while avoiding false signals during trend conflict zones.
🔔 Alerts are provided for BUY and SELL signals once all conditions are met.
How to use:
Apply on timeframe (4H recommended).
Add alerts for "BUY Alert" and "SELL Alert".
Use background color and plotted labels as entry filters.
Disclaimer: This is not financial advice. Always use proper risk management and test on demo accounts first.
Inflection PointInflection Point - The Adaptive Confluence Reversal Engine
This is not just another peak and valley indicator; it is a complete and total reimagining of how market turning points are detected, qualified, and acted upon. Born from the foundational concepts explored in systems like my earlier creation, DAFE - Turning Point, Inflection Point is a ground-up engineering feat designed for the modern trader. It moves beyond static rules and simple pattern recognition into the realm of dynamic, multi-factor confluence analysis and adaptive machine learning.
Where other indicators provide a guess, Inflection Point provides a probability. It meticulously analyzes the market's deepest currents—momentum, exhaustion, and reversal velocity—and fuses them into a single, unified "Confluence Score." This is not a simple combination of indicators; it is an intelligent, weighted system where each component works in concert, creating an analytical engine that is orders of magnitude more sophisticated and reliable than any standard reversal tool.
Furthermore, Inflection Point learns. Through its advanced Adaptive Learning Engine, it constantly monitors its own performance, adjusting its confidence and selectivity in real-time based on its recent success rate. This allows it to adapt its behavior to any security, on any timeframe, with remarkable success.
Theoretical Foundation - Confluence Core
Inflection Point's predictive power does not come from a single, magical formula. It comes from the intelligent synthesis of three critical market phenomena, weighted and scored in real-time to generate a single, high-conviction probability rating.
1. Factor One: Pre-Reversal Momentum State (RSI Analysis)
Instead of reacting to a simple RSI cross, Inflection Point proactively scans for the build-up of momentum that precedes a reversal.
• Formulaic Concept: It measures the highest RSI value over a lookback period for peaks and the lowest RSI for valleys. A signal is only considered valid if significant momentum has been established before the turn, indicating a stretched market condition ripe for reversal.
• Asymmetric Sophistication: The engine uses different, optimized thresholds for bull and bear momentum, recognizing that markets often fall faster than they rise.
2. Factor Two: Volatility Exhaustion (Bollinger Band Analysis)
A true reversal often occurs when price makes a final, exhaustive push into unsustainable territory.
• Formulaic Concept: The engine detects when price has significantly pierced the outer Bollinger Bands. This is not just a touch, but a statistical deviation from the mean that signals volatility exhaustion, where the energy for the current move is likely depleted.
3. Factor Three: Reversal Strength (Rate of Change Analysis)
The character of a reversal matters. A sharp, decisive turn is more significant than a slow, meandering one.
• Formulaic Concept: Using a short-term Rate of Change (ROC), the engine measures the velocity of the reversal itself. A higher ROC score adds significant weight to the final probability, confirming that the new direction has conviction.
4. The Final Calculation: The Adaptive Learning Engine
This is the system's "brain." It maintains a history of its past signals and calculates its real-time win rate. This hitRate is then used to generate an adaptiveMultiplier.
• Self-Correction: In "Quality Control" mode, a high win rate makes the indicator more selective, demanding a higher probability score to issue a signal, thereby protecting streaks. A lower win rate makes it slightly less selective to ensure it continues learning from new market conditions.
• The result is a system that is not static, but a living, breathing tool that adapts its personality to the unique rhythm of any chart.
Why Inflection Point is a Paradigm Shift
Inflection Point is fundamentally different from other reversal indicators for three key reasons:
Confluence Over Isolation: Standard indicators look at one thing (e.g., RSI > 70). Inflection Point simultaneously analyzes momentum, volatility, and velocity, understanding that true reversals are a product of multiple converging factors. It answers not just "if," but "why" a reversal is likely.
Probabilistic Over Binary: Other tools give you a simple "yes" or "no." Inflection Point provides a probability score from 0-100, allowing you to gauge the conviction of every potential signal. This empowers you to differentiate between a weak setup and an A+ opportunity.
Adaptive Over Static: Every other indicator uses the same rules forever. Inflection Point's Adaptive Engine means it is constantly refining its own logic based on what is actually working in the current market, on the specific asset you are trading. It is tailored to the now.
The Inputs Menu - Your Command Center
Every setting is a lever of control, allowing you to tune the engine to your precise trading style and market focus.
🧠 Neural Core Engine
Analysis Depth: This is the primary lookback for the Bollinger Band and other core calculations. A shorter depth makes the indicator faster and more sensitive, ideal for scalping. A longer depth makes it slower and more stable, ideal for swing trading.
Minimum Probability %: This is your master signal filter. It sets the minimum Confluence Score required to plot a signal. Higher values (85-95) will give you only the highest-conviction A+ setups. Lower values (70-80) will show more potential opportunities.
🤖 Adaptive Neural Learning
Enable Adaptive Learning Engine: Toggles the entire learning system. Disabling it will make the indicator's logic static.
Peak/Valley Success Threshold (ATR): This defines what constitutes a "successful" trade for the learning engine. A value of 1.5 means price must move 1.5x the ATR in your favor for the signal to be marked as a win. Adjust this to match your personal take-profit strategy.
Adaptive Mode: This dictates how the engine uses its hitRate. "Quality Control" is recommended for its intelligent filtering. "Aggressive" will always boost signal scores, useful for finding more setups in a known, trending environment.
Asymmetric Balance: Allows you to apply a "boost" to either peak (short) or valley (long) signals. If you find the market you're trading has stronger long reversals, you can increase the "Valley Signal Boost" to catch them more effectively.
🛡️ Elite Filters
Market Noise Filter: An exceptional tool for avoiding choppy markets. It counts the number of directional changes in the last 5 bars. If the market is whipping back and forth too much, it will block the signal. Lower the "Max Direction Changes" to be extremely selective.
Volume Filter: Requires signal confirmation from a significant volume spike. The "Volume Multiplier" dictates how large this spike must be (e.g., 1.2 = 20% above average volume). This is invaluable for filtering out low-conviction moves in stocks and crypto.
The Dashboard - Your Analytical Co-Pilot
The dashboard is not just a set of numbers; it is a holistic overview of the market's health and the engine's current state.
Unified AI Score: This section provides the most critical, at-a-glance information. "Total Score" is the current probability reading, while "Quality" gives you a human-readable interpretation. "Win Rate" shows the real-time performance of the Adaptive Engine.
Order Flow (OFPI): This measures the "weight" of money behind recent price moves by analyzing price change relative to volume. A high positive OFPI suggests strong buying pressure, while a high negative value suggests strong selling pressure. It gives you a peek into the market's underlying flow.
Component Analysis: This allows you to see the individual "Peak" and "Valley" confidence scores before they are filtered, giving you insight into building momentum before a signal forms.
Market Structure: This panel assesses the broader environment. "HTF Trend" tells you the direction of the larger trend (based on EMAs), while "Vol Regime" tells you if the market is in a high, medium, or low volatility state. Use this to align your signals with the broader market context.
Filter & Engine Statistics: Available on the "Large" dashboard, this provides deep insight into how many signals are being blocked by your filters and the current status of the Adaptive Engine's multiplier.
The Visual Interface - A Symphony of Data
Every visual element on the chart is designed for instant interpretation and insight.
Signal Markers: Simple, clean triangles mark the exact bar of a valid signal. A box is drawn around the high/low of the signal bar to highlight the precise point of inflection.
Dynamic Support/Resistance Zones: These are the glowing lines on your chart. They are not static lines; they are dynamic levels that represent the current battlefield between buyers and sellers.
Cyber Cyan (Valley Blue): This is the current Support Zone. This is the price level the market is currently trying to defend.
Neural Pink (Peak Red): This is the current Resistance Zone. This is the price level the market is currently trying to break through.
Grey (Next Level): This line is a projection, based on the current momentum and the size of the S/R range, of where the next major level of conflict will likely be. It acts as a potential price target.
Development & Philosophy
Inflection Point was not assembled; it was engineered. It represents hundreds of hours of research into market dynamics, statistical analysis, and machine learning principles. The goal was to create a tool that moves beyond the limitations of traditional technical analysis, which often fails in modern, algorithm-driven markets. By building a system based on multi-factor confluence and self-adaptive logic, Inflection Point provides a quantifiable, statistical edge that is simply unattainable with simpler tools. This is the result of a relentless pursuit of a better, more intelligent way to trade.
Universal Applicability
The principles of momentum, exhaustion, and velocity are universal to all freely traded markets. Because of its adaptive core and robust filtering options, Inflection Point has proven to be exceptionally effective on any security (stocks, crypto, forex, indices, futures) and on any timeframe (from 1-minute scalping charts to daily swing trading charts).
" Markets are constantly in a state of uncertainty and flux and money is made by discounting the obvious and betting on the unexpected. "
— George Soros
Trade with insight. Trade with anticipation.
— Dskyz, for DAFE Trading Systems
Rifle UnifiedThis script is designed for use on 30-second charts of Dow Jones-related symbols (YM, MYM, US30). It provides automated buy and sell signals using a combination of price action, RSI (Relative Strength Index), and volume analysis. The script is intended for both live trading signals and backtesting, with configurable risk management and debugging features.
Core Functionality
1. Signal Generation Logic
Trigger: The algorithm looks for a sharp price move (drop or rise) of a user-defined threshold (default: 80 points) within a specified lookback window (default: 20 minutes).
Levels: It monitors for price drops below specific numerical levels ending in 23, 43, or 73 (e.g., 42223, 42273).
RSI Condition: When price falls below one of these levels and the RSI is below 30, the setup is considered active.
Buy Signal: A buy is triggered if, after setup:
Price rises back above the level,
The RSI rate of change (ROC) indicates exhaustion of the drop,
The current bar shows positive momentum.
2. Trade Management
Stop Loss & Take Profit: Configurable fixed or trailing stop loss and take profit levels are plotted and managed automatically.
Exit Signals: The script signals exit based on price action relative to these risk management levels.
3. Filters & Enhancements
Parabolic Move Filter: Prevents entries during extreme price moves.
Dead Cat Bounce Filter: Avoids false signals after sharp reversals.
Volume Filter: Optionally requires volume conditions for trade entries (especially for shorts).
Multiple Confirmation Layers : Includes checks for 5-minute RSI, momentum, and price retracement.
User Inputs & Customization
Trade Direction: Toggle between LONG and SHORT signal generation.
Trigger Settings: Adjust thresholds for price moves, lookback windows, RSI ROC, and volume requirements.
Trade Settings: Set take profit, stop loss, and trailing stop behavior.
Debug & Visualization: Enable or disable various plots, labels, and debug tables for in-depth analysis.
Backtesting: Integrated backtester with summary and detailed statistics tables.
Technical Features
Uses External Libraries: Relies on RifleShooterLib for core logic and BackTestLib for backtesting and statistics.
Multi-timeframe Analysis: Incorporates both 30-second and 5-minute RSI calculations.
Chart Annotations: Plots entry/exit points, risk levels, and debug information directly on the chart.
Alert Conditions: Built-in alert triggers for key events (initial move, stall, entry).
Intended Use
Markets: Dow Jones symbols (YM, MYM, US30, or US30 CFD).
Timeframe: 30-second chart.
Purpose: Automated signal generation for discretionary or algorithmic trading, with robust risk management and backtesting support.
Notable Customization & Extension Points
Momentum Calculation: Plans to replace the current momentum measure with "sqz momentum".
Displacement Logic: Future update to use "FVG concept" for displacement.
High-Contrast RSI: Optional visual enhancements for RSI extremes.
Time-based Stop: Consideration for adding a time-based stop mechanism.
This script is highly modular, with extensive user controls, and is suitable for both live trading and historical analysis of Dow Jones index movements
Range Breakout [sgbpulse]Range Breakout
1. Overview
The "Range Breakout " indicator is a powerful tool designed to identify and visually display price ranges on your chart using pivot points. It dynamically draws two distinct boxes – an External Range and an Internal Range – helping traders pinpoint potential support and resistance zones. Beyond its visual representation, the indicator offers a comprehensive set of 12 unique breakout alerts, providing real-time notifications for significant price movements outside these defined ranges. Additionally, it integrates RSI and MFI metrics for momentum confirmation.
2. How It Works
The indicator operates by identifying pivot points based on user-defined "left" and "right" bar lengths. A high pivot is a bar with a specified number of lower highs both to its left and right, and similarly for a low pivot.
External Range: Calculated using longer pivot lengths (default: 15 bars left, 6 bars right). This range represents broader, more significant price consolidation areas.
Internal Range: Calculated using shorter pivot lengths (default: 4 bars left, 3 bars right). This range captures tighter, more immediate price consolidations within the broader trend.
The External Range will always be greater than or equal to the Internal Range, as it's based on a wider historical context. Both ranges are displayed as transparent boxes on your chart, dynamically adjusting as new pivots are formed.
3. Key Features and Settings
Customizable Pivot Lengths:
External Range (Left/Right Bars): Adjust sensitivity for identifying the broader price range. Longer lengths lead to more stable, but less frequent, range updates.
Internal Range (Left/Right Bars): Adjust sensitivity for the tighter, more immediate price range.
Tool Tips: Minimum 6 bars for the External Range, and minimum 2 bars for the Internal Range.
Customizable Range Colors: Easily change the background colors of the External and Internal Range boxes to match your chart's aesthetic.
Dynamic Range Display: The indicator automatically updates the range boxes as new pivot highs and lows are formed, always presenting the most current valid ranges.
RSI / MFI Settings:
Timeframe Source: Select the timeframe for RSI and MFI calculation.
- Chart: Calculation based on the current chart timeframe.
- Daily: Always calculated based on the daily ("D") timeframe, even if the chart is on a lower timeframe.
RSI Length: Period length for RSI calculation (default: 14).
RSI Overbought Level: Overbought level for RSI (default: 70.0).
RSI Oversold Level: Oversold level for RSI (default: 30.0).
MFI Length: Period length for MFI calculation (default: 14).
MFI Overbought Level: Overbought level for MFI (default: 80.0).
MFI Oversold Level: Oversold level for MFI (default: 20.0).
4. Synergy of Ranges & Breakout Strength
The interaction between the External and Internal Ranges provides deep insights into price movement and breakout strength:
Immediate Direction: The movement of the Internal Range (up or down) indicates the short-term directional bias within the broader framework of the External Range.
Strength Confirmation: A breakout of the External Range, followed by a breakout of the Internal Range, confirms the strength of the move and increases confidence in the breakout.
Strong Momentum ("Leaving" Ranges Behind): When price breaks out with exceptionally strong momentum, it continues to move aggressively and does not immediately form new pivots. In such situations, the existing ranges (External and Internal) remain in place while the candles "leave them behind." A "Full Candle" breakout, where the entire candle moves past both ranges, indicates a particularly powerful and decisive move.
Momentum (RSI / MFI) as Confirmation:
- RSI (Relative Strength Index): Measures the speed and change of price movements. Extreme values (above 70 or below 30) indicate overbought/oversold conditions respectively, confirming strong momentum in a breakout.
- MFI (Money Flow Index): Similar to RSI but incorporates volume. Extreme values (above 80 or below 20) indicate strong money flow in/out, reinforcing breakout confirmation.
- Importance of Confirmation: If a breakout occurs but momentum indicators do not confirm it (for example, an upside breakout while RSI is declining), this could signal weakness in the move and the risk of a false breakout (Fakeout).
5. Visuals
The indicator provides clear visual representations on the chart:
Range Boxes:
Two dynamic boxes are drawn on the chart: one for the External Range and one for the Internal Range.
These boxes update continuously, displaying the current range boundaries based on the latest pivots. They provide an immediate visual indication of support and resistance levels.
RSI/MFI Status Labels:
Small text labels appear to the right of the current bar, vertically centered.
They display the status of RSI and MFI: RSI OB (Overbought), RSI OS (Oversold), MFI OB, MFI OS, along with the exact value.
Important: The labels remain on the chart as long as the condition holds (indicator is above/below the level), unlike alerts which mark a singular crossover event.
Plotting of Key Values:
The indicator plots six invisible series on the chart, primarily to allow the user to view the exact numerical values of:
- The upper and lower bounds of the External Range (External High, External Low).
- The upper and lower bounds of the Internal Range (Internal High, Internal Low).
- The calculated RSI and MFI values (RSI, MFI).
These values are accessible for viewing through TradingView's Data Window and also via the Status Line when hovering over the relevant candle. This enables more precise quantitative analysis of range levels and momentum.
6. Comprehensive Breakout Alerts
The "Range Breakout " indicator provides 12 distinct alert conditions for breakouts, allowing you to select the required level of confirmation for each alert. All alerts are triggered only upon a fully confirmed bar close (barstate.isconfirmed) to minimize false signals and ensure reliability.
All breakout alerts are configured to detect a Crossover/Crossunder of the levels, meaning a specific event where the price moves from one side of the range to the other.
External Range Breakout UP
- Close: Price closes above the External Range.
- Real Body: The entire "real body" of the candle (min of open/close prices) closes above the External Range.
- Full Candle: The entire candle (the lowest point of the candle) closes above the External Range.
External Range Breakout DOWN
- Close: Price closes below the External Range.
- Real Body: The entire "real body" of the candle (max of open/close prices) closes below the External Range.
- Full Candle: The entire candle (the highest point of the candle) closes below the External Range.
Internal Range Breakout UP
- Close: Price closes above the Internal Range.
- Real Body: The "real body" of the candle closes above the Internal Range.
- Full Candle: The entire candle closes above the Internal Range.
Internal Range Breakout DOWN
- Close: Price closes below the Internal Range.
- Real Body: The "real body" of the candle closes below the Internal Range.
- Full Candle: The entire candle closes below the Internal Range.
7. Ideal Use Cases
This indicator is ideal for traders who:
Want to clearly identify and monitor price consolidation zones.
Seek confirmation for breakout strategies across various timeframes.
Require reliable and automated alerts for potential entry or exit points based on range expansion.
8. Complementary Indicator
For even more comprehensive market analysis, we highly recommend using this indicator in conjunction with Market Structure Support & Resistance External/Internal & BoS .
This powerful complementary indicator automatically and accurately identifies significant support and resistance levels by locating high and low pivot points, as well as key Pre-Market High/Low levels. Its strength lies in its dynamic adaptability to any timeframe and asset, providing precise and relevant real-time levels while maintaining a clean chart. It also identifies Break of Structure (BoS) to signal potential trend changes or continuations.
Using both indicators together provides a robust framework for identifying defined ranges and potential trend shifts, enabling more informed trading decisions.
View Market Structure Support & Resistance External/Internal & BoS Indicator
9. Important Note: Trading Risk
This indicator is intended for educational and informational purposes only and does not constitute investment advice or a recommendation for trading in any form whatsoever.
Trading in financial markets involves significant risk of capital loss. It is important to remember that past performance is not indicative of future results. All trading decisions are your sole responsibility. Never trade with money you cannot afford to lose.
NQ Position Size CalculatorNQ Position Size Line Calculator is designed specifically for Nasdaq 100 futures (NQ) and micro futures (MNQ) traders who want to maintain disciplined risk management. This visual tool eliminates the guesswork from position sizing by displaying distance lines and contract calculations directly on your chart.
The indicator creates horizontal lines at 10-tick intervals from your stop loss level, showing you exactly how many contracts to trade at each distance to maintain your predetermined risk amount. Whether you're trading regular NQ contracts or micro MNQ contracts, this calculator ensures you never risk more than intended while providing instant visual feedback for optimal position sizing decisions.
How to Use the Indicator
Step 1: Configure Your Settings
Stop Loss Price: Enter your exact stop loss level (e.g., 20000.00)
Risk Amount ($): Set your maximum dollar risk per trade (e.g., $500)
Contract Type: Choose between:
NQ (Regular): $5 per tick - for larger accounts
MNQ (Micro): $0.50 per tick - for smaller accounts or conservative sizing
Display Options:
Max Lines: Number of distance lines to show (default: 30)
Show Labels: Toggle tick distance and contract count labels
Line Color: Customize the color of distance lines
Label Size: Choose tiny, small, or normal label sizes
Step 2: Read the Visual Display
Once configured, the indicator displays:
Stop Loss Line:
Thick yellow line marking your exact stop loss level
Yellow label showing the stop loss price
Distance Lines:
Dashed red lines at 10-tick intervals above and below your stop loss
Lines appear on both sides for long and short position planning
Labels (if enabled):
Green labels (right side): For long positions above your stop loss
Red labels (left side): For short positions below your stop loss
Format: "20T 5x" means 20 ticks distance, 5 contracts maximum
Step 3: Use the Information Tables
The indicator provides two helpful tables:
Position Size Table (top-right):
Shows common tick distances (10, 20, 40, 80, 160 ticks)
Displays risk per contract at each distance
Contract count for your specified risk amount
Total risk with rounded contract numbers
Settings Table (bottom-right):
Confirms your current risk amount
Shows selected contract type
Displays current settings for quick reference
Step 4: Apply to Your Trading
For Long Positions:
Look at the green labels on the right side of your chart
Find your desired entry level
Read the label to see: distance in ticks and maximum contracts
Example: "30T 8x" = 30 ticks from stop, buy 8 contracts maximum
For Short Positions:
Look at the red labels on the left side of your chart
Find your desired entry level
Read the label for tick distance and contract count
Example: "40T 6x" = 40 ticks from stop, sell 6 contracts maximum
Step 5: Trading Execution
Before Entering a Trade:
Identify your stop loss level and input it into the indicator
Choose your entry point by looking at the distance lines
Note the contract count from the corresponding label
Verify the risk amount matches your trading plan
Execute your trade with the calculated position size
Risk Management Features:
Contract rounding: All position sizes are rounded down (never up) to ensure you don't exceed your risk limit
Zero position filtering: Lines only show where position size is at least 1 contract
Dual-sided display: Plan both long and short opportunities simultaneously
Frahm Factor Position Size CalculatorThe Frahm Factor Position Size Calculator is a powerful evolution of the original Frahm Factor script, leveraging its volatility analysis to dynamically adjust trading risk. This Pine Script for TradingView uses the Frahm Factor’s volatility score (1-10) to set risk percentages (1.75% to 5%) for both Margin-Based and Equity-Based position sizing. A compact table on the main chart displays Risk per Trade, Frahm Factor, and Average Candle Size, making it an essential tool for traders aligning risk with market conditions.
Calculates a volatility score (1-10) using true range percentile rank over a customizable look-back window (default 24 hours).
Dynamically sets risk percentage based on volatility:
Low volatility (score ≤ 3): 5% risk for bolder trades.
High volatility (score ≥ 8): 1.75% risk for caution.
Medium volatility (score 4-7): Smoothly interpolated (e.g., 4 → 4.3%, 5 → 3.6%).
Adjustable sensitivity via Frahm Scale Multiplier (default 9) for tailored volatility response.
Position Sizing:
Margin-Based: Risk as a percentage of total margin (e.g., $175 for 1.75% of $10,000 at high volatility).
Equity-Based: Risk as a percentage of (equity - minimum balance) (e.g., $175 for 1.75% of ($15,000 - $5,000)).
Compact 1-3 row table shows:
Risk per Trade with Frahm score (e.g., “$175.00 (Frahm: 8)”).
Frahm Factor (e.g., “Frahm Factor: 8”).
Average Candle Size (e.g., “Avg Candle: 50 t”).
Toggles to show/hide Frahm Factor and Average Candle Size rows, with no empty backgrounds.
Four sizes: XL (18x7, large text), L (13x6, normal), M (9x5, small, default), S (8x4, tiny).
Repositionable (9 positions, default: top-right).
Customizable cell color, text color, and transparency.
Set Frahm Factor:
Frahm Window (hrs): Pick how far back to measure volatility (e.g., 24 hours). Shorter for fast markets, longer for chill ones.
Frahm Scale Multiplier: Set sensitivity (1-10, default 9). Higher makes the score jumpier; lower smooths it out.
Set Margin-Based:
Total Margin: Enter your account balance (e.g., $10,000). Risk auto-adjusts via Frahm Factor.
Set Equity-Based:
Total Equity: Enter your total account balance (e.g., $15,000).
Minimum Balance: Set to the lowest your account can go before liquidation (e.g., $5,000). Risk is based on the difference, auto-adjusted by Frahm Factor.
Customize Display:
Calculation Method: Pick Margin-Based or Equity-Based.
Table Position: Choose where the table sits (e.g., top_right).
Table Size: Select XL, L, M, or S (default M, small text).
Table Cell Color: Set background color (default blue).
Table Text Color: Set text color (default white).
Table Cell Transparency: Adjust transparency (0 = solid, 100 = invisible, default 80).
Show Frahm Factor & Show Avg Candle Size: Check to show these rows, uncheck to hide (default on).
Warrior Trading Momentum Strategy
# 🚀 Warrior Trading Momentum Strategy - Day Trading Excellence
## Strategy Overview
This comprehensive Pine Script strategy replicates the proven methodologies taught by Ross Cameron and the Warrior Trading community. Designed for active day traders, it identifies high-probability momentum setups with strict risk management protocols.
## 📈 Core Trading Setups
### 1. Gap and Go Trading
- **Primary Focus**: Stocks gapping up 2%+ with volume confirmation
- **Entry Logic**: Breakout above gap open with momentum validation
- **Volume Filter**: 2x average volume requirement for quality setups
### 2. ABCD Pattern Recognition
- **Pattern Detection**: Automated identification of classic ABCD reversal patterns
- **Validation**: A-B and C-D move relationship analysis
- **Entry Trigger**: D-point breakout with volume confirmation
### 3. VWAP Momentum Plays
- **Strategy**: Entries near VWAP with bounce confirmation
- **Distance Filter**: Configurable percentage distance for optimal entries
- **Direction Bias**: Above VWAP bullish momentum validation
### 4. Red to Green Reversals
- **Setup**: Reversal patterns after consecutive red candles
- **Confirmation**: Volume spike with bullish close required
- **Momentum**: Trend change validation with RSI support
### 5. Breakout Momentum
- **Logic**: Breakouts above recent highs with volume
- **Filters**: EMA20 and RSI confirmation for quality
- **Trend**: Established momentum direction validation
## ⚡ Key Features
### Smart Risk Management
- **Position Sizing**: Automatic calculation based on account risk percentage
- **Stop Loss**: 2 ATR-based stops for volatility adjustment
- **Take Profit**: Configurable risk-reward ratios (default 1:2)
- **Trailing Stops**: Profit protection with adjustable triggers
### Advanced Filtering System
- **Time Filters**: Market hours trading with lunch hour avoidance
- **Volume Confirmation**: Multi-timeframe volume analysis
- **Momentum Indicators**: RSI and moving average trend validation
- **Quality Control**: Multiple confirmation layers for signal accuracy
### PDT-Friendly Design
- **Trade Limiting**: Built-in daily trade counter for accounts under $25K
- **Selective Trading**: Priority scoring system for A+ setups only
- **Quality over Quantity**: Maximum 2-3 high-probability trades per day
## 🎯 Optimal Usage
### Best Timeframes
- **Primary**: 5-minute charts for entry timing
- **Secondary**: 1-minute for precise execution
- **Context**: Daily charts for gap analysis
### Ideal Market Conditions
- **Volatility**: High-volume, momentum-driven markets
- **Stocks**: Market cap $100M+, average volume 1M+ shares
- **Sectors**: Technology, biotech, growth stocks with news catalysts
### Account Requirements
- **Minimum**: $500+ for proper position sizing
- **Recommended**: $25K+ for unlimited day trading
- **Risk Tolerance**: Active day trading experience preferred
## 📊 Performance Optimization
### Entry Criteria (All Must Align)
1. ✅ Time filter (market hours, avoid lunch)
2. ✅ Volume spike (2x+ average volume)
3. ✅ Momentum confirmation (RSI 50-80)
4. ✅ Trend alignment (above EMA20)
5. ✅ Pattern completion (setup-specific)
### Risk Parameters
- **Maximum Risk**: 1-2% per trade
- **Position Size**: 25% of account maximum
- **Stop Loss**: 2 ATR below entry
- **Take Profit**: 2:1 risk-reward minimum
## 🔧 Customization Options
### Gap Trading Settings
- Minimum gap percentage threshold
- Volume multiplier requirements
- Gap validation criteria
### Pattern Recognition
- ABCD ratio parameters
- Swing point sensitivity
- Pattern completion filters
### Risk Management
- Risk-reward ratio adjustment
- Maximum daily trade limits
- Trailing stop trigger levels
### Time and Session Filters
- Trading session customization
- Lunch hour avoidance toggle
- Market condition filters
## ⚠️ Important Disclaimers
### Risk Warning
- **High Risk**: Day trading involves substantial risk of loss
- **Capital Requirements**: Only trade with risk capital
- **Experience**: Strategy requires active monitoring and experience
- **Market Conditions**: Performance varies with market volatility
### PDT Considerations
- **Day Trading Rules**: Accounts under $25K limited to 3 day trades per 5 days
- **Compliance**: Strategy includes trade counting for PDT compliance
- **Alternative**: Consider swing trading modifications for smaller accounts
### Backtesting vs Live Trading
- **Slippage**: Real trading involves execution delays and slippage
- **Commissions**: Factor in broker fees for accurate performance
- **Market Impact**: Large positions may affect fill prices
- **Psychological Factors**: Live trading involves emotional challenges
## 📚 Educational Value
This strategy serves as an excellent learning tool for understanding:
- Professional day trading methodologies
- Risk management principles
- Pattern recognition techniques
- Volume and momentum analysis
- Multi-timeframe analysis
## 🤝 Community and Support
Based on proven Warrior Trading methodologies with active community support. Strategy includes comprehensive plotting and information tables for educational purposes and trade analysis.
---
**Disclaimer**: This strategy is for educational purposes. Past performance does not guarantee future results. Always practice proper risk management and never risk more than you can afford to lose.
**Tags**: #DayTrading #Momentum #WarriorTrading #GapAndGo #ABCD #VWAP #PatternTrading #RiskManagement
Aetherium Institutional Market Resonance EngineAetherium Institutional Market Resonance Engine (AIMRE)
A Three-Pillar Framework for Decoding Institutional Activity
🎓 THEORETICAL FOUNDATION
The Aetherium Institutional Market Resonance Engine (AIMRE) is a multi-faceted analysis system designed to move beyond conventional indicators and decode the market's underlying structure as dictated by institutional capital flow. Its philosophy is built on a singular premise: significant market moves are preceded by a convergence of context , location , and timing . Aetherium quantifies these three dimensions through a revolutionary three-pillar architecture.
This system is not a simple combination of indicators; it is an integrated engine where each pillar's analysis feeds into a central logic core. A signal is only generated when all three pillars achieve a state of resonance, indicating a high-probability alignment between market organization, key liquidity levels, and cyclical momentum.
⚡ THE THREE-PILLAR ARCHITECTURE
1. 🌌 PILLAR I: THE COHERENCE ENGINE (THE 'CONTEXT')
Purpose: To measure the degree of organization within the market. This pillar answers the question: " Is the market acting with a unified purpose, or is it chaotic and random? "
Conceptual Framework: Institutional campaigns (accumulation or distribution) create a non-random, organized market environment. Retail-driven or directionless markets are characterized by "noise" and chaos. The Coherence Engine acts as a filter to ensure we only engage when institutional players are actively steering the market.
Formulaic Concept:
Coherence = f(Dominance, Synchronization)
Dominance Factor: Calculates the absolute difference between smoothed buying pressure (volume-weighted bullish candles) and smoothed selling pressure (volume-weighted bearish candles), normalized by total pressure. A high value signifies a clear winner between buyers and sellers.
Synchronization Factor: Measures the correlation between the streams of buying and selling pressure over the analysis window. A high positive correlation indicates synchronized, directional activity, while a negative correlation suggests choppy, conflicting action.
The final Coherence score (0-100) represents the percentage of market organization. A high score is a prerequisite for any signal, filtering out unpredictable market conditions.
2. 💎 PILLAR II: HARMONIC LIQUIDITY MATRIX (THE 'LOCATION')
Purpose: To identify and map high-impact institutional footprints. This pillar answers the question: " Where have institutions previously committed significant capital? "
Conceptual Framework: Large institutional orders leave indelible marks on the market in the form of anomalous volume spikes at specific price levels. These are not random occurrences but are areas of intense historical interest. The Harmonic Liquidity Matrix finds these footprints and consolidates them into actionable support and resistance zones called "Harmonic Nodes."
Algorithmic Process:
Footprint Identification: The engine scans the historical lookback period for candles where volume > average_volume * Institutional_Volume_Filter. This identifies statistically significant volume events.
Node Creation: A raw node is created at the mean price of the identified candle.
Dynamic Clustering: The engine uses an ATR-based proximity algorithm. If a new footprint is identified within Node_Clustering_Distance (ATR) of an existing Harmonic Node, it is merged. The node's price is volume-weighted, and its magnitude is increased. This prevents chart clutter and consolidates nearby institutional orders into a single, more significant level.
Node Decay: Nodes that are older than the Institutional_Liquidity_Scanback period are automatically removed from the chart, ensuring the analysis remains relevant to recent market dynamics.
3. 🌊 PILLAR III: CYCLICAL RESONANCE MATRIX (THE 'TIMING')
Purpose: To identify the market's dominant rhythm and its current phase. This pillar answers the question: " Is the market's immediate energy flowing up or down? "
Conceptual Framework: Markets move in waves and cycles of varying lengths. Trading in harmony with the current cyclical phase dramatically increases the probability of success. Aetherium employs a simplified wavelet analysis concept to decompose price action into short, medium, and long-term cycles.
Algorithmic Process:
Cycle Decomposition: The engine calculates three oscillators based on the difference between pairs of Exponential Moving Averages (e.g., EMA8-EMA13 for short cycle, EMA21-EMA34 for medium cycle).
Energy Measurement: The 'energy' of each cycle is determined by its recent volatility (standard deviation). The cycle with the highest energy is designated as the "Dominant Cycle."
Phase Analysis: The engine determines if the dominant cycles are in a bullish phase (rising from a trough) or a bearish phase (falling from a peak).
Cycle Sync: The highest conviction timing signals occur when multiple cycles (e.g., short and medium) are synchronized in the same direction, indicating broad-based momentum.
🔧 COMPREHENSIVE INPUT SYSTEM
Pillar I: Market Coherence Engine
Coherence Analysis Window (10-50, Default: 21): The lookback period for the Coherence Engine.
Lower Values (10-15): Highly responsive to rapid shifts in market control. Ideal for scalping but can be sensitive to noise.
Balanced (20-30): Excellent for day trading, capturing the ebb and flow of institutional sessions.
Higher Values (35-50): Smoother, more stable reading. Best for swing trading and identifying long-term institutional campaigns.
Coherence Activation Level (50-90%, Default: 70%): The minimum market organization required to enable signal generation.
Strict (80-90%): Only allows signals in extremely clear, powerful trends. Fewer, but potentially higher quality signals.
Standard (65-75%): A robust filter that effectively removes choppy conditions while capturing most valid institutional moves.
Lenient (50-60%): Allows signals in less-organized markets. Can be useful in ranging markets but may increase false signals.
Pillar II: Harmonic Liquidity Matrix
Institutional Liquidity Scanback (100-400, Default: 200): How far back the engine looks for institutional footprints.
Short (100-150): Focuses on recent institutional activity, providing highly relevant, immediate levels.
Long (300-400): Identifies major, long-term structural levels. These nodes are often extremely powerful but may be less frequent.
Institutional Volume Filter (1.3-3.0, Default: 1.8): The multiplier for detecting a volume spike.
High (2.5-3.0): Only registers climactic, undeniable institutional volume. Fewer, but more significant nodes.
Low (1.3-1.7): More sensitive, identifying smaller but still relevant institutional interest.
Node Clustering Distance (0.2-0.8 ATR, Default: 0.4): The ATR-based distance for merging nearby nodes.
High (0.6-0.8): Creates wider, more consolidated zones of liquidity.
Low (0.2-0.3): Creates more numerous, precise, and distinct levels.
Pillar III: Cyclical Resonance Matrix
Cycle Resonance Analysis (30-100, Default: 50): The lookback for determining cycle energy and dominance.
Short (30-40): Tunes the engine to faster, shorter-term market rhythms. Best for scalping.
Long (70-100): Aligns the timing component with the larger primary trend. Best for swing trading.
Institutional Signal Architecture
Signal Quality Mode (Professional, Elite, Supreme): Controls the strictness of the three-pillar confluence.
Professional: Loosest setting. May generate signals if two of the three pillars are in strong alignment. Increases signal frequency.
Elite: Balanced setting. Requires a clear, unambiguous resonance of all three pillars. The recommended default.
Supreme: Most stringent. Requires perfect alignment of all three pillars, with each pillar exhibiting exceptionally strong readings (e.g., coherence > 85%). The highest conviction signals.
Signal Spacing Control (5-25, Default: 10): The minimum bars between signals to prevent clutter and redundant alerts.
🎨 ADVANCED VISUAL SYSTEM
The visual architecture of Aetherium is designed not merely for aesthetics, but to provide an intuitive, at-a-glance understanding of the complex data being processed.
Harmonic Liquidity Nodes: The core visual element. Displayed as multi-layered, semi-transparent horizontal boxes.
Magnitude Visualization: The height and opacity of a node's "glow" are proportional to its volume magnitude. More significant nodes appear brighter and larger, instantly drawing the eye to key levels.
Color Coding: Standard nodes are blue/purple, while exceptionally high-magnitude nodes are highlighted in an accent color to denote critical importance.
🌌 Quantum Resonance Field: A dynamic background gradient that visualizes the overall market environment.
Color: Shifts from cool blues/purples (low coherence) to energetic greens/cyans (high coherence and organization), providing instant context.
Intensity: The brightness and opacity of the field are influenced by total market energy (a composite of coherence, momentum, and volume), making powerful market states visually apparent.
💎 Crystalline Lattice Matrix: A geometric web of lines projected from a central moving average.
Mathematical Basis: Levels are projected using multiples of the Golden Ratio (Phi ≈ 1.618) and the ATR. This visualizes the natural harmonic and fractal structure of the market. It is not arbitrary but is based on mathematical principles of market geometry.
🧠 Synaptic Flow Network: A dynamic particle system visualizing the engine's "thought process."
Node Density & Activation: The number of particles and their brightness/color are tied directly to the Market Coherence score. In high-coherence states, the network becomes a dense, bright, and organized web. In chaotic states, it becomes sparse and dim.
⚡ Institutional Energy Waves: Flowing sine waves that visualize market volatility and rhythm.
Amplitude & Speed: The height and speed of the waves are directly influenced by the ATR and volume, providing a feel for market energy.
📊 INSTITUTIONAL CONTROL MATRIX (DASHBOARD)
The dashboard is the central command console, providing a real-time, quantitative summary of each pillar's status.
Header: Displays the script title and version.
Coherence Engine Section:
State: Displays a qualitative assessment of market organization: ◉ PHASE LOCK (High Coherence), ◎ ORGANIZING (Moderate Coherence), or ○ CHAOTIC (Low Coherence). Color-coded for immediate recognition.
Power: Shows the precise Coherence percentage and a directional arrow (↗ or ↘) indicating if organization is increasing or decreasing.
Liquidity Matrix Section:
Nodes: Displays the total number of active Harmonic Liquidity Nodes currently being tracked.
Target: Shows the price level of the nearest significant Harmonic Node to the current price, representing the most immediate institutional level of interest.
Cycle Matrix Section:
Cycle: Identifies the currently dominant market cycle (e.g., "MID ") based on cycle energy.
Sync: Indicates the alignment of the cyclical forces: ▲ BULLISH , ▼ BEARISH , or ◆ DIVERGENT . This is the core timing confirmation.
Signal Status Section:
A unified status bar that provides the final verdict of the engine. It will display "QUANTUM SCAN" during neutral periods, or announce the tier and direction of an active signal (e.g., "◉ TIER 1 BUY ◉" ), highlighted with the appropriate color.
🎯 SIGNAL GENERATION LOGIC
Aetherium's signal logic is built on the principle of strict, non-negotiable confluence.
Condition 1: Context (Coherence Filter): The Market Coherence must be above the Coherence Activation Level. No signals can be generated in a chaotic market.
Condition 2: Location (Liquidity Node Interaction): Price must be actively interacting with a significant Harmonic Liquidity Node.
For a Buy Signal: Price must be rejecting the Node from below (testing it as support).
For a Sell Signal: Price must be rejecting the Node from above (testing it as resistance).
Condition 3: Timing (Cycle Alignment): The Cyclical Resonance Matrix must confirm that the dominant cycles are synchronized with the intended trade direction.
Signal Tiering: The Signal Quality Mode input determines how strictly these three conditions must be met. 'Supreme' mode, for example, might require not only that the conditions are met, but that the Market Coherence is exceptionally high and the interaction with the Node is accompanied by a significant volume spike.
Signal Spacing: A final filter ensures that signals are spaced by a minimum number of bars, preventing over-alerting in a single move.
🚀 ADVANCED TRADING STRATEGIES
The Primary Confluence Strategy: The intended use of the system. Wait for a Tier 1 (Elite/Supreme) or Tier 2 (Professional/Elite) signal to appear on the chart. This represents the alignment of all three pillars. Enter after the signal bar closes, with a stop-loss placed logically on the other side of the Harmonic Node that triggered the signal.
The Coherence Context Strategy: Use the Coherence Engine as a standalone market filter. When Coherence is high (>70%), favor trend-following strategies. When Coherence is low (<50%), avoid new directional trades or favor range-bound strategies. A sharp drop in Coherence during a trend can be an early warning of a trend's exhaustion.
Node-to-Node Trading: In a high-coherence environment, use the Harmonic Liquidity Nodes as both entry points and profit targets. For example, after a BUY signal is generated at one Node, the next Node above it becomes a logical first profit target.
⚖️ RESPONSIBLE USAGE AND LIMITATIONS
Decision Support, Not a Crystal Ball: Aetherium is an advanced decision-support tool. It is designed to identify high-probability conditions based on a model of institutional behavior. It does not predict the future.
Risk Management is Paramount: No indicator can replace a sound risk management plan. Always use appropriate position sizing and stop-losses. The signals provided are probabilistic, not certainties.
Past Performance Disclaimer: The market models used in this script are based on historical data. While robust, there is no guarantee that these patterns will persist in the future. Market conditions can and do change.
Not a "Set and Forget" System: The indicator performs best when its user understands the concepts behind the three pillars. Use the dashboard and visual cues to build a comprehensive view of the market before acting on a signal.
Backtesting is Essential: Before applying this tool to live trading, it is crucial to backtest and forward-test it on your preferred instruments and timeframes to understand its unique behavior and characteristics.
🔮 CONCLUSION
The Aetherium Institutional Market Resonance Engine represents a paradigm shift from single-variable analysis to a holistic, multi-pillar framework. By quantifying the abstract concepts of market context, location, and timing into a unified, logical system, it provides traders with an unprecedented lens into the mechanics of institutional market operations.
It is not merely an indicator, but a complete analytical engine designed to foster a deeper understanding of market dynamics. By focusing on the core principles of institutional order flow, Aetherium empowers traders to filter out market noise, identify key structural levels, and time their entries in harmony with the market's underlying rhythm.
"In all chaos there is a cosmos, in all disorder a secret order." - Carl Jung
— Dskyz, Trade with insight. Trade with confluence. Trade with Aetherium.
Contrarian RSIContrarian RSI Indicator
Pairs nicely with Contrarian 100 MA (optional hide/unhide buy/sell signals)
Description
The Contrarian RSI is a momentum-based technical indicator designed to identify potential reversal points in price action by combining a unique RSI calculation with a predictive range model inspired by the "Contrarian 5 Levels" logic. Unlike traditional RSI, which measures price momentum based solely on price changes, this indicator integrates a smoothed, weighted momentum calculation and predictive price ranges to generate contrarian signals. It is particularly suited for traders looking to capture reversals in trending or range-bound markets.
This indicator is versatile and can be used across various timeframes, though it performs best on higher timeframes (e.g., 1H, 4H, or Daily) due to reduced noise and more reliable signals. Lower timeframes may require additional testing and careful parameter tuning to optimize performance.
How It Works
The Contrarian RSI combines two primary components:
Predictive Ranges (5 Levels Logic): This calculates a smoothed price average that adapts to market volatility using an ATR-based mechanism. It helps identify significant price levels that act as potential support or resistance zones.
Contrarian RSI Calculation: A modified RSI calculation that uses weighted momentum from the predictive ranges to measure buying and selling pressure. The result is smoothed and paired with a user-defined moving average to generate clear signals.
The indicator generates buy (long) and sell (exit) signals based on crossovers and crossunders of user-defined overbought and oversold levels, making it ideal for contrarian trading strategies.
Calculation Overview
Predictive Ranges (5 Levels Logic):
Uses a custom function (pred_ranges) to calculate a dynamic price average (avg) based on the ATR (Average True Range) multiplied by a user-defined factor (mult).
The average adjusts only when the price moves beyond the ATR threshold, ensuring responsiveness to significant price changes while filtering out noise.
This calculation is performed on a user-specified timeframe (tf5Levels) for multi-timeframe analysis.
Contrarian RSI:
Compares consecutive predictive range values to calculate gains (g) and losses (l) over a user-defined period (crsiLength).
Applies a Gaussian weighting function (weight = math.exp(-math.pow(i / crsiLength, 2))) to prioritize recent price movements.
Computes a "wave ratio" (net_momentum / total_energy) to normalize momentum, which is then scaled to a 0–100 range (qrsi = 50 + 50 * wave_ratio).
Smooths the result with a 2-period EMA (qrsi_smoothed) for stability.
Moving Average:
Applies a user-selected moving average (SMA, EMA, WMA, SMMA, or VWMA) with a customizable length (maLength) to the smoothed RSI (qrsi_smoothed) to generate the final indicator value (qrsi_ma).
Signal Generation:
Long Entry: Triggered when qrsi_ma crosses above the oversold level (oversoldLevel, default: 1).
Long Exit: Triggered when qrsi_ma crosses below the overbought level (overboughtLevel, default: 99).
Entry and Exit Rules
Long Entry: Enter a long position when the Contrarian RSI (qrsi_ma) crosses above the oversold level (default: 1). This suggests the asset is potentially oversold and due for a reversal.
Long Exit: Exit the long position when the Contrarian RSI (qrsi_ma) crosses below the overbought level (default: 99), indicating a potential overbought condition and a reversal to the downside.
Customization: Adjust overboughtLevel and oversoldLevel to fine-tune sensitivity. Lower timeframes may benefit from tighter levels (e.g., 20 for oversold, 80 for overbought), while higher timeframes can use extreme levels (e.g., 1 and 99) for stronger reversals.
Timeframe Considerations
Higher Timeframes (Recommended): The indicator is optimized for higher timeframes (e.g., 1H, 4H, Daily) due to its reliance on predictive ranges and smoothed momentum, which perform best with less market noise. These timeframes typically yield more reliable reversal signals.
Lower Timeframes: The indicator can be used on lower timeframes (e.g., 5M, 15M), but signals may be noisier and require additional confirmation (e.g., from price action or other indicators). Extensive backtesting and parameter optimization (e.g., adjusting crsiLength, maLength, or mult) are recommended for lower timeframes.
Inputs
Contrarian RSI Length (crsiLength): Length for RSI momentum calculation (default: 5).
RSI MA Length (maLength): Length of the moving average applied to the RSI (default: 1, effectively no MA).
MA Type (maType): Choose from SMA, EMA, WMA, SMMA, or VWMA (default: SMA).
Overbought Level (overboughtLevel): Upper threshold for exit signals (default: 99).
Oversold Level (oversoldLevel): Lower threshold for entry signals (default: 1).
Plot Signals on Main Chart (plotOnChart): Toggle to display signals on the price chart or the indicator panel (default: false).
Plotted on Lower:
Plotted on Chart:
5 Levels Length (length5Levels): Length for predictive range calculation (default: 200).
Factor (mult): ATR multiplier for predictive ranges (default: 6.0).
5 Levels Timeframe (tf5Levels): Timeframe for predictive range calculation (default: chart timeframe).
Visuals
Contrarian RSI MA: Plotted as a yellow line, representing the smoothed Contrarian RSI with the applied moving average.
Overbought/Oversold Lines: Red line for overbought (default: 99) and green line for oversold (default: 1).
Signals: Blue circles for long entries, white circles for long exits. Signals can be plotted on the main chart (plotOnChart = true) or the indicator panel (plotOnChart = false).
Usage Notes
Use the indicator in conjunction with other tools (e.g., support/resistance, trendlines, or volume) to confirm signals.
Test extensively on your chosen timeframe and asset to optimize parameters like crsiLength, maLength, and mult.
Be cautious with lower timeframes, as false signals may occur due to market noise.
The indicator is designed for contrarian strategies, so it works best in markets with clear reversal patterns.
Disclaimer
This indicator is provided for educational and informational purposes only. Always conduct thorough backtesting and risk management before using any indicator in live trading. The author is not responsible for any financial losses incurred.
MFI Candles MTF TableMFI Candles + Multi-Timeframe Table | by julzALGO
This open-source script visualizes the Money Flow Index (MFI) in a new format — as candles instead of a traditional oscillator line. It provides a clean, volume-driven view of momentum and pressure, ideal for traders seeking more actionable and visual cues than a typical MFI plot.
What Makes It Unique:
• Plots "MFI Candles" — synthetic candles based on smoothed MFI values using a selected timeframe (default: 1D), giving a new way to read volume flow.
• Candles reflect momentum: green if MFI rises, red if it falls.
• Background turns red when MFI is overbought (≥ 80) or green when oversold (≤ 20).
Multi-Timeframe Strength Table:
• Displays MFI values from 15m, 1h, 4h, and 1D timeframes — all in one dashboard.
• Color-coded for quick recognition: 🔴 Overbought, 🟢 Oversold.
• Values are smoothed with linear regression for better clarity.
Custom Settings:
• MFI calculation length
• Smoothing factor
• Candle source timeframe
• Toggle table and OB/OS background
How to Use:
- Use MFI Candles to monitor momentum shifts based on money flow.
- Use the Multi-Timeframe Table to identify when multiple timeframes align — helpful for timing entries and exits.
- Watch the background for extreme conditions (OB/OS) that may signal upcoming reversals or pressure exhaustion.
Happy Trading!
Normalized Open InterestNormalized Open Interest (nOI) — Indicator Overview
What it does
Normalized Open Interest (nOI) transforms raw futures open-interest data into a 0-to-100 oscillator, so you can see at a glance whether participation is unusually high or low—similar in spirit to an RSI but applied to open interest. The script positions today’s OI inside a rolling high–low range and paints it with contextual colours.
Core logic
Data source – Loads the built-in “_OI” symbol that TradingView provides for the current market.
Rolling range – Looks back a user-defined number of bars (default 500) to find the highest and lowest OI in that window.
Normalization – Calculates
nOI = (OI – lowest) / (highest – lowest) × 100
so 0 equals the minimum of the window and 100 equals the maximum.
Visual cues – Plots the oscillator plus fixed horizontal levels at 70 % and 30 % (or your own numbers). The line turns teal above the upper level, red below the lower, and neutral grey in between.
User inputs
Window Length (bars) – How many candles the indicator scans for the high–low range; larger numbers smooth the curve, smaller numbers make it more reactive.
Upper Threshold (%) – Default 70. Anything above this marks potentially crowded or overheated interest.
Lower Threshold (%) – Default 30. Anything below this marks low or capitulating interest.
Practical uses
Spot extremes – Values above the upper line can warn that the long side is crowded; values below the lower line suggest disinterest or short-side crowding.
Confirm breakouts – A price breakout backed by a sharp rise in nOI signals genuine engagement.
Look for divergences – If price makes a new high but nOI does not, participation might be fading.
Combine with volume or RSI – Layer nOI with other studies to filter false signals.
Tips
On intraday charts for non-crypto symbols the script automatically fetches daily OI data to avoid gaps.
Adjust the thresholds to 80/20 or 60/40 to fit your market and risk preferences.
Alerts, shading, or additional signal logic can be added easily because the oscillator is already normalised.
Color█ OVERVIEW
This library is a Pine Script® programming tool for advanced color processing. It provides a comprehensive set of functions for specifying and analyzing colors in various color spaces, mixing and manipulating colors, calculating custom gradients and schemes, detecting contrast, and converting colors to or from hexadecimal strings.
█ CONCEPTS
Color
Color refers to how we interpret light of different wavelengths in the visible spectrum . The colors we see from an object represent the light wavelengths that it reflects, emits, or transmits toward our eyes. Some colors, such as blue and red, correspond directly to parts of the spectrum. Others, such as magenta, arise from a combination of wavelengths to which our minds assign a single color.
The human interpretation of color lends itself to many uses in our world. In the context of financial data analysis, the effective use of color helps transform raw data into insights that users can understand at a glance. For example, colors can categorize series, signal market conditions and sessions, and emphasize patterns or relationships in data.
Color models and spaces
A color model is a general mathematical framework that describes colors using sets of numbers. A color space is an implementation of a specific color model that defines an exact range (gamut) of reproducible colors based on a set of primary colors , a reference white point , and sometimes additional parameters such as viewing conditions.
There are numerous different color spaces — each describing the characteristics of color in unique ways. Different spaces carry different advantages, depending on the application. Below, we provide a brief overview of the concepts underlying the color spaces supported by this library.
RGB
RGB is one of the most well-known color models. It represents color as an additive mixture of three primary colors — red, green, and blue lights — with various intensities. Each cone cell in the human eye responds more strongly to one of the three primaries, and the average person interprets the combination of these lights as a distinct color (e.g., pure red + pure green = yellow).
The sRGB color space is the most common RGB implementation. Developed by HP and Microsoft in the 1990s, sRGB provided a standardized baseline for representing color across CRT monitors of the era, which produced brightness levels that did not increase linearly with the input signal. To match displays and optimize brightness encoding for human sensitivity, sRGB applied a nonlinear transformation to linear RGB signals, often referred to as gamma correction . The result produced more visually pleasing outputs while maintaining a simple encoding. As such, sRGB quickly became a standard for digital color representation across devices and the web. To this day, it remains the default color space for most web-based content.
TradingView charts and Pine Script `color.*` built-ins process color data in sRGB. The red, green, and blue channels range from 0 to 255, where 0 represents no intensity, and 255 represents maximum intensity. Each combination of red, green, and blue values represents a distinct color, resulting in a total of 16,777,216 displayable colors.
CIE XYZ and xyY
The XYZ color space, developed by the International Commission on Illumination (CIE) in 1931, aims to describe all color sensations that a typical human can perceive. It is a cornerstone of color science, forming the basis for many color spaces used today. XYZ, and the derived xyY space, provide a universal representation of color that is not tethered to a particular display. Many widely used color spaces, including sRGB, are defined relative to XYZ or derived from it.
The CIE built the color space based on a series of experiments in which people matched colors they perceived from mixtures of lights. From these experiments, the CIE developed color-matching functions to calculate three components — X, Y, and Z — which together aim to describe a standard observer's response to visible light. X represents a weighted response to light across the color spectrum, with the highest contribution from long wavelengths (e.g., red). Y represents a weighted response to medium wavelengths (e.g., green), and it corresponds to a color's relative luminance (i.e., brightness). Z represents a weighted response to short wavelengths (e.g., blue).
From the XYZ space, the CIE developed the xyY chromaticity space, which separates a color's chromaticity (hue and colorfulness) from luminance. The CIE used this space to define the CIE 1931 chromaticity diagram , which represents the full range of visible colors at a given luminance. In color science and lighting design, xyY is a common means for specifying colors and visualizing the supported ranges of other color spaces.
CIELAB and Oklab
The CIELAB (L*a*b*) color space, derived from XYZ by the CIE in 1976, expresses colors based on opponent process theory. The L* component represents perceived lightness, and the a* and b* components represent the balance between opposing unique colors. The a* value specifies the balance between green and red , and the b* value specifies the balance between blue and yellow .
The primary intention of CIELAB was to provide a perceptually uniform color space, where fixed-size steps through the space correspond to uniform perceived changes in color. Although relatively uniform, the color space has been found to exhibit some non-uniformities, particularly in the blue part of the color spectrum. Regardless, modern applications often use CIELAB to estimate perceived color differences and calculate smooth color gradients.
In 2020, a new LAB-oriented color space, Oklab , was introduced by Björn Ottosson as an attempt to rectify the non-uniformities of other perceptual color spaces. Similar to CIELAB, the L value in Oklab represents perceived lightness, and the a and b values represent the balance between opposing unique colors. Oklab has gained widespread adoption as a perceptual space for color processing, with support in the latest CSS Color specifications and many software applications.
Cylindrical models
A cylindrical-coordinate model transforms an underlying color model, such as RGB or LAB, into an alternative expression of color information that is often more intuitive for the average person to use and understand.
Instead of a mixture of primary colors or opponent pairs, these models represent color as a hue angle on a color wheel , with additional parameters that describe other qualities such as lightness and colorfulness (a general term for concepts like chroma and saturation). In cylindrical-coordinate spaces, users can select a color and modify its lightness or other qualities without altering the hue.
The three most common RGB-based models are HSL (Hue, Saturation, Lightness), HSV (Hue, Saturation, Value), and HWB (Hue, Whiteness, Blackness). All three define hue angles in the same way, but they define colorfulness and lightness differently. Although they are not perceptually uniform, HSL and HSV are commonplace in color pickers and gradients.
For CIELAB and Oklab, the cylindrical-coordinate versions are CIELCh and Oklch , which express color in terms of perceived lightness, chroma, and hue. They offer perceptually uniform alternatives to RGB-based models. These spaces create unique color wheels, and they have more strict definitions of lightness and colorfulness. Oklch is particularly well-suited for generating smooth, perceptual color gradients.
Alpha and transparency
Many color encoding schemes include an alpha channel, representing opacity . Alpha does not help define a color in a color space; it determines how a color interacts with other colors in the display. Opaque colors appear with full intensity on the screen, whereas translucent (semi-opaque) colors blend into the background. Colors with zero opacity are invisible.
In Pine Script, there are two ways to specify a color's alpha:
• Using the `transp` parameter of the built-in `color.*()` functions. The specified value represents transparency (the opposite of opacity), which the functions translate into an alpha value.
• Using eight-digit hexadecimal color codes. The last two digits in the code represent alpha directly.
A process called alpha compositing simulates translucent colors in a display. It creates a single displayed color by mixing the RGB channels of two colors (foreground and background) based on alpha values, giving the illusion of a semi-opaque color placed over another color. For example, a red color with 80% transparency on a black background produces a dark shade of red.
Hexadecimal color codes
A hexadecimal color code (hex code) is a compact representation of an RGB color. It encodes a color's red, green, and blue values into a sequence of hexadecimal ( base-16 ) digits. The digits are numerals ranging from `0` to `9` or letters from `a` (for 10) to `f` (for 15). Each set of two digits represents an RGB channel ranging from `00` (for 0) to `ff` (for 255).
Pine scripts can natively define colors using hex codes in the format `#rrggbbaa`. The first set of two digits represents red, the second represents green, and the third represents blue. The fourth set represents alpha . If unspecified, the value is `ff` (fully opaque). For example, `#ff8b00` and `#ff8b00ff` represent an opaque orange color. The code `#ff8b0033` represents the same color with 80% transparency.
Gradients
A color gradient maps colors to numbers over a given range. Most color gradients represent a continuous path in a specific color space, where each number corresponds to a mix between a starting color and a stopping color. In Pine, coders often use gradients to visualize value intensities in plots and heatmaps, or to add visual depth to fills.
The behavior of a color gradient depends on the mixing method and the chosen color space. Gradients in sRGB usually mix along a straight line between the red, green, and blue coordinates of two colors. In cylindrical spaces such as HSL, a gradient often rotates the hue angle through the color wheel, resulting in more pronounced color transitions.
Color schemes
A color scheme refers to a set of colors for use in aesthetic or functional design. A color scheme usually consists of just a few distinct colors. However, depending on the purpose, a scheme can include many colors.
A user might choose palettes for a color scheme arbitrarily, or generate them algorithmically. There are many techniques for calculating color schemes. A few simple, practical methods are:
• Sampling a set of distinct colors from a color gradient.
• Generating monochromatic variants of a color (i.e., tints, tones, or shades with matching hues).
• Computing color harmonies — such as complements, analogous colors, triads, and tetrads — from a base color.
This library includes functions for all three of these techniques. See below for details.
█ CALCULATIONS AND USE
Hex string conversion
The `getHexString()` function returns a string containing the eight-digit hexadecimal code corresponding to a "color" value or set of sRGB and transparency values. For example, `getHexString(255, 0, 0)` returns the string `"#ff0000ff"`, and `getHexString(color.new(color.red, 80))` returns `"#f2364533"`.
The `hexStringToColor()` function returns the "color" value represented by a string containing a six- or eight-digit hex code. The `hexStringToRGB()` function returns a tuple containing the sRGB and transparency values. For example, `hexStringToColor("#f23645")` returns the same value as color.red .
Programmers can use these functions to parse colors from "string" inputs, perform string-based color calculations, and inspect color data in text outputs such as Pine Logs and tables.
Color space conversion
All other `get*()` functions convert a "color" value or set of sRGB channels into coordinates in a specific color space, with transparency information included. For example, the tuple returned by `getHSL()` includes the color's hue, saturation, lightness, and transparency values.
To convert data from a color space back to colors or sRGB and transparency values, use the corresponding `*toColor()` or `*toRGB()` functions for that space (e.g., `hslToColor()` and `hslToRGB()`).
Programmers can use these conversion functions to process inputs that define colors in different ways, perform advanced color manipulation, design custom gradients, and more.
The color spaces this library supports are:
• sRGB
• Linear RGB (RGB without gamma correction)
• HSL, HSV, and HWB
• CIE XYZ and xyY
• CIELAB and CIELCh
• Oklab and Oklch
Contrast-based calculations
Contrast refers to the difference in luminance or color that makes one color visible against another. This library features two functions for calculating luminance-based contrast and detecting themes.
The `contrastRatio()` function calculates the contrast between two "color" values based on their relative luminance (the Y value from CIE XYZ) using the formula from version 2 of the Web Content Accessibility Guidelines (WCAG) . This function is useful for identifying colors that provide a sufficient brightness difference for legibility.
The `isLightTheme()` function determines whether a specified background color represents a light theme based on its contrast with black and white. Programmers can use this function to define conditional logic that responds differently to light and dark themes.
Color manipulation and harmonies
The `negative()` function calculates the negative (i.e., inverse) of a color by reversing the color's coordinates in either the sRGB or linear RGB color space. This function is useful for calculating high-contrast colors.
The `grayscale()` function calculates a grayscale form of a specified color with the same relative luminance.
The functions `complement()`, `splitComplements()`, `analogousColors()`, `triadicColors()`, `tetradicColors()`, `pentadicColors()`, and `hexadicColors()` calculate color harmonies from a specified source color within a given color space (HSL, CIELCh, or Oklch). The returned harmonious colors represent specific hue rotations around a color wheel formed by the chosen space, with the same defined lightness, saturation or chroma, and transparency.
Color mixing and gradient creation
The `add()` function simulates combining lights of two different colors by additively mixing their linear red, green, and blue components, ignoring transparency by default. Users can calculate a transparency-weighted mixture by setting the `transpWeight` argument to `true`.
The `overlay()` function estimates the color displayed on a TradingView chart when a specific foreground color is over a background color. This function aids in simulating stacked colors and analyzing the effects of transparency.
The `fromGradient()` and `fromMultiStepGradient()` functions calculate colors from gradients in any of the supported color spaces, providing flexible alternatives to the RGB-based color.from_gradient() function. The `fromGradient()` function calculates a color from a single gradient. The `fromMultiStepGradient()` function calculates a color from a piecewise gradient with multiple defined steps. Gradients are useful for heatmaps and for coloring plots or drawings based on value intensities.
Scheme creation
Three functions in this library calculate palettes for custom color schemes. Scripts can use these functions to create responsive color schemes that adjust to calculated values and user inputs.
The `gradientPalette()` function creates an array of colors by sampling a specified number of colors along a gradient from a base color to a target color, in fixed-size steps.
The `monoPalette()` function creates an array containing monochromatic variants (tints, tones, or shades) of a specified base color. Whether the function mixes the color toward white (for tints), a form of gray (for tones), or black (for shades) depends on the `grayLuminance` value. If unspecified, the function automatically chooses the mix behavior with the highest contrast.
The `harmonyPalette()` function creates a matrix of colors. The first column contains the base color and specified harmonies, e.g., triadic colors. The columns that follow contain tints, tones, or shades of the harmonic colors for additional color choices, similar to `monoPalette()`.
█ EXAMPLE CODE
The example code at the end of the script generates and visualizes color schemes by processing user inputs. The code builds the scheme's palette based on the "Base color" input and the additional inputs in the "Settings/Inputs" tab:
• "Palette type" specifies whether the palette uses a custom gradient, monochromatic base color variants, or color harmonies with monochromatic variants.
• "Target color" sets the top color for the "Gradient" palette type.
• The "Gray luminance" inputs determine variation behavior for "Monochromatic" and "Harmony" palette types. If "Auto" is selected, the palette mixes the base color toward white or black based on its brightness. Otherwise, it mixes the color toward the grayscale color with the specified relative luminance (from 0 to 1).
• "Harmony type" specifies the color harmony used in the palette. Each row in the palette corresponds to one of the harmonious colors, starting with the base color.
The code creates a table on the first bar to display the collection of calculated colors. Each cell in the table shows the color's `getHexString()` value in a tooltip for simple inspection.
Look first. Then leap.
█ EXPORTED FUNCTIONS
Below is a complete list of the functions and overloads exported by this library.
getRGB(source)
Retrieves the sRGB red, green, blue, and transparency components of a "color" value.
getHexString(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channel values to a string representing the corresponding color's hexadecimal form.
getHexString(source)
(Overload 2 of 2) Converts a "color" value to a string representing the sRGB color's hexadecimal form.
hexStringToRGB(source)
Converts a string representing an sRGB color's hexadecimal form to a set of decimal channel values.
hexStringToColor(source)
Converts a string representing an sRGB color's hexadecimal form to a "color" value.
getLRGB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channel values to a set of linear RGB values with specified transparency information.
getLRGB(source)
(Overload 2 of 2) Retrieves linear RGB channel values and transparency information from a "color" value.
lrgbToRGB(lr, lg, lb, t)
Converts a set of linear RGB channel values to a set of sRGB values with specified transparency information.
lrgbToColor(lr, lg, lb, t)
Converts a set of linear RGB channel values and transparency information to a "color" value.
getHSL(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HSL values with specified transparency information.
getHSL(source)
(Overload 2 of 2) Retrieves HSL channel values and transparency information from a "color" value.
hslToRGB(h, s, l, t)
Converts a set of HSL channel values to a set of sRGB values with specified transparency information.
hslToColor(h, s, l, t)
Converts a set of HSL channel values and transparency information to a "color" value.
getHSV(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HSV values with specified transparency information.
getHSV(source)
(Overload 2 of 2) Retrieves HSV channel values and transparency information from a "color" value.
hsvToRGB(h, s, v, t)
Converts a set of HSV channel values to a set of sRGB values with specified transparency information.
hsvToColor(h, s, v, t)
Converts a set of HSV channel values and transparency information to a "color" value.
getHWB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of HWB values with specified transparency information.
getHWB(source)
(Overload 2 of 2) Retrieves HWB channel values and transparency information from a "color" value.
hwbToRGB(h, w, b, t)
Converts a set of HWB channel values to a set of sRGB values with specified transparency information.
hwbToColor(h, w, b, t)
Converts a set of HWB channel values and transparency information to a "color" value.
getXYZ(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of XYZ values with specified transparency information.
getXYZ(source)
(Overload 2 of 2) Retrieves XYZ channel values and transparency information from a "color" value.
xyzToRGB(x, y, z, t)
Converts a set of XYZ channel values to a set of sRGB values with specified transparency information
xyzToColor(x, y, z, t)
Converts a set of XYZ channel values and transparency information to a "color" value.
getXYY(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of xyY values with specified transparency information.
getXYY(source)
(Overload 2 of 2) Retrieves xyY channel values and transparency information from a "color" value.
xyyToRGB(xc, yc, y, t)
Converts a set of xyY channel values to a set of sRGB values with specified transparency information.
xyyToColor(xc, yc, y, t)
Converts a set of xyY channel values and transparency information to a "color" value.
getLAB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of CIELAB values with specified transparency information.
getLAB(source)
(Overload 2 of 2) Retrieves CIELAB channel values and transparency information from a "color" value.
labToRGB(l, a, b, t)
Converts a set of CIELAB channel values to a set of sRGB values with specified transparency information.
labToColor(l, a, b, t)
Converts a set of CIELAB channel values and transparency information to a "color" value.
getOKLAB(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of Oklab values with specified transparency information.
getOKLAB(source)
(Overload 2 of 2) Retrieves Oklab channel values and transparency information from a "color" value.
oklabToRGB(l, a, b, t)
Converts a set of Oklab channel values to a set of sRGB values with specified transparency information.
oklabToColor(l, a, b, t)
Converts a set of Oklab channel values and transparency information to a "color" value.
getLCH(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of CIELCh values with specified transparency information.
getLCH(source)
(Overload 2 of 2) Retrieves CIELCh channel values and transparency information from a "color" value.
lchToRGB(l, c, h, t)
Converts a set of CIELCh channel values to a set of sRGB values with specified transparency information.
lchToColor(l, c, h, t)
Converts a set of CIELCh channel values and transparency information to a "color" value.
getOKLCH(r, g, b, t)
(Overload 1 of 2) Converts a set of sRGB channels to a set of Oklch values with specified transparency information.
getOKLCH(source)
(Overload 2 of 2) Retrieves Oklch channel values and transparency information from a "color" value.
oklchToRGB(l, c, h, t)
Converts a set of Oklch channel values to a set of sRGB values with specified transparency information.
oklchToColor(l, c, h, t)
Converts a set of Oklch channel values and transparency information to a "color" value.
contrastRatio(value1, value2)
Calculates the contrast ratio between two colors values based on the formula from version 2 of the Web Content Accessibility Guidelines (WCAG).
isLightTheme(source)
Detects whether a background color represents a light theme or dark theme, based on the amount of contrast between the color and the white and black points.
grayscale(source)
Calculates the grayscale version of a color with the same relative luminance (i.e., brightness).
negative(source, colorSpace)
Calculates the negative (i.e., inverted) form of a specified color.
complement(source, colorSpace)
Calculates the complementary color for a `source` color using a cylindrical color space.
analogousColors(source, colorSpace)
Calculates the analogous colors for a `source` color using a cylindrical color space.
splitComplements(source, colorSpace)
Calculates the split-complementary colors for a `source` color using a cylindrical color space.
triadicColors(source, colorSpace)
Calculates the two triadic colors for a `source` color using a cylindrical color space.
tetradicColors(source, colorSpace, square)
Calculates the three square or rectangular tetradic colors for a `source` color using a cylindrical color space.
pentadicColors(source, colorSpace)
Calculates the four pentadic colors for a `source` color using a cylindrical color space.
hexadicColors(source, colorSpace)
Calculates the five hexadic colors for a `source` color using a cylindrical color space.
add(value1, value2, transpWeight)
Additively mixes two "color" values, with optional transparency weighting.
overlay(fg, bg)
Estimates the resulting color that appears on the chart when placing one color over another.
fromGradient(value, bottomValue, topValue, bottomColor, topColor, colorSpace)
Calculates the gradient color that corresponds to a specific value based on a defined value range and color space.
fromMultiStepGradient(value, steps, colors, colorSpace)
Calculates a multi-step gradient color that corresponds to a specific value based on an array of step points, an array of corresponding colors, and a color space.
gradientPalette(baseColor, stopColor, steps, strength, model)
Generates a palette from a gradient between two base colors.
monoPalette(baseColor, grayLuminance, variations, strength, colorSpace)
Generates a monochromatic palette from a specified base color.
harmonyPalette(baseColor, harmonyType, grayLuminance, variations, strength, colorSpace)
Generates a palette consisting of harmonious base colors and their monochromatic variants.
Trend Gauge [BullByte]Trend Gauge
Summary
A multi-factor trend detection indicator that aggregates EMA alignment, VWMA momentum scaling, volume spikes, ATR breakout strength, higher-timeframe confirmation, ADX-based regime filtering, and RSI pivot-divergence penalty into one normalized trend score. It also provides a confidence meter, a Δ Score momentum histogram, divergence highlights, and a compact, scalable dashboard for at-a-glance status.
________________________________________
## 1. Purpose of the Indicator
Why this was built
Traders often monitor several indicators in parallel - EMAs, volume signals, volatility breakouts, higher-timeframe trends, ADX readings, divergence alerts, etc., which can be cumbersome and sometimes contradictory. The “Trend Gauge” indicator was created to consolidate these complementary checks into a single, normalized score that reflects the prevailing market bias (bullish, bearish, or neutral) and its strength. By combining multiple inputs with an adaptive regime filter, scaling contributions by magnitude, and penalizing weakening signals (divergence), this tool aims to reduce noise, highlight genuine trend opportunities, and warn when momentum fades.
Key Design Goals
Signal Aggregation
Merged trend-following signals (EMA crossover, ATR breakout, higher-timeframe confirmation) and momentum signals (VWMA thrust, volume spikes) into a unified score that reflects directional bias more holistically.
Market Regime Awareness
Implemented an ADX-style filter to distinguish between trending and ranging markets, reducing the influence of trend signals during sideways phases to avoid false breakouts.
Magnitude-Based Scaling
Replaced binary contributions with scaled inputs: VWMA thrust and ATR breakout are weighted relative to recent averages, allowing for more nuanced score adjustments based on signal strength.
Momentum Divergence Penalty
Integrated pivot-based RSI divergence detection to slightly reduce the overall score when early signs of momentum weakening are detected, improving risk-awareness in entries.
Confidence Transparency
Added a live confidence metric that shows what percentage of enabled sub-indicators currently agree with the overall bias, making the scoring system more interpretable.
Momentum Acceleration Visualization
Plotted the change in score (Δ Score) as a histogram bar-to-bar, highlighting whether momentum is increasing, flattening, or reversing, aiding in more timely decision-making.
Compact Informational Dashboard
Presented a clean, scalable dashboard that displays each component’s status, the final score, confidence %, detected regime (Trending/Ranging), and a labeled strength gauge for quick visual assessment.
________________________________________
## 2. Why a Trader Should Use It
Main benefits and use cases
1. Unified View: Rather than juggling multiple windows or panels, this indicator delivers a single score synthesizing diverse signals.
2. Regime Filtering: In ranging markets, trend signals often generate false entries. The ADX-based regime filter automatically down-weights trend-following components, helping you avoid chasing false breakouts.
3. Nuanced Momentum & Volatility: VWMA and ATR breakout contributions are normalized by recent averages, so strong moves register strongly while smaller fluctuations are de-emphasized.
4. Early Warning of Weakening: Pivot-based RSI divergence is detected and used to slightly reduce the score when price/momentum diverges, giving a cautionary signal before a full reversal.
5. Confidence Meter: See at a glance how many sub-indicators align with the aggregated bias (e.g., “80% confidence” means 4 out of 5 components agree ). This transparency avoids black-box decisions.
6. Trend Acceleration/Deceleration View: The Δ Score histogram visualizes whether the aggregated score is rising (accelerating trend) or falling (momentum fading), supplementing the main oscillator.
7. Compact Dashboard: A corner table lists each check’s status (“Bull”, “Bear”, “Flat” or “Disabled”), plus overall Score, Confidence %, Regime, Trend Strength label, and a gauge bar. Users can scale text size (Normal, Small, Tiny) without removing elements, so the full picture remains visible even in compact layouts.
8. Customizable & Transparent: All components can be enabled/disabled and parameterized (lengths, thresholds, weights). The full Pine code is open and well-commented, letting users inspect or adapt the logic.
9. Alert-ready: Built-in alert conditions fire when the score crosses weak thresholds to bullish/bearish or returns to neutral, enabling timely notifications.
________________________________________
## 3. Component Rationale (“Why These Specific Indicators?”)
Each sub-component was chosen because it adds complementary information about trend or momentum:
1. EMA Cross
o Basic trend measure: compares a faster EMA vs. a slower EMA. Quickly reflects trend shifts but by itself can whipsaw in sideways markets.
2. VWMA Momentum
o Volume-weighted moving average change indicates momentum with volume context. By normalizing (dividing by a recent average absolute change), we capture the strength of momentum relative to recent history. This scaling prevents tiny moves from dominating and highlights genuinely strong momentum.
3. Volume Spikes
o Sudden jumps in volume combined with price movement often accompany stronger moves or reversals. A binary detection (+1 for bullish spike, -1 for bearish spike) flags high-conviction bars.
4. ATR Breakout
o Detects price breaking beyond recent highs/lows by a multiple of ATR. Measures breakout strength by how far beyond the threshold price moves relative to ATR, capped to avoid extreme outliers. This gives a volatility-contextual trend signal.
5. Higher-Timeframe EMA Alignment
o Confirms whether the shorter-term trend aligns with a higher timeframe trend. Uses request.security with lookahead_off to avoid future data. When multiple timeframes agree, confidence in direction increases.
6. ADX Regime Filter (Manual Calculation)
o Computes directional movement (+DM/–DM), smoothes via RMA, computes DI+ and DI–, then a DX and ADX-like value. If ADX ≥ threshold, market is “Trending” and trend components carry full weight; if ADX < threshold, “Ranging” mode applies a configurable weight multiplier (e.g., 0.5) to trend-based contributions, reducing false signals in sideways conditions. Volume spikes remain binary (optional behavior; can be adjusted if desired).
7. RSI Pivot-Divergence Penalty
o Uses ta.pivothigh / ta.pivotlow with a lookback to detect pivot highs/lows on price and corresponding RSI values. When price makes a higher high but RSI makes a lower high (bearish divergence), or price makes a lower low but RSI makes a higher low (bullish divergence), a divergence signal is set. Rather than flipping the trend outright, the indicator subtracts (or adds) a small penalty (configurable) from the aggregated score if it would weaken the current bias. This subtle adjustment warns of weakening momentum without overreacting to noise.
8. Confidence Meter
o Counts how many enabled components currently agree in direction with the aggregated score (i.e., component sign × score sign > 0). Displays this as a percentage. A high percentage indicates strong corroboration; a low percentage warns of mixed signals.
9. Δ Score Momentum View
o Plots the bar-to-bar change in the aggregated score (delta_score = score - score ) as a histogram. When positive, bars are drawn in green above zero; when negative, bars are drawn in red below zero. This reveals acceleration (rising Δ) or deceleration (falling Δ), supplementing the main oscillator.
10. Dashboard
• A table in the indicator pane’s top-right with 11 rows:
1. EMA Cross status
2. VWMA Momentum status
3. Volume Spike status
4. ATR Breakout status
5. Higher-Timeframe Trend status
6. Score (numeric)
7. Confidence %
8. Regime (“Trending” or “Ranging”)
9. Trend Strength label (e.g., “Weak Bullish Trend”, “Strong Bearish Trend”)
10. Gauge bar visually representing score magnitude
• All rows always present; size_opt (Normal, Small, Tiny) only changes text size via text_size, not which elements appear. This ensures full transparency.
________________________________________
## 4. What Makes This Indicator Stand Out
• Regime-Weighted Multi-Factor Score: Trend and momentum signals are adaptively weighted by market regime (trending vs. ranging) , reducing false signals.
• Magnitude Scaling: VWMA and ATR breakout contributions are normalized by recent average momentum or ATR, giving finer gradation compared to simple ±1.
• Integrated Divergence Penalty: Divergence directly adjusts the aggregated score rather than appearing as a separate subplot; this influences alerts and trend labeling in real time.
• Confidence Meter: Shows the percentage of sub-signals in agreement, providing transparency and preventing blind trust in a single metric.
• Δ Score Histogram Momentum View: A histogram highlights acceleration or deceleration of the aggregated trend score, helping detect shifts early.
• Flexible Dashboard: Always-visible component statuses and summary metrics in one place; text size scaling keeps the full picture available in cramped layouts.
• Lookahead-Safe HTF Confirmation: Uses lookahead_off so no future data is accessed from higher timeframes, avoiding repaint bias.
• Repaint Transparency: Divergence detection uses pivot functions that inherently confirm only after lookback bars; description documents this lag so users understand how and when divergence labels appear.
• Open-Source & Educational: Full, well-commented Pine v6 code is provided; users can learn from its structure: manual ADX computation, conditional plotting with series = show ? value : na, efficient use of table.new in barstate.islast, and grouped inputs with tooltips.
• Compliance-Conscious: All plots have descriptive titles; inputs use clear names; no unnamed generic “Plot” entries; manual ADX uses RMA; all request.security calls use lookahead_off. Code comments mention repaint behavior and limitations.
________________________________________
## 5. Recommended Timeframes & Tuning
• Any Timeframe: The indicator works on small (e.g., 1m) to large (daily, weekly) timeframes. However:
o On very low timeframes (<1m or tick charts), noise may produce frequent whipsaws. Consider increasing smoothing lengths, disabling certain components (e.g., volume spike if volume data noisy), or using a larger pivot lookback for divergence.
o On higher timeframes (daily, weekly), consider longer lookbacks for ATR breakout or divergence, and set Higher-Timeframe trend appropriately (e.g., 4H HTF when on 5 Min chart).
• Defaults & Experimentation: Default input values are chosen to be balanced for many liquid markets. Users should test with replay or historical analysis on their symbol/timeframe and adjust:
o ADX threshold (e.g., 20–30) based on instrument volatility.
o VWMA and ATR scaling lengths to match average volatility cycles.
o Pivot lookback for divergence: shorter for faster markets, longer for slower ones.
• Combining with Other Analysis: Use in conjunction with price action, support/resistance, candlestick patterns, order flow, or other tools as desired. The aggregated score and alerts can guide attention but should not be the sole decision-factor.
________________________________________
## 6. How Scoring and Logic Works (Step-by-Step)
1. Compute Sub-Scores
o EMA Cross: Evaluate fast EMA > slow EMA ? +1 : fast EMA < slow EMA ? -1 : 0.
o VWMA Momentum: Calculate vwma = ta.vwma(close, length), then vwma_mom = vwma - vwma . Normalize: divide by recent average absolute momentum (e.g., ta.sma(abs(vwma_mom), lookback)), clip to .
o Volume Spike: Compute vol_SMA = ta.sma(volume, len). If volume > vol_SMA * multiplier AND price moved up ≥ threshold%, assign +1; if moved down ≥ threshold%, assign -1; else 0.
o ATR Breakout: Determine recent high/low over lookback. If close > high + ATR*mult, compute distance = close - (high + ATR*mult), normalize by ATR, cap at a configured maximum. Assign positive contribution. Similarly for bearish breakout below low.
o Higher-Timeframe Trend: Use request.security(..., lookahead=barmerge.lookahead_off) to fetch HTF EMAs; assign +1 or -1 based on alignment.
2. ADX Regime Weighting
o Compute manual ADX: directional movements (+DM, –DM), smoothed via RMA, DI+ and DI–, then DX and ADX via RMA. If ADX ≥ threshold, market is considered “Trending”; otherwise “Ranging.”
o If trending, trend-based contributions (EMA, VWMA, ATR, HTF) use full weight = 1.0. If ranging, use weight = ranging_weight (e.g., 0.5) to down-weight them. Volume spike stays binary ±1 (optional to change if desired).
3. Aggregate Raw Score
o Sum weighted contributions of all enabled components. Count the number of enabled components; if zero, default count = 1 to avoid division by zero.
4. Divergence Penalty
o Detect pivot highs/lows on price and corresponding RSI values, using a lookback. When price and RSI diverge (bearish or bullish divergence), check if current raw score is in the opposing direction:
If bearish divergence (price higher high, RSI lower high) and raw score currently positive, subtract a penalty (e.g., 0.5).
If bullish divergence (price lower low, RSI higher low) and raw score currently negative, add a penalty.
o This reduces score magnitude to reflect weakening momentum, without flipping the trend outright.
5. Normalize and Smooth
o Normalized score = (raw_score / number_of_enabled_components) * 100. This yields a roughly range.
o Optional EMA smoothing of this normalized score to reduce noise.
6. Interpretation
o Sign: >0 = net bullish bias; <0 = net bearish bias; near zero = neutral.
o Magnitude Zones: Compare |score| to thresholds (Weak, Medium, Strong) to label trend strength (e.g., “Weak Bullish Trend”, “Medium Bearish Trend”, “Strong Bullish Trend”).
o Δ Score Histogram: The histogram bars from zero show change from previous bar’s score; positive bars indicate acceleration, negative bars indicate deceleration.
o Confidence: Percentage of sub-indicators aligned with the score’s sign.
o Regime: Indicates whether trend-based signals are fully weighted or down-weighted.
________________________________________
## 7. Oscillator Plot & Visualization: How to Read It
Main Score Line & Area
The oscillator plots the aggregated score as a line, with colored fill: green above zero for bullish area, red below zero for bearish area. Horizontal reference lines at ±Weak, ±Medium, and ±Strong thresholds mark zones: crossing above +Weak suggests beginning of bullish bias, above +Medium for moderate strength, above +Strong for strong trend; similarly for bearish below negative thresholds.
Δ Score Histogram
If enabled, a histogram shows score - score . When positive, bars appear in green above zero, indicating accelerating bullish momentum; when negative, bars appear in red below zero, indicating decelerating or reversing momentum. The height of each bar reflects the magnitude of change in the aggregated score from the prior bar.
Divergence Highlight Fill
If enabled, when a pivot-based divergence is confirmed:
• Bullish Divergence : fill the area below zero down to –Weak threshold in green, signaling potential reversal from bearish to bullish.
• Bearish Divergence : fill the area above zero up to +Weak threshold in red, signaling potential reversal from bullish to bearish.
These fills appear with a lag equal to pivot lookback (the number of bars needed to confirm the pivot). They do not repaint after confirmation, but users must understand this lag.
Trend Direction Label
When score crosses above or below the Weak threshold, a small label appears near the score line reading “Bullish” or “Bearish.” If the score returns within ±Weak, the label “Neutral” appears. This helps quickly identify shifts at the moment they occur.
Dashboard Panel
In the indicator pane’s top-right, a table shows:
1. EMA Cross status: “Bull”, “Bear”, “Flat”, or “Disabled”
2. VWMA Momentum status: similarly
3. Volume Spike status: “Bull”, “Bear”, “No”, or “Disabled”
4. ATR Breakout status: “Bull”, “Bear”, “No”, or “Disabled”
5. Higher-Timeframe Trend status: “Bull”, “Bear”, “Flat”, or “Disabled”
6. Score: numeric value (rounded)
7. Confidence: e.g., “80%” (colored: green for high, amber for medium, red for low)
8. Regime: “Trending” or “Ranging” (colored accordingly)
9. Trend Strength: textual label based on magnitude (e.g., “Medium Bullish Trend”)
10. Gauge: a bar of blocks representing |score|/100
All rows remain visible at all times; changing Dashboard Size only scales text size (Normal, Small, Tiny).
________________________________________
## 8. Example Usage (Illustrative Scenario)
Example: BTCUSD 5 Min
1. Setup: Add “Trend Gauge ” to your BTCUSD 5 Min chart. Defaults: EMAs (8/21), VWMA 14 with lookback 3, volume spike settings, ATR breakout 14/5, HTF = 5m (or adjust to 4H if preferred), ADX threshold 25, ranging weight 0.5, divergence RSI length 14 pivot lookback 5, penalty 0.5, smoothing length 3, thresholds Weak=20, Medium=50, Strong=80. Dashboard Size = Small.
2. Trend Onset: At some point, price breaks above recent high by ATR multiple, volume spikes upward, faster EMA crosses above slower EMA, HTF EMA also bullish, and ADX (manual) ≥ threshold → aggregated score rises above +20 (Weak threshold) into +Medium zone. Dashboard shows “Bull” for EMA, VWMA, Vol Spike, ATR, HTF; Score ~+60–+70; Confidence ~100%; Regime “Trending”; Trend Strength “Medium Bullish Trend”; Gauge ~6–7 blocks. Δ Score histogram bars are green and rising, indicating accelerating bullish momentum. Trader notes the alignment.
3. Divergence Warning: Later, price makes a slightly higher high but RSI fails to confirm (lower RSI high). Pivot lookback completes; the indicator highlights a bearish divergence fill above zero and subtracts a small penalty from the score, causing score to stall or retrace slightly. Dashboard still bullish but score dips toward +Weak. This warns the trader to tighten stops or take partial profits.
4. Trend Weakens: Score eventually crosses below +Weak back into neutral; a “Neutral” label appears, and a “Neutral Trend” alert fires if enabled. Trader exits or avoids new long entries. If score subsequently crosses below –Weak, a “Bearish” label and alert occur.
5. Customization: If the trader finds VWMA noise too frequent on this instrument, they may disable VWMA or increase lookback. If ATR breakouts are too rare, adjust ATR length or multiplier. If ADX threshold seems off, tune threshold. All these adjustments are explained in Inputs section.
6. Visualization: The screenshot shows the main score oscillator with colored areas, reference lines at ±20/50/80, Δ Score histogram bars below/above zero, divergence fill highlighting potential reversal, and the dashboard table in the top-right.
________________________________________
## 9. Inputs Explanation
A concise yet clear summary of inputs helps users understand and adjust:
1. General Settings
• Theme (Dark/Light): Choose background-appropriate colors for the indicator pane.
• Dashboard Size (Normal/Small/Tiny): Scales text size only; all dashboard elements remain visible.
2. Indicator Settings
• Enable EMA Cross: Toggle on/off basic EMA alignment check.
o Fast EMA Length and Slow EMA Length: Periods for EMAs.
• Enable VWMA Momentum: Toggle VWMA momentum check.
o VWMA Length: Period for VWMA.
o VWMA Momentum Lookback: Bars to compare VWMA to measure momentum.
• Enable Volume Spike: Toggle volume spike detection.
o Volume SMA Length: Period to compute average volume.
o Volume Spike Multiplier: How many times above average volume qualifies as spike.
o Min Price Move (%): Minimum percent change in price during spike to qualify as bullish or bearish.
• Enable ATR Breakout: Toggle ATR breakout detection.
o ATR Length: Period for ATR.
o Breakout Lookback: Bars to look back for recent highs/lows.
o ATR Multiplier: Multiplier for breakout threshold.
• Enable Higher Timeframe Trend: Toggle HTF EMA alignment.
o Higher Timeframe: E.g., “5” for 5-minute when on 1-minute chart, or “60” for 5 Min when on 15m, etc. Uses lookahead_off.
• Enable ADX Regime Filter: Toggles regime-based weighting.
o ADX Length: Period for manual ADX calculation.
o ADX Threshold: Value above which market considered trending.
o Ranging Weight Multiplier: Weight applied to trend components when ADX < threshold (e.g., 0.5).
• Scale VWMA Momentum: Toggle normalization of VWMA momentum magnitude.
o VWMA Mom Scale Lookback: Period for average absolute VWMA momentum.
• Scale ATR Breakout Strength: Toggle normalization of breakout distance by ATR.
o ATR Scale Cap: Maximum multiple of ATR used for breakout strength.
• Enable Price-RSI Divergence: Toggle divergence detection.
o RSI Length for Divergence: Period for RSI.
o Pivot Lookback for Divergence: Bars on each side to identify pivot high/low.
o Divergence Penalty: Amount to subtract/add to score when divergence detected (e.g., 0.5).
3. Score Settings
• Smooth Score: Toggle EMA smoothing of normalized score.
• Score Smoothing Length: Period for smoothing EMA.
• Weak Threshold: Absolute score value under which trend is considered weak or neutral.
• Medium Threshold: Score above Weak but below Medium is moderate.
• Strong Threshold: Score above this indicates strong trend.
4. Visualization Settings
• Show Δ Score Histogram: Toggle display of the bar-to-bar change in score as a histogram. Default true.
• Show Divergence Fill: Toggle background fill highlighting confirmed divergences. Default true.
Each input has a tooltip in the code.
________________________________________
## 10. Limitations, Repaint Notes, and Disclaimers
10.1. Repaint & Lag Considerations
• Pivot-Based Divergence Lag: The divergence detection uses ta.pivothigh / ta.pivotlow with a specified lookback. By design, a pivot is only confirmed after the lookback number of bars. As a result:
o Divergence labels or fills appear with a delay equal to the pivot lookback.
o Once the pivot is confirmed and the divergence is detected, the fill/label does not repaint thereafter, but you must understand and accept this lag.
o Users should not treat divergence highlights as predictive signals without additional confirmation, because they appear after the pivot has fully formed.
• Higher-Timeframe EMA Alignment: Uses request.security(..., lookahead=barmerge.lookahead_off), so no future data from the higher timeframe is used. This avoids lookahead bias and ensures signals are based only on completed higher-timeframe bars.
• No Future Data: All calculations are designed to avoid using future information. For example, manual ADX uses RMA on past data; security calls use lookahead_off.
10.2. Market & Noise Considerations
• In very choppy or low-liquidity markets, some components (e.g., volume spikes or VWMA momentum) may be noisy. Users can disable or adjust those components’ parameters.
• On extremely low timeframes, noise may dominate; consider smoothing lengths or disabling certain features.
• On very high timeframes, pivots and breakouts occur less frequently; adjust lookbacks accordingly to avoid sparse signals.
10.3. Not a Standalone Trading System
• This is an indicator, not a complete trading strategy. It provides signals and context but does not manage entries, exits, position sizing, or risk management.
• Users must combine it with their own analysis, money management, and confirmations (e.g., price patterns, support/resistance, fundamental context).
• No guarantees: past behavior does not guarantee future performance.
10.4. Disclaimers
• Educational Purposes Only: The script is provided as-is for educational and informational purposes. It does not constitute financial, investment, or trading advice.
• Use at Your Own Risk: Trading involves risk of loss. Users should thoroughly test and use proper risk management.
• No Guarantees: The author is not responsible for trading outcomes based on this indicator.
• License: Published under Mozilla Public License 2.0; code is open for viewing and modification under MPL terms.
________________________________________
## 11. Alerts
• The indicator defines three alert conditions:
1. Bullish Trend: when the aggregated score crosses above the Weak threshold.
2. Bearish Trend: when the score crosses below the negative Weak threshold.
3. Neutral Trend: when the score returns within ±Weak after being outside.
Good luck
– BullByte
Market Matrix ViewThis technical indicator is designed to provide traders with a quick and integrated view of market dynamics by combining several popular indicators into a single tool. It's not a magic bullet, but a practical aid for analyzing buying/selling pressure, trends, volume, and divergences, saving you time in the decision-making process. Built for flexibility, the indicator adapts to various trading styles (scalping, swing, or long-term) and offers customizable settings to suit your needs.
🟡 Multi-Timeframe Trends
➤ This section displays the trend direction (bullish, bearish, or neutral) across 15-minute, 1-hour, 4-hour, and Daily timeframes, providing multi-timeframe market context. Timeframes lower than the one currently selected will show "N/A."
➤It utilizes fast and slow Exponential Moving Averages (EMAs) for each timeframe:
15m: Fast EMA 42, Slow EMA 170
1h: Fast EMA 40, Slow EMA 100
4h: Fast EMA 36, Slow EMA 107
Daily: Fast EMA 20, Slow EMA 60
🟡 Smart Flow & RVOL
➤ This section displays "Buying Pressure" or "Selling Pressure" signals based on indicator confluence, alongside volume activity ("High Activity," "Normal Activity," or "Low Activity").
➤ Smart Flow combines Chaikin Money Flow (CMF) and Money Flow Index (MFI) to detect buying/selling pressure. CMF measures money flow based on price position within the high-low range, while MFI analyzes money flow considering typical price and volume. A signal is generated only when both indicators simultaneously increase/decrease beyond an adjustable threshold ("Buy/Sell Sensitivity") and volume exceeds a Simple Moving Average (SMA) scaled by the "Volume Multiplier."
➤ RVOL (Relative Volume) calculates relative volume separately for bullish and bearish candles, comparing recent volume (fast SMA) with a reference volume (slow SMA). Thresholds are adjusted based on the selected mode.
🟡 ADX & RSI
This section displays trend strength ("Strong," "Moderate," or "Weak"), its direction ("Bullish" or "Bearish"), and the RSI momentum status ("Overbought," "Oversold," "Buy/Sell Momentum," or "Neutral").
➤ ADX (Average Directional Index) measures trend strength (above 40 = "Strong," 20–40 = "Moderate," below 20 = "Weak"). Direction is determined by comparing +DI (upward movement) with -DI (downward movement). Additionally, an arrow indicates whether the trend's strength is decreasing or increasing.
➤RSI (Relative Strength Index) evaluates price momentum. Extreme levels (above 80/85 = "Overbought," below 15/20 = "Oversold") and intermediate zones (47–53 = "Neutral," above 53 = "Buy Momentum," below 47 = "Sell Momentum") are adjusted based on the selected mode.
🟡 When these signals are active for a potential trade setup, the table's background lights up green or red, respectively.
🟡 Volume Spikes
➤This feature highlights bars with significantly higher volume than the recent average, coloring them yellow on the chart to draw attention to intense market activity.
➤It uses the Z-Score method to detect volume anomalies. Current volume is compared to a 10-bar Simple Moving Average (SMA) and the standard deviation of volume over the same period. If the Z-Score exceeds a certain threshold, the bar is marked as a volume spike.
🟡 Divergences (Volume Divergence Detection)
➤ This feature marks divergences between price and technical indicators on the chart, using diamond-shaped labels (green for bullish divergences, red for bearish divergences) to signal potential trend reversals.
➤ It compares price deviations from a Simple Moving Average (SMA) with deviations of three indicators: Chaikin Money Flow (CMF), Money Flow Index (MFI), and On-Balance Volume (OBV). A bullish divergence occurs when price falls below its average, but CMF, MFI, and OBV rise above their averages, indicating hidden accumulation. A bearish divergence occurs when price rises above its average, but CMF, MFI, and OBV fall, suggesting distribution. The length of the moving averages is adjustable (default 13/10/5 bars for Scalping/Balanced/Swing), and detection thresholds are scaled by "Divergence Sensitivity" (default 1.0).
🟡 Adaptive Stop-Loss (ATR)
➤Draws dynamic stop-loss lines (red, dashed) on the chart for buy or sell signals, helping traders manage risk.Uses the Average True Range (ATR) to calculate stop-loss levels, set at low/high ± ATR × multiplier
🟡 Alerts for trend direction changes in the Info Panel:
➤ Triggers notifications when the trend shifts to Bullish (when +DI crosses above -DI) or Bearish (when +DI crosses below -DI), helping you stay informed about key market shifts.
How to use: Set alerts in Trading View for “Trend Changed to Bullish” or “Trend Changed to Bearish” with “Once Per Bar Close” for reliable signals.
🟡 Settings (Inputs)
➤ The indicator offers customizable settings to fit your trading style, but it's already optimized for Scalping (1m–15m), Balanced (16m–3h59m), and Swing (4h–Daily) modes, which automatically adjust based on the selected timeframe. The visible inputs allow you to adjust the following parameters:
Show Info Panel: Enables/disables the information panel (default: enabled).
Show Volume Spikes: Turns on/off coloring for volume spike bars (default: enabled).
Spike Sensitivity: Controls the Z-Score threshold for detecting volume spikes (default: 2.0; lower values increase signal frequency).
Show Divergence: Enables/disables the display of divergence labels (default: enabled).
Divergence Sensitivity: Adjusts the thresholds for divergence detection (default: 1.0; higher values reduce sensitivity).
Divergence Lookback Length: Sets the length of the moving averages used for divergences (default: 5, automatically adjusted to 13/10/5 for Scalping/Balanced/Swing).
RVOL Reference Period: Defines the reference period for relative volume (default: 20, automatically adjusted to 7/15/20).
RSI Length: Sets the RSI length (default: 14, automatically adjusted to 5/10/14).
Buy Sensitivity: Controls the increase threshold for Buying Pressure signals (default: 0.007; higher values reduce frequency).
Sell Sensitivity: Controls the decrease threshold for Selling Pressure signals (default: 0.007; higher values reduce frequency).
Volume Multiplier (B/S Pressure): Adjusts the volume threshold for Smart Flow signals (default: 0.6; higher values require greater volume).
🟡 This indicator is created to simplify market analysis, but I am not a professional in Pine Script or technical indicators. This indicator is not a standalone solution. For optimal results, it must be integrated into a well-defined trading strategy that includes risk management and other confirmations.
Volume PercentileThis Pine Script indicator highlights bars where the current volume exceeds a configurable percentile threshold (e.g., 80th percentile) based on a rolling window of historical volume data.
🔍 Key Features:
Calculates a user-defined volume percentile (e.g., 75th, 80th, 90th) over a rolling window.
Marks candles where current volume is higher than the selected percentile.
Helps detect volume spikes, breakouts, or unusual activity.
Works directly on the main chart window for easier analysis.
🛠️ Inputs:
Window Length: Number of bars used to calculate the percentile (default = 20).
Percentile: The percentile threshold to trigger a high-volume signal (default = 80).
🖥️ Visualization:
Displays a red triangle marker below bars with volume above the selected percentile.
StochFusion – Multi D-LineStochFusion – Multi D-Line
An advanced fusion of four Stochastic %D lines into one powerful oscillator.
What it does:
Combines four user-weighted Stochastic %D lines—from fastest (9,3) to slowest (60,10)—into a single “Fusion” line that captures both short-term and long-term momentum in one view.
How to use:
Adjust the four weights (0–10) to emphasize the speed of each %D component.
Watch the Fusion line crossing key zones:
– Above 80 → overbought condition, potential short entry.
– Below 20 → oversold condition, potential long entry.
– Around 50 → neutral/midline, watch for trend shifts.
Applications:
Entry/exit filter: Only take trades when the Fusion line confirms zone exits.
Trend confirmation: Analyze slope and cross of the midline for momentum strength.
Multi-timeframe alignment: Use on different chart resolutions to find confluence.
Tips & Tricks:
Default weights give more influence to slower %D—good for trend-focused strategies.
Equal weights provide a balanced oscillator that mimics an ensemble average.
Experiment: Increase the fastest weight to capture early reversal signals.
Developed by: TradeQUO — inspired by DayTraderRadio John
“The best momentum indicator is the one you adapt to your own trading rhythm.”