Low Volatility Profiles [BigBeluga]🔵 OVERVIEW
Low Volatility Profiles is a market compression and breakout-anticipation tool that identifies phases of low volatility using ADX and then builds a real-time volume profile inside the detected range.
This helps traders spot accumulation/distribution zones and prepare for explosive moves when volatility expands.
When volatility is low ➜ price coils ➜ volume organizes ➜ breakouts become highly actionable.
This tool visualizes that process with dynamic range boxes + volume bins + PoC extension.
🔵 CONCEPTS
Low-Volatility Detection — Uses ADX threshold & cross logic to define volatility contraction regimes.
Range Construction — Draws a price box that expands with highs/lows during the compression phase.
Micro Volume Profile — Builds a volume histogram inside the range using bins (micro volume nodes).
Delta Calculation — Tracks positive vs negative volume to gauge buyer/seller pressure within range.
Point of Control (PoC) — Highlights the price level with max traded volume inside the range.
PoC Extension — Optionally extends PoC into future bars to show potential reaction zone after breakout.
Breakout Validation — Ends the profile zone when price breaks above or below the modeled range.
Noise Removal — Automatically removes invalid or small ranges to prevent chart clutter.
This tool turns consolidation into actionable structure by exposing where smart money accumulates before trending moves.
🔵 FEATURES
ADX-Driven Range Detection — Identify when market transitions into low-volatility compression.
Configurable ADX Threshold — Set sensitivity for contraction zones.
Cross-Type Option — Detect low volatility via cross under / crossover logic.
Dynamic Range Box — Expands live with price as contraction unfolds.
Micro Volume Profile (Bins) — Distributes volume across bins inside range for micro POC mapping.
Volume Delta Visualization — Shows imbalance inside consolidation (accumulation vs distribution).
Real-Time PoC Highlight — Instantly shows most traded price inside the compression.
PoC Extension Mode — Extend PoC forward to project reaction levels post-breakout.
Clean Auto-Reset Logic — Removes boxes if range invalid or breakout occurs too fast.
Optional Filled Boxes — Heatmap-style profile visualization inside range body.
ADX Line + Threshold Plot — Visual assistance for volatility state monitoring.
🔵 HOW TO USE
Identify Accumulation Zones — When price enters low-volatility ADX condition and profile builds.
Watch the PoC — PoC acts as battle zone; move above/below can signal initiator strength.
Breakout Strategy — Trade break above/below the range after compression.
Mean Reversion Inside Range — Fade edges while price remains inside compression box.
Combine With Trend Tools — Use trend confirmation (MA/EMA/Flow indicators) after breakout.
Use Delta Clues — Positive delta tilt suggests accumulation; negative suggests distribution.
Monitor Range Size — Longer build + high PoC volume = stronger potential breakout energy.
🔵 CONCLUSION
Low Volatility Profiles isolates accumulation phases and maps volume concentration before volatility expansion.
By combining ADX compression, micro volume distribution, and PoC tracing, traders gain an edge in anticipating powerful breakout cycles and institutional positioning.
Trade the quiet moment before the storm — where smart money prepares the move, and the real opportunity emerges.
Göstergeler ve stratejiler
SoopAlgo — Premium Buy & Sell Targets (v6)SoopAlgo — Premium Targets (v6)
Description / Usage:
SoopAlgo — Premium Targets is a powerful trading tool designed to provide clear and actionable buy and sell signals directly on your chart. It highlights optimal entry points with distinct labels and automatically plots target levels, helping traders plan exits with precision.
Advantages:
Clear Visual Signals: Buy and sell opportunities are displayed prominently, reducing confusion and improving decision-making speed.
Integrated Target Levels: Automatic target lines allow traders to set realistic profit expectations without manual calculations.
Customizable Alerts: Receive alerts when signals occur, ensuring you never miss a trade opportunity.
Clean, Modern Display: Minimal clutter with intuitive color-coding (Buy in blue, Sell in purple) for easy chart readability.
Flexible Settings: Easily adjust target distances, label sizes, and indicator sensitivity to fit different trading styles.
Ideal For:
Traders who want a streamlined, easy-to-read tool for spotting market entries and exits with visual targets and alerts, while keeping the chart clean and focused.
Low Volatility Breakout + TP/SL Levels█ OVERVIEW
"Low Volatility Breakout + TP/SL Levels" is a breakout indicator designed to detect and trade breakouts from periods of low volatility (consolidation). Unlike classic strategies based on fixed support/resistance levels, this indicator dynamically identifies consolidations characterized by small candle bodies and only generates a signal when the breakout occurs with a large, decisive candle. It also automatically plots 3 Take Profit levels and a Stop Loss (with two calculation modes), making it a complete breakout trading tool.
█ CONCEPTS
The strongest market moves most often start after a prolonged period of very low volatility — when candles become small and the market "falls asleep". The indicator first detects such consolidations (small bodies for at least X bars), draws a box around them, and then waits for a breakout with a candle significantly larger than the average. Additional filters (e.g., the box height cannot exceed the average candle body by too much) eliminate false consolidations and volatility traps. Immediately after the breakout, TP1, TP2, TP3, and SL levels are plotted.
█ FEATURES
Dynamic detection of low-volatility consolidations
- candles with small bodies (< average body × consolidationMultiplier)
- minimum number of bars in consolidation: confirmBars (default 5)
Automatic drawing of consolidation boxes
- green (bullish) or red (bearish) with transparent background (85)
- adjustable border thickness (border_width 1–5)
- box height filter (boxHeightMultiplier, default 6.0 × average body) – removes overly stretched/false consolidations
Breakout conditions
- current candle must be larger than average body × threshold (default 1.5)
- must be the largest candle in the entire consolidation
- must close above the highest high (long) or below the lowest low (short)
Breakout signals
- small green triangles below the bar (long)
- small red triangles above the bar (short)
Automatic Take Profit and Stop Loss levels (drawn 5 bars forward)
- two calculation modes:
• Candle Multiplier – based on average true range (high-low) over tp_sl_length period
• Percentage – fixed percentage from breakout close price (percentages must be manually adjusted to the asset and timeframe)
- 3 TP levels (default 2×, 3×, 4× or 2%, 3%, 4%)
- 1 SL level (default 2× or 1.5%)
Live TP/SL price table (top-right corner)
- displays exact current values of SL, TP1, TP2, TP3 immediately after each new signal
- colors identical to drawn lines (red background for SL, green for TP levels)
- updates automatically with every new breakout
Built-in alerts
- “Bullish Breakout Alert” and “Bearish Breakout Alert”
█ HOW TO USE
Add the indicator to your TradingView chart → Indicators → search “Low Volatility Breakout + TP/SL Levels”.
After each valid breakout you will immediately see:
- the colored box
- signal triangle
- horizontal TP/SL lines
- updated table in the top-right corner showing precise price levels for the current trade
Key settings to adjust:
Consolidation Settings
- Volatility Window (length) – period for average body calculation (default 20)
- Consolidation Multiplier – how small bodies must be to count as consolidation (default 2.0)
- Breakout Multiplier – minimum size of breakout candle (default 1.5)
- Box Height Multiplier – maximum allowed box height (default 6.0)
- Min Consolidation Bars – minimum bars required (default 5)
Risk Management Settings
- Choose TP/SL mode: Candle Multiplier or Percentage
- Adjust TP1–3 and SL multipliers/percentages to match your risk management style
Signal interpretation:
- Green triangle below bar + green box + green TP levels in table = long signal
- Red triangle above bar + red box + red SL level in table = short signal
- Boxes remain on chart until broken — they highlight accumulation/distribution zones
█ APPLICATIONS
- Trading breakouts from consolidation on all markets and timeframes
- Recommended to trade in the direction of the higher-timeframe trend or with additional confirmations (e.g., key level breaks). Aggressive mode (trading both directions) is also possible — provided box and TP/SL settings are properly optimized
- Experiment with different TP/SL ratios — higher reward-to-risk setups (e.g., SL 1×, TP3 6–8×) with lower win rate are often more profitable in the long run
- Strongly encourage testing various box parameters (consolidationMultiplier, boxHeightMultiplier, confirmBars) — small changes can dramatically affect signal frequency and quality
█ NOTES
Always test and optimize parameters for the specific instrument and timeframe.
Hyper Squeeze Sniper (Dual Side: Long + Short)Hyper Squeeze Sniper (Dual Side Strategy)
This script is a comprehensive Volatility Breakout System designed to identify and trade explosive price moves following periods of consolidation. It combines the classical "Squeeze" theory with Linear Regression Momentum, Volume Analysis, and an ATR-based Trailing Stop to filter false signals and manage risk effectively.
The script operates on a logic of "Compression -> Explosion -> Trend Following" suitable for both Long and Short positions.
🛠 Detailed Methodology (How it works)
1. The Squeeze Detection (Consolidation) The core concept relies on the relationship between Bollinger Bands (BB) and Keltner Channels (KC).
Condition: When the Bollinger Bands (Standard Deviation) contract and fall inside the Keltner Channels (ATR based), it indicates a period of extremely low volatility (The Squeeze).
Visual: The background turns Gray to indicate "Do Not Trade / Wait Mode".
2. Momentum Confirmation (Linear Regression) Instead of using standard lagging indicators, this script utilizes Linear Regression of the price deviation to determine the direction of the breakout.
If the Linear Regression Slope > 0, the bias is Bullish.
If the Linear Regression Slope < 0, the bias is Bearish.
3. Volume Validation To avoid fake breakouts, a Volume Spike filter is applied. A signal is only valid if the current volume exceeds its moving average by a defined multiplier (Default x1.2).
4. Risk Management: ATR Trailing Stop Once a trade is entered, the script calculates a dynamic Trailing Stop based on the Average True Range (ATR).
- Long: The stop line trails below the price and never moves down.
- Short: The stop line trails above the price and never moves up.
- Exit: The position is closed immediately when the price breaches this volatility-based safety line.
How to Use
1. Wait: Look for the Gray Background. This is the accumulation phase.
2. Entry:
LONG: Wait for a Green Triangle ▲ (Price breaks Upper BB + Vol Spike + Bullish Momentum).
SHORT: Wait for a Red Triangle ▼ (Price breaks Lower BB + Vol Spike + Bearish Momentum).
3. Exit: Close the position when the "X" mark appears or when candles cross the trailing safety line.
Settings
- BB Length/Mult: Adjust the sensitivity of the squeeze detection.
- Vol Spike Factor: Increase this to filter out low-volume breakouts.
- ATR Period/Mult: Adjust the trailing stop distance (Higher = Wider stop for swing trading).
[ICT] [SMC] True Market Structure [TDT]Introduction
The True Market Structure indicator is designed to help Smart Money Concepts (SMC) and ICT traders visualize the "True" mechanical structure of the market. Unlike standard ZigZag indicators that often repaint or react to minor noise, this script utilizes a strict Fractal Swing algorithm to identify valid Highs and Lows.
It automatically maps out the market trend by distinguishing between BOS (Break of Structure) for trend continuation and CHoCH (Change of Character) for trend reversals, while highlighting the "Protected" or "Strong" structural points.
How It Works
The indicator relies on a generic fractal calculation (Swing High/Low) determined by the user-defined length.
Trend Identification: The script tracks a state machine (Bullish/Bearish).
Weak Structure (Target): In a bullish trend, the recent High is the "Weak High" (the target to break).
Strong Structure (Protected): The Low responsible for breaking the High becomes the "Strong Low."
BOS vs. CHoCH:
BOS: When price breaks a Weak High (in an uptrend), it confirms continuation.
CHoCH: When price breaks a Strong Low (in an uptrend), it signals a potential reversal.
Key Features
True Fractal Detection: Uses a centered lookback period (Input: Swing Fractal Length) to find significant pivot points.
Confirmation Modes: Choose between candle Close (more conservative, filters wicks) or High/Low (more aggressive) for structure breaks.
Structure Mapping:
Solid Lines: Represent BOS (Trend Continuation).
Dashed Lines: Represent CHoCH (Trend Reversal).
Origin Dots (Protected Levels):
These dots mark the exact swing point that caused the break.
Usage: In an uptrend, the dot marks the Strong Low. If price closes below this dot, the trend flips.
Settings Guide
Swing Fractal Length: The lookback period to define a Swing High/Low.
Default: 3 (Standard ICT Intermediate Term High/Low).
Increase this number to see higher timeframe structure (e.g., set to 10-20 for major swings).
Break Confirmation:
Close: Price body must close beyond the structure level to confirm a break.
High/Low: A wick breaking the level is sufficient.
Visuals: Toggle lines and dots on/off and customize colors to fit your chart theme.
How to Use (Trading Strategy)
Trend Following: Wait for a BOS (Solid Line). Identify the Origin Dot created by that move. This is your "Protected Low/High." Look for entries (FVG/Order Blocks) between the current price and that Dot.
Reversal Trading: Watch for a CHoCH (Dashed Line). This indicates the "Strong Structure" has failed, and the bias has shifted.
Stop Placement: The Origin Dots serve as excellent invalidation points for Stop Losses.
Disclaimer
This tool is for educational purposes and market analysis only. It does not provide financial advice or guarantee future results. Always manage your risk.
Multi Condition Stock Screener & Alert SystemMulti Condition Stock Screener & Strategy Builder
This script is a comprehensive Stock Screener and Strategy Builder designed to scan predefined groups of stocks (specifically focused on BIST/Istanbul Stock Exchange symbols) or a custom list of symbols based on user-defined technical conditions.
It allows users to combine multiple technical indicators to create complex entry or exit conditions without writing code. The script iterates through a list of symbols and triggers alerts when the conditions are met.
Key Features
• Custom Strategy Building: Users can define up to 6 separate conditions. • Logical Operators: Conditions can be linked using logical operators (AND / OR) to create flexible strategies. • Predefined Groups: Includes 14 groups of stocks (covering BIST symbols) for quick scanning. • Custom Scanner: Users can select the "SPECIAL" group to manually input up to 40 custom symbols to scan. • Directional Scanning: Capable of scanning for both Buy/Long and Sell/Short signals. • Alert Integration: Generates JSON-formatted alert messages suitable for webhook integrations (e.g., sending notifications to Telegram bots).
Supported Indicators for Conditions
The script utilizes built-in ta.* functions to calculate the following indicators:
• MA (Moving Average): Supports EMA, SMA, RMA, and WMA. • RSI (Relative Strength Index) • CCI (Commodity Channel Index) • ATR (Average True Range) • BBW (Bollinger Bands Width) • ADX (Average Directional Index) • MFI (Money Flow Index) • MOM (Momentum)
How it Works
The script uses request.security() to fetch data for the selected group of symbols based on the current timeframe. It evaluates the user-defined logic (Condition 1 to 6) for each symbol.
• Comparison Logic: You can compare an indicator against a value (e.g., RSI > 50 ) or against another indicator (e.g., MA1 CrossOver MA2 ). • Signal Generation: If the logical result is TRUE based on the "AND/OR" settings, a visual label is plotted on the chart, and an alert condition is triggered.
Alert Configuration
The script produces a JSON output containing the Ticker, Signal Type, Period, and Price. This is optimized for users who want to parse alerts programmatically or send them to external messaging apps via webhooks.
Disclaimer This tool is for informational purposes only and does not constitute financial advice. Since it uses request.security across multiple symbols, please allow time for the script to load data on the chart.
ATR Trailing Stop (Long or Short Selectable)The ATR Trailing Stop (Long or Short Selectable) will start calculating on a set date that you specify. This is great because you want to trail the price from the breakout day or even after exceeding specific price level (can be your breakeven level or even to capture more of the upside after the price target is met).
Entry price: If you act at the close of the day, you can leave this value as 0 and it will take the close of the day for the initial protective stop-loss calculation. You can choose to add a value such as the pattern boundary and in that case it will subtract the initial protective stop-loss from the pattern boundary and not the close of the day. If you use a scaling in tactic during the day (buying in tranches intraday as the breakout takes place) and your average purchase price is different than the close of the day, you can also plug that number in to calculate the initial protective stop-loss.
This is a modified version as many followers asked for ATR trailing for short setups. Now you can select the Long/Short trade setup from the drop down menu.
ATR period: You can select the ATR period. It can be 10 day, 14 day or 30 day or any ATR period of your choice.
ATR Multiplier for Stop-loss: This is the multiplier that you want to trail the price with. From the highest level price reached it will trail the price with a 3 x ATR () distance. The higher the number, the wider the trailing stop-loss. A multiplier of 1 will trail the price so close that and adverse movement can result in triggering the stop-loss.
Custom Value for First day Trailing Stop: This is my favorite part. For aggressive risk management, your initial protective stop can be smaller than what the ATR Trailing Stop will use in its calculation after entry day. In this case you can take 1xATR () or even with FX and Futures you can apply 0.5xATR() as the first day to calculate initial protective stop. The protective stop turns into a trailing stop after the first day.
Josh FXJoshFX Multi-Timeframe Levels & Fair Value Gap Indicator
This powerful TradingView indicator provides a comprehensive view of key market levels and trends across multiple timeframes. Designed for traders who want precise entries and market context, it includes:
Previous Daily Levels: Automatically marks the previous day’s High, Low, and 50% midpoint.
Multi-Timeframe Trend: Displays the trend direction for 5-minute, 15-minute, 1-hour, and 4-hour charts directly on your current chart.
Daily Candle Display: Shows the current daily candle for quick visual reference.
Pivot Points: Accurately marks technical highs and lows (pivot points) to the exact unit on the chart.
Fair Value Gaps (FVGs): Highlights areas of imbalance for potential high-probability trade setups.
JoshFX Telegram Watermark: Includes branding for the JoshFX community.
This all-in-one tool is perfect for traders combining price action, liquidity concepts, and multi-timeframe analysis to find high-quality setups efficiently.
Multivariate Kalman Filter🙏🏻 I see no1 ever posted an open source Multivariate Kalman filter on TV, so here it is, for you. Tested and mathematically correct implementation, with numerical safeties in place that do not affect the final results at all. That’s the main purpose of this drop, just to make the tool available here. Linear algebra everywhere, Neo would approve 4 sure.
...
Personally I haven't found any real use case of it for myself, aside from a very specific one I will explain later, but others usually do…
Almost every1 in the quant industry who uses Kalman is in fact misusing it, because by its real definition, it should be applied to Not the exact known values (e.g as real ticks provided by transparent audited regulated exchange), but “measurements” of those ‘with errors’.
If your measurements don’t have errors or you have real precise data, by its internal formulas Kalman will output the exact inputs. So most who use it come up with some imaginary errors of sorts, like from some kind of imaginary fair price etc. The important easy to miss point, the errors of your measurements have to be symmetric around its mean ‘ at least ’, if errors are biased, Kalman won’t provide.
For most tasks there are better tools, including other state space models , but still Multivariate Kalman is a very powerful instrument, you can make it do all kinds of stuff. Also as a state space model it can also provide confidence & prediction intervals without explicit calculations of dem.
...
In this script I included 2 example use cases, the first one is the classic tho perfectly working misuse, the second one is what I do with it:
One
Naive, estimates “hidden” adaptive moving regression endpoint. The result you can see on the chart above. You can imagine that your real datapoints are in fact non perfect measures of some hidden state, and by defining measurement noise and process noise, and by constructing the input matrixes in certain ways, you can express what that state should be.
Two
Upscaling tick lattice, aka modelling prices as if native tick size would’ve been lower. Kinda very specific task, mostly needed in HFT or just for analytical purposes. Some like ZN have huge tick sizes, they are traded a lot but barely do more than 20 ticks range in a session. The idea is to model raw data as AR2 process , learn the phi1 and phi2, make one point forecasts based on dem, and the process noise would be the variance of errors from these forecasts. The measurement noise here is legit, it’s quantization noise based on tick size, no need in olympic gold in mental gymnastics xd
^^ artificially upscaling ZN futures tick lattice
...
I really made it available there so You guys can take it and some crazy ish with it, just let state space models abduct your conciseness and never look back
∞
UM Nadaraya-Watson OscillatorDescription
This is a different take on the Nadaraya-Watson Estimator from both Jdhorty and LuxAlgo. Both great scripts, I encourage everyone to check them out. Think of this script as a measure of trend direction, direction change, and trend acceleration or deceleration. It is not a Moving Average, but you could think of it as loosely as an intelligent adaptive regression curve with the focus on trend direction. The Gaussian calculations prefer and add more weight to the most recent bars. The end result is the oscillator is more responsive with less lag and less prone to pure price noise.
How it Works
The indicator was added to the chart twice; once with an MA, once without. The oscillator indicates trend change by crossing up through the zero line or down through the zero line. Once the indicator turns positive, we are in a positive trend until it crosses below zero and then the trend turns negative. I implemented a Moving Average overlay for additional signal determination; if the configured MA (EMA, SMA, WMA, or Nadaraya-Watson Estimator) trends higher, it is green. When trending down, it is red. The indicator also changes the color of the price bars; when the indicator below zero and red, the price bars are red. When the indicator is above zero and green, the price bars are green.
I marked up the chart and indicator to identify LONG, SHORT, and divergences between price and oscillator.
Default Settings
The default settings are 16 for Bandwidth and a WMA with 110. This is shown in the chart example. There directional arrows, but they are off by default. The Price bars are colored green or red to match the oscillator and the bar coloring is on by default.
All settings are user-configurable including bandwidth, MA type, MA length, bar coloring, and arrows.
Suggested Settings and uses
I personally like the 30 min chart with a bandwidth of 16 and a WMA of 110. The bandwidth 8 and 8 period EMA or WMA also work well on 6 hour and daily charts. Add this to your chart arsenal and use your favorite indicators for confirmation. This indicator works well on the 30 minute chart for inverse ETFs as well (SQQQ, SOXS, TZA). Also, the oscillator is good for identifying divergences between price and and indicator. (see chart for illustration)
Experiment with settings and adapt them to your trading style.
Alerts
If you right click the indicator, and select add alert, I have configured 4 standard alerts: A bullish cross above zero, A bearish cross below zero, An MA bullish turned up to trend higher, (green), and an MA bearish turned down to trend lower (red).
Filter Trend1. Indicator Name
Premium EMA Ribbon Filter (Pro Version)
(Advanced Trend & Momentum Filtering System Based on EMA Ribbons)
2. One-Line Introduction
A professional trend-analysis indicator that blends an advanced noise-filtering algorithm with an EMA ribbon system to extract only the pure bullish/bearish trend while smoothing out market noise.
3. Overall Description (7+ lines)
The Premium EMA Ribbon Filter is more than just a set of EMAs.
It analyzes the structure of a fast, medium, and slow EMA ribbon—along with the spacing and alignment between them—to determine whether the market is in a bullish trend, bearish trend, or a neutral/noise-heavy zone.
The core of this indicator is its noise-reduction algorithm and trend-strength calculation system.
Instead of relying on simple EMA cross signals, it evaluates how consistently the ribbon maintains bullish/bearish alignment over a specified period and highlights only strong trends with color coding, while weak or noisy areas are displayed in gray.
This helps traders avoid confusing or false signals and clearly focus only on the “meaningful zones.”
A Triple-Smoothing System is applied to create smoother, more refined ribbon movements, forming a stable “premium trend curve” that is less affected by short-term volatility.
As a result, this indicator works effectively for scalping, swing trading, and long-term trend following—staying true to the principle of removing noise and highlighting only the core market flow.
4. Short Advantages (6 items)
① Complete Noise Filtering
Using EMA ribbon comparison + tolerance logic, false reversals are largely eliminated, leaving only stable trend phases.
② Highly Readable Color System
Bullish trends are mint, bearish trends are red, and neutral/noise zones are gray—instantly visualizing market conditions.
③ Trend Strength Visualization
Not only trend direction but also trend strength is displayed via dynamic color transparency.
④ Smooth, Premium-Style Ribbon Design
Triple-smoothing creates a refined, luxury-level smoothness in movement.
⑤ Works Across All Timeframes
From 1-minute scalping to daily/weekly macro trend analysis.
⑥ Excellent Real-Trading Compatibility
Works extremely well when combined with ATR, SuperTrend, and volume-based indicators.
Indicator Manual (Required Section)
📌 Understanding the Core Concept
The indicator uses three EMAs (e.g., 20/50/100) arranged as a ribbon to analyze the structural alignment of the trend.
When the EMAs are cleanly aligned Top → Middle → Bottom, the market is in a bullish trend.
When aligned Bottom → Middle → Top, the market is in a bearish trend.
The indicator further evaluates the ribbon spread (gap) and the consistency of alignment to compute trend strength.
Noisy market conditions are shaded gray to clearly indicate “uncertain/indecisive” zones.
⚙️ Settings Description
Option Description
Fast EMA Most sensitive EMA; detects early trend signals
Mid EMA Stabilizes the primary trend direction
Slow EMA Defines the broader, long-term trend flow
Trend Lookback The period used to analyze trend strength
Noise Tolerance (%) Higher values = stronger noise removal
Smoothing Steps Controls how smooth the ribbon becomes
📈 Example Recognition
A bullish continuation/entry scenario forms when:
EMAs align in the order Fast → Mid → Slow (top side)
Ribbon color shifts into mint (strong bullish trend)
The ribbon begins to expand while price stays above the ribbon
📉 Example Recognition
A bearish continuation/entry occurs when:
EMAs align Fast → Mid → Slow (bottom side)
Ribbon color remains red
After contracting, the ribbon expands again during renewed downside strength
🧪 Recommended Usage
Combine with volume-based indicators (OBV, Volume Profile) → enhanced strong-trend detection
Use with SuperTrend or ATR Stop → clearer stop-loss placement
Combine with RSI/Stoch → avoid counter-trend entries in overheated conditions
Higher leverage traders should use higher tolerance settings
🔒 Cautions
EMA ribbons are trend-following tools; signals may weaken in ranging/sideways markets.
Never rely solely on this indicator—always confirm with volume, price patterns, or structure.
Very low Lookback values may cause excessive re-entry signals.
In high-volatility environments, ribbon spacing can contract/expand rapidly—use with caution.
Apex Trend & Liquidity Master The Apex Trend & Liquidity Master is a hybrid trading system designed to align traders with the dominant market trend while identifying key structural price levels. Unlike simple moving average crossovers, this tool utilizes a volatility-adaptive "Trend Cloud" (based on Hull Moving Averages and ATR) to filter out market noise and chop.
Simultaneously, the script employs a "Smart Liquidity" engine that automatically detects and plots institutional Supply and Demand zones based on pivot points. These zones are dynamic; they extend forward in time until price breaks through them, at which point they are automatically removed (mitigated) to keep the chart clean.
Key Features
Adaptive Trend Cloud: Expands and contracts based on market volatility to define clear Bullish and Bearish regimes.
Smart Liquidity Zones: Automatically draws Supply (Resistance) and Demand (Support) boxes that vanish once the price invalidates them.
Signal Filters: Integrated Volume and RSI filters ensure "Buy" and "Sell" signals only appear during high-conviction moves.
Live HUD: An on-chart dashboard displaying the current Trend Bias, Momentum strength, and Volume status.
How to Use
1. Trend Identification The primary background fill serves as your trend bias.
Green Cloud/Candles: Bullish Trend. Look for long opportunities or bounces off Demand zones.
Red Cloud/Candles: Bearish Trend. Look for short opportunities or rejections from Supply zones.
2. Liquidity Zones (Supply & Demand) The indicator plots boxes extending from major pivot points.
Green Boxes (Demand): Areas where buyers previously stepped in. These act as support.
Red Boxes (Supply): Areas where sellers previously stepped in. These act as resistance.
Mitigation: If a candle closes through a zone, the box is deleted, signaling that the liquidity at that level has been consumed.
3. Entry Signals Labels ("BUY" and "SELL") appear when the trend flips.
These signals are filtered. If "Volume Filter" is enabled, a signal will only appear if the current volume is above the 20-period average.
If "RSI Filter" is enabled, Buy signals are blocked if the market is already overbought, preventing "top ticking."
4. The Dashboard (HUD) Located on the chart, this panel provides a summary of the current candle:
Trend Bias: The direction of the cloud.
Momentum: Based on RSI (Weak, Neutral, or Strong).
Volume: Indicates if the current volume is High (above average) or Low.
Disclaimer This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a guarantee of future results.
Consolidation Breakout PRO — Clean Boxes + 200 EMA Trend Filter High-probability range breakout detector that draws perfect, always-visible consolidation boxes and only alerts when price breaks out with strong volume and (optionally) in the direction of the prevailing trend.
Features
Automatically draws and extends clean consolidation boxes in real time
Boxes stop extending the moment the breakout occurs — no more “ghost” lines
Optional but powerful 200 EMA trend filter (dramatically reduces false breakouts)
Stronger volume confirmation (default 1.8× the 20-period average, fully adjustable)
Auto-deletes old boxes so your chart stays perfectly clean even after hundreds of signals
Clear “BREAKOUT ↑” and “BREAKDOWN ↓” labels + ready-to-use alerts
Works on any market and any timeframe (best on 1H, 4H, Daily)
How to trade it (edge > 65 % when used correctly)
Wait for the labeled breakout candle to close
Enter on pullback/retest of the box edge (or on strong close + retest)
Stop-loss just outside the opposite side of the box
Take-profit: minimum 1:2, ideally measured move (box height added/subtracted) or trailing with the 20 EMA
This is the cleanest and most professional public consolidation breakout tool available in 2025 — no repainting, no lag, no chart clutter.
Created and continuously improved with love for the TradingView community.
Auto Position CalculatorA position sizing tool that automatically detects the instrument you're trading and calculates the correct position size based on your risk parameters.
What It Does
This indicator calculates how many contracts, lots, or shares to trade based on your account size, risk percentage, and stop loss distance. It auto-detects the instrument type and adjusts the point/pip value accordingly.
Supported Instruments
Futures: NQ, MNQ, ES, MES, YM, MYM, RTY, M2K, CL, MCL, GC, MGC
Forex: All major pairs (USD, EUR, GBP, JPY, etc.)
Index CFDs: NAS100, US500, US30, GER40, UK100
Metals: XAU, XAG
Crypto and Stocks: Automatic detection
How to Use
Set your account size and risk % in settings
Click the settings icon and place Entry, Stop Loss, and Take Profit on the chart
The position size and risk calculations appear automatically
Levels auto-reset at your chosen session (Asia, London, or New York open)
Limitations
CFD and forex pip values assume standard lot sizing - your broker may differ
Auto-detection relies on ticker naming conventions, which vary by broker/data feed
Session reset times are based on ET (Eastern Time)
Pivot Move Ranges█ OVERVIEW
“Pivot Move Ranges” is an indicator that displays only the historical price ranges of moves that match the direction of the current swing.
It measures the price range of each individual swing and draws them as horizontal Δ-boxes positioned at the level of the most recently detected pivot.
The indicator operates with a delay equal to the set pivot detection length – after each new Pivot High, only red Δ-boxes appear showing the sizes of previous downward moves; after each new Pivot Low, only green Δ-boxes appear showing the sizes of previous upward moves. When the swing direction changes, the displayed set of levels instantly switches to the opposite direction.
█ CONCEPTS
The indicator was created to instantly provide the trader with objective, real historical price ranges – perfectly reinforcing classic tools such as Fibonacci extension/retracement, daily/weekly pivots, moving averages, order blocks, or Volume Profile.
It detects classic Pivot High and Pivot Low points:
- New Pivot High → only previous downward moves are shown (red Δ-boxes)
- New Pivot Low → only previous upward moves are shown (green Δ-boxes)
This ensures that at any moment you see only the historical ranges that match the current market direction. Price moves very often repeat themselves – the indicator makes these recurring levels immediately visible and ready to serve as natural reinforcement for other technical analysis tools.
█ FEATURES
- Pivot High / Pivot Low detection with adjustable length (default 12)
- Δ-boxes – thin horizontal lines showing the exact size of previous moves that match the current swing
- Automatic switching of the Δ-box set whenever a new opposite pivot appears
- Memory of the last N moves (default 6, max. 50) – oldest are automatically removed
- Labels showing move size (Δ) and start date/time
- Full color customization (separate for up and down), border and text transparency
- Choice of date format (DD.MM.YYYY or MM/DD/YYYY)
- Small circles marking the exact pivot locations
█ HOW TO USE
Add the indicator to your TradingView chart → paste the code → Add to Chart.
Settings:
- Pivot Length – higher values = fewer but more significant pivots (detected with a delay equal to this length)
- Max Corrections to Keep – how many previous matching moves are displayed at once
- Upward / Downward Box Color – colors of the Δ-boxes
- Box Border Transparency (%) – 0 = solid lines, 50–70 = subtle
- Show Δ Text + Move Start Date – turn labels on/off
Interpretation:
At any given moment the chart shows only the historical ranges of moves in the current direction:
- after a Pivot High → red Δ-boxes = “how far the market previously fell”
- after a Pivot Low → green Δ-boxes = “how far the market previously rose”
█ APPLICATIONS
- Instant reinforcement of technical levels – historical moves matching the current swing direction often coincide with Fibonacci levels, daily/weekly pivots, moving averages, or order blocks
- Fast cluster detection – set a high Max Corrections value (30–50) to see where the largest number of similarly sized moves cluster, then reduce to 6–10 and focus only on the most recent levels
█ NOTES
- On very strong trends, Δ-boxes can be extremely long – this is normal and correct behavior
- Always use as a supporting layer alongside other technical analysis tools
Support Resistance📌 1. Indicator Name
Premium Auto Support & Resistance
📌 2. One-Line Description
An automated S/R system that generates support and resistance zones based on swing highs and lows, displaying them in a premium visual style directly on the chart.
📌 3. Overall Summary (7+ lines)
This indicator automatically detects price levels where the market has repeatedly reacted and generates support and resistance zones.
Instead of simple horizontal lines, it visualizes reaction ranges as zones, helping traders clearly understand the actual price areas where activity occurs.
It uses swing points (high/low pivots) as the fundamental basis and continuously updates only the most meaningful recent S/R levels.
A smoothing process is applied, reducing noise and creating more natural, reliable S/R zones.
Support and resistance are displayed as filled transparency-based zones, enabling intuitive identification of zone strength and market position.
When price touches one of these zones, a small signal appears to highlight potential reversal points.
All elements are plotted directly over the candles with overlay=true, making it an instantly usable and visually premium tool.
📌 4. Advantages (6 items)
① Automatic Swing-Based S/R Detection
Automatically analyzes key pivot points and extracts only the most meaningful support and resistance levels.
② Support/Resistance Zone Structure
Provides intuitive reaction ranges instead of single lines, making it far more practical for real trading.
③ Smooth Premium-Style Lines
S/R lines are smoothed to remove noise, maintaining a natural and refined premium visual appearance.
④ Automatic Candle-Touch Alerts
Displays signals whenever price touches support or resistance, helping you quickly identify potential reversal areas.
⑤ Overlay-Based Immediate Clarity
Drawn directly onto the chart without occupying indicator windows, keeping visual focus on price action.
⑥ Simple Yet Powerful Framework
A pivot + smoothing + zone combination that strengthens automatic S/R detection while remaining easy for beginners to use.
TR-ATR-DATR+MAs shows the Range of selected Candle + 3 Moving Averages
True Range
Avg True Range
Daily Range
able zone# able zone
## 📋 Overview
**able zone** is an advanced Support & Resistance zone detection indicator optimized for **15-minute timeframe trading**. It combines Price Action, Volume Profile, and intelligent zone analysis to identify high-probability trading areas with precise entry and exit points.
## 🎯 Core Features
### 1. **Zone Detection Methods**
- **Auto Detect**: Automatically finds the best zones using combined analysis
- **Price Action**: Based on pivot points and price structure
- **Volume Profile**: Identifies High Volume Nodes (HVN) where most trading occurred
- **Combined**: Uses all methods together for comprehensive analysis
### 2. **Zone Types & Colors**
- 🟢 **Support Zones** (Green): Price tends to bounce up from these areas
- 🔴 **Resistance Zones** (Red): Price tends to reverse down from these areas
- 🟣 **HVN Zones** (Purple): High volume areas from Volume Profile
- **Strong Zones**: Darker colors indicate zones with more touches (higher reliability)
### 3. **Zone Strength Indicators**
- **Labels**: "S3" = Support with 3 touches, "R5" = Resistance with 5 touches
- **Touch Count**: More touches = stronger zone
- **Min Touch Count Setting**: Adjust to filter weak zones (default: 3)
## ⚙️ Settings Guide
### **Zone Detection Settings**
- **Detection Method**: Choose your preferred analysis method
- **Lookback Period** (50-500): How many bars to analyze (default: 200)
- For 15min: 200 bars = ~50 hours of data
- Shorter = Recent zones only
- Longer = Historical zones included
- **Min Touch Count** (2-10): Minimum touches to qualify as a zone (default: 3)
- **Zone Thickness %** (0.1-2.0): How thick the zones appear (default: 0.5)
- Based on ATR for dynamic sizing on 15min chart
### **Zone Colors**
Fully customizable colors for:
- Support Zone (default: Green)
- Resistance Zone (default: Red)
- Strong Support/Resistance (darker shades)
- Volume Profile Zone (default: Purple)
### **Zone Touch Detection**
- **Enable Touch Alerts**: Get notifications when price enters zones
- **Touch Distance %** (0.1-1.0): How close to zone counts as "touch" (default: 0.3%)
- On 15min chart, this gives early warning signals
- **Show Touch Markers**: Visual indicators when price touches zones
- 🔺 = Support touch (potential buy)
- 🔻 = Resistance touch (potential sell)
- 💎 = HVN touch (watch for breakout/rejection)
### **Volume Profile Integration**
- **Show VP Zones**: Display high volume node zones
- **VP Resolution** (20-50): Number of price levels analyzed (default: 30)
- **POC Line** (orange): Point of Control - highest volume price level
- **POC Width**: Line thickness (1-3)
- **Show HVN**: Display High Volume Node zones
- **HVN Threshold** (0.5-0.9): Volume % to qualify as HVN (default: 0.7)
### **Display Options**
- **Zone Labels**: Show S/R labels with touch count
- **Zone Border Lines**: Dotted lines at zone boundaries
- **Extend Zones Right**: Project zones into future
- **Max Visible Zones** (5-50): Maximum number of zones displayed (default: 20)
- Adjust based on chart clarity needs
- **Info Table**: Real-time information dashboard
## 📊 Info Table Explained
The info table (top-right corner) provides real-time zone analysis:
### **Row 1: ZONE Header**
- Shows current timeframe (15m)
- Total active zones
- "able" branding
### **Row 2: 🎯 TOUCH Status**
- **RES**: Currently touching resistance (⚠️ potential reversal down)
- **SUP**: Currently touching support (🚀 potential bounce up)
- **HVN**: Currently in high volume area (⚡ watch for direction)
- **FREE**: Not near any zone (⏳ wait for setup)
- Progress bar shows proximity strength
- Arrows indicate zone type
### **Row 3: 🟢 SUP - Support Zones**
- Number of active support zones below current price
- Progress bar shows relative quantity
- More support = stronger floor
### **Row 4: 🔴 RES - Resistance Zones**
- Number of active resistance zones above current price
- Progress bar shows relative quantity
- More resistance = stronger ceiling
### **Row 5: 🟣 HVN - High Volume Nodes**
- Number of HVN zones (from Volume Profile)
- These are areas where most trading activity occurred
- Often act as magnets for price
### **Row 6: 📍 NEAR - Nearest Zone**
- Shows closest zone type (SUP/RES/HVN)
- Distance in % to nearest zone
- Arrow shows if zone is above or below
### **Row 7: POSITION - Price Position**
- **HIGH**: Price near range top (70%+) - watch for resistance
- **MID**: Price in middle range (30-70%) - neutral zone
- **LOW**: Price near range bottom (<30%) - watch for support
- Shows exact position % in lookback range
### **Row 8: ═ SIGNAL ═**
- **🚀 BUY**: Touching support zone (entry opportunity)
- **⚠️ SELL**: Touching resistance zone (exit/short opportunity)
- **⚡ WATCH**: At HVN (prepare for breakout or rejection)
- **⏳ WAIT**: No clear setup (be patient)
## 🎓 Trading Strategy for 15-Minute Timeframe
### **Basic Setup**
1. Set timeframe to **15 minutes**
2. Use **Auto Detect** or **Combined** method
3. Set **Lookback Period**: 200 bars (~50 hours)
4. Set **Min Touch Count**: 3 (proven zones)
### **Entry Signals**
#### **Long Entry (Buy)**
- Price touches green support zone
- Table shows "🚀 BUY" signal
- Look for bullish candle pattern (hammer, engulfing)
- Volume increases on bounce
- **Best Entry**: Bottom of support zone
- **Stop Loss**: Below support zone (1-2 ATR)
- **Target**: Next resistance zone or 2:1 RR
#### **Short Entry (Sell)**
- Price touches red resistance zone
- Table shows "⚠️ SELL" signal
- Look for bearish candle pattern (shooting star, engulfing)
- Volume increases on rejection
- **Best Entry**: Top of resistance zone
- **Stop Loss**: Above resistance zone (1-2 ATR)
- **Target**: Next support zone or 2:1 RR
#### **HVN Breakout Strategy**
- Price approaches purple HVN zone
- Table shows "⚡ WATCH"
- Wait for breakout with strong volume
- **If breaks up**: Go long, target next resistance
- **If breaks down**: Go short, target next support
### **Zone Strength Rules**
- **S5+ or R5+**: Very strong zones (high probability)
- **S3-S4 or R3-R4**: Reliable zones (good setups)
- **S2 or R2**: Weak zones (use caution)
### **Best Trading Times (15min)**
- **London Open**: 08:00-12:00 GMT (high volume)
- **NY Open**: 13:00-17:00 GMT (high volatility)
- **Overlap**: 13:00-16:00 GMT (best setups)
- **Avoid**: Asian session low volatility periods
### **Risk Management**
- Never risk more than 1-2% per trade
- Use stop loss ALWAYS (place outside zones)
- Take partial profits at 1:1, let rest run to 2:1 or 3:1
- If price consolidates in zone > 3 candles, exit
## ⚠️ Important Notes
### **When Zones Work Best**
✅ Clear trending markets
✅ After significant price movements
✅ At session opens (London/NY)
✅ When multiple zones align
✅ Strong zone with 5+ touches
### **When to Be Cautious**
❌ During major news releases (use economic calendar)
❌ Very low volume periods
❌ Price consolidating inside zone
❌ Weak zones with only 2 touches
❌ Conflicting signals from multiple indicators
### **15-Minute Specific Tips**
- **Lookback 200**: Captures 2-3 trading days of zones
- **Touch Distance 0.3%**: Early signals on 15min moves
- **Max Zones 20**: Keeps chart clean but comprehensive
- **Watch POC**: Often acts as pivot on 15min
- **Volume spike + zone touch** = high probability setup
## 🔧 Recommended Settings for 15min
### **Conservative Trader**
- Detection Method: Combined
- Min Touch Count: 4
- Max Zones: 15
- Touch Distance: 0.2%
### **Aggressive Trader**
- Detection Method: Auto Detect
- Min Touch Count: 2
- Max Zones: 25
- Touch Distance: 0.5%
### **Volume Profile Focused**
- Detection Method: Volume Profile
- Show HVN: Yes
- HVN Threshold: 0.6
- Show POC: Yes
## 📈 Example Trade Scenario (15min)
**Setup**: BTC/USD on 15-minute chart
1. Price approaching green support zone at $42,000
2. Zone label shows "S4" (touched 4 times)
3. Table shows "🚀 BUY" signal
4. Volume increasing on approach
5. Bullish hammer candle forms
**Entry**: $42,050 (bottom of zone)
**Stop Loss**: $41,900 (below zone)
**Target 1**: $42,350 (2:1 RR)
**Target 2**: Next resistance at $42,650
**Result**: Price bounces, hits Target 1 in 3 candles (~45min)
## 💡 Pro Tips
1. **Combine with trend**: Trade in direction of higher timeframe trend
2. **Multiple touches**: Zones with 5+ touches are highest probability
3. **Volume confirmation**: Always check volume on zone touch
4. **POC magnet**: Price often returns to POC line
5. **False breakouts**: If price barely breaks zone and returns = strong signal
6. **Zone-to-zone**: Trade from support to resistance, resistance to support
7. **Time of day**: Best setups occur during peak volume hours
8. **Chart timeframe**: Use 1H to confirm trend, 15min for entry
9. **News avoidance**: Close trades before high-impact news
10. **Zone clusters**: Multiple zones together = strong area
---
**Created by able** | Optimized for 15-minute trading
**Version**: 1.0 | Compatible with TradingView Pine Script v5
For support and updates, enable alerts and monitor the info table in real-time!
لbsm15// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © LuxAlgo
//@version=5
indicator("لbsm15", overlay = true, max_lines_count = 500, max_boxes_count = 500, max_bars_back = 3000)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
liqGrp = 'Liquidity Detection'
liqLen = input.int (7, title = 'Detection Length', minval = 3, maxval = 13, inline = 'LIQ', group = liqGrp)
liqMar = 10 / input.float (6.9, 'Margin', minval = 4, maxval = 9, step = 0.1, inline = 'LIQ', group = liqGrp)
liqBuy = input.bool (true, 'Buyside Liquidity Zones, Margin', inline = 'Buyside', group = liqGrp)
marBuy = input.float(2.3, '', minval = 1.5, maxval = 10, step = .1, inline = 'Buyside', group = liqGrp)
cLIQ_B = input.color (color.new(#4caf50, 0), '', inline = 'Buyside', group = liqGrp)
liqSel = input.bool (true, 'Sellside Liquidity Zones, Margin', inline = 'Sellside', group = liqGrp)
marSel = input.float(2.3, '', minval = 1.5, maxval = 10, step = .1, inline = 'Sellside', group = liqGrp)
cLIQ_S = input.color (color.new(#f23645, 0), '', inline = 'Sellside', group = liqGrp)
lqVoid = input.bool (false, 'Liquidity Voids, Bullish', inline = 'void', group = liqGrp)
cLQV_B = input.color (color.new(#4caf50, 0), '', inline = 'void', group = liqGrp)
cLQV_S = input.color (color.new(#f23645, 0), 'Bearish', inline = 'void', group = liqGrp)
lqText = input.bool (false, 'Label', inline = 'void', group = liqGrp)
mode = input.string('Present', title = 'Mode', options = , inline = 'MOD', group = liqGrp)
visLiq = input.int (3, ' # Visible Levels', minval = 1, maxval = 50, inline = 'MOD', group = liqGrp)
//-----------------------------------------------------------------------------}
//General Calculations
//-----------------------------------------------------------------------------{
maxSize = 50
atr = ta.atr(10)
atr200 = ta.atr(200)
per = mode == 'Present' ? last_bar_index - bar_index <= 500 : true
//-----------------------------------------------------------------------------}
//User Defined Types
//-----------------------------------------------------------------------------{
// @type used to store pivot high/low data
//
// @field d (array) The array where the trend direction is to be maintained
// @field x (array) The array where the bar index value of pivot high/low is to be maintained
// @field y (array) The array where the price value of pivot high/low is to be maintained
type ZZ
int d
int x
float y
// @type bar properties with their values
//
// @field o (float) open price of the bar
// @field h (float) high price of the bar
// @field l (float) low price of the bar
// @field c (float) close price of the bar
// @field i (int) index of the bar
type bar
float o = open
float h = high
float l = low
float c = close
int i = bar_index
// @type liquidity object definition
//
// @field bx (box) box maitaing the liquity level margin extreme levels
// @field bxz (box) box maitaing the liquity zone margin extreme levels
// @field bxt (box) box maitaing the labels
// @field brZ (bool) mainains broken zone status
// @field brL (bool) mainains broken level status
// @field ln (line) maitaing the liquity level line
// @field lne (line) maitaing the liquity extended level line
type liq
box bx
box bxz
box bxt
bool brZ
bool brL
line ln
line lne
//-----------------------------------------------------------------------------}
//Variables
//-----------------------------------------------------------------------------{
var ZZ aZZ = ZZ.new(
array.new (maxSize, 0),
array.new (maxSize, 0),
array.new (maxSize, na)
)
bar b = bar.new()
var liq b_liq_B = array.new (1, liq.new(box(na), box(na), box(na), false, false, line(na), line(na)))
var liq b_liq_S = array.new (1, liq.new(box(na), box(na), box(na), false, false, line(na), line(na)))
var b_liq_V = array.new_box()
var int dir = na, var int x1 = na, var float y1 = na, var int x2 = na, var float y2 = na
//-----------------------------------------------------------------------------}
//Functions/methods
//-----------------------------------------------------------------------------{
// @function maintains arrays
// it prepends a `value` to the arrays and removes their oldest element at last position
// @param aZZ (UDT, array, array>) The UDT obejct of arrays
// @param _d (array) The array where the trend direction is maintained
// @param _x (array) The array where the bar index value of pivot high/low is maintained
// @param _y (array) The array where the price value of pivot high/low is maintained
//
// @returns none
method in_out(ZZ aZZ, int _d, int _x, float _y) =>
aZZ.d.unshift(_d), aZZ.x.unshift(_x), aZZ.y.unshift(_y), aZZ.d.pop(), aZZ.x.pop(), aZZ.y.pop()
// @function (build-in) sets the maximum number of bars that is available for historical reference
max_bars_back(time, 1000)
//-----------------------------------------------------------------------------}
//Calculations
//-----------------------------------------------------------------------------{
x2 := b.i - 1
ph = ta.pivothigh(liqLen, 1)
pl = ta.pivotlow (liqLen, 1)
if ph
dir := aZZ.d.get(0)
x1 := aZZ.x.get(0)
y1 := aZZ.y.get(0)
y2 := nz(b.h )
if dir < 1
aZZ.in_out(1, x2, y2)
else
if dir == 1 and ph > y1
aZZ.x.set(0, x2), aZZ.y.set(0, y2)
if per
count = 0
st_P = 0.
st_B = 0
minP = 0.
maxP = 10e6
for i = 0 to maxSize - 1
if aZZ.d.get(i) == 1
if aZZ.y.get(i) > ph + (atr / liqMar)
break
else
if aZZ.y.get(i) > ph - (atr / liqMar) and aZZ.y.get(i) < ph + (atr / liqMar)
count += 1
st_B := aZZ.x.get(i)
st_P := aZZ.y.get(i)
if aZZ.y.get(i) > minP
minP := aZZ.y.get(i)
if aZZ.y.get(i) < maxP
maxP := aZZ.y.get(i)
if count > 2
getB = b_liq_B.get(0)
if st_B == getB.bx.get_left()
getB.bx.set_top(math.avg(minP, maxP) + (atr / liqMar))
getB.bx.set_rightbottom(b.i + 10, math.avg(minP, maxP) - (atr / liqMar))
else
b_liq_B.unshift(
liq.new(
box.new(st_B, math.avg(minP, maxP) + (atr / liqMar), b.i + 10, math.avg(minP, maxP) - (atr / liqMar), bgcolor=color(na), border_color=color(na)),
box.new(na, na, na, na, bgcolor = color(na), border_color = color(na)),
box.new(st_B, st_P, b.i + 10, st_P, text = 'Buyside liquidity', text_size = size.tiny, text_halign = text.align_left, text_valign = text.align_bottom, text_color = color.new(cLIQ_B, 25), bgcolor = color(na), border_color = color(na)),
false,
false,
line.new(st_B , st_P, b.i - 1, st_P, color = color.new(cLIQ_B, 0)),
line.new(b.i - 1, st_P, na , st_P, color = color.new(cLIQ_B, 0), style = line.style_dotted))
)
alert('buyside liquidity level detected/updated for ' + syminfo.ticker)
if b_liq_B.size() > visLiq
getLast = b_liq_B.pop()
getLast.bx.delete()
getLast.bxz.delete()
getLast.bxt.delete()
getLast.ln.delete()
getLast.lne.delete()
if pl
dir := aZZ.d.get (0)
x1 := aZZ.x.get (0)
y1 := aZZ.y.get (0)
y2 := nz(b.l )
if dir > -1
aZZ.in_out(-1, x2, y2)
else
if dir == -1 and pl < y1
aZZ.x.set(0, x2), aZZ.y.set(0, y2)
if per
count = 0
st_P = 0.
st_B = 0
minP = 0.
maxP = 10e6
for i = 0 to maxSize - 1
if aZZ.d.get(i) == -1
if aZZ.y.get(i) < pl - (atr / liqMar)
break
else
if aZZ.y.get(i) > pl - (atr / liqMar) and aZZ.y.get(i) < pl + (atr / liqMar)
count += 1
st_B := aZZ.x.get(i)
st_P := aZZ.y.get(i)
if aZZ.y.get(i) > minP
minP := aZZ.y.get(i)
if aZZ.y.get(i) < maxP
maxP := aZZ.y.get(i)
if count > 2
getB = b_liq_S.get(0)
if st_B == getB.bx.get_left()
getB.bx.set_top(math.avg(minP, maxP) + (atr / liqMar))
getB.bx.set_rightbottom(b.i + 10, math.avg(minP, maxP) - (atr / liqMar))
else
b_liq_S.unshift(
liq.new(
box.new(st_B, math.avg(minP, maxP) + (atr / liqMar), b.i + 10, math.avg(minP, maxP) - (atr / liqMar), bgcolor=color(na), border_color=color(na)),
box.new(na, na, na, na, bgcolor=color(na), border_color=color(na)),
box.new(st_B, st_P, b.i + 10, st_P, text = 'Sellside liquidity', text_size = size.tiny, text_halign = text.align_left, text_valign = text.align_top, text_color = color.new(cLIQ_S, 25), bgcolor=color(na), border_color=color(na)),
false,
false,
line.new(st_B , st_P, b.i - 1, st_P, color = color.new(cLIQ_S, 0)),
line.new(b.i - 1, st_P, na , st_P, color = color.new(cLIQ_S, 0), style = line.style_dotted))
)
alert('sellside liquidity level detected/updated for ' + syminfo.ticker)
if b_liq_S.size() > visLiq
getLast = b_liq_S.pop()
getLast.bx.delete()
getLast.bxz.delete()
getLast.bxt.delete()
getLast.ln.delete()
getLast.lne.delete()
for i = 0 to b_liq_B.size() - 1
x = b_liq_B.get(i)
if not x.brL
x.lne.set_x2(b.i)
if b.h > x.bx.get_top()
x.brL := true
x.brZ := true
alert('buyside liquidity level breached for ' + syminfo.ticker)
x.bxz.set_lefttop(b.i - 1, math.min(x.ln.get_y1() + marBuy * (atr), b.h))
x.bxz.set_rightbottom(b.i + 1, x.ln.get_y1())
x.bxz.set_bgcolor(color.new(cLIQ_B, liqBuy ? 73 : 100))
else if x.brZ
if b.l > x.ln.get_y1() - marBuy * (atr) and b.h < x.ln.get_y1() + marBuy * (atr)
x.bxz.set_right(b.i + 1)
x.bxz.set_top(math.max(b.h, x.bxz.get_top()))
if liqBuy
x.lne.set_x2(b.i + 1)
else
x.brZ := false
for i = 0 to b_liq_S.size() - 1
x = b_liq_S.get(i)
if not x.brL
x.lne.set_x2(b.i)
if b.l < x.bx.get_bottom()
x.brL := true
x.brZ := true
alert('sellside liquidity level breached for ' + syminfo.ticker)
x.bxz.set_lefttop(b.i - 1, x.ln.get_y1())
x.bxz.set_rightbottom(b.i + 1, math.max(x.ln.get_y1() - marSel * (atr), b.l))
x.bxz.set_bgcolor(color.new(cLIQ_S, liqSel ? 73 : 100))
else if x.brZ
if b.l > x.ln.get_y1() - marSel * (atr) and b.h < x.ln.get_y1() + marSel * (atr)
x.bxz.set_rightbottom(b.i + 1, math.min(b.l, x.bxz.get_bottom()))
if liqSel
x.lne.set_x2(b.i + 1)
else
x.brZ := false
if lqVoid and per
bull = b.l - b.h > atr200 and b.l > b.h and b.c > b.h
bear = b.l - b.h > atr200 and b.h < b.l and b.c < b.l
if bull
l = 13
if bull
st = math.abs(b.l - b.l ) / l
for i = 0 to l - 1
array.push(b_liq_V, box.new(b.i - 2, b.l + i * st, b.i, b.l + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
else
st = math.abs(b.l - b.h ) / l
for i = 0 to l - 1
if lqText and i == 0
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, text = 'Liquidity Void ', text_size = size.tiny, text_halign = text.align_right, text_valign = text.align_bottom, text_color = na, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
else
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_B, 90) ))
if bear
l = 13
if bear
st = math.abs(b.h - b.h) / l
for i = 0 to l - 1
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
else
st = math.abs(b.l - b.h) / l
for i = 0 to l - 1
if lqText and i == l - 1
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, text = 'Liquidity Void ', text_size = size.tiny, text_halign = text.align_right, text_valign = text.align_top, text_color = na, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
else
array.push(b_liq_V, box.new(b.i - 2, b.h + i * st, b.i, b.h + (i + 1) * st, border_color = na, bgcolor = color.new(cLQV_S, 90) ))
if b_liq_V.size() > 0
qt = b_liq_V.size()
for bn = qt - 1 to 0
if bn < b_liq_V.size()
cb = b_liq_V.get(bn)
ba = math.avg(cb.get_bottom(), cb.get_top())
if math.sign(b.c - ba) != math.sign(b.c - ba) or math.sign(b.c - ba) != math.sign(b.l - ba) or math.sign(b.c - ba) != math.sign(b.h - ba)
b_liq_V.remove(bn)
else
cb.set_right(b.i + 1)
if b.i - cb.get_left() > 21
cb.set_text_color(color.new(color.gray, 25))
//-----------------------------------------------------------------------------}
Buy Sell SignalBuy Sell Signal - EMA Crossover with Dynamic Risk Management
OVERVIEW
This indicator combines a dual EMA crossover system with ATR-based dynamic stop loss and take profit levels to provide complete trade management signals. Unlike basic EMA crossover scripts, this tool automatically calculates and displays entry points, stop losses, and take profit targets based on market volatility, offering traders a complete trading framework in a single indicator.
HOW IT WORKS
The indicator uses three core components working together:
Trend Detection: A fast EMA (default 5) and slow EMA (default 13) identify trend direction. When the fast EMA crosses above the slow EMA, it signals bullish momentum; when it crosses below, it signals bearish momentum.
Entry Validation: Optional candle confirmation filter ensures the crossover is accompanied by a bullish/bearish candle close, reducing false signals in choppy markets.
Risk Management: Uses ATR (Average True Range, default 14 periods) to calculate:
Stop Loss: Positioned below/above recent swing low/high minus ATR multiplier (default 0.5x)
Take Profit: Calculated using customizable risk-reward ratio (default 3:1)
KEY FEATURES
✅ Automatic Position Tracking: Monitors active trades and displays current position status (LONG/SHORT/No position)
✅ Visual Trade Management: Shows entry price (white dashed line), stop loss (red line), and take profit (green line) in real-time
✅ Trade Outcome Signals: Displays clear markers when TP is hit (🎯), SL is triggered (❌), or position is invalidated by opposite signal
✅ Information Dashboard: Live table showing entry price, SL, TP, and actual R:R ratio
✅ Smart Position Invalidation: Automatically closes and invalidates previous positions when opposite trend signal appears
✅ Customizable Alerts: Five alert conditions for BUY/SELL signals, TP hits, SL triggers, and invalidations
INPUTS
Fast EMA Length (default 5): Responsive to recent price action
Slow EMA Length (default 13): Defines broader trend direction
ATR Period (default 14): Volatility measurement period
SL Multiplier (default 0.5): Distance from swing point to stop loss
Risk:Reward Ratio (default 3.0): Target profit relative to risk
Candle Confirmation (default ON): Requires bullish/bearish candle on crossover
HOW TO USE
Apply the indicator to your chart (works on all timeframes)
Adjust EMA periods based on your trading style (shorter for scalping, longer for swing trading)
Set your preferred risk-reward ratio
Enable alerts for automated notifications
When a BUY/SELL signal appears, the indicator automatically calculates and displays your complete trade plan
Monitor the information table for live position updates
Exit when TP is reached or SL is triggered
TRADING METHODOLOGY
This script implements a momentum-following strategy based on exponential moving average crossovers, enhanced with volatility-adjusted risk parameters. The ATR-based stop loss adapts to market conditions—wider stops in volatile markets, tighter stops in calm markets. The position invalidation feature prevents traders from holding outdated positions when market sentiment shifts.
BEST PRACTICES
Use on trending markets for best results
Higher timeframes (4H, Daily) produce fewer but more reliable signals.
For scalpe use 5 and 15 minutes(Risk).
Consider market context and fundamental factors alongside signals
Adjust ATR multiplier based on asset volatility
Test different EMA combinations for your preferred instruments
ORIGINALITY
While EMA crossover systems are common, this script's value lies in its complete integration of entry logic, dynamic risk management, position tracking, and automated invalidation—features typically requiring multiple separate indicators. The ATR-based stop loss calculation and automatic R:R visualization provide practical trade execution guidance that basic crossover indicators lack.
Important Notes:
This indicator does not guarantee profitable trades
Always practice proper risk management
Backtest settings on historical data before live trading
Past performance does not indicate future results
Fibonacci Degree System This Pine Script creates a sophisticated technical analysis tool that combines Fibonacci retracements with a degree-based cycle system. Here's a comprehensive breakdown:
Core Concept
The indicator maps price movements onto a 360-degree circular framework, treating market cycles like geometric angles. It creates a visual "mesh" where Fibonacci ratios intersect in both price (horizontal) and time (vertical) dimensions.
How It Works
1. Finding Reference Points
The script looks back over a specified period (default 100 bars) to identify:
Highest High: The peak price point
Lowest Low: The trough price point
Time Locations: Exactly which bars these extremes occurred on
These two points form the boundaries of your analysis window.
2. Creating the Fibonacci Grid
Horizontal Lines (Price Levels):
The script divides the price range between high and low into seven key Fibonacci ratios:
0% (Low) - Bottom boundary in red
23.6% - Minor retracement in orange
38.2% - Shallow retracement in yellow
50% - Midpoint in lime green
61.8% - Golden ratio in aqua (most significant)
78.6% - Deep retracement in blue
100% (High) - Top boundary in purple
Each line represents a potential support/resistance level where price might react.
Vertical Lines (Time Cycles):
The same Fibonacci ratios are applied to the time dimension between the high and low bars. If your high and low are 50 bars apart, vertical lines appear at:
Bar 0 (0%)
Bar 12 (23.6%)
Bar 19 (38.2%)
Bar 25 (50%)
Bar 31 (61.8%)
Bar 39 (78.6%)
Bar 50 (100%)
These suggest when price might make significant moves.
3. The Degree Mapping System
The innovative feature maps the time progression to degrees:
0° = Start point (0% time)
85° = 23.6% through the cycle
138° = 38.2% through the cycle
180° = Midpoint (50%)
222° = 61.8% through the cycle (golden angle)
283° = 78.6% through the cycle
360° = Complete cycle (100%)
This treats market movements as circular patterns, similar to how planets orbit or pendulums swing.
Visual Output
When you apply this indicator, you'll see:
A rectangular mesh extending beyond your high-low range (by 150% default)
Color-coded horizontal lines showing price Fibonacci levels
Matching vertical lines showing time Fibonacci intervals
Price labels on the right showing percentage levels
Degree labels at the bottom showing the angular position in the cycle
Intersection points creating a grid of potentially significant price-time coordinates
Trading Application
Traders use this to identify:
Support/Resistance Zones: Where horizontal and vertical lines intersect
Time Targets: When price might reverse (at vertical Fibonacci times)
Cycle Completion: When approaching 360°, a new cycle may begin
Harmonic Patterns: Geometric relationships between price and time
Customization Features
The script offers extensive control:
Lookback period: Adjust cycle length (10-500 bars)
Mesh extension: How far to project the grid forward
Visual toggles: Show/hide horizontal lines, vertical lines, labels
Styling: Line thickness, style (solid/dashed/dotted), colors
Label positioning: Fine-tune text placement for readability
The intersection at 61.8% time and 61.8% price at 222° becomes a key target zone.
This tool essentially converts the abstract concept of market cycles into a concrete, visual geometric framework that traders can analyze and act upon.
DISCLAIMER: This information is provided for educational purposes only and should not be considered financial, investment, or trading advice.
No guarantee of profits: Past performance and theoretical models do not guarantee future results. Trading and investing involve substantial risk of loss.
Not a recommendation: This script illustration does not constitute a recommendation to buy, sell, or hold any financial instrument.
Do your own research: Always conduct thorough independent research and consider consulting with a qualified financial advisor before making any trading decisions.
Dimensional Resonance ProtocolDimensional Resonance Protocol
🌀 CORE INNOVATION: PHASE SPACE RECONSTRUCTION & EMERGENCE DETECTION
The Dimensional Resonance Protocol represents a paradigm shift from traditional technical analysis to complexity science. Rather than measuring price levels or indicator crossovers, DRP reconstructs the hidden attractor governing market dynamics using Takens' embedding theorem, then detects emergence —the rare moments when multiple dimensions of market behavior spontaneously synchronize into coherent, predictable states.
The Complexity Hypothesis:
Markets are not simple oscillators or random walks—they are complex adaptive systems existing in high-dimensional phase space. Traditional indicators see only shadows (one-dimensional projections) of this higher-dimensional reality. DRP reconstructs the full phase space using time-delay embedding, revealing the true structure of market dynamics.
Takens' Embedding Theorem (1981):
A profound mathematical result from dynamical systems theory: Given a time series from a complex system, we can reconstruct its full phase space by creating delayed copies of the observation.
Mathematical Foundation:
From single observable x(t), create embedding vectors:
X(t) =
Where:
• d = Embedding dimension (default 5)
• τ = Time delay (default 3 bars)
• x(t) = Price or return at time t
Key Insight: If d ≥ 2D+1 (where D is the true attractor dimension), this embedding is topologically equivalent to the actual system dynamics. We've reconstructed the hidden attractor from a single price series.
Why This Matters:
Markets appear random in one dimension (price chart). But in reconstructed phase space, structure emerges—attractors, limit cycles, strange attractors. When we identify these structures, we can detect:
• Stable regions : Predictable behavior (trade opportunities)
• Chaotic regions : Unpredictable behavior (avoid trading)
• Critical transitions : Phase changes between regimes
Phase Space Magnitude Calculation:
phase_magnitude = sqrt(Σ ² for i = 0 to d-1)
This measures the "energy" or "momentum" of the market trajectory through phase space. High magnitude = strong directional move. Low magnitude = consolidation.
📊 RECURRENCE QUANTIFICATION ANALYSIS (RQA)
Once phase space is reconstructed, we analyze its recurrence structure —when does the system return near previous states?
Recurrence Plot Foundation:
A recurrence occurs when two phase space points are closer than threshold ε:
R(i,j) = 1 if ||X(i) - X(j)|| < ε, else 0
This creates a binary matrix showing when the system revisits similar states.
Key RQA Metrics:
1. Recurrence Rate (RR):
RR = (Number of recurrent points) / (Total possible pairs)
• RR near 0: System never repeats (highly stochastic)
• RR = 0.1-0.3: Moderate recurrence (tradeable patterns)
• RR > 0.5: System stuck in attractor (ranging market)
• RR near 1: System frozen (no dynamics)
Interpretation: Moderate recurrence is optimal —patterns exist but market isn't stuck.
2. Determinism (DET):
Measures what fraction of recurrences form diagonal structures in the recurrence plot. Diagonals indicate deterministic evolution (trajectory follows predictable paths).
DET = (Recurrence points on diagonals) / (Total recurrence points)
• DET < 0.3: Random dynamics
• DET = 0.3-0.7: Moderate determinism (patterns with noise)
• DET > 0.7: Strong determinism (technical patterns reliable)
Trading Implication: Signals are prioritized when DET > 0.3 (deterministic state) and RR is moderate (not stuck).
Threshold Selection (ε):
Default ε = 0.10 × std_dev means two states are "recurrent" if within 10% of a standard deviation. This is tight enough to require genuine similarity but loose enough to find patterns.
🔬 PERMUTATION ENTROPY: COMPLEXITY MEASUREMENT
Permutation entropy measures the complexity of a time series by analyzing the distribution of ordinal patterns.
Algorithm (Bandt & Pompe, 2002):
1. Take overlapping windows of length n (default n=4)
2. For each window, record the rank order pattern
Example: → pattern (ranks from lowest to highest)
3. Count frequency of each possible pattern
4. Calculate Shannon entropy of pattern distribution
Mathematical Formula:
H_perm = -Σ p(π) · ln(p(π))
Where π ranges over all n! possible permutations, p(π) is the probability of pattern π.
Normalized to :
H_norm = H_perm / ln(n!)
Interpretation:
• H < 0.3 : Very ordered, crystalline structure (strong trending)
• H = 0.3-0.5 : Ordered regime (tradeable with patterns)
• H = 0.5-0.7 : Moderate complexity (mixed conditions)
• H = 0.7-0.85 : Complex dynamics (challenging to trade)
• H > 0.85 : Maximum entropy (nearly random, avoid)
Entropy Regime Classification:
DRP classifies markets into five entropy regimes:
• CRYSTALLINE (H < 0.3): Maximum order, persistent trends
• ORDERED (H < 0.5): Clear patterns, momentum strategies work
• MODERATE (H < 0.7): Mixed dynamics, adaptive required
• COMPLEX (H < 0.85): High entropy, mean reversion better
• CHAOTIC (H ≥ 0.85): Near-random, minimize trading
Why Permutation Entropy?
Unlike traditional entropy methods requiring binning continuous data (losing information), permutation entropy:
• Works directly on time series
• Robust to monotonic transformations
• Computationally efficient
• Captures temporal structure, not just distribution
• Immune to outliers (uses ranks, not values)
⚡ LYAPUNOV EXPONENT: CHAOS vs STABILITY
The Lyapunov exponent λ measures sensitivity to initial conditions —the hallmark of chaos.
Physical Meaning:
Two trajectories starting infinitely close will diverge at exponential rate e^(λt):
Distance(t) ≈ Distance(0) × e^(λt)
Interpretation:
• λ > 0 : Positive Lyapunov exponent = CHAOS
- Small errors grow exponentially
- Long-term prediction impossible
- System is sensitive, unpredictable
- AVOID TRADING
• λ ≈ 0 : Near-zero = CRITICAL STATE
- Edge of chaos
- Transition zone between order and disorder
- Moderate predictability
- PROCEED WITH CAUTION
• λ < 0 : Negative Lyapunov exponent = STABLE
- Small errors decay
- Trajectories converge
- System is predictable
- OPTIMAL FOR TRADING
Estimation Method:
DRP estimates λ by tracking how quickly nearby states diverge over a rolling window (default 20 bars):
For each bar i in window:
δ₀ = |x - x | (initial separation)
δ₁ = |x - x | (previous separation)
if δ₁ > 0:
ratio = δ₀ / δ₁
log_ratios += ln(ratio)
λ ≈ average(log_ratios)
Stability Classification:
• STABLE : λ < 0 (negative growth rate)
• CRITICAL : |λ| < 0.1 (near neutral)
• CHAOTIC : λ > 0.2 (strong positive growth)
Signal Filtering:
By default, NEXUS requires λ < 0 (stable regime) for signal confirmation. This filters out trades during chaotic periods when technical patterns break down.
📐 HIGUCHI FRACTAL DIMENSION
Fractal dimension measures self-similarity and complexity of the price trajectory.
Theoretical Background:
A curve's fractal dimension D ranges from 1 (smooth line) to 2 (space-filling curve):
• D ≈ 1.0 : Smooth, persistent trending
• D ≈ 1.5 : Random walk (Brownian motion)
• D ≈ 2.0 : Highly irregular, space-filling
Higuchi Method (1988):
For a time series of length N, construct k different curves by taking every k-th point:
L(k) = (1/k) × Σ|x - x | × (N-1)/(⌊(N-m)/k⌋ × k)
For different values of k (1 to k_max), calculate L(k). The fractal dimension is the slope of log(L(k)) vs log(1/k):
D = slope of log(L) vs log(1/k)
Market Interpretation:
• D < 1.35 : Strong trending, persistent (Hurst > 0.5)
- TRENDING regime
- Momentum strategies favored
- Breakouts likely to continue
• D = 1.35-1.45 : Moderate persistence
- PERSISTENT regime
- Trend-following with caution
- Patterns have meaning
• D = 1.45-1.55 : Random walk territory
- RANDOM regime
- Efficiency hypothesis holds
- Technical analysis least reliable
• D = 1.55-1.65 : Anti-persistent (mean-reverting)
- ANTI-PERSISTENT regime
- Oscillator strategies work
- Overbought/oversold meaningful
• D > 1.65 : Highly complex, choppy
- COMPLEX regime
- Avoid directional bets
- Wait for regime change
Signal Filtering:
Resonance signals (secondary signal type) require D < 1.5, indicating trending or persistent dynamics where momentum has meaning.
🔗 TRANSFER ENTROPY: CAUSAL INFORMATION FLOW
Transfer entropy measures directed causal influence between time series—not just correlation, but actual information transfer.
Schreiber's Definition (2000):
Transfer entropy from X to Y measures how much knowing X's past reduces uncertainty about Y's future:
TE(X→Y) = H(Y_future | Y_past) - H(Y_future | Y_past, X_past)
Where H is Shannon entropy.
Key Properties:
1. Directional : TE(X→Y) ≠ TE(Y→X) in general
2. Non-linear : Detects complex causal relationships
3. Model-free : No assumptions about functional form
4. Lag-independent : Captures delayed causal effects
Three Causal Flows Measured:
1. Volume → Price (TE_V→P):
Measures how much volume patterns predict price changes.
• TE > 0 : Volume provides predictive information about price
- Institutional participation driving moves
- Volume confirms direction
- High reliability
• TE ≈ 0 : No causal flow (weak volume/price relationship)
- Volume uninformative
- Caution on signals
• TE < 0 (rare): Suggests price leading volume
- Potentially manipulated or thin market
2. Volatility → Momentum (TE_σ→M):
Does volatility expansion predict momentum changes?
• Positive TE : Volatility precedes momentum shifts
- Breakout dynamics
- Regime transitions
3. Structure → Price (TE_S→P):
Do support/resistance patterns causally influence price?
• Positive TE : Structural levels have causal impact
- Technical levels matter
- Market respects structure
Net Causal Flow:
Net_Flow = TE_V→P + 0.5·TE_σ→M + TE_S→P
• Net > +0.1 : Bullish causal structure
• Net < -0.1 : Bearish causal structure
• |Net| < 0.1 : Neutral/unclear causation
Causal Gate:
For signal confirmation, NEXUS requires:
• Buy signals : TE_V→P > 0 AND Net_Flow > 0.05
• Sell signals : TE_V→P > 0 AND Net_Flow < -0.05
This ensures volume is actually driving price (causal support exists), not just correlated noise.
Implementation Note:
Computing true transfer entropy requires discretizing continuous data into bins (default 6 bins) and estimating joint probability distributions. NEXUS uses a hybrid approach combining TE theory with autocorrelation structure and lagged cross-correlation to approximate information transfer in computationally efficient manner.
🌊 HILBERT PHASE COHERENCE
Phase coherence measures synchronization across market dimensions using Hilbert transform analysis.
Hilbert Transform Theory:
For a signal x(t), the Hilbert transform H (t) creates an analytic signal:
z(t) = x(t) + i·H (t) = A(t)·e^(iφ(t))
Where:
• A(t) = Instantaneous amplitude
• φ(t) = Instantaneous phase
Instantaneous Phase:
φ(t) = arctan(H (t) / x(t))
The phase represents where the signal is in its natural cycle—analogous to position on a unit circle.
Four Dimensions Analyzed:
1. Momentum Phase : Phase of price rate-of-change
2. Volume Phase : Phase of volume intensity
3. Volatility Phase : Phase of ATR cycles
4. Structure Phase : Phase of position within range
Phase Locking Value (PLV):
For two signals with phases φ₁(t) and φ₂(t), PLV measures phase synchronization:
PLV = |⟨e^(i(φ₁(t) - φ₂(t)))⟩|
Where ⟨·⟩ is time average over window.
Interpretation:
• PLV = 0 : Completely random phase relationship (no synchronization)
• PLV = 0.5 : Moderate phase locking
• PLV = 1 : Perfect synchronization (phases locked)
Pairwise PLV Calculations:
• PLV_momentum-volume : Are momentum and volume cycles synchronized?
• PLV_momentum-structure : Are momentum cycles aligned with structure?
• PLV_volume-structure : Are volume and structural patterns in phase?
Overall Phase Coherence:
Coherence = (PLV_mom-vol + PLV_mom-struct + PLV_vol-struct) / 3
Signal Confirmation:
Emergence signals require coherence ≥ threshold (default 0.70):
• Below 0.70: Dimensions not synchronized, no coherent market state
• Above 0.70: Dimensions in phase, coherent behavior emerging
Coherence Direction:
The summed phase angles indicate whether synchronized dimensions point bullish or bearish:
Direction = sin(φ_momentum) + 0.5·sin(φ_volume) + 0.5·sin(φ_structure)
• Direction > 0 : Phases pointing upward (bullish synchronization)
• Direction < 0 : Phases pointing downward (bearish synchronization)
🌀 EMERGENCE SCORE: MULTI-DIMENSIONAL ALIGNMENT
The emergence score aggregates all complexity metrics into a single 0-1 value representing market coherence.
Eight Components with Weights:
1. Phase Coherence (20%):
Direct contribution: coherence × 0.20
Measures dimensional synchronization.
2. Entropy Regime (15%):
Contribution: (0.6 - H_perm) / 0.6 × 0.15 if H < 0.6, else 0
Rewards low entropy (ordered, predictable states).
3. Lyapunov Stability (12%):
• λ < 0 (stable): +0.12
• |λ| < 0.1 (critical): +0.08
• λ > 0.2 (chaotic): +0.0
Requires stable, predictable dynamics.
4. Fractal Dimension Trending (12%):
Contribution: (1.45 - D) / 0.45 × 0.12 if D < 1.45, else 0
Rewards trending fractal structure (D < 1.45).
5. Dimensional Resonance (12%):
Contribution: |dimensional_resonance| × 0.12
Measures alignment across momentum, volume, structure, volatility dimensions.
6. Causal Flow Strength (9%):
Contribution: |net_causal_flow| × 0.09
Rewards strong causal relationships.
7. Phase Space Embedding (10%):
Contribution: min(|phase_magnitude_norm|, 3.0) / 3.0 × 0.10 if |magnitude| > 1.0
Rewards strong trajectory in reconstructed phase space.
8. Recurrence Quality (10%):
Contribution: determinism × 0.10 if DET > 0.3 AND 0.1 < RR < 0.8
Rewards deterministic patterns with moderate recurrence.
Total Emergence Score:
E = Σ(components) ∈
Capped at 1.0 maximum.
Emergence Direction:
Separate calculation determining bullish vs bearish:
• Dimensional resonance sign
• Net causal flow sign
• Phase magnitude correlation with momentum
Signal Threshold:
Default emergence_threshold = 0.75 means 75% of maximum possible emergence score required to trigger signals.
Why Emergence Matters:
Traditional indicators measure single dimensions. Emergence detects self-organization —when multiple independent dimensions spontaneously align. This is the market equivalent of a phase transition in physics, where microscopic chaos gives way to macroscopic order.
These are the highest-probability trade opportunities because the entire system is resonating in the same direction.
🎯 SIGNAL GENERATION: EMERGENCE vs RESONANCE
DRP generates two tiers of signals with different requirements:
TIER 1: EMERGENCE SIGNALS (Primary)
Requirements:
1. Emergence score ≥ threshold (default 0.75)
2. Phase coherence ≥ threshold (default 0.70)
3. Emergence direction > 0.2 (bullish) or < -0.2 (bearish)
4. Causal gate passed (if enabled): TE_V→P > 0 and net_flow confirms direction
5. Stability zone (if enabled): λ < 0 or |λ| < 0.1
6. Price confirmation: Close > open (bulls) or close < open (bears)
7. Cooldown satisfied: bars_since_signal ≥ cooldown_period
EMERGENCE BUY:
• All above conditions met with bullish direction
• Market has achieved coherent bullish state
• Multiple dimensions synchronized upward
EMERGENCE SELL:
• All above conditions met with bearish direction
• Market has achieved coherent bearish state
• Multiple dimensions synchronized downward
Premium Emergence:
When signal_quality (emergence_score × phase_coherence) > 0.7:
• Displayed as ★ star symbol
• Highest conviction trades
• Maximum dimensional alignment
Standard Emergence:
When signal_quality 0.5-0.7:
• Displayed as ◆ diamond symbol
• Strong signals but not perfect alignment
TIER 2: RESONANCE SIGNALS (Secondary)
Requirements:
1. Dimensional resonance > +0.6 (bullish) or < -0.6 (bearish)
2. Fractal dimension < 1.5 (trending/persistent regime)
3. Price confirmation matches direction
4. NOT in chaotic regime (λ < 0.2)
5. Cooldown satisfied
6. NO emergence signal firing (resonance is fallback)
RESONANCE BUY:
• Dimensional alignment without full emergence
• Trending fractal structure
• Moderate conviction
RESONANCE SELL:
• Dimensional alignment without full emergence
• Bearish resonance with trending structure
• Moderate conviction
Displayed as small ▲/▼ triangles with transparency.
Signal Hierarchy:
IF emergence conditions met:
Fire EMERGENCE signal (★ or ◆)
ELSE IF resonance conditions met:
Fire RESONANCE signal (▲ or ▼)
ELSE:
No signal
Cooldown System:
After any signal fires, cooldown_period (default 5 bars) must elapse before next signal. This prevents signal clustering during persistent conditions.
Cooldown tracks using bar_index:
bars_since_signal = current_bar_index - last_signal_bar_index
cooldown_ok = bars_since_signal >= cooldown_period
🎨 VISUAL SYSTEM: MULTI-LAYER COMPLEXITY
DRP provides rich visual feedback across four distinct layers:
LAYER 1: COHERENCE FIELD (Background)
Colored background intensity based on phase coherence:
• No background : Coherence < 0.5 (incoherent state)
• Faint glow : Coherence 0.5-0.7 (building coherence)
• Stronger glow : Coherence > 0.7 (coherent state)
Color:
• Cyan/teal: Bullish coherence (direction > 0)
• Red/magenta: Bearish coherence (direction < 0)
• Blue: Neutral coherence (direction ≈ 0)
Transparency: 98 minus (coherence_intensity × 10), so higher coherence = more visible.
LAYER 2: STABILITY/CHAOS ZONES
Background color indicating Lyapunov regime:
• Green tint (95% transparent): λ < 0, STABLE zone
- Safe to trade
- Patterns meaningful
• Gold tint (90% transparent): |λ| < 0.1, CRITICAL zone
- Edge of chaos
- Moderate risk
• Red tint (85% transparent): λ > 0.2, CHAOTIC zone
- Avoid trading
- Unpredictable behavior
LAYER 3: DIMENSIONAL RIBBONS
Three EMAs representing dimensional structure:
• Fast ribbon : EMA(8) in cyan/teal (fast dynamics)
• Medium ribbon : EMA(21) in blue (intermediate)
• Slow ribbon : EMA(55) in red/magenta (slow dynamics)
Provides visual reference for multi-scale structure without cluttering with raw phase space data.
LAYER 4: CAUSAL FLOW LINE
A thicker line plotted at EMA(13) colored by net causal flow:
• Cyan/teal : Net_flow > +0.1 (bullish causation)
• Red/magenta : Net_flow < -0.1 (bearish causation)
• Gray : |Net_flow| < 0.1 (neutral causation)
Shows real-time direction of information flow.
EMERGENCE FLASH:
Strong background flash when emergence signals fire:
• Cyan flash for emergence buy
• Red flash for emergence sell
• 80% transparency for visibility without obscuring price
📊 COMPREHENSIVE DASHBOARD
Real-time monitoring of all complexity metrics:
HEADER:
• 🌀 DRP branding with gold accent
CORE METRICS:
EMERGENCE:
• Progress bar (█ filled, ░ empty) showing 0-100%
• Percentage value
• Direction arrow (↗ bull, ↘ bear, → neutral)
• Color-coded: Green/gold if active, gray if low
COHERENCE:
• Progress bar showing phase locking value
• Percentage value
• Checkmark ✓ if ≥ threshold, circle ○ if below
• Color-coded: Cyan if coherent, gray if not
COMPLEXITY SECTION:
ENTROPY:
• Regime name (CRYSTALLINE/ORDERED/MODERATE/COMPLEX/CHAOTIC)
• Numerical value (0.00-1.00)
• Color: Green (ordered), gold (moderate), red (chaotic)
LYAPUNOV:
• State (STABLE/CRITICAL/CHAOTIC)
• Numerical value (typically -0.5 to +0.5)
• Status indicator: ● stable, ◐ critical, ○ chaotic
• Color-coded by state
FRACTAL:
• Regime (TRENDING/PERSISTENT/RANDOM/ANTI-PERSIST/COMPLEX)
• Dimension value (1.0-2.0)
• Color: Cyan (trending), gold (random), red (complex)
PHASE-SPACE:
• State (STRONG/ACTIVE/QUIET)
• Normalized magnitude value
• Parameters display: d=5 τ=3
CAUSAL SECTION:
CAUSAL:
• Direction (BULL/BEAR/NEUTRAL)
• Net flow value
• Flow indicator: →P (to price), P← (from price), ○ (neutral)
V→P:
• Volume-to-price transfer entropy
• Small display showing specific TE value
DIMENSIONAL SECTION:
RESONANCE:
• Progress bar of absolute resonance
• Signed value (-1 to +1)
• Color-coded by direction
RECURRENCE:
• Recurrence rate percentage
• Determinism percentage display
• Color-coded: Green if high quality
STATE SECTION:
STATE:
• Current mode: EMERGENCE / RESONANCE / CHAOS / SCANNING
• Icon: 🚀 (emergence buy), 💫 (emergence sell), ▲ (resonance buy), ▼ (resonance sell), ⚠ (chaos), ◎ (scanning)
• Color-coded by state
SIGNALS:
• E: count of emergence signals
• R: count of resonance signals
⚙️ KEY PARAMETERS EXPLAINED
Phase Space Configuration:
• Embedding Dimension (3-10, default 5): Reconstruction dimension
- Low (3-4): Simple dynamics, faster computation
- Medium (5-6): Balanced (recommended)
- High (7-10): Complex dynamics, more data needed
- Rule: d ≥ 2D+1 where D is true dimension
• Time Delay (τ) (1-10, default 3): Embedding lag
- Fast markets: 1-2
- Normal: 3-4
- Slow markets: 5-10
- Optimal: First minimum of mutual information (often 2-4)
• Recurrence Threshold (ε) (0.01-0.5, default 0.10): Phase space proximity
- Tight (0.01-0.05): Very similar states only
- Medium (0.08-0.15): Balanced
- Loose (0.20-0.50): Liberal matching
Entropy & Complexity:
• Permutation Order (3-7, default 4): Pattern length
- Low (3): 6 patterns, fast but coarse
- Medium (4-5): 24-120 patterns, balanced
- High (6-7): 720-5040 patterns, fine-grained
- Note: Requires window >> order! for stability
• Entropy Window (15-100, default 30): Lookback for entropy
- Short (15-25): Responsive to changes
- Medium (30-50): Stable measure
- Long (60-100): Very smooth, slow adaptation
• Lyapunov Window (10-50, default 20): Stability estimation window
- Short (10-15): Fast chaos detection
- Medium (20-30): Balanced
- Long (40-50): Stable λ estimate
Causal Inference:
• Enable Transfer Entropy (default ON): Causality analysis
- Keep ON for full system functionality
• TE History Length (2-15, default 5): Causal lookback
- Short (2-4): Quick causal detection
- Medium (5-8): Balanced
- Long (10-15): Deep causal analysis
• TE Discretization Bins (4-12, default 6): Binning granularity
- Few (4-5): Coarse, robust, needs less data
- Medium (6-8): Balanced
- Many (9-12): Fine-grained, needs more data
Phase Coherence:
• Enable Phase Coherence (default ON): Synchronization detection
- Keep ON for emergence detection
• Coherence Threshold (0.3-0.95, default 0.70): PLV requirement
- Loose (0.3-0.5): More signals, lower quality
- Balanced (0.6-0.75): Recommended
- Strict (0.8-0.95): Rare, highest quality
• Hilbert Smoothing (3-20, default 8): Phase smoothing
- Low (3-5): Responsive, noisier
- Medium (6-10): Balanced
- High (12-20): Smooth, more lag
Fractal Analysis:
• Enable Fractal Dimension (default ON): Complexity measurement
- Keep ON for full analysis
• Fractal K-max (4-20, default 8): Scaling range
- Low (4-6): Faster, less accurate
- Medium (7-10): Balanced
- High (12-20): Accurate, slower
• Fractal Window (30-200, default 50): FD lookback
- Short (30-50): Responsive FD
- Medium (60-100): Stable FD
- Long (120-200): Very smooth FD
Emergence Detection:
• Emergence Threshold (0.5-0.95, default 0.75): Minimum coherence
- Sensitive (0.5-0.65): More signals
- Balanced (0.7-0.8): Recommended
- Strict (0.85-0.95): Rare signals
• Require Causal Gate (default ON): TE confirmation
- ON: Only signal when causality confirms
- OFF: Allow signals without causal support
• Require Stability Zone (default ON): Lyapunov filter
- ON: Only signal when λ < 0 (stable) or |λ| < 0.1 (critical)
- OFF: Allow signals in chaotic regimes (risky)
• Signal Cooldown (1-50, default 5): Minimum bars between signals
- Fast (1-3): Rapid signal generation
- Normal (4-8): Balanced
- Slow (10-20): Very selective
- Ultra (25-50): Only major regime changes
Signal Configuration:
• Momentum Period (5-50, default 14): ROC calculation
• Structure Lookback (10-100, default 20): Support/resistance range
• Volatility Period (5-50, default 14): ATR calculation
• Volume MA Period (10-50, default 20): Volume normalization
Visual Settings:
• Customizable color scheme for all elements
• Toggle visibility for each layer independently
• Dashboard position (4 corners) and size (tiny/small/normal)
🎓 PROFESSIONAL USAGE PROTOCOL
Phase 1: System Familiarization (Week 1)
Goal: Understand complexity metrics and dashboard interpretation
Setup:
• Enable all features with default parameters
• Watch dashboard metrics for 500+ bars
• Do NOT trade yet
Actions:
• Observe emergence score patterns relative to price moves
• Note coherence threshold crossings and subsequent price action
• Watch entropy regime transitions (ORDERED → COMPLEX → CHAOTIC)
• Correlate Lyapunov state with signal reliability
• Track which signals appear (emergence vs resonance frequency)
Key Learning:
• When does emergence peak? (usually before major moves)
• What entropy regime produces best signals? (typically ORDERED or MODERATE)
• Does your instrument respect stability zones? (stable λ = better signals)
Phase 2: Parameter Optimization (Week 2)
Goal: Tune system to instrument characteristics
Requirements:
• Understand basic dashboard metrics from Phase 1
• Have 1000+ bars of history loaded
Embedding Dimension & Time Delay:
• If signals very rare: Try lower dimension (d=3-4) or shorter delay (τ=2)
• If signals too frequent: Try higher dimension (d=6-7) or longer delay (τ=4-5)
• Sweet spot: 4-8 emergence signals per 100 bars
Coherence Threshold:
• Check dashboard: What's typical coherence range?
• If coherence rarely exceeds 0.70: Lower threshold to 0.60-0.65
• If coherence often >0.80: Can raise threshold to 0.75-0.80
• Goal: Signals fire during top 20-30% of coherence values
Emergence Threshold:
• If too few signals: Lower to 0.65-0.70
• If too many signals: Raise to 0.80-0.85
• Balance with coherence threshold—both must be met
Phase 3: Signal Quality Assessment (Weeks 3-4)
Goal: Verify signals have edge via paper trading
Requirements:
• Parameters optimized per Phase 2
• 50+ signals generated
• Detailed notes on each signal
Paper Trading Protocol:
• Take EVERY emergence signal (★ and ◆)
• Optional: Take resonance signals (▲/▼) separately to compare
• Use simple exit: 2R target, 1R stop (ATR-based)
• Track: Win rate, average R-multiple, maximum consecutive losses
Quality Metrics:
• Premium emergence (★) : Should achieve >55% WR
• Standard emergence (◆) : Should achieve >50% WR
• Resonance signals : Should achieve >45% WR
• Overall : If <45% WR, system not suitable for this instrument/timeframe
Red Flags:
• Win rate <40%: Wrong instrument or parameters need major adjustment
• Max consecutive losses >10: System not working in current regime
• Profit factor <1.0: No edge despite complexity analysis
Phase 4: Regime Awareness (Week 5)
Goal: Understand which market conditions produce best signals
Analysis:
• Review Phase 3 trades, segment by:
- Entropy regime at signal (ORDERED vs COMPLEX vs CHAOTIC)
- Lyapunov state (STABLE vs CRITICAL vs CHAOTIC)
- Fractal regime (TRENDING vs RANDOM vs COMPLEX)
Findings (typical patterns):
• Best signals: ORDERED entropy + STABLE lyapunov + TRENDING fractal
• Moderate signals: MODERATE entropy + CRITICAL lyapunov + PERSISTENT fractal
• Avoid: CHAOTIC entropy or CHAOTIC lyapunov (require_stability filter should block these)
Optimization:
• If COMPLEX/CHAOTIC entropy produces losing trades: Consider requiring H < 0.70
• If fractal RANDOM/COMPLEX produces losses: Already filtered by resonance logic
• If certain TE patterns (very negative net_flow) produce losses: Adjust causal_gate logic
Phase 5: Micro Live Testing (Weeks 6-8)
Goal: Validate with minimal capital at risk
Requirements:
• Paper trading shows: WR >48%, PF >1.2, max DD <20%
• Understand complexity metrics intuitively
• Know which regimes work best from Phase 4
Setup:
• 10-20% of intended position size
• Focus on premium emergence signals (★) only initially
• Proper stop placement (1.5-2.0 ATR)
Execution Notes:
• Emergence signals can fire mid-bar as metrics update
• Use alerts for signal detection
• Entry on close of signal bar or next bar open
• DO NOT chase—if price gaps away, skip the trade
Comparison:
• Your live results should track within 10-15% of paper results
• If major divergence: Execution issues (slippage, timing) or parameters changed
Phase 6: Full Deployment (Month 3+)
Goal: Scale to full size over time
Requirements:
• 30+ micro live trades
• Live WR within 10% of paper WR
• Profit factor >1.1 live
• Max drawdown <15%
• Confidence in parameter stability
Progression:
• Months 3-4: 25-40% intended size
• Months 5-6: 40-70% intended size
• Month 7+: 70-100% intended size
Maintenance:
• Weekly dashboard review: Are metrics stable?
• Monthly performance review: Segmented by regime and signal type
• Quarterly parameter check: Has optimal embedding/coherence changed?
Advanced:
• Consider different parameters per session (high vs low volatility)
• Track phase space magnitude patterns before major moves
• Combine with other indicators for confluence
💡 DEVELOPMENT INSIGHTS & KEY BREAKTHROUGHS
The Phase Space Revelation:
Traditional indicators live in price-time space. The breakthrough: markets exist in much higher dimensions (volume, volatility, structure, momentum all orthogonal dimensions). Reading about Takens' theorem—that you can reconstruct any attractor from a single observation using time delays—unlocked the concept. Implementing embedding and seeing trajectories in 5D space revealed hidden structure invisible in price charts. Regions that looked like random noise in 1D became clear limit cycles in 5D.
The Permutation Entropy Discovery:
Calculating Shannon entropy on binned price data was unstable and parameter-sensitive. Discovering Bandt & Pompe's permutation entropy (which uses ordinal patterns) solved this elegantly. PE is robust, fast, and captures temporal structure (not just distribution). Testing showed PE < 0.5 periods had 18% higher signal win rate than PE > 0.7 periods. Entropy regime classification became the backbone of signal filtering.
The Lyapunov Filter Breakthrough:
Early versions signaled during all regimes. Win rate hovered at 42%—barely better than random. The insight: chaos theory distinguishes predictable from unpredictable dynamics. Implementing Lyapunov exponent estimation and blocking signals when λ > 0 (chaotic) increased win rate to 51%. Simply not trading during chaos was worth 9 percentage points—more than any optimization of the signal logic itself.
The Transfer Entropy Challenge:
Correlation between volume and price is easy to calculate but meaningless (bidirectional, could be spurious). Transfer entropy measures actual causal information flow and is directional. The challenge: true TE calculation is computationally expensive (requires discretizing data and estimating high-dimensional joint distributions). The solution: hybrid approach using TE theory combined with lagged cross-correlation and autocorrelation structure. Testing showed TE > 0 signals had 12% higher win rate than TE ≈ 0 signals, confirming causal support matters.
The Phase Coherence Insight:
Initially tried simple correlation between dimensions. Not predictive. Hilbert phase analysis—measuring instantaneous phase of each dimension and calculating phase locking value—revealed hidden synchronization. When PLV > 0.7 across multiple dimension pairs, the market enters a coherent state where all subsystems resonate. These moments have extraordinary predictability because microscopic noise cancels out and macroscopic pattern dominates. Emergence signals require high PLV for this reason.
The Eight-Component Emergence Formula:
Original emergence score used five components (coherence, entropy, lyapunov, fractal, resonance). Performance was good but not exceptional. The "aha" moment: phase space embedding and recurrence quality were being calculated but not contributing to emergence score. Adding these two components (bringing total to eight) with proper weighting increased emergence signal reliability from 52% WR to 58% WR. All calculated metrics must contribute to the final score. If you compute something, use it.
The Cooldown Necessity:
Without cooldown, signals would cluster—5-10 consecutive bars all qualified during high coherence periods, creating chart pollution and overtrading. Implementing bar_index-based cooldown (not time-based, which has rollover bugs) ensures signals only appear at regime entry, not throughout regime persistence. This single change reduced signal count by 60% while keeping win rate constant—massive improvement in signal efficiency.
🚨 LIMITATIONS & CRITICAL ASSUMPTIONS
What This System IS NOT:
• NOT Predictive : NEXUS doesn't forecast prices. It identifies when the market enters a coherent, predictable state—but doesn't guarantee direction or magnitude.
• NOT Holy Grail : Typical performance is 50-58% win rate with 1.5-2.0 avg R-multiple. This is probabilistic edge from complexity analysis, not certainty.
• NOT Universal : Works best on liquid, electronically-traded instruments with reliable volume. Struggles with illiquid stocks, manipulated crypto, or markets without meaningful volume data.
• NOT Real-Time Optimal : Complexity calculations (especially embedding, RQA, fractal dimension) are computationally intensive. Dashboard updates may lag by 1-2 seconds on slower connections.
• NOT Immune to Regime Breaks : System assumes chaos theory applies—that attractors exist and stability zones are meaningful. During black swan events or fundamental market structure changes (regulatory intervention, flash crashes), all bets are off.
Core Assumptions:
1. Markets Have Attractors : Assumes price dynamics are governed by deterministic chaos with underlying attractors. Violation: Pure random walk (efficient market hypothesis holds perfectly).
2. Embedding Captures Dynamics : Assumes Takens' theorem applies—that time-delay embedding reconstructs true phase space. Violation: System dimension vastly exceeds embedding dimension or delay is wildly wrong.
3. Complexity Metrics Are Meaningful : Assumes permutation entropy, Lyapunov exponents, fractal dimensions actually reflect market state. Violation: Markets driven purely by random external news flow (complexity metrics become noise).
4. Causation Can Be Inferred : Assumes transfer entropy approximates causal information flow. Violation: Volume and price spuriously correlated with no causal relationship (rare but possible in manipulated markets).
5. Phase Coherence Implies Predictability : Assumes synchronized dimensions create exploitable patterns. Violation: Coherence by chance during random period (false positive).
6. Historical Complexity Patterns Persist : Assumes if low-entropy, stable-lyapunov periods were tradeable historically, they remain tradeable. Violation: Fundamental regime change (market structure shifts, e.g., transition from floor trading to HFT).
Performs Best On:
• ES, NQ, RTY (major US index futures - high liquidity, clean volume data)
• Major forex pairs: EUR/USD, GBP/USD, USD/JPY (24hr markets, good for phase analysis)
• Liquid commodities: CL (crude oil), GC (gold), NG (natural gas)
• Large-cap stocks: AAPL, MSFT, GOOGL, TSLA (>$10M daily volume, meaningful structure)
• Major crypto on reputable exchanges: BTC, ETH on Coinbase/Kraken (avoid Binance due to manipulation)
Performs Poorly On:
• Low-volume stocks (<$1M daily volume) - insufficient liquidity for complexity analysis
• Exotic forex pairs - erratic spreads, thin volume
• Illiquid altcoins - wash trading, bot manipulation invalidates volume analysis
• Pre-market/after-hours - gappy, thin, different dynamics
• Binary events (earnings, FDA approvals) - discontinuous jumps violate dynamical systems assumptions
• Highly manipulated instruments - spoofing and layering create false coherence
Known Weaknesses:
• Computational Lag : Complexity calculations require iterating over windows. On slow connections, dashboard may update 1-2 seconds after bar close. Signals may appear delayed.
• Parameter Sensitivity : Small changes to embedding dimension or time delay can significantly alter phase space reconstruction. Requires careful calibration per instrument.
• Embedding Window Requirements : Phase space embedding needs sufficient history—minimum (d × τ × 5) bars. If embedding_dimension=5 and time_delay=3, need 75+ bars. Early bars will be unreliable.
• Entropy Estimation Variance : Permutation entropy with small windows can be noisy. Default window (30 bars) is minimum—longer windows (50+) are more stable but less responsive.
• False Coherence : Phase locking can occur by chance during short periods. Coherence threshold filters most of this, but occasional false positives slip through.
• Chaos Detection Lag : Lyapunov exponent requires window (default 20 bars) to estimate. Market can enter chaos and produce bad signal before λ > 0 is detected. Stability filter helps but doesn't eliminate this.
• Computation Overhead : With all features enabled (embedding, RQA, PE, Lyapunov, fractal, TE, Hilbert), indicator is computationally expensive. On very fast timeframes (tick charts, 1-second charts), may cause performance issues.
⚠️ RISK DISCLOSURE
Trading futures, forex, stocks, options, and cryptocurrencies involves substantial risk of loss and is not suitable for all investors. Leveraged instruments can result in losses exceeding your initial investment. Past performance, whether backtested or live, is not indicative of future results.
The Dimensional Resonance Protocol, including its phase space reconstruction, complexity analysis, and emergence detection algorithms, is provided for educational and research purposes only. It is not financial advice, investment advice, or a recommendation to buy or sell any security or instrument.
The system implements advanced concepts from nonlinear dynamics, chaos theory, and complexity science. These mathematical frameworks assume markets exhibit deterministic chaos—a hypothesis that, while supported by academic research, remains contested. Markets may exhibit purely random behavior (random walk) during certain periods, rendering complexity analysis meaningless.
Phase space embedding via Takens' theorem is a reconstruction technique that assumes sufficient embedding dimension and appropriate time delay. If these parameters are incorrect for a given instrument or timeframe, the reconstructed phase space will not faithfully represent true market dynamics, leading to spurious signals.
Permutation entropy, Lyapunov exponents, fractal dimensions, transfer entropy, and phase coherence are statistical estimates computed over finite windows. All have inherent estimation error. Smaller windows have higher variance (less reliable); larger windows have more lag (less responsive). There is no universally optimal window size.
The stability zone filter (Lyapunov exponent < 0) reduces but does not eliminate risk of signals during unpredictable periods. Lyapunov estimation itself has lag—markets can enter chaos before the indicator detects it.
Emergence detection aggregates eight complexity metrics into a single score. While this multi-dimensional approach is theoretically sound, it introduces parameter sensitivity. Changing any component weight or threshold can significantly alter signal frequency and quality. Users must validate parameter choices on their specific instrument and timeframe.
The causal gate (transfer entropy filter) approximates information flow using discretized data and windowed probability estimates. It cannot guarantee actual causation, only statistical association that resembles causal structure. Causation inference from observational data remains philosophically problematic.
Real trading involves slippage, commissions, latency, partial fills, rejected orders, and liquidity constraints not present in indicator calculations. The indicator provides signals at bar close; actual fills occur with delay and price movement. Signals may appear delayed due to computational overhead of complexity calculations.
Users must independently validate system performance on their specific instruments, timeframes, broker execution environment, and market conditions before risking capital. Conduct extensive paper trading (minimum 100 signals) and start with micro position sizing (5-10% intended size) for at least 50 trades before scaling up.
Never risk more capital than you can afford to lose completely. Use proper position sizing (0.5-2% risk per trade maximum). Implement stop losses on every trade. Maintain adequate margin/capital reserves. Understand that most retail traders lose money. Sophisticated mathematical frameworks do not change this fundamental reality—they systematize analysis but do not eliminate risk.
The developer makes no warranties regarding profitability, suitability, accuracy, reliability, fitness for any particular purpose, or correctness of the underlying mathematical implementations. Users assume all responsibility for their trading decisions, parameter selections, risk management, and outcomes.
By using this indicator, you acknowledge that you have read, understood, and accepted these risk disclosures and limitations, and you accept full responsibility for all trading activity and potential losses.
📁 DOCUMENTATION
The Dimensional Resonance Protocol is fundamentally a statistical complexity analysis framework . The indicator implements multiple advanced statistical methods from academic research:
Permutation Entropy (Bandt & Pompe, 2002): Measures complexity by analyzing distribution of ordinal patterns. Pure statistical concept from information theory.
Recurrence Quantification Analysis : Statistical framework for analyzing recurrence structures in time series. Computes recurrence rate, determinism, and diagonal line statistics.
Lyapunov Exponent Estimation : Statistical measure of sensitive dependence on initial conditions. Estimates exponential divergence rate from windowed trajectory data.
Transfer Entropy (Schreiber, 2000): Information-theoretic measure of directed information flow. Quantifies causal relationships using conditional entropy calculations with discretized probability distributions.
Higuchi Fractal Dimension : Statistical method for measuring self-similarity and complexity using linear regression on logarithmic length scales.
Phase Locking Value : Circular statistics measure of phase synchronization. Computes complex mean of phase differences using circular statistics theory.
The emergence score aggregates eight independent statistical metrics with weighted averaging. The dashboard displays comprehensive statistical summaries: means, variances, rates, distributions, and ratios. Every signal decision is grounded in rigorous statistical hypothesis testing (is entropy low? is lyapunov negative? is coherence above threshold?).
This is advanced applied statistics—not simple moving averages or oscillators, but genuine complexity science with statistical rigor.
Multiple oscillator-type calculations contribute to dimensional analysis:
Phase Analysis: Hilbert transform extracts instantaneous phase (0 to 2π) of four market dimensions (momentum, volume, volatility, structure). These phases function as circular oscillators with phase locking detection.
Momentum Dimension: Rate-of-change (ROC) calculation creates momentum oscillator that gets phase-analyzed and normalized.
Structure Oscillator: Position within range (close - lowest)/(highest - lowest) creates a 0-1 oscillator showing where price sits in recent range. This gets embedded and phase-analyzed.
Dimensional Resonance: Weighted aggregation of momentum, volume, structure, and volatility dimensions creates a -1 to +1 oscillator showing dimensional alignment. Similar to traditional oscillators but multi-dimensional.
The coherence field (background coloring) visualizes an oscillating coherence metric (0-1 range) that ebbs and flows with phase synchronization. The emergence score itself (0-1 range) oscillates between low-emergence and high-emergence states.
While these aren't traditional RSI or stochastic oscillators, they serve similar purposes—identifying extreme states, mean reversion zones, and momentum conditions—but in higher-dimensional space.
Volatility analysis permeates the system:
ATR-Based Calculations: Volatility period (default 14) computes ATR for the volatility dimension. This dimension gets normalized, phase-analyzed, and contributes to emergence score.
Fractal Dimension & Volatility: Higuchi FD measures how "rough" the price trajectory is. Higher FD (>1.6) correlates with higher volatility/choppiness. FD < 1.4 indicates smooth trends (lower effective volatility).
Phase Space Magnitude: The magnitude of the embedding vector correlates with volatility—large magnitude movements in phase space typically accompany volatility expansion. This is the "energy" of the market trajectory.
Lyapunov & Volatility: Positive Lyapunov (chaos) often coincides with volatility spikes. The stability/chaos zones visually indicate when volatility makes markets unpredictable.
Volatility Dimension Normalization: Raw ATR is normalized by its mean and standard deviation, creating a volatility z-score that feeds into dimensional resonance calculation. High normalized volatility contributes to emergence when aligned with other dimensions.
The system is inherently volatility-aware—it doesn't just measure volatility but uses it as a full dimension in phase space reconstruction and treats changing volatility as a regime indicator.
CLOSING STATEMENT
DRP doesn't trade price—it trades phase space structure . It doesn't chase patterns—it detects emergence . It doesn't guess at trends—it measures coherence .
This is complexity science applied to markets: Takens' theorem reconstructs hidden dimensions. Permutation entropy measures order. Lyapunov exponents detect chaos. Transfer entropy reveals causation. Hilbert phases find synchronization. Fractal dimensions quantify self-similarity.
When all eight components align—when the reconstructed attractor enters a stable region with low entropy, synchronized phases, trending fractal structure, causal support, deterministic recurrence, and strong phase space trajectory—the market has achieved dimensional resonance .
These are the highest-probability moments. Not because an indicator said so. Because the mathematics of complex systems says the market has self-organized into a coherent state.
Most indicators see shadows on the wall. DRP reconstructs the cave.
"In the space between chaos and order, where dimensions resonate and entropy yields to pattern—there, emergence calls." DRP
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
SCOTTGO - STOCK QUOTE V3This script is a customizable Pine Script indicator that creates a detailed, real-time table of essential trading metrics directly on your chart.
Its purpose is to provide day traders with a single-glance overview of the stock's most critical data points, including:
Valuation & Float (Market Cap, Shares Outstanding)
Daily Price Movement (High/Low, Daily Change %)
Volume & Momentum (RVOL, Volume Buzz, U/D Ratio, RSI)
Short Selling Pressure (Short Volume %)
It helps you quickly assess a stock's market structure, momentum, and technical context for efficient intraday decision-making.






















