Séparateur H4 & DailyH4 & Daily Separator - TradingView Indicator
This Pine Script v6 indicator draws infinite vertical lines to mark H4 and Daily candle separations on your chart.
Features:
H4 Separations: Marks candles starting at 3am, 7am, 11am, 3pm, 7pm, and 11pm
Daily Separations: Marks candles starting at midnight (00:00)
Fully Customizable:
Toggle H4 and/or Daily lines independently
Choose line color, thickness (1-4), and style (Solid, Dotted, Dashed)
Control the number of visible vertical lines (1-500)
Use Case:
Perfect for traders who want to visualize higher timeframe separations while trading on lower timeframes. Helps identify H4 and Daily candle opens without switching charts.
Installation:
Simply copy the code into TradingView's Pine Editor and add it to your chart. All settings are adjustable in the indicator's settings panel.
Chu kỳ
Trend Trader//@version=6
indicator("Trend Trader", shorttitle="Trend Trader", overlay=true)
// User-defined input for moving averages
shortMA = input.int(10, minval=1, title="Short MA Period")
longMA = input.int(100, minval=1, title="Long MA Period")
// User-defined input for the instrument selection
instrument = input.string("US30", title="Select Instrument", options= )
// Set target values based on selected instrument
target_1 = instrument == "US30" ? 50 :
instrument == "NDX100" ? 25 :
instrument == "GER40" ? 25 :
instrument == "GOLD" ? 5 : 5 // default value
target_2 = instrument == "US30" ? 100 :
instrument == "NDX100" ? 50 :
instrument == "GER40" ? 50 :
instrument == "GOLD" ? 10 : 10 // default value
// User-defined input for the start and end times with default values
startTimeInput = input.int(12, title="Start Time for Session (UTC, in hours)", minval=0, maxval=23)
endTimeInput = input.int(17, title="End Time Session (UTC, in hours)", minval=0, maxval=23)
// Convert the input hours to minutes from midnight
startTime = startTimeInput * 60
endTime = endTimeInput * 60
// Function to convert the current exchange time to UTC time in minutes
toUTCTime(exchangeTime) =>
exchangeTimeInMinutes = exchangeTime / 60000
// Adjust for UTC time
utcTime = exchangeTimeInMinutes % 1440
utcTime
// Get the current time in UTC in minutes from midnight
utcTime = toUTCTime(time)
// Check if the current UTC time is within the allowed timeframe
isAllowedTime = (utcTime >= startTime and utcTime < endTime)
// Calculating moving averages
shortMAValue = ta.sma(close, shortMA)
longMAValue = ta.sma(close, longMA)
// Plotting the MAs
plot(shortMAValue, title="Short MA", color=color.blue)
plot(longMAValue, title="Long MA", color=color.red)
// MACD calculation for 15-minute chart
= request.security(syminfo.tickerid, "15", ta.macd(close, 12, 26, 9))
macdColor = macdLine > signalLine ? color.new(color.green, 70) : color.new(color.red, 70)
// Apply MACD color only during the allowed time range
bgcolor(isAllowedTime ? macdColor : na)
// Flags to track if a buy or sell signal has been triggered
var bool buyOnce = false
var bool sellOnce = false
// Tracking buy and sell entry prices
var float buyEntryPrice_1 = na
var float buyEntryPrice_2 = na
var float sellEntryPrice_1 = na
var float sellEntryPrice_2 = na
if not isAllowedTime
buyOnce :=false
sellOnce :=false
// Logic for Buy and Sell signals
buySignal = ta.crossover(shortMAValue, longMAValue) and isAllowedTime and macdLine > signalLine and not buyOnce
sellSignal = ta.crossunder(shortMAValue, longMAValue) and isAllowedTime and macdLine <= signalLine and not sellOnce
// Update last buy and sell signal values
if (buySignal)
buyEntryPrice_1 := close
buyEntryPrice_2 := close
buyOnce := true
if (sellSignal)
sellEntryPrice_1 := close
sellEntryPrice_2 := close
sellOnce := true
// Apply background color for entry candles
barcolor(buySignal or sellSignal ? color.yellow : na)
/// Creating buy and sell labels
if (buySignal)
label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.green, textcolor=color.white, yloc=yloc.belowbar)
if (sellSignal)
label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.red, textcolor=color.white, yloc=yloc.abovebar)
// Creating labels for 100-point movement
if (not na(buyEntryPrice_1) and close >= buyEntryPrice_1 + target_1)
label.new(bar_index, high, text=str.tostring(target_1), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
buyEntryPrice_1 := na // Reset after label is created
if (not na(buyEntryPrice_2) and close >= buyEntryPrice_2 + target_2)
label.new(bar_index, high, text=str.tostring(target_2), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
buyEntryPrice_2 := na // Reset after label is created
if (not na(sellEntryPrice_1) and close <= sellEntryPrice_1 - target_1)
label.new(bar_index, low, text=str.tostring(target_1), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
sellEntryPrice_1 := na // Reset after label is created
if (not na(sellEntryPrice_2) and close <= sellEntryPrice_2 - target_2)
label.new(bar_index, low, text=str.tostring(target_2), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
sellEntryPrice_2 := na // Reset after label is created
Gemini Wyckoff Trend SystemStrategy Name: Gemini Wyckoff-Trend System
1. Core Design Philosophy
This strategy fuses Wyckoff Theory (specifically the "Law of Effort vs. Result") with classic Trend Following principles. Its primary goal is not to catch every minor fluctuation, but to filter out 80% of market noise and fakeouts, ensuring that you only pull the trigger when "Smart Money" enters the market with genuine volume.
It operates on a strict "3-Dimension Verification" logic:
Trend (Context): Never trade against the macro trend.
Structure (Price Action): Identify accumulation zones and wait for the breakout.
Volume (Effort): Require massive volume confirmation to validate the move.
2. The 3-Filter System
Filter 1: The Trend Filter (EMA 200)
Rule: The strategy only looks for Long setups when the price is ABOVE the 200-period Exponential Moving Average (EMA).
Purpose: To strictly prevent "catching falling knives" or counter-trend trading during a bear market.
Filter 2: The Structure Filter (Donchian Channel)
Rule: The script automatically identifies the highest high of the past 20 bars to define the "Accumulation Box." A signal is only possible if the price closes above this resistance level.
Wyckoff Term: This represents "Jumping the Creek" (JTC)—signaling that price is leaving the trading range.
Filter 3: The Volume Filter (RVOL > 1.5)
Rule: The breakout bar must have a volume that is at least 1.5x higher than the average volume of the past 20 bars.
Purpose: To eliminate "Upthrusts" (Fake Breakouts). If price breaks out on low volume, the system ignores it.
3. Visual Guide
Once loaded, here is how to read the chart:
📉 Orange Line (EMA 200): The Bull/Bear divider. If price is below this line, stay in cash.
🌫️ Grey Zone: The "No-Trade Zone" (Accumulation/Consolidation). Do not trade while price is inside this box.
🟢 Lime Green Bar: The Entry Signal. This indicates a valid breakout confirmed by high volume (Smart Money entry).
🪜 Red Step Line: Your Trailing Stop (ATR-based). As long as you hold a position, watch this line. If price closes below it, exit immediately.
📊 Dashboard (Top Right): Monitors market "Heat." If RVOL is Green, volume is significant.
4. Best Practices
Ideal For: Traders who struggle with over-trading or FOMO. This script enforces patience and discipline.
Timeframe: Recommended for 4-Hour (4H) or Daily (1D) charts to catch major crypto trends (e.g., Bitcoin main waves).
Asset Class: Crypto, Stocks, or any asset with high volume liquidity.
5. Risk Warning
This strategy includes a built-in ATR Volatility Stop. The stop-loss level adjusts dynamically based on market volatility. Please adhere strictly to the stop-loss signals to protect your capital.
Universal Heatmap - QuantSyUniversal Heatmap - QuantSy
A sophisticated market valuation tool that synthesizes multiple on-chain and technical metrics into a single, intuitive heat-mapped visualization. Provides probabilistic assessment of market extremes through dynamic gradient coloring.
What it does:
Analyzes various dimensions of market behavior including value metrics, profit/loss ratios, momentum signals, and risk-adjusted performance. Converts complex data into a simple visual spectrum where blue indicates undervalued conditions and red signals overvalued territory.
Best for:
Identifying potential reversal zones
Gauging relative market positioning
Risk management and allocation decisions
Multi-timeframe valuation analysis
The percentile-based color scaling adapts to each asset's unique history, making it applicable across different markets and timeframes. Get an at-a-glance read on where current conditions stand relative to historical norms.
**⚠️ Disclaimer**
Educational tool only - does not constitute investment advice. The developer assumes no liability for any trading profits or losses incurred through the use/misuse of this indicator.
This indicator does not include any features related to interest, leverage, or gambling. Users are fully responsible for making sure their assets and trading practices align with Islamic guidelines.
PST Super Simple System v2.5+PinkSlips Trading was built to give traders real structure, real tools, and real support — without the confusion or false promises you find everywhere else. Everything we provide is focused on helping you trade with clarity and confidence.
Professional-Grade Indicators
We develop custom TradingView indicators designed to simplify your decision-making. Clean, reliable, and built to support consistent trading.
Daily Live Trading Sessions
Members can watch the market with us in real time. We walk through bias, key levels, trade execution, and risk management so you can learn the process step-by-step.
Personal Guidance and Trade Planning
Whether you need help building a strategy, fixing your discipline, or understanding your data, we offer direct support and tailored plans to help you improve faster.
A Focused, Results-Driven Community
PinkSlips Trading is built for traders who want to get better — not for hype. You’ll be surrounded by people who take trading seriously and are committed to long-term growth.
PinkSlips Sauce IndicatorChecklist v4PinkSlips’ personal checklist assistant for catching clean trend moves.
It stacks EMAs (20/50/200), checks RSI strength, filters chop with ATR, then prints a simple YES/NO checklist so you know when the sauce is actually there.
What it does
EMA trend filter (bullish / bearish structure)
RSI confirmation for high-probability longs & shorts
ATR chop filter so you avoid dead zones
On-chart checklist box: trend up/down, ATR OK, long/short ready, last signal
Optional LONG/SHORT labels on the candles for execution
Use this as your pre–entry checklist so you stop forcing trades and only take the clean PinkSlips setups.
PST Bread Checklist v4Uses 50/200 EMA for higher-timeframe trend
Uses RSI zones + cross for entry
Adds volatility filter (ATR vs its own average)
Optional session filter (RTH 09:30–16:00)
Has a cooldown so you don’t get 10 labels in a row
Shows a checklist box + last signal
Multi-TimeCycle SMT Live DetectorThis indicator is a multi-asset, multi-timeframe SMT Live detector designed to work on any symbol (indices, futures, FX, crypto, stocks).
It compares your chart symbol against up to two custom comparison symbols and automatically detects bullish and bearish SMT divergences across:
90-minute session blocks (Asia, London, NY – with internal 90m sessions)
60-minute (hourly) cycles
30-minute cycles
10-minute cycles
3-minute cycles
Each SMT is plotted as a line between the reference high/low and the current high/low, with a clear text label showing:
Timecycle (90m / 60m / 30m / 10m / 3m)
Which comparison asset(s) created the divergence (e.g., ES, YM, ES/YM or your custom labels)
The 90-minute SMT module is session-aware using New York time:
Asia: 18:00 – 02:29 NY time
London A/M/D
NY AM A/M/D
NY PM A/M/D
Multi-TimeCycles SMT Live DetectorThis indicator is a multi-asset, multi-timeframe SMT Live detector designed to work on any symbol (indices, futures, FX, crypto, stocks).
It compares your chart symbol against up to two custom comparison symbols and automatically detects bullish and bearish SMT divergences across:
90-minute session blocks (Asia, London, NY – with internal 90m sessions)
60-minute (hourly) cycles
30-minute cycles
10-minute cycles
3-minute cycles
Each SMT is plotted as a line between the reference high/low and the current high/low, with a clear text label showing:
Timecycle (90m / 60m / 30m / 10m / 3m)
Which comparison asset(s) created the divergence (e.g., ES, YM, ES/YM or your custom labels)
The 90-minute SMT module is session-aware using New York time:
Asia: 18:00 – 02:29 NY time
London A/M/D
NY AM A/M/D
NY PM A/M/D
Aroon + Chaiki OscillatorThis is an Chaiki Oscillator that facilitates more straightforward trendline analysis utilizing the Aroon setup for bars.
This is a simple Pinescript designed for incorporation into your charting analysis.
As always, none of this is investment or financial advice. Please do your own due diligence and research.
Weekly Open + Monday High/Low (After Monday Close)b]Description
This indicator marks key weekly reference levels based on Monday’s price behavior.
It automatically detects each trading week and tracks:
• Weekly Open – the first traded price of the new week
• Monday High – the highest price reached on Monday
• Monday Low – the lowest price reached on Monday
Logic
The Monday range is fully captured only after Monday has closed .
No levels are plotted during Monday.
Starting from Tuesday, the indicator displays thin dots showing the completed Monday High, Monday Low, and Weekly Open for the remainder of the week.
When a new week begins, the indicator resets automatically and begins tracking the new week’s Monday.
Customization
The user can choose colors for:
• Monday High/Low
• Weekly Open
Purpose
This indicator helps traders visualize weekly structure, monitor weekly opening levels, and quickly identify Monday’s range for weekly bias analysis or strategy development.
It can also be used to manually backtest Monday range strategies .
[GYTS-Pro] Market Regime Detector🧊 Market Regime Detector (Professional Edition)
🌸 Part of GoemonYae Trading System (GYTS) 🌸
🌸 --------- INTRODUCTION --------- 🌸
💮 What is the Market Regime Detector?
The Market Regime Detector (Pro) is an elite, consensus-based market state analyzer designed to filter noise and identify the true underlying market structure. By distinguishing between trending (bullish or bearish) and cyclic (range-bound) market conditions with high precision, this detector acts as the "brain" of your trading system. Instead of forcing a single strategy across incompatible market conditions, the detector empowers you to deploy the right tactic at exactly the right time.
💮 The Importance of Market Regimes
Markets constantly shift between different behavioural states or "regimes":
• Bullish trending markets - characterised by sustained upward price movement
• Bearish trending markets - characterised by sustained downward price movement
• Cyclic markets - characterised by range-bound, oscillating behaviour
Each regime requires fundamentally different trading approaches. Trend-following strategies excel in trending markets but fail in cyclic ones, while mean-reversion strategies shine in cyclic markets but underperform in trending conditions. However, detecting these regimes is easier said than done, and we have gone through hundreds of hours of testing to create the Market Regime Detector, using multiple very sophisticated methods in an easy-to-use indicator.
💮 Professional vs Community Edition
The Market Regime Detector comes in two versions: a comprehensive Professional Edition and a streamlined Community Edition.
Key advantages of the Professional Edition:
• Enhanced detection accuracy - Utilises 5 advanced detection methods (compared to only 2 in the CE version)
• Proprietary cycle measurement - Automatically detects the market's dominant cycle instead of requiring manual input
• Superior consensus mechanism - Includes a unique "strength-weighted decision" mode that gives more influence to stronger signals
• Reduced false signals - Multiple complementary methods working together provide more reliable regime identification
• Advanced DSP algorithms - Implements sophisticated digital signal processing techniques for superior market analysis
The Professional Edition delivers significant improvements in detection accuracy, signal stability, and overall trading performance.
🌸 --------- KEY FEATURES --------- 🌸
💮 Consensus-Based Detection
Rather than relying on a single method, our detector employs multiple complementary detection methodologies that analyse different aspects of market behaviour:
• Advanced digital signal processing techniques
• Volatility and momentum analysis
• Adaptive filters and mathematical transformations
• Cycle identification
• Channel breakout detection
These diverse perspectives are synthesised into a robust consensus that minimises false signals while maintaining responsiveness to genuine regime changes.
💮 Proprietary Dominant Cycle Measurement ( Pro Edition only )
At the heart of our Professional Edition detector is a proprietary dominant cycle measurement system that automatically and adaptively identifies the market's natural rhythm. This system provides a stable reference framework that continuously adapts to changing market conditions while avoiding the erratic behaviour of typical cycle-finding algorithms like Hilbert Transforms, Discrete Fourier Transforms, or autocorrelation measurements.
Unlike the Community Edition which requires manual input of a single, constant dominant cycle period, the Professional Edition automatically detects and continuously adapts this critical parameter. This automated and adaptive approach ensures optimal detection accuracy across different markets and timeframes without requiring user expertise in cycle analysis, and provides significantly better responsiveness to evolving market conditions.
💮 Intuitive Parameter System
We've distilled complex technical parameters into intuitive controls that traders can easily understand:
• Adaptability - how quickly the detector responds to changing market conditions
• Sensitivity - how readily the detector identifies transitions between regimes
• Consensus requirement - how much agreement is needed among detection methods
This approach makes the detector accessible to traders of all experience levels while preserving the power of the underlying algorithms.
💮 Visual Market Feedback
The detector provides clear visual feedback about the current market regime through:
• Colour-coded chart backgrounds (purple shades for bullish, pink for bearish, yellow for cyclic)
• Colour-coded price bars
• Strength indicators showing the degree of consensus
• Customisable color schemes to match your preferences or trading system
💮 Integration in the GYTS suite
What is of paramount importance, is that the Market Regime Detector is compatible with the GYTS Suite , i.e. it passes the regime into the Order Orchestrator where you can set how to trade the trending and cyclic regime. The intention is to integrate it with more indicators.
🌸 --------- CONFIGURATION SETTINGS --------- 🌸
💮 Adaptability
Controls how quickly the Market Regime detector adapts to changing market conditions. You can see it as a low-frequency, long-term change parameter:
• Very Low: Very slow adaptation, most stable but may miss regime changes
• Low: Slower adaptation, more stability but less responsiveness
• Normal: Balanced between stability and responsiveness
• High: Faster adaptation, more responsive but less stable
• Very High: Very fast adaptation, highly responsive but may generate false signals
This setting affects lookback periods and filter parameters across all detection methods.
💮 Sensitivity
Controls the conviction threshold required to trigger a regime change. This acts as a high-frequency, short-term filter for market noise:
• Very Low: Requires overwhelming evidence to identify a regime change.
• Low: Prioritizes stability; reduces false signals but may delay transition detection.
• Normal: Balanced sensitivity suitable for most liquid markets.
• High: Highly responsive; detects subtle regime changes early but may react to market noise.
• Very High: Extremely sensitive; detects minor fluctuations immediately.
Pro Feature Note: In the Strength-Weighted Decision mode, this setting acts as a dynamic calibrator. It not only adjusts individual method thresholds but also scales the global consensus threshold . A 'High' sensitivity lowers the barrier for the weighted consensus, allowing the system to react to early-stage breakouts even if not all methods fully agree yet.
💮 Consensus Mode
Determines how the signals from all detection methods are combined to produce the final market regime:
• Any Method (OR) : Signals bullish/bearish if any method detects that regime. If methods conflict, the stronger signal wins. More sensitive, catches more regime changes but may produce more false signals.
• All Methods (AND) : Signals only when all methods agree on the regime. More conservative, reduces false signals but might miss some legitimate regime changes.
• Weighted Decision : Balances all methods with equal voting rights. Signals bullish/bearish when the weighted consensus reaches a fixed majority (0.5). Provides a middle ground between sensitivity and stability.
• Strength-Weighted Decision ( Pro Edition only ): A "meritocratic" approach where methods reporting extreme confidence (high signal strength) are given proportionally more weight than those reporting weak signals. Unlike standard voting, a single clear signal from a highly reliable method can override indecision from others.
Note: The threshold for this decision is dynamically calibrated by your 'Sensitivity' setting, ensuring the logic adapts to your desired risk profile.
Each mode also calculates a continuous regime strength value that drives the color intensity in the 'unconstrained' display mode, giving you a visual heatmap of trend conviction.
💮 Display Mode
Choose how to display the market regime colours:
• Unconstrained regime: Shows the regime strength as a continuous gradient. This provides more nuanced visualisation where the intensity of the color indicates the strength of the trend.
• Consensus only: Shows only the final consensus regime with fixed colours based on the detected regime type.
The background and bar colours will change to indicate the current market regime:
• Purple shades : Bullish trending market. In 'unconstrained' mode, darker purple indicates a stronger bullish trend.
• Pink shades : Bearish trending market. In 'unconstrained' mode, darker pink indicates a stronger bearish trend.
• Yellow : Cyclic (range-bound) market.
💮 Custom Color Options
The Market Regime Detector allows you to customize the color scheme to match your personal preferences or to coordinate with other indicators:
• Use custom colours: Toggle to enable your own color choices instead of the default scheme
• Transparency: Adjust the transparency level of all regime colours
• Bullish colours: Define custom colours for strong, medium, weak, and very weak bullish trends
• Bearish colours: Define custom colours for strong, medium, weak, and very weak bearish trends
• Cyclic color: Define a custom color for cyclic (range-bound) market conditions
🌸 --------- DETECTION METHODS --------- 🌸
💮 Five-Method Consensus Architecture
The Professional Edition employs a sophisticated multi-stage architecture to determine market regimes with high precision.
The detection process flows through four logical stages:
1. Market Data & Cycle Detection
Price data flows into the system where the Dominant Cycle Detector automatically identifies the market's natural rhythm. This adaptive cycle length calibrates all subsequent calculations, ensuring the detector remains in sync with changing market conditions without manual adjustments.
2. Five Detection Methods
Using the detected cycle, five complementary algorithms independently evaluate the market state:
• Cyclic Centroid Analysis : Calculates the market's 'centre point' over its dominant cycle and measures price displacement to determine trend or equilibrium.
• Spectral Momentum : Measures momentum across the market's frequency spectrum to identify trend concentration.
• Energy Distribution Gauge : Gauges how price movement energy is distributed to flag cyclic or trending states.
• Volatility Channel : Models the market's volatility state, using band breakouts to indicate a trend.
• Phase Coherence Detector : Analyses phase relationships between adaptive low-pass filters to detect trend stability and identify early regime shifts.
3. Consensus Engine
The signals from all five methods are fed into the Consensus Engine. Depending on your configuration, it aggregates these votes using one of four logic modes (Any, All, Weighted, or Strength-Weighted) to filter out noise and confirm the true market regime.
4. Regime Output
The final result is broadcast as a clear market state:
• Bullish (1) : Trending upwards
• Bearish (-1) : Trending downwards
• Cyclic (0) : Range-bound or oscillating
This output drives the visual feedback on your chart and can be streamed directly to the Order Orchestrator for automated strategy switching.
💮 Synergy & Complementarity
What makes these methods powerful is not just their individual sophistication, but how they complement one another:
• Some excel at early detection while others provide confirmation
• Some analyse time-domain behaviour while others work in the frequency domain
• Some focus on momentum characteristics while others assess volatility patterns
• Some respond quickly to changes while others filter out market noise
This creates a comprehensive analytical framework that can detect regime changes more accurately than any single method. All methods utilize the automatically detected and continuously adaptive dominant cycle period, ensuring they remain precisely calibrated to current market conditions without manual intervention.
🌸 --------- USAGE GUIDE --------- 🌸
💮 Starting with Default Settings
The default settings (Normal for Adaptability, Sensitivity, and Consensus) provide a balanced starting point suitable for most markets and timeframes. Begin by observing how these settings identify regimes in your preferred instruments.
💮 Adjusting Parameters
• If you notice too many regime changes → Decrease Sensitivity or increase Consensus requirement
• If regime changes seem delayed → Increase Adaptability
• If a trending regime is not detected, the market is automatically assigned to be in a cyclic state. The majority of methods actually measure this explicitly.
• If you want to see more nuanced regime transitions → Try the "unconstrained" display mode (note that this will not affect the output to other indicators)
💮 Trading Applications
Regime-Specific Strategies:
• Bullish Trending Regime - Use trend-following strategies, trail stops wider, focus on breakouts, consider holding positions longer, and emphasise buying dips
• Bearish Trending Regime - Consider shorts, tighter stops, focus on breakdown points, sell rallies, implement downside protection, and reduce position sizes
• Cyclic Regime - Apply mean-reversion strategies, trade range boundaries, apply oscillators, target definable support/resistance levels, and use profit-taking at extremes
Strategy Switching:
Create a set of rules for each market regime and switch between them based on the detector's signal. This approach can significantly improve performance compared to applying a single strategy across all market conditions. The Pro Edition's multiple detection methods and advanced consensus mechanisms provide more reliable regime transitions, leading to better strategy switching decisions.
GYTS Suite Integration:
• In the GYTS 🎼 Order Orchestrator, select the '🔗 STREAM-int 🧊 Market Regime' as the market regime source
• Note that the consensus output (i.e. not the "unconstrained" display) will be used in this stream
• Create different strategies for trending (bullish/bearish) and cyclic regimes. The GYTS 🎼 Order Orchestrator is specifically made for this.
• The output stream is actually very simple, and can possibly be used in indicators and strategies as well. It outputs 1 for bullish, -1 for bearish and 0 for cyclic regime.
🌸 --------- FINAL NOTES --------- 🌸
💮 Development Philosophy
The Market Regime Detector has been developed with several key principles in mind:
1. Robustness - The detection methods have been rigorously tested across diverse markets and timeframes to ensure reliable performance.
2. Adaptability - The detector automatically adjusts to changing market conditions, requiring minimal manual intervention.
3. Complementarity - Each detection method provides a unique perspective, with the collective consensus being more reliable than any individual method.
4. Intuitiveness - Complex technical parameters have been abstracted into easily understood controls.
💮 Ongoing Refinement
The Market Regime Detector is under continuous development. We regularly:
• Fine-tune parameters based on expanded market data using state-of-the-art Machine Learning techniques
• Research and integrate new detection methodologies
• Optimise computational efficiency for real-time analysis
Your feedback and suggestions are very important in this ongoing refinement process!
NQ × ES SMT Panel — Ace v3.5NQ × ES SMT Panel — Ace v3.5 (6-Year Model)
This panel reads the 10:45 → 11:00 ET window on NQ and checks for sweeps of the 10:45 candle with SMT confirmation from ES.
It then shows you direction, quality of the signal, and 6-year follow-through stats.
🕒 Recommended Use
Chart: NQ / MNQ
Timeframe: 15-minute
Session: New York (focus on 10:45 and 11:00 ET)
ES symbol input: default ES1! (can be changed in settings)
The script only “makes decisions” on the 11:00 candle close.
🔍 What the Model Looks For
1. NQ Sweep of 10:45 Candle
Bull Sweep (Long bias)
11:00 low < 10:45 low
11:00 close > 10:45 low
Bear Sweep (Short bias)
11:00 high > 10:45 high
11:00 close < 10:45 high
This means: price took liquidity beyond 10:45, then closed back inside.
2. ES SMT Filter (Confirmation)
Bullish SMT
NQ does a bull sweep (takes the low)
ES does NOT make a lower low vs its own 10:45 low
Bearish SMT
NQ does a bear sweep (takes the high)
ES does NOT make a higher high vs its own 10:45 high
If NQ sweeps but ES doesn’t follow, you have SMT and a stronger signal.
📋 Panel Fields (What You See)
The panel is 4 rows, 1 column:
Header
NQ × ES SMT — Ace v3.5 | | Score:
Status can be:
BULLISH SMT
BEARISH SMT
Bull Sweep
Bear Sweep
No Signal
Sweep Direction
Sweep Direction: LONG ↑
Sweep Direction: SHORT ↓
- when no signal
Follow-Through Text
For SMT:
Bullish → High Odds 60-100 Handle Move
Bearish → High Odds 40-80 Handle Move
For pure sweeps:
Normal Follow-through
For no signal: blank
6-Year Stats Line
Shows how often the move reached 40/60/80 handles in the modeled direction:
Example (Bullish SMT):
SMT Stats (6y): 40h=64%, 60h=51%, 80h=41%
Example (Bearish SMT):
SMT Stats (6y): 40h=58%, 60h=42%, 80h=29%
Sweeps without SMT show Sweep Stats (6y): …
No signal: Stats: n/a
⭐ Score Meaning
5★ → SMT present (A+ setup)
3★ → Clean sweep, no SMT (B setup)
0★ → No valid sweep (NO-GO)
Use the score + stats line to decide if the idea deserves risk today.
📈 How to Trade It (Conceptual)
Wait for 11:00 candle to close.
Check panel:
If BULLISH SMT, 5★ → bias long.
If BEARISH SMT, 5★ → bias short.
If Bull/Bear Sweep, 3★ → optional, lower priority.
If No Signal, 0★ → stand aside.
Use your own execution model for entries:
Look for FVG/OB setups in the direction the panel confirms.
Targets can be based on your handle objectives (e.g., 40–80 handles) and intraday structure.
⚠️ Important Notes
Panel is a bias and stats tool, not an auto-entry system.
Works best on regular trading days (avoid major news spikes if you choose).
All stats are based on a 6-year historical lookback on NQ vs ES in this exact 10:45→11:00 structure.
BAY_PIVOT S/R(4 Full Lines + ALL Labels)//@version=5
indicator("BAY_PIVOT S/R(4 Full Lines + ALL Labels)", overlay=true, max_labels_count=500, max_lines_count=500)
// ────────────────────── TOGGLES ──────────────────────
showPivot = input.bool(true, "Show Pivot (Full Line + Label)")
showTarget = input.bool(true, "Show Target (Full Line + Label)")
showLast = input.bool(true, "Show Last Close (Full Line + Label)")
showPrevClose = input.bool(true, "Show Previous Close (Full Line + Label)")
useBarchartLast = input.bool(true, "Use Barchart 'Last' (Settlement Price)")
showR1R2R3 = input.bool(true, "Show R1 • R2 • R3")
showS1S2S3 = input.bool(true, "Show S1 • S2 • S3")
showStdDev = input.bool(true, "Show ±1σ ±2σ ±3σ")
showFib4W = input.bool(true, "Show 4-Week Fibs")
showFib13W = input.bool(true, "Show 13-Week Fibs")
showMonthHL = input.bool(true, "Show 1M High / Low")
showEntry1 = input.bool(false, "Show Manual Entry 1")
showEntry2 = input.bool(false, "Show Manual Entry 2")
entry1 = input.float(0.0, "Manual Entry 1", step=0.25)
entry2 = input.float(0.0, "Manual Entry 2", step=0.25)
stdLen = input.int(20, "StdDev Length", minval=1)
fib4wBars = input.int(20, "4W Fib Lookback")
fib13wBars = input.int(65, "13W Fib Lookback")
// ────────────────────── DAILY CALCULATIONS ──────────────────────
high_y = request.security(syminfo.tickerid, "D", high , lookahead=barmerge.lookahead_on)
low_y = request.security(syminfo.tickerid, "D", low , lookahead=barmerge.lookahead_on)
close_y = request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_on)
pivot = (high_y + low_y + close_y) / 3
r1 = pivot + 0.382 * (high_y - low_y)
r2 = pivot + 0.618 * (high_y - low_y)
r3 = pivot + (high_y - low_y)
s1 = pivot - 0.382 * (high_y - low_y)
s2 = pivot - 0.618 * (high_y - low_y)
s3 = pivot - (high_y - low_y)
prevClose = close_y
last = useBarchartLast ? request.security(syminfo.tickerid, "D", close , lookahead=barmerge.lookahead_off) : close
target = pivot + (pivot - prevClose)
// StdDev + Fibs + Monthly (unchanged)
basis = ta.sma(close, stdLen)
dev = ta.stdev(close, stdLen)
stdRes1 = basis + dev
stdRes2 = basis + dev*2
stdRes3 = basis + dev*3
stdSup1 = basis - dev
stdSup2 = basis - dev*2
stdSup3 = basis - dev*3
high4w = ta.highest(high, fib4wBars)
low4w = ta.lowest(low, fib4wBars)
fib382_4w = high4w - (high4w - low4w) * 0.382
fib50_4w = high4w - (high4w - low4w) * 0.500
high13w = ta.highest(high, fib13wBars)
low13w = ta.lowest(low, fib13wBars)
fib382_13w_high = high13w - (high13w - low13w) * 0.382
fib50_13w = high13w - (high13w - low13w) * 0.500
fib382_13w_low = low13w + (high13w - low13w) * 0.382
monthHigh = ta.highest(high, 30)
monthLow = ta.lowest(low, 30)
// ────────────────────── COLORS ──────────────────────
colRed = color.rgb(255,0,0)
colLime = color.rgb(0,255,0)
colYellow = color.rgb(255,255,0)
colOrange = color.rgb(255,165,0)
colWhite = color.rgb(255,255,255)
colGray = color.rgb(128,128,128)
colMagenta = color.rgb(255,0,255)
colPink = color.rgb(233,30,99)
colCyan = color.rgb(0,188,212)
colBlue = color.rgb(0,122,255)
colPurple = color.rgb(128,0,128)
colRed50 = color.new(colRed,50)
colGreen50 = color.new(colLime,50)
// ────────────────────── 4 KEY FULL LINES ──────────────────────
plot(showPivot ? pivot : na, title="PIVOT", color=colYellow, linewidth=3, style=plot.style_linebr)
plot(showTarget ? target : na, title="TARGET", color=colOrange, linewidth=2, style=plot.style_linebr)
plot(showLast ? last : na, title="LAST", color=colWhite, linewidth=2, style=plot.style_linebr)
plot(showPrevClose ? prevClose : na, title="PREV CLOSE",color=colGray, linewidth=1, style=plot.style_linebr)
// ────────────────────── LABELS FOR ALL 4 KEY LEVELS (SAME STYLE AS OTHERS) ──────────────────────
f_label(price, txt, bgColor, txtColor) =>
if barstate.islast and not na(price)
label.new(bar_index, price, txt, style=label.style_label_left, color=bgColor, textcolor=txtColor, size=size.small)
if barstate.islast
showPivot ? f_label(pivot, "PIVOT " + str.tostring(pivot, "#.##"), colYellow, color.black) : na
showTarget ? f_label(target, "TARGET " + str.tostring(target, "#.##"), colOrange, color.white) : na
showLast ? f_label(last, "LAST " + str.tostring(last, "#.##"), colWhite, color.black) : na
showPrevClose ? f_label(prevClose, "PREV CLOSE "+ str.tostring(prevClose, "#.##"), colGray, color.white) : na
// ────────────────────── OTHER LEVELS – line stops at label ──────────────────────
f_level(p, txt, tc, lc, w=1) =>
if barstate.islast and not na(p)
lbl = label.new(bar_index, p, txt, style=label.style_label_left, color=lc, textcolor=tc, size=size.small)
line.new(bar_index-400, p, label.get_x(lbl), p, extend=extend.none, color=lc, width=w)
if barstate.islast
if showR1R2R3
f_level(r1, "R1 " + str.tostring(r1, "#.##"), color.white, colRed)
f_level(r2, "R2 " + str.tostring(r2, "#.##"), color.white, colRed)
f_level(r3, "R3 " + str.tostring(r3, "#.##"), color.white, colRed, 2)
if showS1S2S3
f_level(s1, "S1 " + str.tostring(s1, "#.##"), color.black, colLime)
f_level(s2, "S2 " + str.tostring(s2, "#.##"), color.black, colLime)
f_level(s3, "S3 " + str.tostring(s3, "#.##"), color.black, colLime, 2)
if showStdDev
f_level(stdRes1, "+1σ " + str.tostring(stdRes1, "#.##"), color.white, colPink)
f_level(stdRes2, "+2σ " + str.tostring(stdRes2, "#.##"), color.white, colPink)
f_level(stdRes3, "+3σ " + str.tostring(stdRes3, "#.##"), color.white, colPink, 2)
f_level(stdSup1, "-1σ " + str.tostring(stdSup1, "#.##"), color.white, colCyan)
f_level(stdSup2, "-2σ " + str.tostring(stdSup2, "#.##"), color.white, colCyan)
f_level(stdSup3, "-3σ " + str.tostring(stdSup3, "#.##"), color.white, colCyan, 2)
if showFib4W
f_level(fib382_4w, "38.2% 4W " + str.tostring(fib382_4w, "#.##"), color.white, colMagenta)
f_level(fib50_4w, "50% 4W " + str.tostring(fib50_4w, "#.##"), color.white, colMagenta)
if showFib13W
f_level(fib382_13w_high, "38.2% 13W High " + str.tostring(fib382_13w_high, "#.##"), color.white, colMagenta)
f_level(fib50_13w, "50% 13W " + str.tostring(fib50_13w, "#.##"), color.white, colMagenta)
f_level(fib382_13w_low, "38.2% 13W Low " + str.tostring(fib382_13w_low, "#.##"), color.white, colMagenta)
if showMonthHL
f_level(monthHigh, "1M HIGH " + str.tostring(monthHigh, "#.##"), color.white, colRed50, 2)
f_level(monthLow, "1M LOW " + str.tostring(monthLow, "#.##"), color.white, colGreen50, 2)
// Manual entries
plot(showEntry1 and entry1 > 0 ? entry1 : na, "Entry 1", color=colBlue, linewidth=2, style=plot.style_linebr)
plot(showEntry2 and entry2 > 0 ? entry2 : na, "Entry 2", color=colPurple, linewidth=2, style=plot.style_linebr)
// Background
bgcolor(close > pivot ? color.new(color.blue, 95) : color.new(color.red, 95))
MAX TRADEMAX TRADE is an advanced intraday trading indicator designed for gold and forex pairs. It uses a dynamic Fibonacci-based trend line, multi-timeframe EMA, RSI and ATR filters to avoid bad entries. Every signal comes with automatic TP/SL levels, break-even logic and a live stats panel showing win rate, profit, number of trades and streaks.
VB Sigma Smart Momentum IndicatorVB Sigma Smart Momentum Indicator (VBSSMI)
The VBSSMI provides a consolidated decision-support framework that surfaces market participation, trend integrity, and liquidity conditions in a single visual environment. The tool integrates four analytical modules: MCDX Flow Mapping, Donchian Regime Layers, Banker Flow Modeling, and Chop Zone Trend Classification. Together, these components convert raw price movement into an actionable interpretation of who is in control, whether momentum is durable, and what phase the instrument is currently cycling through.
How to Use the Indicator (Practical Workflow)
1. Start with Institutional / Banker Flow (Pink/Red/Yellow/Green Candles)
This is the primary signal layer. It tells you when high-capacity participants are increasing, reducing, or reversing risk.
Yellow Candle — Entry Bias
Indicates a potential institutional initiation when their trend metric crosses above their accumulation threshold.
Operational signal: instrument enters “monitor for entry” state.
Green Candle — Accumulation State
Fund-trend > bullbearline.
Operational signal: trend integrity improving; pullbacks are generally buyable.
White Candle — Distribution / Cooling
Fund-trend weakening but not broken.
Operational signal: tighten stops; momentum deteriorating.
Red Candle — Exit / Trend Failure
Fund-trend < bullbearline.
Operational signal: momentum regime invalidated; avoid long risk.
Blue Candle — Weak Rebound
A temporary uptick within broader weakness.
Operational signal: do not mistake this for a durable reversal.
2. Validate alignment with Flow Chips (Retail / Trader / Institutional)
These three flow columns (MCDX layers) answer: who is actually participating?
Retailer Flow (Locked Chips – Green)
High values imply retail conviction, often late-cycle.
Good for confirming trend strength, not timing entries.
Trader Zone Flow (Float Chips – Yellow)
When this spikes, volatility and tactical positioning increase.
Signal: strong short-term engagement, supports breakout/trend continuation.
Institutional Flow (Profitable Chips – Red/Pink)
This is the “true north” of momentum.
Rising values = institutions controlling price discovery.
Signal: long setups have statistical tailwind.
The operational guidance is straightforward:
Institutional Flow > Trader Flow > Retail Flow
is the healthiest configuration for sustainable upside momentum.
3. Confirm Breakout / Breakdown Conditions with Donchian Regime Columns
The vertical Donchian stack illustrates trend regime in a time-compressed format.
Bright Blue/Cyan
Structure expanding upward (breakout cluster).
Dark Purple/Red
Structure breaking downward (breakdown cluster).
Mixed Columns
Transitional or indecisive conditions.
Interpret it as a “momentum backdrop”:
If Donchian columns and Banker Flow candles disagree, avoid entries.
4. Consult the Chop Zone Strip Before Committing Capital
The Chop Zone uses EMA angle to determine whether the market is trending or congested.
Greens/Blues → Trend phase (favorable environment for continuation trades).
Yellows/Oranges/Reds → High noise probability; expect false signals.
Operationally:
Never enter breakout setups during yellow/orange/red chop.
5. Final Decision Framework (Checklist)
A long setup typically requires:
Green or Yellow Banker Flow Candle
Institutional Flow rising
Donchian columns in bullish regime colors
Chop Zone in a trend color (not red/yellow/orange)
A short setup is the exact inverse.
Recommended Use Cases
Momentum trading
Swing position building
Institutional-flow confirmation
Trend-filtering before deploying breakout systems
Screening for strong/weak symbols in multi-asset rotation strategies
MAX TRADE ZONA)A simple session level indicator for XAUUSD on the M5 timeframe. It takes the high and low of the 00:45 candle (Asia/Tashkent time), draws infinite horizontal lines from that candle, and keeps only the most recent 7 days. Useful for intraday support and resistance levels.
Kịch bản của tôi//@version=6
indicator(title="Relative Strength Index", shorttitle="Gấu Trọc RSI", format=format.price, precision=2, timeframe="", timeframe_gaps=true)
rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", display = display.data_window, tooltip = "Calculating divergences is needed in order for divergence alerts to fire.")
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiPlot = plot(rsi, "RSI", color=#7E57C2)
rsiUpperBand1 = hline(98, "RSI Upper Band1", color=#787B86)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
rsiLowerBand2 = hline(14, "RSI Lower Band2", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
midLinePlot = plot(50, color = na, editable = false, display = display.none)
fill(rsiPlot, midLinePlot, 100, 70, top_color = color.new(color.green, 0), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 30, 0, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 0), title = "Oversold Gradient Fill")
// Smoothing MA inputs
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("SMA", "Type", options = , group = GRP, display = display.data_window)
var isBB = maTypeInput == "SMA + Bollinger Bands"
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window, active = maTypeInput != "None")
bbMultInput = input.float(2.0, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window, active = isBB)
var enableMA = maTypeInput != "None"
// Smoothing MA Calculation
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Smoothing MA plots
smoothingMA = enableMA ? ma(rsi, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na
plot(smoothingMA, "RSI-based MA", color=color.yellow, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)
// Divergence
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_inRange(bool cond) =>
bars = ta.barssince(cond)
rangeLower <= bars and bars <= rangeUpper
plFound = false
phFound = false
bullCond = false
bearCond = false
rsiLBR = rsi
if calculateDivergence
//------------------------------------------------------------------------------
// Regular Bullish
// rsi: Higher Low
plFound := not na(ta.pivotlow(rsi, lookbackLeft, lookbackRight))
rsiHL = rsiLBR > ta.valuewhen(plFound, rsiLBR, 1) and _inRange(plFound )
// Price: Lower Low
lowLBR = low
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and rsiHL and plFound
//------------------------------------------------------------------------------
// Regular Bearish
// rsi: Lower High
phFound := not na(ta.pivothigh(rsi, lookbackLeft, lookbackRight))
rsiLH = rsiLBR < ta.valuewhen(phFound, rsiLBR, 1) and _inRange(phFound )
// Price: Higher High
highLBR = high
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and rsiLH and phFound
plot(
plFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish",
linewidth = 2,
color = (bullCond ? bullColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bullCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish Label",
text = " Bull ",
style = shape.labelup,
location = location.absolute,
color = bullColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
plot(
phFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish",
linewidth = 2,
color = (bearCond ? bearColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bearCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish Label",
text = " Bear ",
style = shape.labeldown,
location = location.absolute,
color = bearColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
alertcondition(bullCond, title='Regular Bullish Divergence', message="Found a new Regular Bullish Divergence, `Pivot Lookback Right` number of bars to the left of the current bar.")
alertcondition(bearCond, title='Regular Bearish Divergence', message='Found a new Regular Bearish Divergence, `Pivot Lookback Right` number of bars to the left of the current bar.')
FPT - DCA ModelFPT - DCA Model is a simple but powerful tool to backtest a weekly “buy the dip” DCA plan with dynamic position sizing and partial profit-taking.
🔹 Core Idea
- Invest a fixed amount every week (on Friday closes)
- Buy more aggressively when price trades at a discount from its 52-week high
- Take partial profits when price stretches too far above the daily EMA50
- Track the performance of your DCA plan vs a simple buy-and-hold from the same start date
⚙ How it works
1. Weekly DCA (on Daily timeframe)
- On each Friday after the Start Date:
- Add the “Weekly contribution” to the cash pool.
- If the close is below the “Discount from 52W high” level:
→ FULL DCA: use the full weekly contribution + an extra booster from your stash (up to “Max extra stash used on dip”).
→ Marked on the chart with a small green triangle under the bar.
- Otherwise:
→ HALF DCA: invest only 50% of the weekly contribution and keep the other 50% as stash (uninvested cash).
→ Marked with a small blue triangle under the bar.
2. 52-Week High Discount Logic
- The script computes the 52-week high as the highest daily high of the last 252 trading days.
- The “discount level” is: 52W high × (1 – Discount%).
- When price is at or below this level, dips are treated as buying opportunities and the model allocates more.
3. Selling Logic (Partial Take Profit)
- When the close is above the daily EMA50 by the selected percentage:
→ Sell the given “Sell portion of qty (%)” of your current holdings.
→ Marked with a small red triangle above the bar.
- This behaves like a gradual profit-taking system: if price stays extended above EMA50, multiple partial sells can occur over time.
📊 Panel (top-right)
The panel summarizes the state of your DCA plan:
- Weeks: number of DCA weeks since Start Date
- Total deposit: total money contributed (sum of all weekly contributions)
- Shares qty: total number of shares accumulated
- Avg price: volume-weighted average entry price
- Shares value: current market value of all shares (qty × close)
- Cash: uninvested cash (including saved stash)
- Total equity: Shares value + Cash
- DCA % PnL: performance of the DCA plan vs total deposits
- Stock % since start: performance of the underlying asset since the Start Date
✅ Recommended Use
- Timeframe: Daily (the DCA engine is designed to run on daily bars and Friday closes).
- Works best on stocks, ETFs or indices where a 52-week high is a meaningful reference.
- You can tune:
- Weekly contribution
- Discount from 52W high
- Booster amount
- EMA50 extension threshold and sell portion
⚠ Notes & Disclaimer
- This script is a backtesting and educational tool. It does not place real orders.
- Past performance does not guarantee future results.
- Always combine DCA and risk management with your own research and judgment.
Built by FPT (Funded Pips Trading) for long-term, rules-based DCA planning.
Nexural Regime MatrixNexural Regime Matrix
A regime detection indicator that tells you not just where price is going, but whether smart money is confirming the move.
WHY I BUILT THIS
I got tired of staring at oscillators that just wiggle up and down without telling me anything useful. RSI is overbought. Great. Now what? MACD crossed. Cool. Is anyone actually buying?
I wanted an indicator that answers the questions I actually care about when I am trading. What regime is the market in right now? Is smart money confirming this move or fading it? Is this trend accelerating or running out of steam?
That is what this indicator does. It combines trend detection with delta analysis to map the market onto a visual regime matrix. You look at the dot, you see where you are, you know what is happening. No interpretation required.
Instead of giving you a single oscillator line and leaving you to figure out what it means, it maps your current position onto a visual matrix and tells you exactly what regime you are in. The indicator also tracks how fast you are moving through the matrix. A dot racing toward the Markup corner is very different from one that is stalling in the middle. This velocity component helps you understand momentum quality, not just direction.
THE FOUR REGIMES
This indicator classifies the market into four states based on Wyckoff methodology. Understanding these four regimes is the foundation of how this indicator works.
Markup is when trend is up and buying pressure confirms it. This is the easy money environment. Trend followers thrive here. Price is rising and the money flow confirms that buyers are in control. When you see the dot deep in the Markup quadrant with strong velocity, you are in a trending bull market with conviction behind it.
Markdown is the opposite. Trend is down and selling pressure confirms it. Shorts work. Longs get destroyed. Price is falling and sellers are clearly in control. This is where trend followers short and buy the dip traders get wrecked.
Accumulation is where it gets interesting. Price trend is still negative but buying pressure is emerging underneath. Smart money is loading while retail is still bearish. This often precedes reversals to the upside. When you see the dot move from Markdown into Accumulation, someone with deep pockets is buying the weakness. Pay attention.
Distribution is the mirror image. Price trend is still positive but selling pressure is building. Smart money is unloading into strength while retail chases the move. This often precedes reversals to the downside. When you see the dot move from Markup into Distribution, the smart money is heading for the exits while everyone else is still bullish.
The matrix shows these four quadrants with color gradients. The deeper into a corner you go, the stronger that regime. A dot in the far corner of Markup with high velocity is a completely different situation than a dot barely in Markup and stalling. The gradient intensity tells you conviction at a glance.
Accumulation and Distribution are the regimes that matter most for anticipating reversals. They signal potential turning points before price confirms them. This is where the real edge lives.
WHAT MAKES THIS DIFFERENT
Three things separate this from typical regime indicators.
Zero-Lag Engine
Most indicators use moving averages that lag significantly. By the time they confirm a trend, half the move is over. This indicator uses Ehlers Instantaneous Trendline as the default smoothing method. It responds faster without adding noise.
The Ehlers algorithm was developed by John Ehlers, an electrical engineer who applied signal processing theory to financial markets. It filters out market noise while preserving the actual trend signal. The result is earlier detection without the false signals that come from overly sensitive indicators.
You also have ZLEMA and Kalman Filter options if you prefer those. ZLEMA is a zero-lag exponential moving average that compensates for inherent lag. Kalman Filter is an adaptive algorithm that adjusts its smoothing based on price behavior. Each has its own characteristics and you can experiment to find what works best for your trading style.
Smart Delta Calculation
Instead of just using volume, the indicator estimates actual buying versus selling pressure from each candle. This is not a simple calculation.
It analyzes where price closes within the bar. A close near the high suggests buyers won. A close near the low suggests sellers won. But it goes deeper than that.
It factors in the candle body direction and size. A large bullish body carries more weight than a small one.
It analyzes upper and lower wick lengths. A long lower wick means buyers stepped in and rejected lower prices. A long upper wick means sellers stepped in and rejected higher prices. These wicks tell you about intrabar rejection and intent.
It weights the result by bar size relative to ATR. A large range bar that moves significantly compared to average volatility carries more conviction than a tiny bar. Big moves matter more.
It amplifies the signal when volume is expanding. Increasing volume on a move suggests real participation. Declining volume suggests the move lacks commitment.
The final delta value combines all of these factors into a single reading that approximates order flow from standard OHLCV data.
I want to be clear about something. This is not true Level 2 order flow. It is not reading the tape or analyzing actual bid and ask volume. That data is not available in TradingView. What this does is extract the maximum possible information from candlestick structure and volume to approximate what order flow might look like. On liquid instruments during active sessions, it works well. On illiquid instruments or during thin trading, it is less reliable. That is a fundamental limitation of working with OHLCV data.
Regime Velocity
The indicator tracks not just where you are in the matrix but how fast you are moving. This is the velocity component.
A dot racing toward Markup is very different from a dot sitting in Markup but stalling. The first suggests momentum is building and the trend has legs. The second suggests the trend might be exhausted.
Velocity tells you if momentum is building or fading. It answers the question of whether you are accelerating into a regime or decelerating out of it.
The display shows momentum quality in plain terms. Surge means you are moving fast and accelerating. Fast means you are moving quickly. Steady means moderate movement. Slow means you are barely moving. Stall means you have stopped or are moving so slowly it does not matter.
Along with momentum quality, you see a direction arrow showing where you are heading. If you see Surge with an arrow pointing toward MKUP, you know momentum is strong and building toward the bullish corner. If you see Stall with no clear direction, you know the market is indecisive.
This velocity component adds a dimension that static regime classification misses. Two traders might both see Markup on their indicator. But if one sees Surge velocity and the other sees Stall, they are looking at completely different situations.
THE VOLATILITY FILTER
This might be the most underrated feature of the entire indicator.
The indicator uses ADX and ATR percentile to detect ranging conditions. When the market is choppy and directionless, it shows a Ranging state instead of forcing a regime classification.
Why does this matter? Because most losses come from trading in chop. You get long, it drops. You get short, it rips. You get chopped to pieces taking small loss after small loss while the market goes nowhere.
The volatility filter tells you when conditions are not favorable for directional trades. When you see Ranging, step aside or reduce size. This alone eliminates a significant number of bad trades.
The filter works on two dimensions. ADX measures trend strength. When ADX is below the threshold, the market lacks directional conviction. ATR percentile measures volatility expansion. When ATR is in the bottom percentile of recent readings, the market is quiet and range-bound.
Both conditions contribute to the ranging detection. You can adjust the thresholds to be more or less strict depending on your preferences.
When the indicator shows Ranging, the candles turn gray and the regime state displays Ranging instead of one of the four quadrants. This is a visual reminder to be patient. The best trade is often no trade at all.
THE CONFLUENCE SCORING SYSTEM
Behind the scenes, the indicator calculates a confluence score from zero to one hundred percent. This score combines multiple factors to gauge overall conviction.
Trend strength contributes up to thirty points. The stronger the trend value, the more points.
Delta confirmation contributes up to twenty-five points. When trend and delta agree in direction, you get confirmation points. When they disagree, you get nothing.
Volatility contributes up to twenty-five points. When ADX and ATR indicate trending conditions, you get volatility points. When the market is ranging, this component goes to zero.
RSI alignment contributes up to twenty points. When RSI confirms the trend direction, you get alignment points. When RSI diverges from trend, this component is reduced.
The final confluence percentage tells you how many factors are aligned. High confluence means multiple indicators agree. Low confluence means mixed signals.
When the market is ranging, the entire confluence score gets cut in half. This penalizes signals that come during unfavorable conditions.
The confluence score is displayed in the matrix panel. Use it as a quick gauge of conviction. A regime change with ninety percent confluence is more meaningful than one with thirty percent.
HOW TO READ THE MATRIX
The matrix overlay on your chart shows a colored dot representing your current position in regime space.
Bottom right green is Markup. This is bullish trend with bullish flow. Everything aligns to the upside.
Top right orange is Distribution. This is bullish trend but bearish flow. Price is still up but selling pressure is emerging. Smart money may be exiting.
Bottom left purple is Accumulation. This is bearish trend but bullish flow. Price is still down but buying pressure is emerging. Smart money may be entering.
Top left red is Markdown. This is bearish trend with bearish flow. Everything aligns to the downside.
The dot position within each quadrant tells you intensity. A dot in the far corner indicates strong conviction in that regime. A dot near the center indicates weak or transitioning conditions.
The color gradient in each quadrant reinforces this. Deeper color means stronger regime. Lighter color means weaker.
The trail behind the dot shows your recent path through the matrix. You can see where you have been and how you got to where you are. This context helps you understand if you are entering a regime fresh or have been in it for a while.
The axis labels show the scale. Trend runs from negative on the left to positive on the right. Delta runs from negative at the top to positive at the bottom. The plus and minus signs at the edges remind you of the orientation.
The quadrant labels at the corners show MKDN for Markdown, DIST for Distribution, ACCM for Accumulation, and MKUP for Markup. These abbreviations let you quickly identify each zone.
HOW TO READ THE INFO ROWS
Below the matrix grid you see several rows of information.
The first row shows NEXURAL branding, the current regime state in text, and the confluence percentage.
The second row shows velocity information. You see the momentum quality label, the direction arrow showing where you are heading, and the speed percentile.
The third row shows the raw values. TRD shows trend value with an arrow indicating direction. DLT shows delta value with an arrow. The final cell shows TREND or RANGE status.
The fourth row shows the engine settings. You see which zero-lag method is active and the lookback length, plus the current ADX value.
All of this information is available at a glance. You do not need to hover over anything or check multiple places. Everything you need is in one consolidated display.
HOW TO READ THE OSCILLATOR
The oscillator pane below your chart shows two lines.
The main line is the trend value. It oscillates roughly between negative ten and positive ten. Above zero is bullish. Below zero is bearish. The color shifts based on value and ranging status.
The secondary line is the delta value. It also oscillates between negative ten and positive ten. Above zero means net buying pressure. Below zero means net selling pressure.
When both lines are above zero and moving together, you have confirmation. Trend is up and buyers are in control.
When both lines are below zero and moving together, you also have confirmation. Trend is down and sellers are in control.
When the lines diverge, pay attention. If trend is positive but delta is negative, you have Distribution conditions. If trend is negative but delta is positive, you have Accumulation conditions. These divergences often precede reversals.
The end labels on the right side of the oscillator show the exact current values. Trend and Delta with their numerical readings. This gives you precision when you need it.
The fill between the trend line and zero creates a visual gradient. Green fill above zero, red fill below zero. The intensity of the fill corresponds to the strength of the move.
Dotted horizontal lines mark the threshold levels. These correspond to the Neutral Zone Width setting. Values between the thresholds are considered neutral.
When the market is ranging, the background of the oscillator pane turns slightly gray. This visual cue reinforces the ranging state.
HOW I USE THIS INDICATOR
I use this as a context filter, not as an entry signal. Let me explain what that means.
Before I take any trade, I check the regime. The regime tells me if conditions favor my trade idea or not.
If I want to go long but the matrix shows Distribution, I either skip the trade entirely or reduce size significantly. The indicator is telling me that smart money might be selling into this strength. Going long against that flow is fighting an uphill battle.
If I want to go long and the matrix shows Markup with Fast or Surge velocity, I have more confidence. Trend is up, buyers are in control, and momentum is building. Conditions favor my trade.
If I want to go long but the matrix shows Ranging, I wait. There is no edge in choppy markets. Let conditions clarify before committing capital.
I pay special attention to regime transitions. These are the moments when opportunity emerges.
When the dot moves from Markdown into Accumulation, I start looking for long setups. Smart money is buying the weakness. I want to be on the same side.
When the dot moves from Markup into Distribution, I start looking for exits on my longs or potential short setups. Smart money is selling the strength. I do not want to be the one holding when they are done.
When the dot moves from Accumulation into Markup, I know the reversal is confirming. Buyers took control and now price is following.
When the dot moves from Distribution into Markdown, I know the reversal is confirming. Sellers took control and price is following.
The velocity component helps me gauge conviction. If I see a regime change but velocity is Stall, I wait for acceleration before committing. The regime changed but there is no momentum behind it yet. That could be a false move.
If velocity is Surge and pointing toward a corner, I act with more urgency. The move has conviction and I do not want to miss it.
The Ranging state keeps me patient. When I see it, I know this is not the time to force trades. I wait for conditions to improve. The market will eventually break out of the range and when it does, the indicator will show me which direction and with what conviction.
I combine this indicator with my own price action analysis. I look for support and resistance levels. I look for candlestick patterns. I look for volume confirmation. The Nexural Regime Matrix tells me the context. My other analysis tells me the specific entry.
I never take a trade based solely on this indicator. It is one input among several. But it is an important input that shapes how aggressive or defensive I am with my positioning.
SETTINGS THAT MATTER
Let me walk through each setting and explain what it does and how to think about adjusting it.
Lookback Length
This is the main sensitivity control for trend detection. It determines how many bars the indicator uses to calculate trend values.
Default of fourteen works well across most timeframes. This is a good starting point.
Lower values respond faster but show more noise. If you set this to seven, you will see regime changes more quickly but you will also see more false signals and whipsaws. This might suit scalpers who need fast response.
Higher values are smoother but slower. If you set this to twenty or twenty-five, you will see cleaner signals but you will be later to regime changes. This might suit swing traders who can afford to wait for confirmation.
I recommend starting with the default and only adjusting if you find it too slow or too noisy for your specific trading style and timeframe.
Zero-Lag Method
This lets you choose between three different smoothing algorithms.
Ehlers is the default and what I recommend. It provides excellent noise filtering while responding quickly to real trend changes. John Ehlers developed this algorithm specifically for financial markets and it shows.
ZLEMA is a zero-lag exponential moving average. It compensates for the inherent lag in traditional EMAs by projecting price forward. It is slightly more responsive than Ehlers but also slightly more prone to noise.
Kalman is an adaptive filter that adjusts its smoothing based on price behavior. It is the smoothest of the three but also the slowest to respond to changes. If you find Ehlers too noisy, try Kalman.
Each method has its own character. I encourage you to switch between them and see which one feels right for how you trade.
Kalman Gain
This only applies if you select Kalman as your zero-lag method. It controls how responsive the Kalman filter is.
Higher values respond faster but are more sensitive to noise. Lower values are smoother but slower.
Default of 0.7 is a good balance. Adjust if needed.
Delta Smoothing
This controls noise in the delta calculation. The raw delta from each bar can be noisy, so we apply smoothing.
Default of five means the delta is smoothed with a five-period exponential moving average.
Lower values are more responsive. You see delta changes more quickly but with more noise.
Higher values are smoother. Delta changes are cleaner but slower to appear.
If you find the delta line too jumpy, increase this value. If you find it too slow, decrease it.
ADX Length
This sets the period for the ADX calculation used in ranging detection.
Default of fourteen is standard. Most traders use fourteen-period ADX.
You can adjust this but I recommend leaving it at fourteen unless you have a specific reason to change it.
ADX Threshold
This sets the level below which the market is considered ranging.
Default of twenty is standard. ADX below twenty generally indicates a trendless market.
If you want stricter trend requirements, raise this to twenty-five or thirty. The indicator will show Ranging more often.
If you want looser requirements, lower it to fifteen. The indicator will show trending regimes more often, even in weaker trends.
ATR Percentile Filter
This adds a second ranging check based on volatility expansion.
Default of thirty means if current ATR is in the bottom thirty percent of the last one hundred readings, it contributes to ranging detection.
This catches situations where ADX might be above threshold but volatility is still compressed. Low volatility often means range-bound conditions even if there is a slight directional bias.
Raise this value if you want more aggressive ranging detection. Lower it if you want less.
Confirmation Bars
This sets how many bars a new regime must persist before the indicator confirms the change.
Default of two means a regime must hold for two bars before it is displayed. This prevents single-bar whipsaws.
Set to zero for fastest response. You will see regime changes immediately but you will also see more false signals that reverse on the next bar.
Set higher for more confirmation. Three or four bars provides more confidence that the regime change is real, but you will be later to the move.
This is a classic tradeoff between responsiveness and reliability. There is no right answer. It depends on your risk tolerance and trading style.
Neutral Zone Width
This controls the dead zone around zero where the indicator shows neutral rather than bullish or bearish.
Default of 0.3 means trend or delta values between negative 0.9 and positive 0.9 are considered neutral.
This prevents tiny fluctuations around zero from causing constant regime flipping. A small buffer creates stability.
Raise this value if you want a wider neutral zone. Lower it if you want the indicator to classify regimes more aggressively.
WHAT THIS INDICATOR DOES WELL
Let me be specific about where this indicator excels.
Regime classification is fast and accurate. You know immediately whether you are in a trending or ranging environment and what type of trend it is. There is no ambiguity. The matrix shows you exactly where you stand.
Delta adds information that pure price indicators miss. Seeing buying pressure build while price is still weak is genuinely useful. This is information you cannot get from looking at price alone. It gives you a window into participation and intent.
Velocity tells you about momentum quality. You know if a move has legs or is running out of steam. Two identical regime states can have completely different implications depending on velocity.
The volatility filter keeps you out of chop. This prevents a lot of frustration and losses. Knowing when to sit on your hands is just as valuable as knowing when to trade.
The visual matrix makes everything instant. No squinting at oscillator values trying to figure out what they mean. You glance at the dot position and you know. This speed of interpretation matters when markets are moving fast.
It works across instruments and timeframes. I use it primarily on index futures but it works on crypto, forex, stocks, commodities, whatever you trade. The underlying logic is universal.
The consolidated display puts everything in one place. You do not need to check multiple indicators or panels. Regime, velocity, confluence, values, and status are all visible at a glance.
WHAT THIS INDICATOR DOES NOT DO WELL
Let me be equally specific about the limitations. Every indicator has them and pretending otherwise would be dishonest.
The delta is an approximation. It is not true order flow from Level 2 or tick data. On illiquid instruments or during thin trading sessions, it can give misleading readings. If there is no volume, the delta calculation has nothing to work with. If the market is illiquid, the candle structure may not reflect actual order flow dynamics. This is a fundamental limitation of working with OHLCV data and no indicator can overcome it.
The confirmation filter adds lag. You will not catch exact tops and bottoms. The indicator waits for persistence before confirming a regime change. This reduces whipsaws but means you sacrifice some timeliness. If you set confirmation bars to zero, you will be faster but you will also get more false signals. There is no way to have both speed and reliability. It is always a tradeoff.
Ranging detection is not perfect. Sometimes choppy markets slip through and the indicator shows a trending regime when conditions are actually range-bound. Sometimes trending markets get flagged as ranging when volatility is low but direction is clear. No volatility filter catches every condition.
Sharp V-reversals are hard to catch. By the time the regime flips from one extreme to the other, you have missed the first part of the move. The indicator needs a few bars to recognize that conditions have changed. This is the cost of filtering noise. A more responsive indicator would catch reversals faster but would also give many more false signals.
The matrix takes up screen space. If you are running multiple indicators on a small screen, it can feel crowded. You can disable it and just use the oscillator pane if needed. But then you lose the visual regime mapping which is one of the main features.
This indicator does not tell you when to enter or exit. It tells you the regime, the momentum quality, and the confluence. It does not draw arrows or give buy and sell signals. If that is what you want, this indicator is not for you.
WHAT THIS INDICATOR IS NOT
Let me be clear about what you should not expect.
This is not a signal service. There are no buy and sell arrows. I do not believe in indicators that try to tell you exactly when to enter and exit. Markets are too complex for that. Anyone who claims their indicator can reliably tell you exactly when to buy and sell is either lying or deluded.
This is not a magic solution. It will have periods where it underperforms. It will miss moves. It will occasionally be wrong about regime classification. Every indicator does. Markets are driven by human behavior and geopolitics and randomness. No mathematical formula captures all of that perfectly.
This is not a replacement for learning how to trade. It is a tool that helps you see the market more clearly. You still need to understand market structure. You still need to develop your own setups. You still need to practice proper risk management. You still need screen time and experience. The indicator helps. It does not replace the work.
This is not holy grail. There is no holy grail. If someone tells you otherwise, they are selling something.
COMMON QUESTIONS
What timeframe works best?
The indicator works on all timeframes. I primarily use it on five-minute and fifteen-minute charts for intraday futures trading. Others use it on hourly or daily charts for swing trading. The logic adapts to whatever timeframe you apply it to. Lower timeframes will show more regime changes. Higher timeframes will show fewer but larger ones.
What instruments work best?
Liquid instruments with good volume work best. Index futures, major forex pairs, large cap stocks, Bitcoin and Ethereum. The delta calculation relies on meaningful volume data. On illiquid instruments where volume is thin or unreliable, the delta component loses accuracy.
Can I use this for entries?
You can but I do not recommend it as your sole entry trigger. Use it for context. Know what regime you are in and what the velocity is. Then use your own price action analysis or other tools for specific entry timing. The indicator tells you if conditions are favorable. You decide when to pull the trigger.
Why does delta sometimes disagree with price?
That is the entire point. When price is going up but delta shows selling pressure, that is Distribution. Smart money is exiting. When price is going down but delta shows buying pressure, that is Accumulation. Smart money is entering. These divergences are the most valuable signals the indicator provides.
Why is it showing Ranging when the market is clearly trending?
Check the ADX value displayed in the panel. If it is below your threshold, the indicator classifies conditions as ranging. You can lower the ADX threshold or ATR percentile filter if you want stricter trending requirements. Sometimes a slow steady trend will register as ranging because volatility is low even though direction is clear.
Can I turn off the matrix and just use the oscillator?
Yes. In the settings under Display, you can disable Show Regime Matrix. You will still have the oscillator with trend and delta lines and the end labels. Some traders prefer the cleaner look. You lose the visual regime mapping but the core calculations remain.
FINAL WORDS
I built this indicator because I was frustrated with oscillators that just showed values without context. I wanted to know what regime the market was in. I wanted to know whether smart money was confirming the move. I wanted to know whether momentum was building or fading.
This indicator answers those questions. It is not perfect. Nothing is. But it gives me information I find useful every single session.
The regime classification helps me avoid fighting the trend. When the market is in Markdown with strong velocity, I am not looking for longs no matter how oversold price looks.
The delta component helps me see when moves have real participation behind them. A rally with positive delta is different from a rally with negative delta. The first has buyers behind it. The second might be a short squeeze or exhaustion move.
The velocity tracking helps me gauge conviction. A regime change with Surge velocity demands attention. A regime change with Stall velocity might be noise.
The volatility filter keeps me patient. When conditions are ranging, I wait. The market will eventually move and when it does, I will be ready.
Use this indicator as context, not as a crutch. Combine it with your own analysis and your own rules. Let it inform your decisions, not make them for you.
Good trading.
📊 Volume Tension & Net Imbalance📊 Volume Tension & Net Imbalance (With Table + MultiLang + Alerts)
//
This indicator measures bullish vs. bearish pressure using volume-based tension and net imbalance.
It identifies accumulation zones, displays real-time market strength, trend direction, and triggers alerts on buildup entries.
Fully customizable table size, colors, and bilingual support (English/Russian).
PyTai Top/Bottom Finder v0.1When the average StochRSI line rises high (near or above 80), it often signals the asset's price is approaching the peak or end of an uptrend, as momentum becomes overextended across multiple timeframes—aligning with your view on run endings. Conversely, a low average (near or below 20) suggests exhaustion in a downtrend, hinting at potential bottoms. The cluster columns amplify this: wide green bars (high positive netScore) show broad oversold agreement for bullish reversals, while red bars indicate overbought consensus for bearish turns. However, StochRSI can remain extreme in strong trends, so combine with price action or volume to avoid false signals; backtest on your assets to refine thresholds, as shorter smoothing (e.g., 1-3) increases sensitivity but noise.
Trend Follow Line Point📌 Trend Follow Line Point
The Trend Follow Line Point indicator removes the confusing, repainting-based swing connections commonly found in traditional swing tools.
It maintains consistent swing-point calculation, keeps structural swing lines intact even when trend lines are broken, and integrates market structure + trend + volatility + volume into one intuitive, visual indicator.
This tool is designed for:
Trend Following
Swing Structure Analysis
Volatility-Based Entry & Exit
Market Strength Evaluation
📊 Component Explanation
🔹 1. Swing High / Swing Low Detection
Based on the user-defined sensitivity (swgLen):
A Swing High forms when the current high exceeds the previous swgLen highs.
A Swing Low forms when the current low falls below the previous swgLen lows.
🔹 2. Swing-Based Structure Lines
Connect Swing Highs → Structural visualization
Connect Swing Lows → Structural visualization
These lines reveal the underlying market structure without repainting or disappearing unexpectedly.
🔹 3. Dynamic ATR + Volume Weighting
ATR values combined with the volume ratio (vol / volMA) create a dynamic volatility channel that reflects real-time market pressure.
🔹 4. Enhanced SuperTrend Calculation
Uses ATR-based stability to produce more realistic and smoother trend lines, reducing noise and improving signal clarity.
🔹 5. Trend Color Mapping
Up Trend → User-selected color
Down Trend → User-selected color
Visual trend direction and strength can be identified immediately.
🧭 How to Use
When Swing Highs/Lows are detected, structure lines are automatically drawn between previous swings.
Use these lines to evaluate support/resistance breaks and overall structural direction.
Manage risk with volatility guidance:
Higher ATR (volume-weighted) → wider trend spacing → increased risk
Lower ATR → tighter spacing → reduced risk
This helps with position sizing, entry timing, and exit decisions.
+






















