Topfinder Bottomfinder pivot matcher Midas- jayyMidas Technical Analysis: A VWAP Approach to Trading and Investing in Today’s Markets by
Andrew Coles, David G. Hawkins Copyright © 2011 by Andrew Coles and David G. Hawkins.
Appendix C: TradeStation Code for the MIDAS Topfinder/Bottomfinder Curves ported to tradingview
This code is used to assist in adjusting D volume to intersect pivot candle at a pivot candle when using this script: Top Bottom Finder Public version- Jayy found here:
The "n" number entered into the TB-F script is the topfinder/bottomfinder starting point or anchor
Be sure to enter the correct number in the "Topfinder bottomfinder initiation/anchor candle: 1 for CANDLE low - top finder, 2 for CANDLE high - bottom finder, 3 for CANDLE MIDPOINT (hl2) dialogue box
The location of the match point of the pivot candle is extremely important in the: "Match to PIVOT CANDLE: use 1 for CANDLE low, 2 for midtail of the candle below the BODY, 3 for candle BODY low, 4 for CANDLE HIGH, 5 for midpoint of candletail above body, 6 for candle BODY high". Do not
confuse body high with candle high. The body low will either be the candle open or close. The body high will be either the open or close.
If you expect a trend up the pivot candle is likely the low of the pivot candle ie 1 (2 and 3 are alternatives).
In a trend down the high of the pivot candle is often selected ie 4 (5 or 6 are alternatives)
If the candle body is aqua increase D volume if it is orange reduce D volume. Adjust iteratively until the candle body turns yellow. That will mean that the TB-F line passes through the pivot candle at the selected point.
Jayy
Pesquisar nos scripts por "curve"
Vix FIX / StochRSI StrategyThis strategy is based off of Chris Moody's Vix Fix Indicator . I simply used his indicator and added some rules around it, specifically on entry and exits.
Rules :
Enter upon a filtered or aggressive entry
If there are multiple entry signals, allow pyramiding
Exit when there is Stochastic RSI crossover above 80
This works great on a number of stocks. I am keeping a list of stocks with decent Profit Factors and clean equity curves here .
Possible ways to use this:
Modify this script and setup alerts around the various entries
Use as is with different stocks or currency pairs
Modify entry / exit points to make it more profitable for even more symbols and currencies
UCS_Squeeze_Timing-V1There is an important information the Squeeze indicator is missing, which is the Pre Squeeze entry. While the Bollinger band begins to curves out of the KC, The breakout usually happens. There are many instances that the Squeeze indicator will fire, after the Major move, I cant blame the indicator, thats the nature (lagging) of all indicators, and we have to live with it.
Therefore pre-squeeze-fire Entry can be critical in timing your entry. Timing it too early could result in stoploss if it turns against you, ( or serious burn on options premium), because we never know when the squeeze will fire with the TTM squeeze, But now We know. Its a little timing tool. Managing position is critical when playing options.
I will code the timing signal when I get some time.
Updated Versions -
Adaptive Trend Compression (Arjo)Adaptive Trend Mapper (ATM) is a multi-purpose trend and momentum tool designed to help traders study trend strength, identify compression phases, and observe shifts in buying and selling pressure. It helps identify emerging breakouts early
The script combines RSI-based momentum, ADX strength, bull/bear pressure indices, and a squeeze-style compression model. It also includes a smoothed trend line based on a SuperSmoother filter and an optional EMA-50 overlay for trend context.
Key Features
Bull & Bear Pressure Index
Derived using ADX and an inverse-RSI approach to highlight directional strength in a normalized scale.
Squeeze & Compression Detection
Detects periods where directional pressure converges while ADX remains weak, often marking low-volatility phases.
Adaptive Smoothing Engine
Bull/Bear indices can be smoothed using SMA/EMA/WMA/RMA, allowing traders to reduce noise when required.
SuperSmoother Trend Line
A filtered trend curve helps highlight short-term directional bias.
Includes color-coding based on trend slope and a wide underlying band for visual clarity.
EMA-50 Option
Standard trend context tool for higher-level direction.
Step-Based Scaling (Optional)
Bull and Bear indices can be rounded to custom step intervals, making them easier to visualize on smaller charts.
How to Use
Rising Bull Index indicates increasing upward pressure .
Rising Bear Index indicates increasing downward pressure .
A squeeze zone marks compression phases where directional conviction is low.
A breakout from a squeeze often aligns with the start of new strong directional movement.
The SuperSmoother trend line helps track micro-trend shifts, while EMA-50 provides macro context.
Disclaimer
This tool is intended for educational and analytical purposes.
It is not a buy/sell signal generator and doesn’t make predictions.
All trading decisions should be based on your own judgment and risk management.
Happy Trading (Arjo)
Advanced Linear Regression Pro [PointAlgo]Advanced Linear Regression Pro is an open-source tool designed to visualize market structure using linear regression, volatility bands, and optional volume-weighted calculations.
The indicator expands the concept of regression channels by adding higher-timeframe confluence, slope analysis, imbalance detection, and breakout highlighting.
Key Features
• Volume-Weighted Regression
Weights the regression curve based on volume to highlight periods of strong participation.
• Dynamic Standard-Deviation Bands
Upper and lower bands are derived from volatility to help visualize potential expansion or contraction zones.
• Multi-Timeframe (MTF) Regression
Plots higher-timeframe regression lines and bands for additional trend context.
• Slope Strength Analysis
Helps identify whether the current regression slope is trending upward, downward, or in a neutral range.
• Order Flow Imbalance Detection
Highlights bars where price and volume move unusually fast, which may indicate liquidity voids or imbalance zones.
• Breakout Markers
Shows simple visual markers when the price closes beyond volatility bands with volume confirmation.
These are visual signals only, not trading signals.
How to Use
This indicator is meant for visual market analysis, such as:
Observing trend direction through regression slope
Spotting volatility expansions
Comparing price against higher-timeframe regression structure
Identifying areas where price moves rapidly with volume
It can be used on any market or timeframe.
No part of this script is intended as financial advice or a complete trading system.
Global M2 ex-China MonitorGlobal M2 Monitor - Ultimate Edition
🎯 OVERVIEW
Advanced global M2 money supply monitoring indicator, offering a unique macroeconomic view of global liquidity. Real-time tracking of M2 evolution in major developed economies.
📊 KEY FEATURES
Global M2 Aggregation : USA, Japan, Canada, Eurozone, United Kingdom
Currency Conversion : All data converted to USD for consistent analysis
High Resolution Display : Daily curve by default
Technical Analysis : 50-period moving average (SMA/EMA/WMA)
Accurate YoY Calculation : Annual variation based on monthly data
Advanced Signal System : Multi-condition color codes
🎨 COLOR SYSTEM - DEFAULT SETTINGS
🟢 GREEN : YoY ≥ 7% AND M2 ≥ SMA → Strong growth + Bullish momentum
🔴 RED : YoY ≤ 2% AND M2 ≤ SMA → Weak growth + Bearish momentum
🟢 LIGHT GREEN : YoY ≥ 7% BUT M2 < SMA → Good fundamentals, temporarily weak momentum
🔴 LIGHT RED : YoY ≤ 2% BUT M2 > SMA → Weak fundamentals, price still supported
🔵 BLUE : YoY between 2% and 7% → Neutral zone of moderate growth
🇨🇳 WHY IS CHINA EXCLUDED BY DEFAULT?
Chinese M2 data presents methodological reliability and transparency issues. Exclusion allows for more consistent analysis of mature market economies.
Different M2 definition vs Western standards
Capital controls affecting real convertibility
Frequent monetary manipulations by authorities
✅ Available option : Can be activated in settings
⚙️ OPTIMIZED DEFAULT PARAMETERS
// DISPLAY SETTINGS
Candle Period: D (Daily)
// MOVING AVERAGE
MA Period: 50, Type: SMA
// BACKGROUND LOGIC
YoY Bullish: 7%, YoY Bearish: 2%
SMA Method: absolute, Threshold: 0.2%
// COLORS
Transparency: 5%
China M2: Disabled
📈 RECOMMENDED USAGE
Traders : Anticipate sector rotations
Investors : Identify abundant/restricted liquidity phases
Macro-analysts : Monitor monetary policy impacts
Portfolio managers : Understand inflationary pressures
🔍 ADVANCED INTERPRETATION
M2 ↗️ + YoY ≥ 7% → Favorable risk-on environment
M2 ↘️ + YoY ≤ 2% → Defensive risk-off environment
Divergences → Early warning signals for trend changes
💡 WHY THIS INDICATOR?
Global money supply is the lifeblood of the financial economy . Its growth or contraction typically precedes market movements by 6 to 12 months.
"Don't fight the Fed... nor the world's central banks"
🛠️ ADVANCED CUSTOMIZATION
All parameters are customizable:
YoY bullish/bearish thresholds
SMA comparison method (absolute/percentage)
Colors and transparency
Moving average period and type
Optional China inclusion
📋 TECHNICAL INFORMATION
YoY Calculation : Based on monthly data for consistency
Sources : FRED, ECONOMICS, official data
Updates : Real-time with publications
Currencies : Updated exchange rates
Proyeccion Cuantitativa 6m - 3 escenarios“The chart displays three 6-month projected price paths based on trend and volatility: a conservative lower curve, a moderate expected path, and an aggressive upper scenario.”
ECG PRICE - mauricioofsousa📉 ECG PRICE – The Price Electrocardiogram
(explained for traders, scientists, and complete beginners)
🔍 1. WHAT IS THE ECG PRICE?
The ECG PRICE protocol is a market-reading system based on the RSI, but with a surgical twist:
👉 You don’t just calculate RSI from price.
👉 You adjust the price using the RSI, and then calculate RSI over this adjusted price.
This creates a filtered, amplified signal that behaves like a heart monitor for price, detecting micro-impulses and subtle market movements long before they show up in the standard RSI.
🧬 2. CORE IDEA
Just like a real ECG amplifies and reveals electrical rhythms hidden inside the heartbeat,
the ECG PRICE amplifies micro-deformations hidden inside the price’s momentum.
It works in three stages:
Compute the regular RSI
Use the RSI to adjust the price (creating an electrocardiographic price)
Compute a second RSI over this modified price
The result is a meta-derived oscillator—more sensitive, more precise, and better at detecting structural changes.
🧩 3. TECHNICAL BREAKDOWN
3.1. First RSI (classic)
The script calculates:
average gains
average losses
relative strength (RS)
and then the standard 0–100 RSI
This is the “normal heart rate monitor” everyone uses.
3.2. Creating the “Adjusted Price”
adjustedPrice = close * (rsi / 100)
This means:
➡️ When RSI is high (strong buying momentum), price is amplified.
➡️ When RSI is low (strong selling momentum), price is compressed.
This converts raw price into a bio-electrical signal, where the price itself is modulated by its own internal momentum.
It’s the financial equivalent of ECG gain adjustment.
3.3. RSI of the Adjusted Price
Now the script calculates a new RSI from this modified price.
That is the actual ECG PRICE.
This second-order oscillator becomes extremely sensitive to:
micro-momentum shifts
early trend fading
volatility shocks
micro-divergences
institutional pressure waves
It reads the electrical pattern behind the price rather than the superficial movement.
🟩🟥 4. Diagnostic Lines of the Protocol
35 (green dotted)
Pre-oversold fatigue zone.
65 (red dotted)
Pre-overbought exhaustion zone.
30 (white solid)
Classic oversold.
70 (white solid)
Classic overbought.
Together they create two diagnostic corridors:
1. Medical corridor (30–70):
Standard RSI clinical range.
2. Electrical corridor (35–65):
The ECG-sensitive zone where micro-shifts appear first.
🧠 5. In Engineering Language (MGO style)
The ECG PRICE is essentially:
A nonlinear second-order oscillator where the RSI feeds back into price, creating a recursive momentum-modulated signal.
It functions like a:
bioinformational modulator
feedback-driven wave processor
impulse amplifier
micro-PID sensitivity enhancer
Very similar to the informational-wave transformations inside the MGO pipeline.
👨⚕️📉 6. Explained for a Total Beginner
Imagine the price is a heart.
The normal RSI shows if the heart is beating fast or slow.
But the ECG PRICE takes that heartbeat…
feeds it back into the heart…
and then measures the new heartbeat.
This creates a much more sensitive exam that detects problems before the normal test would.
💡 7. What It Gives You in Practice
earlier reversal signals
better trend-fatigue detection
clearer micro-divergences
a clean RSI with reduced noise
a smoother momentum curve
advanced behavioral readings before breakouts
It’s an upgrade.
A second-layer RSI that “hears” the inner electrical impulses of price.
TMB Invest - Smart Money Concept StrategyEnglish:
**Quick Overview**
The "TMB_SMC_Strategy_v1.1.3" combines a classic trend filter using two EMAs with contrarian RSI entries and simple SMC elements (Fair Value Gaps & Order Blocks). Stop-loss and take-profit orders are volatility-adaptive and controlled via the ATR. An integrated dashboard displays the setup status, stop-loss/take-profit levels, entry reference, and trend, RSI, and ATR values.
---
## Operating Principle
1. **Trend Filter:** A fast EMA (default 50) is compared to a slow EMA (default 200). Trading occurs only in the direction of the trend: long in uptrends, short in downtrends.
2. **Timing via RSI:** Contrarian entries within the trend. Go long when the RSI is below a buy level (default 40); Short when the RSI is above a sell level (standard 60).
3. **Structure Check (SMC Proxy):** An "FVG Touch" serves as additional confirmation that an inefficient price zone has been tested. Order blocks are visualized for guidance but are not a direct entry trigger.
4. **Risk Management via ATR:** Stop-loss and take-profit levels are set as multipliers of the current ATR (e.g., SL = 1×ATR, TP = 2×ATR). This allows target and risk distances to adjust to market volatility.
5. **Simple Position Logic:** Only one position is held at a time (no pyramiding). After entry, stop and limit orders (bracket exit) are automatically placed.
---
## Input Values
* **EMA Fast / EMA Slow:** Lengths of the moving averages for the trend filter.
* **RSI Length / Levels:** Length of the RSI as well as buy and sell thresholds (contra signals within the trend direction).
* **Take Profit (RR) / Stop Loss (RR):** ATR multipliers for TP and SL.
* **Show FVGs & Order Blocks:** Toggles the visual SMC elements (zones/boxes) on or off.
--
## Signals & Execution
* **Long Setup:** Uptrend (fast EMA above slow EMA) **and** RSI below the buy level **and** a current FVG signal in a bullish direction.
* **Short Setup:** Downtrend (fast EMA below slow EMA) **and** RSI above the sell level **and** a current FVG touch in a bearish direction.
* **Entry & Exit:** If the setup is met, the market is entered; stop-loss/take-profit orders are placed immediately according to ATR multiples.
--
## Visualization
* **EMAs:** The fast and slow EMAs are plotted to illustrate the trend.
* **FVGs:** Fair Value Gaps are drawn as semi-transparent boxes in the trend color and projected slightly into the future.
* **Order Blocks:** Potential order block zones from the previous candle are visually highlighted (for informational purposes only).
---
## Integrated Dashboard
A compact table dashboard (bottom left) displays:
* Current **Setup Status** (Long/Short active, Long/Short ready, No Setup),
* **Stop-Loss**, **Take-Profit**, and **Entry Reference**,
* **Trend Status** (Bull/Bear/Sideways),
* **RSI Value**, and **ATR Value**.
Active long/short positions are highlighted in color (green/red).
--
## Practical Guide
1. **Place on Chart** and select the desired timeframe.
2. **Calibrate Parameters** (EMA lengths, RSI levels, ATR multipliers) to match the market and timeframe.
3. **Backtest** across different market phases; prioritize robustness over maximum curve fit.
4. **Fine-Tuning:**
* Shorter EMAs are often useful intraday (e.g., 20/100 or 34/144).
* Adjust RSI levels to market characteristics (45/55 for aggressive trading, 30/70 for conservative trading).
* Increase or decrease ATR multipliers depending on volatility/trading style.
--
## Notes, Limitations & Extensions
* **FVG Definition:** The FVG detection used here is intentionally simplified. Those who prefer a more rigorous approach can switch to a 3-candle definition and fill levels.
* **Order Blocks:** These primarily serve as a guide. Integration into entry/exit logic (e.g., retests) is possible as an extension.
* **Backtest Realism:** Fills may differ from the displayed closing price. For greater accuracy, intrabar backtests or an entry indicator based on the average position price are conceivable.
* **Alerts:** Currently, no alert conditions are defined; these can be added for long/short setups and status messages.
* **Position Management:** By default, no scaling is performed. Partial sales, trailing stops, or multiple entries can be added.
---
## Purpose & Benefits
The strategy offers a clear, modular framework: trend filter (direction), RSI contra timing (entry), SMC proxy via FVG Touch (structure), and ATR-based exits (risk adaptation). This makes it robust, easy to understand, and highly extensible—both for discretionary traders who appreciate visual SMC elements and for systematic testers who prefer a clean, parameterizable foundation.
[KF] Multi-Duration Rate Expectations IndicatorAfter last fed cut in Oct then following jump in rates, I was frustrated at not having access to good rate expectations vs actual because the market usually prices in prior to fed action. This indicator was developed to make futures market rate expectations accessible and interpretable without requiring professional bond analytics systems.
Summary
This Pine Script indicator reveals what the futures market expects for interest rates across three key durations: Fed Funds (overnight), 2-Year, and 10-Year Treasury yields. By comparing futures-implied rates against current spot yields, it provides a clear visual signal of whether the market expects rates to rise, fall, or remain steady.
Understanding Rate Futures
Fed Funds futures (ZQ1!) use a simple design where the expected rate equals 100 minus the futures price. If ZQ1! trades at 96.12, the market expects a 3.88% Fed Funds rate. Treasury futures work differently - they trade as bond prices (typically 102-115) that move inversely to yields. Converting Treasury futures to implied yields requires complex bond mathematics involving duration and conversion factors.
This indicator solves the Treasury futures complexity by implementing a self-calibrating sensitivity model. It observes the historical relationship between futures prices and yields, then uses this to project rate expectations. The model also compares front-month to next-month contracts to detect expected rate direction, automatically adapting as market conditions change.
How to Use
Add the indicator to any chart and select your desired duration in the settings. The display shows the futures-implied rate, current yield, and the difference between them. Green indicates the market expects higher rates, red means lower expectations, and gray shows expectations in line with current rates.
The indicator excels at identifying divergences between market expectations and current rates, which often precede rate movements or futures repricing. Comparing expectations across different durations reveals insights about yield curve positioning and Fed policy anticipation.
Technical Note
While Fed Funds futures provide exact rate expectations, Treasury futures conversions are sophisticated approximations that provide reliable directional signals and reasonable magnitude estimates sufficient for most trading applications.
NY VIX Channel Trend US Futures Day Trade StrategyNY VIX Channel Trend Strategy
Summary in one paragraph
Session anchored intraday strategy for index futures such as ES and NQ on one to fifteen minute charts. It acts only after the first configurable window of New York Regular Trading Hours and uses a VIX derived daily implied move to form a realistic channel from the session open. Originality comes from using a pure implied volatility yardstick as portable support and resistance, then committing in the direction of the first window close relative to the open. Add it to a clean chart and trade the simple visuals. For conservative alerts use on bar close.
Scope and intent
• Markets. Index futures ES and NQ
• Timeframes. One to thirty minutes
• Default demo. ES1 on five minutes
• Purpose. Provide a portable intraday yardstick for entries and exits without curve fitting
• Limits. This is a strategy. Orders are simulated on standard candles
Originality and usefulness
• Unique concept. A VIX only channel anchored at 09:30 New York plus a single window trend test
• Addresses. False urgency at session open and unrealistic bands from arbitrary multipliers
• Testability. Every input is visible and the channel is plotted so users can audit behavior
• Portable yardstick. Daily implied move equals VIX percent divided by square root of two hundred fifty two
• Protected status. None. Method and use are fully disclosed
Method overview in plain language
Take the daily VIX or VIX9D value, convert it to a daily fraction by dividing by square root of two hundred fifty two, then anchor a symmetric channel at the New York session open. Observe the first N minutes. If that window closes above the open the bias is long. If it closes below the open the bias is short. One trade per session. Exits occur at the channel boundary or at a bracket based on a user selected VIX factor. Positions are closed a set number of minutes before the session ends.
Base measures
Return basis. The daily implied move unit equals VIX percent divided by square root of two hundred fifty two and serves as the distance unit for targets and stops.
Components
• VIX Channel. Top, mid, bottom lines anchored at 09:30 New York. No extra multipliers
• Window Trend. Close of the first N minutes relative to the session open sets direction
• Risk Bracket. Take profit and stop loss equal to VIX unit times user factor
• Session Window. Uses the exchange time of the chart
Fusion rule
Minimum gates count equals one. The trade only arms after the window has elapsed and a direction exists. One entry per session.
Signal rule
• Long when the window close is above the session open and the window has completed
• Short when the window close is below the session open and the window has completed
• Exit on channel touch. Long exits at the top. Short exits at the bottom
• Flat thirty minutes before the session close or at the user setting
Inputs with guidance
Setup
• Use VIX9D. Width source. Typical true for fast tone or false for baseline
• Use daily OPEN. Toggle for sensitivity to overnight changes
Logic
• Window minutes. Five to one hundred twenty. Larger values delay entries and reduce whipsaw
• VIX factor for TP. Zero point five to two. Raising it widens the profit target
• VIX factor for SL. Zero point five to two. Raising it widens the stop
• Exit minutes before close. Fifteen to ninety. Raising it exits earlier
Properties visible in this publication
• Initial capital one hundred thousand USD
• Base currency USD
• request.security uses lookahead off
• Commission cash per contract two point five $ per each contract. Slippage one tick
• Default order size method FIXED with value one contract. Pyramiding zero. Process orders on close ON. Bar magnifier OFF. Recalculate after order is filled OFF. Calc on every tick ON
Realism and responsible publication
No performance claims. Past results never guarantee future outcomes. Fills and slippage vary by venue. Shapes can move while a bar forms and settle on close. Strategy uses standard candles.
Honest limitations and failure modes
Economic releases and thin liquidity can break the channel. Very quiet regimes can reduce signal contrast. Session windows follow the exchange time of the chart. If both stop and target can be hit within one bar, assume stop first for conservative reading without bar magnifier.
Works best in liquid hours of New York RTH. Very large gaps and surprise news may exceed the implied channel. Always validate on the symbols you trade.
Entries and exits
• Entry logic. After the first window, go long if the window close is above the session open, go short if below
• Exit logic. Long exits at the channel top or at the take profit or stop. Short exits at the channel bottom or at the take profit or stop. Flat before session close by the configured minutes
• Risk model. Initial stop and target based on the VIX unit times user factors. No trail and no break even. No cooldown
• Tie handling. Treat as stop first for conservative interpretation
Position sizing
Fixed size one contract per trade. Target risk per trade should generally remain near one percent of account equity. Risk is based on the daily volatility value, the max loss from the tests for one year duration with 5min chart was 4%, while the avg loss was below <1% of the total capital.
If you have any questions please let me know. Thank you for coming by !
Volume Weighted Volatility RegimeThe Volume-Weighted Volatility Regime (VWVR) is a market analysis tool that dissects total volatility to classify the current market 'character' or 'regime'. Using a Linear Regression model, it decomposes volatility into Trend, Residual (mean-reversion), and Within-Bar (noise) components.
Key Features:
Seven-Stage Regime Classification: The indicator's primary output is a regime value from -3 to +3, identifying the market state:
+3 (Strong Bull Trend): High directional, upward volatility.
+2 (Choppy Bull): Moderate upward trend with noise.
+1 (Quiet Bull): Low volatility, slight upward drift.
0 (Neutral): No clear directional bias.
-1 (Quiet Bear): Low volatility, slight downward drift.
-2 (Choppy Bear): Moderate downward trend with noise.
-3 (Strong Bear Trend): High directional, downward volatility.
Advanced Volatility Decomposition: The regime is derived from a three-component volatility model that separates price action into Trend (momentum), Residual (mean-reversion), and Within-Bar (noise) variance. The classification is determined by comparing the 'Trend' ratio against the user-defined 'Trend Threshold' and 'Quiet Threshold'.
Dual-Level Analysis: The indicator analyzes market character on two levels simultaneously:
Inter-Bar Regime (Background Color): Based on the main StdDev Length, showing the overall market character.
Intra-Bar Regime (Column Color): Based on a high-resolution analysis within each single bar ('Intra-Bar Timeframe'), showing the micro-structural character.
Calculation Options:
Statistical Model: The 'Estimate Bar Statistics' option (enabled by default) uses a statistical model ('Estimator') to perform the decomposition. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead).
Normalization: An optional 'Normalize Volatility' setting calculates an Exponential Regression Curve (log-space).
Volume Weighting: An option (Volume weighted) applies volume weighting to all volatility calculations.
Multi-Timeframe (MTF) Capability: The entire dual-level analysis can be run on a higher timeframe (using the Timeframe input), with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Integrated Alerts: Includes 22 comprehensive alerts that trigger whenever the 'Inter-Bar Regime' or the 'Intra-Bar Regime' crosses one of the key thresholds (e.g., 'Regime crosses above Neutral Line'), or when the 'Intra-Bar Dominance' crosses the 50% mark.
Caution: Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This behavior is normal and necessary for this type of analysis. Signals should only be considered final after the main chart bar has closed.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Volume Weighted Intra Bar LR Standard DeviationThis indicator analyzes market character by providing a detailed view of volatility. It applies a Linear Regression model to intra-bar price action, dissecting the total volatility of each bar into three distinct components.
Key Features:
Three-Component Volatility Decomposition: By analyzing a lower timeframe ('Intra-Bar Timeframe'), the indicator separates each bar's volatility into:
Trend Volatility (Green/Red): Volatility explained by the intra-bar linear regression slope (Momentum).
Residual Volatility (Yellow): Volatility from price oscillating around the intra-bar trendline (Mean-Reversion).
Within-Bar Volatility (Blue): Volatility derived from the range of each intra-bar candle (Noise/Choppiness).
Layered Column Visualization: The indicator plots these components as a layered column chart. The size of each colored layer visually represents the dominance of each volatility character.
Dual Display Modes: The indicator offers two modes to visualize this decomposition:
Absolute Mode: Displays the total standard deviation as the column height, showing the absolute magnitude of volatility and the contribution of each component.
Normalized Mode: Displays the components as a 100% stacked column chart (scaled from 0 to 1), focusing purely on the percentage ratio of Trend, Residual, and Noise.
Calculation Options:
Statistical Model: The 'Estimate Bar Statistics' option (enabled by default) uses a statistical model ('Estimator') to perform the decomposition. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead).
Normalization: An optional 'Normalize Volatility' setting calculates an Exponential Regression Curve (log-space).
Volume Weighting: An option (Volume weighted) applies volume weighting to all intra-bar calculations.
Multi-Component Pivot Detection: Includes a pivot detector that identifies significant turning points (highs and lows) in both the Total Volatility and the Trend Volatility Ratio. (Note: These pivots are only plotted when 'Plot Mode' is set to 'Absolute').
Note on Confirmation (Lag): Pivot signals are confirmed using a lookback method. A pivot is only plotted after the Pivot Right Bars input has passed, which introduces an inherent lag.
Multi-Timeframe (MTF) Capability:
MTF Analysis: The entire intra-bar analysis can be run on a higher timeframe (using the Timeframe input), with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Pivot detection (Calculate Pivots) is disabled if a Higher Timeframe (HTF) is selected.
Integrated Alerts: Includes 9 comprehensive alerts for:
Volatility character changes (e.g., 'Character Change from Noise to Trend').
Dominant character emerging (e.g., 'Bullish Trend Character Emerging').
Total Volatility pivot (High/Low) detection.
Trend Volatility pivot (High/Low) detection.
Caution! Real-Time Data Behavior (Intra-Bar Repainting) This indicator uses high-resolution intra-bar data. As a result, the values on the current, unclosed bar (the real-time bar) will update dynamically as new intra-bar data arrives. This behavior is normal and necessary for this type of analysis. Signals should only be considered final after the main chart bar has closed.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Volume Weighted LR Standard DeviationThis indicator analyzes market character by decomposing total volatility into three distinct, interpretable components based on a Linear Regression model.
Key Features:
Three-Component Volatility Decomposition: The indicator separates volatility based on the 'Estimate Bar Statistics' option.
Standard Mode (Estimate Bar Statistics = OFF): Calculates volatility based on the selected Source (dies führt hauptsächlich zu 'Trend'- und 'Residual'-Volatilität).
Decomposition Mode (Estimate Bar Statistics = ON): The indicator uses a statistical model ('Estimator') to calculate within-bar volatility. (Assumption: In this mode, the Source input is ignored, and an estimated mean for each bar is used instead). This separates volatility into:
Trend Volatility (Green/Red): Volatility explained by the regression's slope (Momentum).
Residual Volatility (Yellow): Volatility from price oscillating around the regression line (Mean-Reversion).
Within-Bar Volatility (Blue): Volatility from the high-low range of each bar (Noise/Choppiness).
Dual Display Modes: The indicator offers two modes to visualize this decomposition:
Absolute Mode: Displays the total standard deviation as a stacked area chart, partitioned by the variance ratio of the three components.
Normalized Mode: Displays the direct variance ratio (proportion) of each component relative to the total (0-1), ideal for identifying the dominant market character.
Calculation Options:
Normalization: An optional 'Normalize Volatility' setting calculates an Exponential Regression Curve (log-space), making the analysis suitable for growth assets.
Volume Weighting: An option (Volume weighted) applies volume weighting to all regression and volatility calculations.
Multi-Component Pivot Detection: Includes a pivot detector that identifies significant turning points (highs and lows) in both the Total Volatility and the Trend Volatility Ratio. (Note: These pivots are only plotted when 'Plot Mode' is set to 'Absolute').
Note on Confirmation (Lag): Pivot signals are confirmed using a lookback method. A pivot is only plotted after the Pivot Right Bars input has passed, which introduces an inherent lag.
Multi-Timeframe (MTF) Capability:
MTF Volatility Lines: The volatility lines can be calculated on a higher timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Pivot detection (Calculate Pivots) is disabled if a Higher Timeframe (HTF) is selected.
Integrated Alerts: Includes 9 comprehensive alerts for:
Volatility character changes (e.g., 'Character Change from Noise to Trend').
Dominant character emerging (e.g., 'Bullish Trend Character Emerging').
Total Volatility pivot (High/Low) detection.
Trend Volatility pivot (High/Low) detection.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Crypto Futures Basis Tracker (Annualized)🧩 What is Basis Arbitrage
Basis arbitrage is a market-neutral trading strategy that exploits the price difference between a cryptocurrency’s spot and its futures markets.
When futures trade above spot (called contango), traders can buy spot and short futures, locking in a potential yield.
When futures trade below spot (backwardation), the reverse applies — short spot and go long futures.
The yield earned (or cost paid) by holding this position until expiry is called the basis. Expressing it as an annualized percentage allows comparison across different contract maturities.
⚙️ How the Indicator Works
This tool calculates the annualized basis for up to 10 cryptocurrency futures against a chosen spot price.
You select one spot symbol (e.g., BITSTAMP:BTCUSD) and up to 10 futures symbols (e.g., DERIBIT:BTCUSD07X2025, DERIBIT:BTCUSD14X2025, etc.).
The script automatically computes the days-to-expiry (DTE) and the annualized basis for each future.
A table displays for each contract: symbol, expiry date, DTE, last price, and annualized basis (%) — making it easy to compare the forward curve across maturities.
⚠️ Risks and Limitations
While basis arbitrage is often considered low-risk, it’s not risk-free:
Funding and financing costs can erode returns, especially when borrowing or using leverage.
Exchange or counterparty risk — if one leg of the trade fails (e.g., exchange default, margin liquidation), the hedge breaks.
Execution and timing risk — the basis can tighten or invert before both legs are opened.
Liquidity differences — thin futures may have large bid-ask spreads or slippage.
Use this indicator for analysis and monitoring, not as an automated trading signal.
Disclaimer: Please remember that past performance may not be indicative of future results. Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting. This post and the script don't provide any financial advice.
Standardization (Z-score)Standardization, often referred to as Z-score normalization, is a data preprocessing technique that rescales data to have a mean of 0 and a standard deviation of 1. The resulting values, known as Z-scores, indicate how many standard deviations an individual data point is from the mean of the dataset (or a rolling sample of it).
This indicator calculates and plots the Z-score for a given input series over a specified lookback period. It is a fundamental tool for statistical analysis, outlier detection, and preparing data for certain machine learning algorithms.
## Core Concepts
* **Standardization:** The process of transforming data to fit a standard normal distribution (or more generally, to have a mean of 0 and standard deviation of 1).
* **Z-score (Standard Score):** A dimensionless quantity that represents the number of standard deviations by which a data point deviates from the mean of its sample.
The formula for a Z-score is:
`Z = (x - μ) / σ`
Where:
* `x` is the individual data point (e.g., current value of the source series).
* `μ` (mu) is the mean of the sample (calculated over the lookback period).
* `σ` (sigma) is the standard deviation of the sample (calculated over the lookback period).
* **Mean (μ):** The average value of the data points in the sample.
* **Standard Deviation (σ):** A measure of the amount of variation or dispersion of a set of values. A low standard deviation indicates that the values tend to be close to the mean, while a high standard deviation indicates that the values are spread out over a wider range.
## Common Settings and Parameters
| Parameter | Type | Default | Function | When to Adjust |
| :-------------- | :----------- | :------ | :------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Source | series float | close | The input data series (e.g., price, volume, indicator values). | Choose the series you want to standardize. |
| Lookback Period | int | 20 | The number of bars (sample size) used for calculating the mean (μ) and standard deviation (σ). Min 2. | A larger period provides more stable estimates of μ and σ but will be less responsive to recent changes. A shorter period is more reactive. `minval` is 2 because `ta.stdev` requires it. |
**Pro Tip:** Z-scores are excellent for identifying anomalies or extreme values. For instance, applying Standardization to trading volume can help quickly spot days with unusually high or low activity relative to the recent norm (e.g., Z-score > 2 or < -2).
## Calculation and Mathematical Foundation
The Z-score is calculated for each bar as follows, using a rolling window defined by the `Lookback Period`:
1. **Calculate Mean (μ):** The simple moving average (`ta.sma`) of the `Source` data over the specified `Lookback Period` is calculated. This serves as the sample mean `μ`.
`μ = ta.sma(Source, Lookback Period)`
2. **Calculate Standard Deviation (σ):** The standard deviation (`ta.stdev`) of the `Source` data over the same `Lookback Period` is calculated. This serves as the sample standard deviation `σ`.
`σ = ta.stdev(Source, Lookback Period)`
3. **Calculate Z-score:**
* If `σ > 0`: The Z-score is calculated using the formula:
`Z = (Current Source Value - μ) / σ`
* If `σ = 0`: This implies all values in the lookback window are identical (and equal to the mean). In this case, the Z-score is defined as 0, as the current source value is also equal to the mean.
* If `σ` is `na` (e.g., insufficient data in the lookback period), the Z-score is `na`.
> 🔍 **Technical Note:**
> * The `Lookback Period` must be at least 2 for `ta.stdev` to compute a valid standard deviation.
> * The Z-score calculation uses the sample mean and sample standard deviation from the rolling lookback window.
## Interpreting the Z-score
* **Magnitude and Sign:**
* A Z-score of **0** means the data point is identical to the sample mean.
* A **positive Z-score** indicates the data point is above the sample mean. For example, Z = 1 means the point is 1 standard deviation above the mean.
* A **negative Z-score** indicates the data point is below the sample mean. For example, Z = -1 means the point is 1 standard deviation below the mean.
* **Typical Range:** For data that is approximately normally distributed (bell-shaped curve):
* About 68% of Z-scores fall between -1 and +1.
* About 95% of Z-scores fall between -2 and +2.
* About 99.7% of Z-scores fall between -3 and +3.
* **Outlier Detection:** Z-scores significantly outside the -2 to +2 range, and especially outside -3 to +3, are often considered outliers or extreme values relative to the recent historical data in the lookback window.
* **Volatility Indication:** When applied to price, large absolute Z-scores can indicate moments of high volatility or significant deviation from the recent price trend.
The indicator plots horizontal lines at ±1, ±2, and ±3 standard deviations to help visualize these common thresholds.
## Common Applications
1. **Outlier Detection:** Identifying data points that are unusual or extreme compared to the rest of the sample. This is a primary use in financial markets for spotting abnormal price moves, volume spikes, etc.
2. **Comparative Analysis:** Allows for comparison of scores from different distributions that might have different means and standard deviations. For example, comparing the Z-score of returns for two different assets.
3. **Feature Scaling in Machine Learning:** Standardizing features to have a mean of 0 and standard deviation of 1 is a common preprocessing step for many machine learning algorithms (e.g., SVMs, logistic regression, neural networks) to improve performance and convergence.
4. **Creating Normalized Oscillators:** The Z-score itself can be used as a bounded (though not strictly between -1 and +1) oscillator, indicating how far the current price has deviated from its moving average in terms of standard deviations.
5. **Statistical Process Control:** Used in quality control charts to monitor if a process is within expected statistical limits.
## Limitations and Considerations
* **Assumption of Normality for Probabilistic Interpretation:** While Z-scores can always be calculated, the probabilistic interpretations (e.g., "68% of data within ±1σ") strictly apply to normally distributed data. Financial data is often not perfectly normal (e.g., it can have fat tails).
* **Sensitivity of Mean and Standard Deviation to Outliers:** The sample mean (μ) and standard deviation (σ) used in the Z-score calculation can themselves be influenced by extreme outliers within the lookback period. This can sometimes mask or exaggerate the Z-score of other points.
* **Choice of Lookback Period:** The Z-score is highly dependent on the `Lookback Period`. A short period makes it very sensitive to recent fluctuations, while a long period makes it smoother and less responsive. The appropriate period depends on the analytical goal.
* **Stationarity:** For time series data, Z-scores are calculated based on a rolling window. This implicitly assumes some level of local stationarity (i.e., the mean and standard deviation are relatively stable within the window).
Quantum Rotational Field MappingQuantum Rotational Field Mapping (QRFM):
Phase Coherence Detection Through Complex-Plane Oscillator Analysis
Quantum Rotational Field Mapping applies complex-plane mathematics and phase-space analysis to oscillator ensembles, identifying high-probability trend ignition points by measuring when multiple independent oscillators achieve phase coherence. Unlike traditional multi-oscillator approaches that simply stack indicators or use boolean AND/OR logic, this system converts each oscillator into a rotating phasor (vector) in the complex plane and calculates the Coherence Index (CI) —a mathematical measure of how tightly aligned the ensemble has become—then generates signals only when alignment, phase direction, and pairwise entanglement all converge.
The indicator combines three mathematical frameworks: phasor representation using analytic signal theory to extract phase and amplitude from each oscillator, coherence measurement using vector summation in the complex plane to quantify group alignment, and entanglement analysis that calculates pairwise phase agreement across all oscillator combinations. This creates a multi-dimensional confirmation system that distinguishes between random oscillator noise and genuine regime transitions.
What Makes This Original
Complex-Plane Phasor Framework
This indicator implements classical signal processing mathematics adapted for market oscillators. Each oscillator—whether RSI, MACD, Stochastic, CCI, Williams %R, MFI, ROC, or TSI—is first normalized to a common scale, then converted into a complex-plane representation using an in-phase (I) and quadrature (Q) component. The in-phase component is the oscillator value itself, while the quadrature component is calculated as the first difference (derivative proxy), creating a velocity-aware representation.
From these components, the system extracts:
Phase (φ) : Calculated as φ = atan2(Q, I), representing the oscillator's position in its cycle (mapped to -180° to +180°)
Amplitude (A) : Calculated as A = √(I² + Q²), representing the oscillator's strength or conviction
This mathematical approach is fundamentally different from simply reading oscillator values. A phasor captures both where an oscillator is in its cycle (phase angle) and how strongly it's expressing that position (amplitude). Two oscillators can have the same value but be in opposite phases of their cycles—traditional analysis would see them as identical, while QRFM sees them as 180° out of phase (contradictory).
Coherence Index Calculation
The core innovation is the Coherence Index (CI) , borrowed from physics and signal processing. When you have N oscillators, each with phase φₙ, you can represent each as a unit vector in the complex plane: e^(iφₙ) = cos(φₙ) + i·sin(φₙ).
The CI measures what happens when you sum all these vectors:
Resultant Vector : R = Σ e^(iφₙ) = Σ cos(φₙ) + i·Σ sin(φₙ)
Coherence Index : CI = |R| / N
Where |R| is the magnitude of the resultant vector and N is the number of active oscillators.
The CI ranges from 0 to 1:
CI = 1.0 : Perfect coherence—all oscillators have identical phase angles, vectors point in the same direction, creating maximum constructive interference
CI = 0.0 : Complete decoherence—oscillators are randomly distributed around the circle, vectors cancel out through destructive interference
0 < CI < 1 : Partial alignment—some clustering with some scatter
This is not a simple average or correlation. The CI captures phase synchronization across the entire ensemble simultaneously. When oscillators phase-lock (align their cycles), the CI spikes regardless of their individual values. This makes it sensitive to regime transitions that traditional indicators miss.
Dominant Phase and Direction Detection
Beyond measuring alignment strength, the system calculates the dominant phase of the ensemble—the direction the resultant vector points:
Dominant Phase : φ_dom = atan2(Σ sin(φₙ), Σ cos(φₙ))
This gives the "average direction" of all oscillator phases, mapped to -180° to +180°:
+90° to -90° (right half-plane): Bullish phase dominance
+90° to +180° or -90° to -180° (left half-plane): Bearish phase dominance
The combination of CI magnitude (coherence strength) and dominant phase angle (directional bias) creates a two-dimensional signal space. High CI alone is insufficient—you need high CI plus dominant phase pointing in a tradeable direction. This dual requirement is what separates QRFM from simple oscillator averaging.
Entanglement Matrix and Pairwise Coherence
While the CI measures global alignment, the entanglement matrix measures local pairwise relationships. For every pair of oscillators (i, j), the system calculates:
E(i,j) = |cos(φᵢ - φⱼ)|
This represents the phase agreement between oscillators i and j:
E = 1.0 : Oscillators are in-phase (0° or 360° apart)
E = 0.0 : Oscillators are in quadrature (90° apart, orthogonal)
E between 0 and 1 : Varying degrees of alignment
The system counts how many oscillator pairs exceed a user-defined entanglement threshold (e.g., 0.7). This entangled pairs count serves as a confirmation filter: signals require not just high global CI, but also a minimum number of strong pairwise agreements. This prevents false ignitions where CI is high but driven by only two oscillators while the rest remain scattered.
The entanglement matrix creates an N×N symmetric matrix that can be visualized as a web—when many cells are bright (high E values), the ensemble is highly interconnected. When cells are dark, oscillators are moving independently.
Phase-Lock Tolerance Mechanism
A complementary confirmation layer is the phase-lock detector . This calculates the maximum phase spread across all oscillators:
For all pairs (i,j), compute angular distance: Δφ = |φᵢ - φⱼ|, wrapping at 180°
Max Spread = maximum Δφ across all pairs
If max spread < user threshold (e.g., 35°), the ensemble is considered phase-locked —all oscillators are within a narrow angular band.
This differs from entanglement: entanglement measures pairwise cosine similarity (magnitude of alignment), while phase-lock measures maximum angular deviation (tightness of clustering). Both must be satisfied for the highest-conviction signals.
Multi-Layer Visual Architecture
QRFM includes six visual components that represent the same underlying mathematics from different perspectives:
Circular Orbit Plot : A polar coordinate grid showing each oscillator as a vector from origin to perimeter. Angle = phase, radius = amplitude. This is a real-time snapshot of the complex plane. When vectors converge (point in similar directions), coherence is high. When scattered randomly, coherence is low. Users can see phase alignment forming before CI numerically confirms it.
Phase-Time Heat Map : A 2D matrix with rows = oscillators and columns = time bins. Each cell is colored by the oscillator's phase at that time (using a gradient where color hue maps to angle). Horizontal color bands indicate sustained phase alignment over time. Vertical color bands show moments when all oscillators shared the same phase (ignition points). This provides historical pattern recognition.
Entanglement Web Matrix : An N×N grid showing E(i,j) for all pairs. Cells are colored by entanglement strength—bright yellow/gold for high E, dark gray for low E. This reveals which oscillators are driving coherence and which are lagging. For example, if RSI and MACD show high E but Stochastic shows low E with everything, Stochastic is the outlier.
Quantum Field Cloud : A background color overlay on the price chart. Color (green = bullish, red = bearish) is determined by dominant phase. Opacity is determined by CI—high CI creates dense, opaque cloud; low CI creates faint, nearly invisible cloud. This gives an atmospheric "feel" for regime strength without looking at numbers.
Phase Spiral : A smoothed plot of dominant phase over recent history, displayed as a curve that wraps around price. When the spiral is tight and rotating steadily, the ensemble is in coherent rotation (trending). When the spiral is loose or erratic, coherence is breaking down.
Dashboard : A table showing real-time metrics: CI (as percentage), dominant phase (in degrees with directional arrow), field strength (CI × average amplitude), entangled pairs count, phase-lock status (locked/unlocked), quantum state classification ("Ignition", "Coherent", "Collapse", "Chaos"), and collapse risk (recent CI change normalized to 0-100%).
Each component is independently toggleable, allowing users to customize their workspace. The orbit plot is the most essential—it provides intuitive, visual feedback on phase alignment that no numerical dashboard can match.
Core Components and How They Work Together
1. Oscillator Normalization Engine
The foundation is creating a common measurement scale. QRFM supports eight oscillators:
RSI : Normalized from to using overbought/oversold levels (70, 30) as anchors
MACD Histogram : Normalized by dividing by rolling standard deviation, then clamped to
Stochastic %K : Normalized from using (80, 20) anchors
CCI : Divided by 200 (typical extreme level), clamped to
Williams %R : Normalized from using (-20, -80) anchors
MFI : Normalized from using (80, 20) anchors
ROC : Divided by 10, clamped to
TSI : Divided by 50, clamped to
Each oscillator can be individually enabled/disabled. Only active oscillators contribute to phase calculations. The normalization removes scale differences—a reading of +0.8 means "strongly bullish" regardless of whether it came from RSI or TSI.
2. Analytic Signal Construction
For each active oscillator at each bar, the system constructs the analytic signal:
In-Phase (I) : The normalized oscillator value itself
Quadrature (Q) : The bar-to-bar change in the normalized value (first derivative approximation)
This creates a 2D representation: (I, Q). The phase is extracted as:
φ = atan2(Q, I) × (180 / π)
This maps the oscillator to a point on the unit circle. An oscillator at the same value but rising (positive Q) will have a different phase than one that is falling (negative Q). This velocity-awareness is critical—it distinguishes between "at resistance and stalling" versus "at resistance and breaking through."
The amplitude is extracted as:
A = √(I² + Q²)
This represents the distance from origin in the (I, Q) plane. High amplitude means the oscillator is far from neutral (strong conviction). Low amplitude means it's near zero (weak/transitional state).
3. Coherence Calculation Pipeline
For each bar (or every Nth bar if phase sample rate > 1 for performance):
Step 1 : Extract phase φₙ for each of the N active oscillators
Step 2 : Compute complex exponentials: Zₙ = e^(i·φₙ·π/180) = cos(φₙ·π/180) + i·sin(φₙ·π/180)
Step 3 : Sum the complex exponentials: R = Σ Zₙ = (Σ cos φₙ) + i·(Σ sin φₙ)
Step 4 : Calculate magnitude: |R| = √
Step 5 : Normalize by count: CI_raw = |R| / N
Step 6 : Smooth the CI: CI = SMA(CI_raw, smoothing_window)
The smoothing step (default 2 bars) removes single-bar noise spikes while preserving structural coherence changes. Users can adjust this to control reactivity versus stability.
The dominant phase is calculated as:
φ_dom = atan2(Σ sin φₙ, Σ cos φₙ) × (180 / π)
This is the angle of the resultant vector R in the complex plane.
4. Entanglement Matrix Construction
For all unique pairs of oscillators (i, j) where i < j:
Step 1 : Get phases φᵢ and φⱼ
Step 2 : Compute phase difference: Δφ = φᵢ - φⱼ (in radians)
Step 3 : Calculate entanglement: E(i,j) = |cos(Δφ)|
Step 4 : Store in symmetric matrix: matrix = matrix = E(i,j)
The matrix is then scanned: count how many E(i,j) values exceed the user-defined threshold (default 0.7). This count is the entangled pairs metric.
For visualization, the matrix is rendered as an N×N table where cell brightness maps to E(i,j) intensity.
5. Phase-Lock Detection
Step 1 : For all unique pairs (i, j), compute angular distance: Δφ = |φᵢ - φⱼ|
Step 2 : Wrap angles: if Δφ > 180°, set Δφ = 360° - Δφ
Step 3 : Find maximum: max_spread = max(Δφ) across all pairs
Step 4 : Compare to tolerance: phase_locked = (max_spread < tolerance)
If phase_locked is true, all oscillators are within the specified angular cone (e.g., 35°). This is a boolean confirmation filter.
6. Signal Generation Logic
Signals are generated through multi-layer confirmation:
Long Ignition Signal :
CI crosses above ignition threshold (e.g., 0.80)
AND dominant phase is in bullish range (-90° < φ_dom < +90°)
AND phase_locked = true
AND entangled_pairs >= minimum threshold (e.g., 4)
Short Ignition Signal :
CI crosses above ignition threshold
AND dominant phase is in bearish range (φ_dom < -90° OR φ_dom > +90°)
AND phase_locked = true
AND entangled_pairs >= minimum threshold
Collapse Signal :
CI at bar minus CI at current bar > collapse threshold (e.g., 0.55)
AND CI at bar was above 0.6 (must collapse from coherent state, not from already-low state)
These are strict conditions. A high CI alone does not generate a signal—dominant phase must align with direction, oscillators must be phase-locked, and sufficient pairwise entanglement must exist. This multi-factor gating dramatically reduces false signals compared to single-condition triggers.
Calculation Methodology
Phase 1: Oscillator Computation and Normalization
On each bar, the system calculates the raw values for all enabled oscillators using standard Pine Script functions:
RSI: ta.rsi(close, length)
MACD: ta.macd() returning histogram component
Stochastic: ta.stoch() smoothed with ta.sma()
CCI: ta.cci(close, length)
Williams %R: ta.wpr(length)
MFI: ta.mfi(hlc3, length)
ROC: ta.roc(close, length)
TSI: ta.tsi(close, short, long)
Each raw value is then passed through a normalization function:
normalize(value, overbought_level, oversold_level) = 2 × (value - oversold) / (overbought - oversold) - 1
This maps the oscillator's typical range to , where -1 represents extreme bearish, 0 represents neutral, and +1 represents extreme bullish.
For oscillators without fixed ranges (MACD, ROC, TSI), statistical normalization is used: divide by a rolling standard deviation or fixed divisor, then clamp to .
Phase 2: Phasor Extraction
For each normalized oscillator value val:
I = val (in-phase component)
Q = val - val (quadrature component, first difference)
Phase calculation:
phi_rad = atan2(Q, I)
phi_deg = phi_rad × (180 / π)
Amplitude calculation:
A = √(I² + Q²)
These values are stored in arrays: osc_phases and osc_amps for each oscillator n.
Phase 3: Complex Summation and Coherence
Initialize accumulators:
sum_cos = 0
sum_sin = 0
For each oscillator n = 0 to N-1:
phi_rad = osc_phases × (π / 180)
sum_cos += cos(phi_rad)
sum_sin += sin(phi_rad)
Resultant magnitude:
resultant_mag = √(sum_cos² + sum_sin²)
Coherence Index (raw):
CI_raw = resultant_mag / N
Smoothed CI:
CI = SMA(CI_raw, smoothing_window)
Dominant phase:
phi_dom_rad = atan2(sum_sin, sum_cos)
phi_dom_deg = phi_dom_rad × (180 / π)
Phase 4: Entanglement Matrix Population
For i = 0 to N-2:
For j = i+1 to N-1:
phi_i = osc_phases × (π / 180)
phi_j = osc_phases × (π / 180)
delta_phi = phi_i - phi_j
E = |cos(delta_phi)|
matrix_index_ij = i × N + j
matrix_index_ji = j × N + i
entangle_matrix = E
entangle_matrix = E
if E >= threshold:
entangled_pairs += 1
The matrix uses flat array storage with index mapping: index(row, col) = row × N + col.
Phase 5: Phase-Lock Check
max_spread = 0
For i = 0 to N-2:
For j = i+1 to N-1:
delta = |osc_phases - osc_phases |
if delta > 180:
delta = 360 - delta
max_spread = max(max_spread, delta)
phase_locked = (max_spread < tolerance)
Phase 6: Signal Evaluation
Ignition Long :
ignition_long = (CI crosses above threshold) AND
(phi_dom > -90 AND phi_dom < 90) AND
phase_locked AND
(entangled_pairs >= minimum)
Ignition Short :
ignition_short = (CI crosses above threshold) AND
(phi_dom < -90 OR phi_dom > 90) AND
phase_locked AND
(entangled_pairs >= minimum)
Collapse :
CI_prev = CI
collapse = (CI_prev - CI > collapse_threshold) AND (CI_prev > 0.6)
All signals are evaluated on bar close. The crossover and crossunder functions ensure signals fire only once when conditions transition from false to true.
Phase 7: Field Strength and Visualization Metrics
Average Amplitude :
avg_amp = (Σ osc_amps ) / N
Field Strength :
field_strength = CI × avg_amp
Collapse Risk (for dashboard):
collapse_risk = (CI - CI) / max(CI , 0.1)
collapse_risk_pct = clamp(collapse_risk × 100, 0, 100)
Quantum State Classification :
if (CI > threshold AND phase_locked):
state = "Ignition"
else if (CI > 0.6):
state = "Coherent"
else if (collapse):
state = "Collapse"
else:
state = "Chaos"
Phase 8: Visual Rendering
Orbit Plot : For each oscillator, convert polar (phase, amplitude) to Cartesian (x, y) for grid placement:
radius = amplitude × grid_center × 0.8
x = radius × cos(phase × π/180)
y = radius × sin(phase × π/180)
col = center + x (mapped to grid coordinates)
row = center - y
Heat Map : For each oscillator row and time column, retrieve historical phase value at lookback = (columns - col) × sample_rate, then map phase to color using a hue gradient.
Entanglement Web : Render matrix as table cell with background color opacity = E(i,j).
Field Cloud : Background color = (phi_dom > -90 AND phi_dom < 90) ? green : red, with opacity = mix(min_opacity, max_opacity, CI).
All visual components render only on the last bar (barstate.islast) to minimize computational overhead.
How to Use This Indicator
Step 1 : Apply QRFM to your chart. It works on all timeframes and asset classes, though 15-minute to 4-hour timeframes provide the best balance of responsiveness and noise reduction.
Step 2 : Enable the dashboard (default: top right) and the circular orbit plot (default: middle left). These are your primary visual feedback tools.
Step 3 : Optionally enable the heat map, entanglement web, and field cloud based on your preference. New users may find all visuals overwhelming; start with dashboard + orbit plot.
Step 4 : Observe for 50-100 bars to let the indicator establish baseline coherence patterns. Markets have different "normal" CI ranges—some instruments naturally run higher or lower coherence.
Understanding the Circular Orbit Plot
The orbit plot is a polar grid showing oscillator vectors in real-time:
Center point : Neutral (zero phase and amplitude)
Each vector : A line from center to a point on the grid
Vector angle : The oscillator's phase (0° = right/east, 90° = up/north, 180° = left/west, -90° = down/south)
Vector length : The oscillator's amplitude (short = weak signal, long = strong signal)
Vector label : First letter of oscillator name (R = RSI, M = MACD, etc.)
What to watch :
Convergence : When all vectors cluster in one quadrant or sector, CI is rising and coherence is forming. This is your pre-signal warning.
Scatter : When vectors point in random directions (360° spread), CI is low and the market is in a non-trending or transitional regime.
Rotation : When the cluster rotates smoothly around the circle, the ensemble is in coherent oscillation—typically seen during steady trends.
Sudden flips : When the cluster rapidly jumps from one side to the opposite (e.g., +90° to -90°), a phase reversal has occurred—often coinciding with trend reversals.
Example: If you see RSI, MACD, and Stochastic all pointing toward 45° (northeast) with long vectors, while CCI, TSI, and ROC point toward 40-50° as well, coherence is high and dominant phase is bullish. Expect an ignition signal if CI crosses threshold.
Reading Dashboard Metrics
The dashboard provides numerical confirmation of what the orbit plot shows visually:
CI : Displays as 0-100%. Above 70% = high coherence (strong regime), 40-70% = moderate, below 40% = low (poor conditions for trend entries).
Dom Phase : Angle in degrees with directional arrow. ⬆ = bullish bias, ⬇ = bearish bias, ⬌ = neutral.
Field Strength : CI weighted by amplitude. High values (> 0.6) indicate not just alignment but strong alignment.
Entangled Pairs : Count of oscillator pairs with E > threshold. Higher = more confirmation. If minimum is set to 4, you need at least 4 pairs entangled for signals.
Phase Lock : 🔒 YES (all oscillators within tolerance) or 🔓 NO (spread too wide).
State : Real-time classification:
🚀 IGNITION: CI just crossed threshold with phase-lock
⚡ COHERENT: CI is high and stable
💥 COLLAPSE: CI has dropped sharply
🌀 CHAOS: Low CI, scattered phases
Collapse Risk : 0-100% scale based on recent CI change. Above 50% warns of imminent breakdown.
Interpreting Signals
Long Ignition (Blue Triangle Below Price) :
Occurs when CI crosses above threshold (e.g., 0.80)
Dominant phase is in bullish range (-90° to +90°)
All oscillators are phase-locked (within tolerance)
Minimum entangled pairs requirement met
Interpretation : The oscillator ensemble has transitioned from disorder to coherent bullish alignment. This is a high-probability long entry point. The multi-layer confirmation (CI + phase direction + lock + entanglement) ensures this is not a single-oscillator whipsaw.
Short Ignition (Red Triangle Above Price) :
Same conditions as long, but dominant phase is in bearish range (< -90° or > +90°)
Interpretation : Coherent bearish alignment has formed. High-probability short entry.
Collapse (Circles Above and Below Price) :
CI has dropped by more than the collapse threshold (e.g., 0.55) over a 5-bar window
CI was previously above 0.6 (collapsing from coherent state)
Interpretation : Phase coherence has broken down. If you are in a position, this is an exit warning. If looking to enter, stand aside—regime is transitioning.
Phase-Time Heat Map Patterns
Enable the heat map and position it at bottom right. The rows represent individual oscillators, columns represent time bins (most recent on left).
Pattern: Horizontal Color Bands
If a row (e.g., RSI) shows consistent color across columns (say, green for several bins), that oscillator has maintained stable phase over time. If all rows show horizontal bands of similar color, the entire ensemble has been phase-locked for an extended period—this is a strong trending regime.
Pattern: Vertical Color Bands
If a column (single time bin) shows all cells with the same or very similar color, that moment in time had high coherence. These vertical bands often align with ignition signals or major price pivots.
Pattern: Rainbow Chaos
If cells are random colors (red, green, yellow mixed with no pattern), coherence is low. The ensemble is scattered. Avoid trading during these periods unless you have external confirmation.
Pattern: Color Transition
If you see a row transition from red to green (or vice versa) sharply, that oscillator has phase-flipped. If multiple rows do this simultaneously, a regime change is underway.
Entanglement Web Analysis
Enable the web matrix (default: opposite corner from heat map). It shows an N×N grid where N = number of active oscillators.
Bright Yellow/Gold Cells : High pairwise entanglement. For example, if the RSI-MACD cell is bright gold, those two oscillators are moving in phase. If the RSI-Stochastic cell is bright, they are entangled as well.
Dark Gray Cells : Low entanglement. Oscillators are decorrelated or in quadrature.
Diagonal : Always marked with "—" because an oscillator is always perfectly entangled with itself.
How to use :
Scan for clustering: If most cells are bright, coherence is high across the board. If only a few cells are bright, coherence is driven by a subset (e.g., RSI and MACD are aligned, but nothing else is—weak signal).
Identify laggards: If one row/column is entirely dark, that oscillator is the outlier. You may choose to disable it or monitor for when it joins the group (late confirmation).
Watch for web formation: During low-coherence periods, the matrix is mostly dark. As coherence builds, cells begin lighting up. A sudden "web" of connections forming visually precedes ignition signals.
Trading Workflow
Step 1: Monitor Coherence Level
Check the dashboard CI metric or observe the orbit plot. If CI is below 40% and vectors are scattered, conditions are poor for trend entries. Wait.
Step 2: Detect Coherence Building
When CI begins rising (say, from 30% to 50-60%) and you notice vectors on the orbit plot starting to cluster, coherence is forming. This is your alert phase—do not enter yet, but prepare.
Step 3: Confirm Phase Direction
Check the dominant phase angle and the orbit plot quadrant where clustering is occurring:
Clustering in right half (0° to ±90°): Bullish bias forming
Clustering in left half (±90° to 180°): Bearish bias forming
Verify the dashboard shows the corresponding directional arrow (⬆ or ⬇).
Step 4: Wait for Signal Confirmation
Do not enter based on rising CI alone. Wait for the full ignition signal:
CI crosses above threshold
Phase-lock indicator shows 🔒 YES
Entangled pairs count >= minimum
Directional triangle appears on chart
This ensures all layers have aligned.
Step 5: Execute Entry
Long : Blue triangle below price appears → enter long
Short : Red triangle above price appears → enter short
Step 6: Position Management
Initial Stop : Place stop loss based on your risk management rules (e.g., recent swing low/high, ATR-based buffer).
Monitoring :
Watch the field cloud density. If it remains opaque and colored in your direction, the regime is intact.
Check dashboard collapse risk. If it rises above 50%, prepare for exit.
Monitor the orbit plot. If vectors begin scattering or the cluster flips to the opposite side, coherence is breaking.
Exit Triggers :
Collapse signal fires (circles appear)
Dominant phase flips to opposite half-plane
CI drops below 40% (coherence lost)
Price hits your profit target or trailing stop
Step 7: Post-Exit Analysis
After exiting, observe whether a new ignition forms in the opposite direction (reversal) or if CI remains low (transition to range). Use this to decide whether to re-enter, reverse, or stand aside.
Best Practices
Use Price Structure as Context
QRFM identifies when coherence forms but does not specify where price will go. Combine ignition signals with support/resistance levels, trendlines, or chart patterns. For example:
Long ignition near a major support level after a pullback: high-probability bounce
Long ignition in the middle of a range with no structure: lower probability
Multi-Timeframe Confirmation
Open QRFM on two timeframes simultaneously:
Higher timeframe (e.g., 4-hour): Use CI level to determine regime bias. If 4H CI is above 60% and dominant phase is bullish, the market is in a bullish regime.
Lower timeframe (e.g., 15-minute): Execute entries on ignition signals that align with the higher timeframe bias.
This prevents counter-trend trades and increases win rate.
Distinguish Between Regime Types
High CI, stable dominant phase (State: Coherent) : Trending market. Ignitions are continuation signals; collapses are profit-taking or reversal warnings.
Low CI, erratic dominant phase (State: Chaos) : Ranging or choppy market. Avoid ignition signals or reduce position size. Wait for coherence to establish.
Moderate CI with frequent collapses : Whipsaw environment. Use wider stops or stand aside.
Adjust Parameters to Instrument and Timeframe
Crypto/Forex (high volatility) : Lower ignition threshold (0.65-0.75), lower CI smoothing (2-3), shorter oscillator lengths (7-10).
Stocks/Indices (moderate volatility) : Standard settings (threshold 0.75-0.85, smoothing 5-7, oscillator lengths 14).
Lower timeframes (5-15 min) : Reduce phase sample rate to 1-2 for responsiveness.
Higher timeframes (daily+) : Increase CI smoothing and oscillator lengths for noise reduction.
Use Entanglement Count as Conviction Filter
The minimum entangled pairs setting controls signal strictness:
Low (1-2) : More signals, lower quality (acceptable if you have other confirmation)
Medium (3-5) : Balanced (recommended for most traders)
High (6+) : Very strict, fewer signals, highest quality
Adjust based on your trade frequency preference and risk tolerance.
Monitor Oscillator Contribution
Use the entanglement web to see which oscillators are driving coherence. If certain oscillators are consistently dark (low E with all others), they may be adding noise. Consider disabling them. For example:
On low-volume instruments, MFI may be unreliable → disable MFI
On strongly trending instruments, mean-reversion oscillators (Stochastic, RSI) may lag → reduce weight or disable
Respect the Collapse Signal
Collapse events are early warnings. Price may continue in the original direction for several bars after collapse fires, but the underlying regime has weakened. Best practice:
If in profit: Take partial or full profit on collapse
If at breakeven/small loss: Exit immediately
If collapse occurs shortly after entry: Likely a false ignition; exit to avoid drawdown
Collapses do not guarantee immediate reversals—they signal uncertainty .
Combine with Volume Analysis
If your instrument has reliable volume:
Ignitions with expanding volume: Higher conviction
Ignitions with declining volume: Weaker, possibly false
Collapses with volume spikes: Strong reversal signal
Collapses with low volume: May just be consolidation
Volume is not built into QRFM (except via MFI), so add it as external confirmation.
Observe the Phase Spiral
The spiral provides a quick visual cue for rotation consistency:
Tight, smooth spiral : Ensemble is rotating coherently (trending)
Loose, erratic spiral : Phase is jumping around (ranging or transitional)
If the spiral tightens, coherence is building. If it loosens, coherence is dissolving.
Do Not Overtrade Low-Coherence Periods
When CI is persistently below 40% and the state is "Chaos," the market is not in a regime where phase analysis is predictive. During these times:
Reduce position size
Widen stops
Wait for coherence to return
QRFM's strength is regime detection. If there is no regime, the tool correctly signals "stand aside."
Use Alerts Strategically
Set alerts for:
Long Ignition
Short Ignition
Collapse
Phase Lock (optional)
Configure alerts to "Once per bar close" to avoid intrabar repainting and noise. When an alert fires, manually verify:
Orbit plot shows clustering
Dashboard confirms all conditions
Price structure supports the trade
Do not blindly trade alerts—use them as prompts for analysis.
Ideal Market Conditions
Best Performance
Instruments :
Liquid, actively traded markets (major forex pairs, large-cap stocks, major indices, top-tier crypto)
Instruments with clear cyclical oscillator behavior (avoid extremely illiquid or manipulated markets)
Timeframes :
15-minute to 4-hour: Optimal balance of noise reduction and responsiveness
1-hour to daily: Slower, higher-conviction signals; good for swing trading
5-minute: Acceptable for scalping if parameters are tightened and you accept more noise
Market Regimes :
Trending markets with periodic retracements (where oscillators cycle through phases predictably)
Breakout environments (coherence forms before/during breakout; collapse occurs at exhaustion)
Rotational markets with clear swings (oscillators phase-lock at turning points)
Volatility :
Moderate to high volatility (oscillators have room to move through their ranges)
Stable volatility regimes (sudden VIX spikes or flash crashes may create false collapses)
Challenging Conditions
Instruments :
Very low liquidity markets (erratic price action creates unstable oscillator phases)
Heavily news-driven instruments (fundamentals may override technical coherence)
Highly correlated instruments (oscillators may all reflect the same underlying factor, reducing independence)
Market Regimes :
Deep, prolonged consolidation (oscillators remain near neutral, CI is chronically low, few signals fire)
Extreme chop with no directional bias (oscillators whipsaw, coherence never establishes)
Gap-driven markets (large overnight gaps create phase discontinuities)
Timeframes :
Sub-5-minute charts: Noise dominates; oscillators flip rapidly; coherence is fleeting and unreliable
Weekly/monthly: Oscillators move extremely slowly; signals are rare; better suited for long-term positioning than active trading
Special Cases :
During major economic releases or earnings: Oscillators may lag price or become decorrelated as fundamentals overwhelm technicals. Reduce position size or stand aside.
In extremely low-volatility environments (e.g., holiday periods): Oscillators compress to neutral, CI may be artificially high due to lack of movement, but signals lack follow-through.
Adaptive Behavior
QRFM is designed to self-adapt to poor conditions:
When coherence is genuinely absent, CI remains low and signals do not fire
When only a subset of oscillators aligns, entangled pairs count stays below threshold and signals are filtered out
When phase-lock cannot be achieved (oscillators too scattered), the lock filter prevents signals
This means the indicator will naturally produce fewer (or zero) signals during unfavorable conditions, rather than generating false signals. This is a feature —it keeps you out of low-probability trades.
Parameter Optimization by Trading Style
Scalping (5-15 Minute Charts)
Goal : Maximum responsiveness, accept higher noise
Oscillator Lengths :
RSI: 7-10
MACD: 8/17/6
Stochastic: 8-10, smooth 2-3
CCI: 14-16
Others: 8-12
Coherence Settings :
CI Smoothing Window: 2-3 bars (fast reaction)
Phase Sample Rate: 1 (every bar)
Ignition Threshold: 0.65-0.75 (lower for more signals)
Collapse Threshold: 0.40-0.50 (earlier exit warnings)
Confirmation :
Phase Lock Tolerance: 40-50° (looser, easier to achieve)
Min Entangled Pairs: 2-3 (fewer oscillators required)
Visuals :
Orbit Plot + Dashboard only (reduce screen clutter for fast decisions)
Disable heavy visuals (heat map, web) for performance
Alerts :
Enable all ignition and collapse alerts
Set to "Once per bar close"
Day Trading (15-Minute to 1-Hour Charts)
Goal : Balance between responsiveness and reliability
Oscillator Lengths :
RSI: 14 (standard)
MACD: 12/26/9 (standard)
Stochastic: 14, smooth 3
CCI: 20
Others: 10-14
Coherence Settings :
CI Smoothing Window: 3-5 bars (balanced)
Phase Sample Rate: 2-3
Ignition Threshold: 0.75-0.85 (moderate selectivity)
Collapse Threshold: 0.50-0.55 (balanced exit timing)
Confirmation :
Phase Lock Tolerance: 30-40° (moderate tightness)
Min Entangled Pairs: 4-5 (reasonable confirmation)
Visuals :
Orbit Plot + Dashboard + Heat Map or Web (choose one)
Field Cloud for regime backdrop
Alerts :
Ignition and collapse alerts
Optional phase-lock alert for advance warning
Swing Trading (4-Hour to Daily Charts)
Goal : High-conviction signals, minimal noise, fewer trades
Oscillator Lengths :
RSI: 14-21
MACD: 12/26/9 or 19/39/9 (longer variant)
Stochastic: 14-21, smooth 3-5
CCI: 20-30
Others: 14-20
Coherence Settings :
CI Smoothing Window: 5-10 bars (very smooth)
Phase Sample Rate: 3-5
Ignition Threshold: 0.80-0.90 (high bar for entry)
Collapse Threshold: 0.55-0.65 (only significant breakdowns)
Confirmation :
Phase Lock Tolerance: 20-30° (tight clustering required)
Min Entangled Pairs: 5-7 (strong confirmation)
Visuals :
All modules enabled (you have time to analyze)
Heat Map for multi-bar pattern recognition
Web for deep confirmation analysis
Alerts :
Ignition and collapse
Review manually before entering (no rush)
Position/Long-Term Trading (Daily to Weekly Charts)
Goal : Rare, very high-conviction regime shifts
Oscillator Lengths :
RSI: 21-30
MACD: 19/39/9 or 26/52/12
Stochastic: 21, smooth 5
CCI: 30-50
Others: 20-30
Coherence Settings :
CI Smoothing Window: 10-14 bars
Phase Sample Rate: 5 (every 5th bar to reduce computation)
Ignition Threshold: 0.85-0.95 (only extreme alignment)
Collapse Threshold: 0.60-0.70 (major regime breaks only)
Confirmation :
Phase Lock Tolerance: 15-25° (very tight)
Min Entangled Pairs: 6+ (broad consensus required)
Visuals :
Dashboard + Orbit Plot for quick checks
Heat Map to study historical coherence patterns
Web to verify deep entanglement
Alerts :
Ignition only (collapses are less critical on long timeframes)
Manual review with fundamental analysis overlay
Performance Optimization (Low-End Systems)
If you experience lag or slow rendering:
Reduce Visual Load :
Orbit Grid Size: 8-10 (instead of 12+)
Heat Map Time Bins: 5-8 (instead of 10+)
Disable Web Matrix entirely if not needed
Disable Field Cloud and Phase Spiral
Reduce Calculation Frequency :
Phase Sample Rate: 5-10 (calculate every 5-10 bars)
Max History Depth: 100-200 (instead of 500+)
Disable Unused Oscillators :
If you only want RSI, MACD, and Stochastic, disable the other five. Fewer oscillators = smaller matrices, faster loops.
Simplify Dashboard :
Choose "Small" dashboard size
Reduce number of metrics displayed
These settings will not significantly degrade signal quality (signals are based on bar-close calculations, which remain accurate), but will improve chart responsiveness.
Important Disclaimers
This indicator is a technical analysis tool designed to identify periods of phase coherence across an ensemble of oscillators. It is not a standalone trading system and does not guarantee profitable trades. The Coherence Index, dominant phase, and entanglement metrics are mathematical calculations applied to historical price data—they measure past oscillator behavior and do not predict future price movements with certainty.
No Predictive Guarantee : High coherence indicates that oscillators are currently aligned, which historically has coincided with trending or directional price movement. However, past alignment does not guarantee future trends. Markets can remain coherent while prices consolidate, or lose coherence suddenly due to news, liquidity changes, or other factors not captured by oscillator mathematics.
Signal Confirmation is Probabilistic : The multi-layer confirmation system (CI threshold + dominant phase + phase-lock + entanglement) is designed to filter out low-probability setups. This increases the proportion of valid signals relative to false signals, but does not eliminate false signals entirely. Users should combine QRFM with additional analysis—support and resistance levels, volume confirmation, multi-timeframe alignment, and fundamental context—before executing trades.
Collapse Signals are Warnings, Not Reversals : A coherence collapse indicates that the oscillator ensemble has lost alignment. This often precedes trend exhaustion or reversals, but can also occur during healthy pullbacks or consolidations. Price may continue in the original direction after a collapse. Use collapses as risk management cues (tighten stops, take partial profits) rather than automatic reversal entries.
Market Regime Dependency : QRFM performs best in markets where oscillators exhibit cyclical, mean-reverting behavior and where trends are punctuated by retracements. In markets dominated by fundamental shocks, gap openings, or extreme low-liquidity conditions, oscillator coherence may be less reliable. During such periods, reduce position size or stand aside.
Risk Management is Essential : All trading involves risk of loss. Use appropriate stop losses, position sizing, and risk-per-trade limits. The indicator does not specify stop loss or take profit levels—these must be determined by the user based on their risk tolerance and account size. Never risk more than you can afford to lose.
Parameter Sensitivity : The indicator's behavior changes with input parameters. Aggressive settings (low thresholds, loose tolerances) produce more signals with lower average quality. Conservative settings (high thresholds, tight tolerances) produce fewer signals with higher average quality. Users should backtest and forward-test parameter sets on their specific instruments and timeframes before committing real capital.
No Repainting by Design : All signal conditions are evaluated on bar close using bar-close values. However, the visual components (orbit plot, heat map, dashboard) update in real-time during bar formation for monitoring purposes. For trade execution, rely on the confirmed signals (triangles and circles) that appear only after the bar closes.
Computational Load : QRFM performs extensive calculations, including nested loops for entanglement matrices and real-time table rendering. On lower-powered devices or when running multiple indicators simultaneously, users may experience lag. Use the performance optimization settings (reduce visual complexity, increase phase sample rate, disable unused oscillators) to improve responsiveness.
This system is most effective when used as one component within a broader trading methodology that includes sound risk management, multi-timeframe analysis, market context awareness, and disciplined execution. It is a tool for regime detection and signal confirmation, not a substitute for comprehensive trade planning.
Technical Notes
Calculation Timing : All signal logic (ignition, collapse) is evaluated using bar-close values. The barstate.isconfirmed or implicit bar-close behavior ensures signals do not repaint. Visual components (tables, plots) render on every tick for real-time feedback but do not affect signal generation.
Phase Wrapping : Phase angles are calculated in the range -180° to +180° using atan2. Angular distance calculations account for wrapping (e.g., the distance between +170° and -170° is 20°, not 340°). This ensures phase-lock detection works correctly across the ±180° boundary.
Array Management : The indicator uses fixed-size arrays for oscillator phases, amplitudes, and the entanglement matrix. The maximum number of oscillators is 8. If fewer oscillators are enabled, array sizes shrink accordingly (only active oscillators are processed).
Matrix Indexing : The entanglement matrix is stored as a flat array with size N×N, where N is the number of active oscillators. Index mapping: index(row, col) = row × N + col. Symmetric pairs (i,j) and (j,i) are stored identically.
Normalization Stability : Oscillators are normalized to using fixed reference levels (e.g., RSI overbought/oversold at 70/30). For unbounded oscillators (MACD, ROC, TSI), statistical normalization (division by rolling standard deviation) is used, with clamping to prevent extreme outliers from distorting phase calculations.
Smoothing and Lag : The CI smoothing window (SMA) introduces lag proportional to the window size. This is intentional—it filters out single-bar noise spikes in coherence. Users requiring faster reaction can reduce the smoothing window to 1-2 bars, at the cost of increased sensitivity to noise.
Complex Number Representation : Pine Script does not have native complex number types. Complex arithmetic is implemented using separate real and imaginary accumulators (sum_cos, sum_sin) and manual calculation of magnitude (sqrt(real² + imag²)) and argument (atan2(imag, real)).
Lookback Limits : The indicator respects Pine Script's maximum lookback constraints. Historical phase and amplitude values are accessed using the operator, with lookback limited to the chart's available bar history (max_bars_back=5000 declared).
Visual Rendering Performance : Tables (orbit plot, heat map, web, dashboard) are conditionally deleted and recreated on each update using table.delete() and table.new(). This prevents memory leaks but incurs redraw overhead. Rendering is restricted to barstate.islast (last bar) to minimize computational load—historical bars do not render visuals.
Alert Condition Triggers : alertcondition() functions evaluate on bar close when their boolean conditions transition from false to true. Alerts do not fire repeatedly while a condition remains true (e.g., CI stays above threshold for 10 bars fires only once on the initial cross).
Color Gradient Functions : The phaseColor() function maps phase angles to RGB hues using sine waves offset by 120° (red, green, blue channels). This creates a continuous spectrum where -180° to +180° spans the full color wheel. The amplitudeColor() function maps amplitude to grayscale intensity. The coherenceColor() function uses cos(phase) to map contribution to CI (positive = green, negative = red).
No External Data Requests : QRFM operates entirely on the chart's symbol and timeframe. It does not use request.security() or access external data sources. All calculations are self-contained, avoiding lookahead bias from higher-timeframe requests.
Deterministic Behavior : Given identical input parameters and price data, QRFM produces identical outputs. There are no random elements, probabilistic sampling, or time-of-day dependencies.
— Dskyz, Engineering precision. Trading coherence.
Reactive Curvature Smoother Moving Average IndicatorSummary in one paragraph
RCS MA is a reactive curvature smoother for any liquid instrument on intraday through swing timeframes. It helps you act only when context strengthens by adapting its window length with a normalized path energy score and by smoothing with robust residual weights over a quadratic fit, then optionally blending a capped one step forecast. Add it to a clean chart and watch the single colored line. Shapes can shift while a bar forms and settle on close. For conservative use, judge on bar close.
Scope and intent
• Markets: major FX pairs, index futures, large cap equities, liquid crypto
• Timeframes: one minute to daily
• Purpose: reduce lag in trends while resisting chop and outliers
• Limits: indicator only, no orders
Originality and usefulness
• Novelty: adaptive window selection by minimizing normalized path energy with directionality bias, plus Huber weighted residuals and curvature aware penalty, finished with a mintick capped forecast blend
• Failure modes addressed: whipsaws from fixed length MAs and outlier spikes that pull means
• Testable: Inputs expose all components and optional diagnostics show chosen length, directionality, and energy
• Portable yardstick: forecast cap uses mintick to stay symbol aware
Method overview in plain language
Base measures
• Range span of the tested window and a path energy defined as the sum of squared price increments, normalized by span
Components
Adaptive window chooser: scans L between Min and Max using an energy over trend score and picks the lowest score
Robust smoother: fits a quadratic to the last L bars, computes residuals, applies Huber weights and an exponential residual penalty scaled down when curvature is high
Forecast blend: projects one step ahead from the quadratic, caps displacement by a multiple of mintick, blends by user weight
Fusion rule
• Final line equals robust mean plus optional capped forecast blend
Signal rule
• Visual bias only: color turns lime when close is above the line, red otherwise
What you will see on the chart
• One colored line that tightens in trends and relaxes in chop
• Optional debug overlays for core value, chosen L, directionality, and energy
• Optional last bar label with L, directionality, and energy
• Reminder: drawings can move intrabar and settle on close
Inputs with guidance
Setup
• Source: price series to smooth
Logic
• Min window l_min. Typical 5 to 21. Higher increases stability, adds lag
• Max window l_max. Typical 40 to 128. Higher reduces noise, adds lag ceiling
• Length step grid_step. Typical 1 to 8. Smaller is finer and heavier
• Trend bias trend_bias. Typical 0.50 to 0.80. Higher favors trend persistence
• Residual penalty lambda_base. Typical 0.8 to 2.0. Higher downweights large residuals more
• Huber threshold huber_k. Typical 1.5 to 3.0. Higher admits more outliers
• Curvature guard curv_guard. Typical 0.3 to 1.0. Higher reduces influence when curve is tight
• Forecast blend lead_blend. 0 disables. Typical 0.10 to 0.40
• Forecast cap lead_limit. Typical 1 to 5 minticks
• Show chosen L and metrics show_debug. Diagnostics toggle
Optional: enable diagnostics to see length, direction, and energy
Realism and responsible publication
• No performance claims. Past results never guarantee future outcomes
• Shapes can move while bars are open and settle on close
• Use on standard candles for analysis and combine with your own risk process
Honest limitations and failure modes
• Very quiet regimes can reduce energy contrast, length selection may hover near the bounds
• Gap heavy symbols can disrupt quadratic fit on the window edges
• Excessive forecast blend may look anticipatory; use low values and the cap
Pullback Finder AutoPullback Finder Auto — Intraday Momentum Cooling Detector
Pullback Finder Auto is designed to find stocks that have made a strong intraday run from the open and are now cooling off while still positive — the classic pullback zone where continuation entries often form.
It automatically measures the percentage change from today’s open and highlights bars where:
the stock has already run at least a chosen amount (for example +10 % above its open), and
the current price is still up but within a defined pullback range (for example between +3 % and +8 % above the open).
When those two conditions are met, you’ll see green graphics on your chart:
Green triangle markers under the candle.
Optionally, small green PB labels such as “PB 5.2 %” showing the exact percentage from open when the setup occurs.
A green highlight in the sub‑window or line plot if you left the “Change from Open %” plot active.
These are your visual cues that a pullback has formed — a stock that previously ran and is now pulling back while holding strength.
How it works
The script continuously monitors:
• High % from Open = (high − open) / open × 100
• Current % from Open = (close − open) / open × 100
A “Pullback” condition triggers only if:
the high % is greater than or equal to your minimum run threshold, and
the current % sits between your minimum and maximum pullback percentages.
When both are true, the indicator plots the green triangle and optional label.
Default parameters
Min Run % = 10
Min Current % = 3
Max Current % = 8
Session Start = 09:30 – 16:00 US Eastern
All can be changed to fit different volatility levels.
Lower values catch smaller moves; higher values restrict signals to explosive runners.
Using it in real time
During live trading, Pullback Finder Auto updates with each candle.
When a bar first enters the target zone, a green triangle and PB label will appear immediately under that candle.
These are dynamic: if price moves out of the valid zone on the same bar, the marker may disappear.
You can create an alert on “Pullback Finder Auto – Pullback Candidate” to be notified whenever new triangles appear across your active symbols.
This works on any timeframe:
use shorter timeframes such as 1‑minute or 5‑minute charts for fast, intraday detection,
use longer timeframes for a broader view of the day’s market structure.
Using it on past data (scanning backwards)
When you scroll back through history, past green triangles remain visible at every bar where the condition was true at that time.
The PB labels next to those candles show exactly how far above the open the stock was trading during the historical setup.
Use this for visual back‑testing: study how price reacted after these pullback points, adjust the thresholds, and refine your criteria for different markets.
The grey or teal line under the chart (if enabled) shows the percent‑from‑open curve so you can see the full run‑and‑cool pattern leading into each triangle signal.
If you convert the indicator into a strategy, the same condition becomes historical entry points you can test with the Strategy Tester.
Summary
1. Pullback Finder Auto paints green triangles and PB labels whenever an intraday pullback fits your criteria.
2. It runs dynamically in real‑time and also preserves markers for historical review.
3. Adjust the thresholds to match volatility or timeframe.
4. Ideal for visual scanning, watchlist alerts, or integration into a lightweight screening strategy.
MESA Adaptive Ehlers Flow | AlphaNattMESA Adaptive Ehlers Flow | AlphaNatt
An advanced adaptive indicator based on John Ehlers' MESA (Maximum Entropy Spectrum Analysis) algorithm that automatically adjusts to market cycles in real-time, providing superior trend identification with minimal lag across all market conditions.
🎯 What Makes This Indicator Revolutionary?
Unlike traditional moving averages with fixed parameters, this indicator uses Hilbert Transform mathematics to detect the dominant market cycle and adapts its responsiveness accordingly:
Automatically detects market cycles using advanced signal processing
MAMA (MESA Adaptive Moving Average) adapts from fast to slow based on cycle phase
FAMA (Following Adaptive Moving Average) provides confirmation signals
Dynamic volatility bands that expand and contract with cycle detection
Zero manual optimization required - the indicator tunes itself
📊 Core Components
1. MESA Adaptive Moving Average (MAMA)
The MAMA is the crown jewel of adaptive indicators. It uses the Hilbert Transform to measure the market's dominant cycle and adjusts its smoothing factor in real-time:
During trending phases: Responds quickly to capture moves
During choppy phases: Smooths heavily to filter noise
Transition is automatic and seamless based on price action
Parameters:
Fast Limit: Maximum responsiveness (default: 0.5) - how fast the indicator can adapt
Slow Limit: Minimum responsiveness (default: 0.05) - maximum smoothing during consolidation
2. Following Adaptive Moving Average (FAMA)
The FAMA is a slower version of MAMA that follows the primary signal. The relationship between MAMA and FAMA provides powerful trend confirmation:
MAMA > FAMA: Bullish trend in progress
MAMA < FAMA: Bearish trend in progress
Crossovers signal potential trend changes
3. Hilbert Transform Cycle Detection
The indicator employs sophisticated DSP (Digital Signal Processing) techniques:
Detects the dominant cycle period (1.5 to 50 bars)
Measures phase relationships in the price data
Calculates adaptive alpha values based on cycle dynamics
Continuously updates as market character changes
⚡ Key Features
Adaptive Alpha Calculation
The indicator's "intelligence" comes from its adaptive alpha:
Alpha dynamically adjusts between Fast Limit and Slow Limit based on the rate of phase change in the market cycle. Rapid phase changes trigger faster adaptation, while stable cycles maintain smoother response.
Dynamic Volatility Bands
Unlike static bands, these adapt to both ATR volatility AND the current cycle state:
Bands widen when the indicator detects fast adaptation (trending)
Bands narrow during slow adaptation (consolidation)
Band Multiplier controls overall width (default: 1.5)
Provides context-aware support and resistance
Intelligent Color Coding
Cyan: Bullish regime (MAMA > FAMA and price > MAMA)
Magenta: Bearish regime (MAMA < FAMA and price < MAMA)
Gray: Neutral/transitional state
📈 Trading Strategies
Trend Following Strategy
The MESA indicator excels at identifying and riding strong trends while automatically reducing sensitivity during choppy periods.
Entry Signals:
Long: MAMA crosses above FAMA with price closing above MAMA
Short: MAMA crosses below FAMA with price closing below MAMA
Exit/Management:
Exit longs when MAMA crosses below FAMA
Exit shorts when MAMA crosses above FAMA
Use dynamic bands as trailing stop references
Mean Reversion Strategy
When price extends beyond the dynamic bands during established trends, look for bounces back toward the MAMA line.
Setup Conditions:
Strong trend confirmed by MAMA/FAMA alignment
Price touches or exceeds outer band
Enter on first sign of reversal toward MAMA
Target: Return to MAMA line or opposite band
Cycle-Based Swing Trading
The indicator's cycle detection makes it ideal for swing trading:
Enter on MAMA/FAMA crossovers
Hold through the detected cycle period
Exit on counter-crossover or band extremes
Works exceptionally well on 4H to Daily timeframes
🔬 Technical Background
The Hilbert Transform
The Hilbert Transform is a mathematical operation used in signal processing to extract instantaneous phase and frequency information from a signal. In trading applications:
Separates trend from cycle components
Identifies the dominant market cycle without curve-fitting
Provides leading indicators of trend changes
MESA Algorithm Components
Smoothing: 4-bar weighted moving average for noise reduction
Detrending: Removes linear price trend to isolate cycles
InPhase & Quadrature: Orthogonal components for phase measurement
Homodyne Discriminator: Calculates instantaneous period
Adaptive Alpha: Converts period to smoothing factor
MAMA/FAMA: Final adaptive moving averages
⚙️ Optimization Guide
Fast Limit (0.1 - 0.9)
Higher values (0.5-0.9): More responsive, better for volatile markets and lower timeframes
Lower values (0.1-0.3): Smoother response, better for stable markets and higher timeframes
Default 0.5: Balanced for most applications
Slow Limit (0.01 - 0.1)
Higher values (0.05-0.1): Less smoothing during consolidation, more signals
Lower values (0.01-0.03): Heavy smoothing during chop, fewer but cleaner signals
Default 0.05: Good noise filtering while maintaining responsiveness
Band Multiplier (0.5 - 3.0)
Adjust based on instrument volatility
Backtest to find optimal value for your specific market
1.5 works well for most forex and equity indices
Consider higher values (2.0-2.5) for cryptocurrencies
🎨 Visual Interpretation
The gradient visualization shows probability zones around the MESA line:
MESA line: The adaptive trend center
Band expansion: Indicates strong cycle detection and trending
Band contraction: Indicates consolidation or ranging market
Color intensity: Shows confidence in trend direction
💡 Best Practices
Let it adapt: Give the indicator 50+ bars to properly calibrate to the market
Combine timeframes: Use higher timeframe MESA for trend bias, lower for entries
Respect the bands: Price rarely stays outside bands for extended periods
Watch for compression: Narrow bands often precede explosive moves
Volume confirmation: Combine with volume for higher probability setups
📊 Optimal Timeframes
15m - 1H: Day trading with Fast Limit 0.6-0.8
4H - Daily: Swing trading with Fast Limit 0.4-0.6 (recommended)
Weekly: Position trading with Fast Limit 0.2-0.4
⚠️ Important Considerations
The indicator needs time to "learn" the market - avoid trading the first 50 bars after applying
Extreme gap events can temporarily disrupt cycle calculations
Works best in markets with detectable cyclical behavior
Less effective during news events or extreme volatility spikes
Consider the detected cycle period for position holding times
🔍 What Makes MESA Superior?
Compared to traditional indicators:
vs. Fixed MAs: Automatically adjusts to market conditions instead of using one-size-fits-all parameters
vs. Other Adaptive MAs: Uses true DSP mathematics rather than simple volatility adjustments
vs. Manual Optimization: Continuously re-optimizes itself in real-time
vs. Lagging Indicators: Hilbert Transform provides earlier trend change detection
🎓 Understanding Adaptation
The magic of MESA is that it solves the eternal dilemma of technical analysis: be fast and get whipsawed in chop, or be smooth and miss the early move. MESA does both by detecting when to be fast and when to be smooth.
Adaptation in Action:
Strong trend starts → MESA quickly detects phase change → Fast Limit kicks in → Early entry
Trend continues → Phase stabilizes → MESA maintains moderate speed → Smooth ride
Consolidation begins → Phase changes slow → Slow Limit engages → Whipsaw avoidance
🚀 Advanced Applications
Multi-timeframe confluence: Use MESA on 3 timeframes for high-probability setups
Divergence detection: Watch for MAMA/price divergences at band extremes
Cycle period analysis: The internal period calculation can guide position duration
Band squeeze trading: Narrow bands + MAMA/FAMA cross = high-probability breakout
Created by AlphaNatt - Based on John Ehlers' MESA research. For educational purposes. Always practice proper risk management. Not financial advice. Always DYOR.
Arnaud Legoux Gaussian Flow | AlphaNattArnaud Legoux Gaussian Flow | AlphaNatt
A sophisticated trend-following and mean-reversion indicator that combines the power of the Arnaud Legoux Moving Average (ALMA) with advanced Gaussian distribution analysis to identify high-probability trading opportunities.
🎯 What Makes This Indicator Unique?
This indicator goes beyond traditional moving averages by incorporating Gaussian mathematics at multiple levels:
ALMA uses Gaussian distribution for superior price smoothing with minimal lag
Dynamic envelopes based on Gaussian probability zones
Multi-layer gradient visualization showing probability density
Adaptive envelope modes that respond to market conditions
📊 Core Components
1. Arnaud Legoux Moving Average (ALMA)
The ALMA is a highly responsive moving average that uses Gaussian distribution to weight price data. Unlike simple moving averages, ALMA can be fine-tuned to balance responsiveness and smoothness through three key parameters:
ALMA Period: Controls the lookback window (default: 21)
Gaussian Offset: Shifts the Gaussian curve to adjust lag vs. responsiveness (default: 0.85)
Gaussian Sigma: Controls the width of the Gaussian distribution (default: 6.0)
2. Gaussian Envelope System
The indicator features three envelope calculation modes:
Fixed Mode: Uses ATR-based fixed width for consistent envelope sizing
Adaptive Mode: Dynamically adjusts based on price acceleration and volatility
Hybrid Mode: Combines ATR and standard deviation for balanced adaptation
The envelopes represent statistical probability zones. Price moving beyond these zones suggests potential mean reversion opportunities.
3. Momentum-Adjusted Envelopes
The envelope width automatically expands during strong trends and contracts during consolidation, providing context-aware support and resistance levels.
⚡ Key Features
Multi-Layer Gradient Visualization
The indicator displays 10 gradient layers between the ALMA and envelope boundaries, creating a visual "heat map" of probability density. This helps traders quickly assess:
Distance from the mean
Potential support/resistance strength
Overbought/oversold conditions in context
Dynamic Color Coding
Cyan gradient: Price below ALMA (bullish zone)
Magenta gradient: Price above ALMA (bearish zone)
The ALMA line itself changes color based on price position
Trend Regime Detection
The indicator automatically identifies market regimes:
Strong Uptrend: Trend strength > 0.5% with price above ALMA
Strong Downtrend: Trend strength < -0.5% with price below ALMA
Weak trends and ranging conditions
📈 Trading Strategies
Mean Reversion Strategy
Look for price entering the extreme Gaussian zones (beyond 95% of envelope width) when trend strength is moderate. These represent statistical extremes where mean reversion is probable.
Signals:
Long: Price in lower Gaussian zone with trend strength > -0.5%
Short: Price in upper Gaussian zone with trend strength < 0.5%
Trend Continuation Strategy
Enter when price crosses the ALMA during confirmed strong trend conditions, riding momentum while using the envelope as a trailing stop reference.
Signals:
Long: Price crosses above ALMA during strong uptrend
Short: Price crosses below ALMA during strong downtrend
🎨 Visualization Guide
The gradient layers create a "probability cloud" around the ALMA:
Darker shades (near ALMA): High probability zone - price tends to stay here
Lighter shades (near envelope edges): Lower probability - potential reversal zones
Price at envelope extremes: Statistical outliers - strongest mean reversion setups
⚙️ Customization Options
ALMA Parameters
Adjust period for different timeframes (lower for day trading, higher for swing trading)
Modify offset to tune responsiveness vs. smoothness
Change sigma to control distribution width
Envelope Configuration
Choose envelope mode based on market characteristics
Adjust multiplier to match instrument volatility
Modify gradient depth for visual preference (5-15 layers)
Signal Enhancement
Momentum Length: Lookback for trend strength calculation
Signal Smoothing: Additional EMA smoothing to reduce noise
🔔 Built-in Alerts
The indicator includes six pre-configured alert conditions:
ALMA Trend Long - Price crosses above ALMA in strong uptrend
ALMA Trend Short - Price crosses below ALMA in strong downtrend
Mean Reversion Long - Price enters lower Gaussian zone
Mean Reversion Short - Price enters upper Gaussian zone
Strong Uptrend Detected - Momentum confirms strong bullish regime
Strong Downtrend Detected - Momentum confirms strong bearish regime
💡 Best Practices
Use on clean, liquid markets with consistent volatility
Combine with volume analysis for confirmation
Adjust envelope multiplier based on backtesting for your specific instrument
Higher timeframes (4H+) generally provide more reliable signals
Use adaptive mode for trending markets, hybrid for mixed conditions
⚠️ Important Notes
This indicator works best in markets with normal price distribution
Extreme news events can invalidate Gaussian assumptions temporarily
Always use proper risk management - no indicator is perfect
Backtest parameters on your specific instrument and timeframe
🔬 Technical Background
The Arnaud Legoux Moving Average was developed to solve the classic dilemma of moving averages: the trade-off between lag and noise. By applying Gaussian distribution weighting, ALMA achieves superior smoothing while maintaining responsiveness to price changes.
The envelope system extends this concept by creating probability zones based on volatility and momentum, effectively mapping where price is "likely" vs "unlikely" to be found based on statistical principles.
Created by AlphaNatt - For educational purposes. Always practice proper risk management. Not financial advice. Always DYOR.
Smooth Theil-SenI wanted to build a Theil-Sen estimator that could run on more than one bar and produce smoother output than the standard implementation. Theil-Sen regression is a non-parametric method that calculates the median slope between all pairs of points in your dataset, which makes it extremely robust to outliers. The problem is that median operations produce discrete jumps, especially when you're working with limited sample sizes. Every time the median shifts from one value to another, you get a step change in your regression line, which creates visual choppiness that can be distracting even though the underlying calculations are sound.
The solution I ended up going with was convolving a Gaussian kernel around the center of the sorted lists to get a more continuous median estimate. Instead of just picking the middle value or averaging the two middle values when you have an even sample size, the Gaussian kernel weights the values near the center more heavily and smoothly tapers off as you move away from the median position. This creates a weighted average that behaves like a median in terms of robustness but produces much smoother transitions as new data points arrive and the sorted list shifts.
There are variance tradeoffs with this approach since you're no longer using the pure median, but they're minimal in practice. The kernel weighting stays concentrated enough around the center that you retain most of the outlier resistance that makes Theil-Sen useful in the first place. What you gain is a regression line that updates smoothly instead of jumping discretely, which makes it easier to spot genuine trend changes versus just the statistical noise of median recalculation. The smoothness is particularly noticeable when you're running the estimator over longer lookback periods where the sorted list is large enough that small kernel adjustments have less impact on the overall center of mass.
The Gaussian kernel itself is a bell curve centered on the median position, with a standard deviation you can tune to control how much smoothing you want. Tighter kernels stay closer to the pure median behavior and give you more discrete steps. Wider kernels spread the weighting further from the center and produce smoother output at the cost of slightly reduced outlier resistance. The default settings strike a balance that keeps the estimator robust while removing most of the visual jitter.
Running Theil-Sen on multiple bars means calculating slopes between all pairs of points across your lookback window, sorting those slopes, and then applying the Gaussian kernel to find the weighted center of that sorted distribution. This is computationally more expensive than simple moving averages or even standard linear regression, but Pine Script handles it well enough for reasonable lookback lengths. The benefit is that you get a trend estimate that doesn't get thrown off by individual spikes or anomalies in your price data, which is valuable when working with noisy instruments or during volatile periods where traditional regression lines can swing wildly.
The implementation maintains sorted arrays for both the slope calculations and the final kernel weighting, which keeps everything organized and makes the Gaussian convolution straightforward. The kernel weights are precalculated based on the distance from the center position, then applied as multipliers to the sorted slope values before summing to get the final smoothed median slope. That slope gets combined with an intercept calculation to produce the regression line values you see plotted on the chart.
What this really demonstrates is that you can take classical statistical methods like Theil-Sen and adapt them with signal processing techniques like kernel convolution to get behavior that's more suited to real-time visualization. The pure mathematical definition of a median is discrete by nature, but financial charts benefit from smooth, continuous lines that make it easier to track changes over time. By introducing the Gaussian kernel weighting, you preserve the core robustness of the median-based approach while gaining the visual smoothness of methods that use weighted averages. Whether that smoothness is worth the minor variance tradeoff depends on your use case, but for most charting applications, the improved readability makes it a good compromise.






















