VWAP & Breakout Volume ConfirmHow the TradingView Indicator Works (Explained Simply)
VWAP Line (Orange)
It plots the Volume Weighted Average Price for the day.
Price above VWAP = bullish zone
Price below VWAP = bearish zone
Volume Spike Detection (Red Triangle)
It calculates the average volume over the last 20 candles.
If the current volume is 1.5× that average, it plots a red triangle under the candle.
Helps confirm if a move has real momentum or not.
Breakout Confirmation (Green Label ‘BO’)
Checks if price breaks above the last 10-bar high (for upside breakout) or below the last 10-bar low (for downside breakout).
If a breakout happens and the volume spike is present, it plots a green “BO” label above the candle.
This tells you the breakout is strong and likely to follow through.
Penunjuk dan strategi
Bollinger Bands [LePasha]Bollinger Bands : Advanced Volatility Analysis Made Simple
Discover a refined take on Bollinger Bands that offers clearer market insights and deeper volatility understanding — perfect for traders seeking precision and confidence.
What Is the Bollinger Bands Indicator?
The Bollinger Bands indicator is a powerful, overlay chart tool designed to help traders visualize price volatility and identify potential market extremes more effectively.
Unlike classic Bollinger Bands which use just two standard deviation bands, this enhanced version employs multiple deviation levels around a simple moving average (SMA) to give a richer picture of market dynamics.
Key Features
Multiple Deviation Bands: Instead of only ±2 standard deviations, it uses three extended levels: 2.5, 3.0, and 3.5 standard deviations to highlight subtle and extreme price movements.
Color-coded Volatility Zones: Each band range is filled with translucent red or teal shades to help traders visually grasp the intensity of price moves.
Customizable Length and Toggle: Adjust the length of the bands and enable or disable the indicator easily through inputs.
Why Three Deviation Levels?
Traditional Bollinger Bands (±2 standard deviations) cover approximately 95% of price action, but markets often present significant moves beyond this range that are important to identify for better risk management and trading decisions.
The three deviation levels serve distinct purposes:
Deviation Level Approximate Purpose Market Insight Provided
±2.5 SD Captures strong but fairly common moves Entry/exit trigger zones for trending moves
±3.0 SD Highlights more extreme, less frequent moves Indicates breakout strength or overextension
±3.5 SD Marks rare and extreme price deviations Signals potential reversal or exhaustion
This graduated scale allows traders to differentiate between normal volatility, strong momentum, and possible exhaustion—making it easier to tailor trading decisions according to market context.
How to Use Bollinger Bands
Identify Volatility Zones:
Observe how price interacts with the colored bands:
Price touching or crossing the ±2.5 SD band may indicate a strong move is underway.
Price breaching the ±3.0 or ±3.5 SD bands signals rare, extreme market conditions, which could be either a breakout or a setup for reversal.
Combine With Trend Analysis:
Use in conjunction with trend indicators like moving averages or volume to confirm the direction or strength of moves indicated by the bands.
Adjust Your Stops and Targets:
The layered bands help you set more intelligent stop losses and take profit zones by understanding how far price can reasonably stray.
Visual Clarity for Market Phases:
The shaded fills between bands give intuitive visual cues of volatility expansion and contraction phases.
Why Traders Choose Bollinger Bands
Greater Precision: More nuanced volatility detection than traditional Bollinger Bands.
Visual Elegance: Soft translucent fills and clear band lines reduce clutter while delivering maximum insight.
User-Friendly: Easy to toggle and adjust with minimal setup.
Versatile: Effective across assets, timeframes, and trading styles.
Final Thoughts
The Bollinger Bands indicator is more than just a volatility tool — it's your visual guide to understanding how extreme price moves develop in real-time. Whether you’re entering new trades, managing risk, or hunting reversals, this indicator equips you with superior clarity and confidence.
Add Bollinger Bands to your TradingView toolkit and see volatility like never before.
Range Progress TrackerRANGE PROGRESS TRACKER(RPT)
PURPOSE
This indicator helps traders visually and statistically understand how much of the typical price range (measured by ATR) has already been covered in the current period (Daily, Weekly, or Monthly). It includes key features to assist in trend exhaustion analysis, reversal spotting, and smart alerting.
CORE LOGIC
The indicator calculates the current range of the selected time frame (e.g., Daily), which is:
Current Range = High - Low
This is then compared to the ATR (Average True Range) of the same time frame, which represents the average price movement range over a defined period (default is 14).
The comparison is expressed as a percentage, calculated with this formula:
Range % = (Current Range / ATR) × 100
This percentage shows how much of the “average expected move” has already occurred.
WHY IT MATTERS
When the current range approaches or exceeds 100% of ATR, it means the price has already moved as much as it typically does in a full session.
This indicates a lower probability of continuing the trend with a new high or low, especially when the price is already near the session's high or low.
This setup can signal:
A possible consolidation phase
A reversal in trend
The market entering a corrective phase
SMART ALERTS
The indicator can alert you when:
A new high is made after the range percentage exceeds your set threshold.
A new low is made after the range percentage exceeds your set threshold.
You can adjust the Range % Alert Threshold in the settings to tailor it to your trading style.
BG Ichimoku Tenkan MTFBG Ichimoku Tenkan MTF: Your Multi-Timeframe Trend Compass
Elevate your Ichimoku analysis with the BG Ichimoku Tenkan MTF indicator. This powerful tool provides a comprehensive view of the Tenkan-sen (Conversion Line) across multiple timeframes, helping you identify trends and potential shifts with greater clarity. It's ideal for all markets, including stocks, cryptocurrencies, Forex, and futures.
Key Features:
Main Tenkan-sen Plot: Visualize the Tenkan-sen for your active chart timeframe with adjustable color.
Multi-Timeframe Table: A dynamic table displays the Tenkan-sen's relationship to price (🔼 for above, 🔽 for below) and its current value for up to 7 timeframes.
Continuous MTF Lines: Plot the Tenkan-sen from higher timeframes directly on your current chart, providing clear support/resistance levels and trend confluence.
Fully Customizable Colors: Personalize the color for each individual timeframe in the table and for its corresponding MTF line, ensuring a clean and intuitive visual experience. You can also adjust the main Tenkan-sen color and the MTF line offset.
Gain a deeper understanding of market dynamics by analyzing the Tenkan-sen across different time scales, all in one intuitive indicator.
We created this indicator to help you better navigate the markets. Thank you for using it, and we hope it brings you value. Enjoy it in your daily analysis!
Bab
LANZ Strategy 3.0 [Backtest]🔷 LANZ Strategy 3.0 — Asian Range Fibonacci Scalping Strategy
LANZ Strategy 3.0 is a precision-engineered backtesting tool tailored for intraday traders who rely on the Asian session range to determine directional bias. This strategy implements dynamic Fibonacci projections and strict time-window validation to simulate a clean and disciplined trading environment.
🧠 Core Components:
Asian Range Bias Definition: Direction is established between 01:15–02:15 a.m. NY time based on the candle’s close in relation to the midpoint of the Asian session range (18:00–01:15 NY).
Limit Order Execution: Only one trade is placed daily, using a limit order at the Asian range high (for sells) or low (for buys), between 01:15–08:00 a.m. NY.
Fibonacci-Based TP/SL:
Original Mode: TP = 2.25x range, SL = 0.75x range.
Optimized Mode: TP = 1.95x range, SL = 0.65x range.
No Trade After 08:00 NY: If the limit order is not executed before 08:00 a.m. NY, it is canceled.
Fallback Logic at 02:15 NY: If the market direction misaligns with the setup at 02:15 a.m., the system re-evaluates and can re-issue the order.
End-of-Day Closure: All positions are closed at 15:45 NY if still open.
📊 Backtest-Ready Design:
Entries and exits are executed using strategy.entry() and strategy.exit() functions.
Position size is fixed via capital risk allocation ($100 per trade by default).
Only one position can be active at a time, ensuring controlled risk.
📝 Notes:
This strategy is ideal for assets sensitive to the Asian/London session overlap, such as Forex pairs and indices.
Easily switch between Fibonacci versions using a single dropdown input.
Fully deterministic: all entries are based on pre-defined conditions and time constraints.
👤 Credits:
Strategy developed by rau_u_lanz using Pine Script v6. Built for traders who favor clean sessions, directional clarity, and consistent execution using time-based logic and Fibonacci projections.
ka66: Triple Keltner Around SourceThis is an indicator-on-indicator which draws Keltner Bands (ATR Bands) around any selected Basis Source, instead of hardcoding a moving average, etc. This allows you to put bands around any sort of esoteric moving average of your choice, or even just around price data like OHLC, HLC3, and so on.
It's an enhancement on my prior Multi ATR Channels script at
Written in Pine v6 and allowing custom timeframe selection.
For example, the published chart shows the bands place around a Kaufman Adaptive Moving Average (KAMA), plotted in blue dots.
You would use it for anything that you would use plain Keltners for:
Mean Reversion
Breakouts
Take Profit and Stop Loss Estimation
But with any basis that you deem more suitable for your purposes.
EWMA & EWVar + EWStd Expansion with MTF_V.5EWMA & EWVar + EWStd Expansion with MTF_V.5
This indicator combines adaptive trend smoothing (EWMA), variance estimation (EWVar) and dynamic volatility “bursts” (EWStd Expansion) with optional higher-timeframe confirmation. It’s designed both for visual chart analysis and for automated alerts on regime changes.
Key Features
EWMA (Exponential Smoothing):
• Computes an exponential moving average with either a custom α or a length-derived α = 2/(N+1).
• Option to recalculate only every N bars (reduces CPU load).
EWVar & EWStd (Variance & Standard Deviation):
• Exponentially weighted variance tracks recent price dispersion.
• EWStd (σ) is computed alongside the EWMA.
• Z-score (deviation in σ units) shows how far price has diverged from trend.
Multi-Timeframe Filter (MTF):
• Optionally require the same trend direction on a chosen higher timeframe (e.g. Daily, Weekly, H4).
• Real-time lookahead available (may repaint).
Gradient Around EWMA:
• A multi-layer “glow” zone of ±1σ, broken into up to 10 steps.
• Color interpolates between “upper” and “lower” shades for bullish, bearish and neutral regimes.
Instantaneous Trendline (ITL):
• Ultra-fast trend filter with slope-based coloring.
• Highlights micro-trends and short-lived accelerations.
Cross-Over Signals (ITL ↔ EWMA):
• Up/down triangles plotted when the ITL crosses the main EWMA.
EWStd Expansion (Volatility Bursts):
• Automatically detects σ expansions (σ growth above a set % threshold).
• Price filter: only when price moves beyond EWMA ± (multiplier·σ).
• Optional higher-timeframe confirmation.
Labels & Alerts:
• Text labels and circular markers on bars where a volatility burst occurs.
• Built-in alertcondition calls for both bullish and bearish expansions.
How to Use
Visual Analysis:
• The gradient around EWMA shows the width of the volatility channel expanding or contracting.
• ITL color changes instantly highlight short-term impulses.
• EWMA line color switches (bullish/bearish/neutral) indicate trend state.
Spotting Volatility Breakouts:
• “EWStd Expansion” labels and circles signal the onset of strong moves when σ spikes.
• Useful for entering at the start of new impulses.
Automated Alerts:
• Set alerts on the built-in conditions “Bullish EWStd Expansion Alert” or “Bearish EWStd Expansion Alert” to receive a popup or mobile push when a burst occurs.
This compact tool unifies trend, volatility and multi-timeframe analysis into a single indicator—ideal for traders who want to see trend direction, current dispersion, and timely volatility burst signals all at once.
EMD Trend [InvestorUnknown]EMD Trend is a dynamic trend-following indicator that utilizes Exponential Moving Deviation (EMD) to build adaptive channels around a selected moving average. Designed for traders who value responsive trend signals with built-in volatility sensitivity, this tool highlights directional bias, market regime shifts, and potential breakout opportunities.
How It Works
Instead of using standard deviation, EMD Trend employs the exponential moving average of the absolute deviation from a moving average—producing smoother, faster-reacting upper and lower bounds:
Bullish (Risk-ON Long): Price crosses above the upper EMD band
Bearish (Risk-ON Short): Price crosses below the lower EMD band
Neutral: Price stays within the channel, indicating potential mean reversion or low momentum
Trend direction is defined by price interaction with these bands, and visual cues (color-coded bars and fills) help quickly identify market conditions.
Features
7 Moving Average Types: SMA, EMA, HMA, DEMA, TEMA, RMA, FRAMA
Custom Price Source: Choose close, hl2, ohlc4, or others
EMD Multiplier: Controls the width of the deviation envelope
Bar Coloring: Candles change color based on current trend
Intra-bar Signal Option: Enables faster updates (with optional repainting)
Speculative Zones: Fills highlight aggressive momentum moves beyond EMD bounds
Backtest Mode
Switch to Backtest Mode for performance evaluation over historical data:
Equity Curve Plot: Compare EMD Trend strategy vs. Buy & Hold
Trade Metrics Table: View number of trades, win/loss stats, profits
Performance Metrics Table: Includes CAGR, Sharpe, max drawdown, and more
Custom Start Date: Select from which date the backtest should begin
Trade Sizing: Configure capital and trade percentage per entry
Signal Filters: Choose from Long Only, Short Only, or Both
Alerts
Built-in alerts let you automate entries, exits, and trend transitions:
LONG (EMD Trend) - Trend flips to Long
SHORT (EMD Trend) - Trend flips to Short
RISK-ON LONG - Price crosses above upper EMD band
RISK-OFF LONG - Price crosses back below upper EMD band
RISK-ON SHORT - Price crosses below lower EMD band
RISK-OFF SHORT - Price crosses back above lower EMD band
Use Cases
Trend Confirmation with volatility-sensitive boundaries
Momentum Entry Filtering via breakout zones
Mean Reversion Avoidance in sideways markets
Backtesting & Strategy Building with real-time metrics
Disclaimer
This indicator is intended for informational and educational purposes only. It does not constitute investment advice. Historical performance does not guarantee future results. Always backtest and use in simulation before live trading.
Lorentzian Classification - Advanced Trading DashboardLorentzian Classification - Relativistic Market Analysis
A Journey from Theory to Trading Reality
What began as fascination with Einstein's relativity and Lorentzian geometry has evolved into a practical trading tool that bridges theoretical physics and market dynamics. This indicator represents months of wrestling with complex mathematical concepts, debugging intricate algorithms, and transforming abstract theory into actionable trading signals.
The Theoretical Foundation
Lorentzian Distance in Market Space
Traditional Euclidean distance treats all feature differences equally, but markets don't behave uniformly. Lorentzian distance, borrowed from spacetime geometry, provides a more nuanced similarity measure:
d(x,y) = Σ ln(1 + |xi - yi|)
This logarithmic formulation naturally handles:
Scale invariance: Large price moves don't overwhelm small but significant patterns
Outlier robustness: Extreme values are dampened rather than dominating
Non-linear relationships: Captures market behavior better than linear metrics
K-Nearest Neighbors with Relativistic Weighting
The algorithm searches historical market states for patterns similar to current conditions. Each neighbor receives weight inversely proportional to its Lorentzian distance:
w = 1 / (1 + distance)
This creates a "gravitational" effect where closer patterns have stronger influence on predictions.
The Implementation Challenge
Creating meaningful market features required extensive experimentation:
Price Features: Multi-timeframe momentum (1, 2, 3, 5, 8 bar lookbacks) Volume Features: Relative volume analysis against 20-period average
Volatility Features: ATR and Bollinger Band width normalization Momentum Features: RSI deviation from neutral and MACD/price ratio
Each feature undergoes min-max normalization to ensure equal weighting in distance calculations.
The Prediction Mechanism
For each current market state:
Feature Vector Construction: 12-dimensional representation of market conditions
Historical Search: Scan lookback period for similar patterns using Lorentzian distance
Neighbor Selection: Identify K nearest historical matches
Outcome Analysis: Examine what happened N bars after each match
Weighted Prediction: Combine outcomes using distance-based weights
Confidence Calculation: Measure agreement between neighbors
Technical Hurdles Overcome
Array Management: Complex indexing to prevent look-ahead bias
Distance Calculations: Optimizing nested loops for performance
Memory Constraints: Balancing lookback depth with computational limits
Signal Filtering: Preventing clustering of identical signals
Advanced Dashboard System
Main Control Panel
The primary dashboard provides real-time market intelligence:
Signal Status: Current prediction with confidence percentage
Neighbor Analysis: How many historical patterns match current conditions
Market Regime: Trend strength, volatility, and volume analysis
Temporal Context: Real-time updates with timestamp
Performance Analytics
Comprehensive tracking system monitors:
Win Rate: Percentage of successful predictions
Signal Count: Total predictions generated
Streak Analysis: Current winning/losing sequence
Drawdown Monitoring: Maximum equity decline
Sharpe Approximation: Risk-adjusted performance estimate
Risk Assessment Panel
Multi-dimensional risk analysis:
RSI Positioning: Overbought/oversold conditions
ATR Percentage: Current volatility relative to price
Bollinger Position: Price location within volatility bands
MACD Alignment: Momentum confirmation
Confidence Heatmap
Visual representation of prediction reliability:
Historical Confidence: Last 10 periods of prediction certainty
Strength Analysis: Magnitude of prediction values over time
Pattern Recognition: Color-coded confidence levels for quick assessment
Input Parameters Deep Dive
Core Algorithm Settings
K Nearest Neighbors (1-20): More neighbors create smoother but less responsive signals. Optimal range 5-8 for most markets.
Historical Lookback (50-500): Deeper history improves pattern recognition but reduces adaptability. 100-200 bars optimal for most timeframes.
Feature Window (5-30): Longer windows capture more context but reduce sensitivity. Match to your trading timeframe.
Feature Selection
Price Changes: Essential for momentum and reversal detection Volume Profile: Critical for institutional activity recognition Volatility Measures: Key for regime change detection Momentum Indicators: Vital for trend confirmation
Signal Generation
Prediction Horizon (1-20): How far ahead to predict. Shorter horizons for scalping, longer for swing trading.
Signal Threshold (0.5-0.9): Confidence required for signal generation. Higher values reduce false signals but may miss opportunities.
Smoothing (1-10): EMA applied to raw predictions. More smoothing reduces noise but increases lag.
Visual Design Philosophy
Color Themes
Professional: Corporate blue/red for institutional environments Neon: Cyberpunk cyan/magenta for modern aesthetics
Matrix: Green/red hacker-inspired palette Classic: Traditional trading colors
Information Hierarchy
The dashboard system prioritizes information by importance:
Primary Signals: Largest, most prominent display
Confidence Metrics: Secondary but clearly visible
Supporting Data: Detailed but unobtrusive
Historical Context: Available but not distracting
Trading Applications
Signal Interpretation
Long Signals: Prediction > threshold with high confidence
Look for volume confirmation
- Check trend alignment
- Verify support levels
Short Signals: Prediction < -threshold with high confidence
Confirm with resistance levels
- Check for distribution patterns
- Verify momentum divergence
- Market Regime Adaptation
Trending Markets: Higher confidence in directional signals
Ranging Markets: Focus on reversal signals at extremes
Volatile Markets: Require higher confidence thresholds
Low Volume: Reduce position sizes, increase caution
Risk Management Integration
Confidence-Based Sizing: Larger positions for higher confidence signals
Regime-Aware Stops: Wider stops in volatile regimes
Multi-Timeframe Confirmation: Align signals across timeframes
Volume Confirmation: Require volume support for major signals
Originality and Innovation
This indicator represents genuine innovation in several areas:
Mathematical Approach
First application of Lorentzian geometry to market pattern recognition. Unlike Euclidean-based systems, this naturally handles market non-linearities.
Feature Engineering
Sophisticated multi-dimensional feature space combining price, volume, volatility, and momentum in normalized form.
Visualization System
Professional-grade dashboard system providing comprehensive market intelligence in intuitive format.
Performance Tracking
Real-time performance analytics typically found only in institutional trading systems.
Development Journey
Creating this indicator involved overcoming numerous technical challenges:
Mathematical Complexity: Translating theoretical concepts into practical code
Performance Optimization: Balancing accuracy with computational efficiency
User Interface Design: Making complex data accessible and actionable
Signal Quality: Filtering noise while maintaining responsiveness
The result is a tool that brings institutional-grade analytics to individual traders while maintaining the theoretical rigor of its mathematical foundation.
Best Practices
- Parameter Optimization
- Start with default settings and adjust based on:
Market Characteristics: Volatile vs. stable
Trading Timeframe: Scalping vs. swing trading
Risk Tolerance: Conservative vs. aggressive
Signal Confirmation
Never trade on Lorentzian signals alone:
Price Action: Confirm with support/resistance
Volume: Verify with volume analysis
Multiple Timeframes: Check higher timeframe alignment
Market Context: Consider overall market conditions
Risk Management
Position Sizing: Scale with confidence levels
Stop Losses: Adapt to market volatility
Profit Targets: Based on historical performance
Maximum Risk: Never exceed 2-3% per trade
Disclaimer
This indicator is for educational and research purposes only. It does not constitute financial advice or guarantee profitable trading results. The Lorentzian classification system reveals market patterns but cannot predict future price movements with certainty. Always use proper risk management, conduct your own analysis, and never risk more than you can afford to lose.
Market dynamics are inherently uncertain, and past performance does not guarantee future results. This tool should be used as part of a comprehensive trading strategy, not as a standalone solution.
Bringing the elegance of relativistic geometry to market analysis through sophisticated pattern recognition and intuitive visualization.
Thank you for sharing the idea. You're more than a follower, you're a leader!
@vasanthgautham1221
Trade with precision. Trade with insight.
— Dskyz , for DAFE Trading Systems
RMSD Trend [InvestorUnknown]RMSD Trend is a trend-following indicator that utilizes Root Mean Square Deviation (RMSD) to dynamically construct a volatility-weighted trend channel around a selected moving average. This indicator is designed to enhance signal clarity, minimize noise, and offer quantitative insights into market momentum, ideal for both discretionary and systematic traders.
How It Works
At its core, RMSD Trend calculates a deviation band around a selected moving average using the Root Mean Square Deviation (similar to standard deviation but with squared errors), capturing the magnitude of price dispersion over a user-defined period. The logic is simple:
When price crosses above the upper deviation band, the market is considered bullish (Risk-ON Long).
When price crosses below the lower deviation band, the market is considered bearish (Risk-ON Short).
If price stays within the band, the market is interpreted as neutral or ranging, offering low-risk decision zones.
The indicator also generates trend flips (Long/Short) based on crossovers and crossunders of the price and the RMSD bands, and colors candles accordingly for enhanced visual feedback.
Features
7 Moving Average Types: Choose between SMA, EMA, HMA, DEMA, TEMA, RMA, and FRAMA for flexibility.
Customizable Source Input: Use price types like close, hl2, ohlc4, etc.
Volatility-Aware Channel: Adjustable RMSD multiplier determines band width based on volatility.
Smart Coloring: Candles and bands adapt their colors to reflect trend direction (green for bullish, red for bearish).
Intra-bar Repainting Toggle: Option to allow more responsive but repaintable signals.
Speculation Fill Zones: When price exceeds the deviation channel, a semi-transparent fill highlights potential momentum surges.
Backtest Mode
Switching to Backtest Mode unlocks a robust suite of simulation features:
Built-in Equity Curve: Visualizes both strategy equity and Buy & Hold performance.
Trade Metrics Table: Displays the number of trades, win rates, gross profits/losses, and long/short breakdowns.
Performance Metrics Table: Includes key stats like CAGR, drawdown, Sharpe ratio, and more.
Custom Date Range: Set a custom start date for your backtest.
Trade Sizing: Simulate results using position sizing and initial capital settings.
Signal Filters: Choose between Long & Short, Long Only, or Short Only strategies.
Alerts
The RMSD Trend includes six built-in alert conditions:
LONG (RMSD Trend) - Trend flips from Short to Long
SHORT (RMSD Trend) - Trend flips from Long to Short
RISK-ON LONG (RMSD Trend) - Price crosses above upper RMSD band
RISK-OFF LONG (RMSD Trend) - Price falls back below upper RMSD band
RISK-ON SHORT (RMSD Trend) - Price crosses below lower RMSD band
RISK-OFF SHORT (RMSD Trend) - Price rises back above lower RMSD band
Use Cases
Trend Confirmation: Confirms directional bias with RMSD-weighted confidence zones.
Breakout Detection: Highlights moments when price breaks free from historical volatility norms.
Mean Reversion Filtering: Avoids false signals by incorporating RMSD’s volatility sensitivity.
Strategy Development: Backtest your signals or integrate with a broader system for alpha generation.
Settings Summary
Display Mode: Overlay (default) or Backtest Mode
Average Type: Choose from SMA, EMA, HMA, DEMA, etc.
Average Length: Lookback window for moving average
RMSD Multiplier: Band width control based on RMS deviation
Source: Input price source (close, hl2, ohlc4, etc.)
Intra-bar Updating: Real-time updates (may repaint)
Color Bars: Toggle bar coloring by trend direction
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Past performance, including backtest results, is not indicative of future results. Use with caution and always test thoroughly before live deployment.
Trailing Stop Loss [TradingFinder] 4 Machine Learning Methods🔵 Introduction
The trailing stop indicator dynamically adjusts stop-loss (SL) levels to lock in profits as price moves favorably. It uses pivot levels and ATR to set optimal SL points, balancing risk and reward.
Trade confirmation filters, a key feature, ensure entries align with market conditions, reducing false signals. In 2023 a study showed filtered entries improve win rates by 15% in forex. This enhances trade precision.
SL settings, ranging from very tight to very wide, adapt to volatility via ATR calculations. These settings anchor SL to previous pivot levels, ensuring alignment with market structure. This caters to diverse trading styles, from scalping to swing trading.
The indicator colors the profit zone between the entry point (EP) and SL, using light green for buy trades and light red for sell trades. This visual cue highlights profit potential. It’s ideal for traders seeking dynamic risk management.
A table displays real-time trade details, including EP, SL, and profit/loss (PNL). Backtests show trailing stops cut losses by 20% in trending markets. This transparency aids decision-making.
🔵 How to Use
🟣 SL Levels
The trailing stop indicator sets SL based on pivot levels and ATR, offering four options: very tight, tight, wide, or very wide. Very tight SLs suit scalpers, while wide SLs fit swing traders. Select the base level to match your strategy.
If price hits the SL, the trade closes, and the indicator evaluates the next trade using the selected filter. This ensures disciplined trade management. The cycle restarts with a new confirmed entry.
Very tight SLs, set near recent pivots, trigger exits early to minimize risk but limit profits in volatile markets. Wide SLs, shown as farther lines, allow more price movement but increase exposure to losses. Adjust based on ATR and conditions, noting SL breaches open new positions.
🟣 Visualization
The indicator’s visual cues, like colored profit zones, simplify monitoring, with light green showing the profit area from EP to trailed SL. Dashed lines mark entry points, while solid lines track the trailed SL, triggering new positions when breached.
When price moves into profit, the area between EP and SL is colored—light green for longs, light red for shorts. This highlights the profit zone visually. The SL trails price, locking in gains as the trade progresses.
🟣 Filters
Upon trade entry, the indicator requires confirmation via filters like SMA 2x or ADX to validate momentum. Filters reduce false entries, though no guarantee exists for improved outcomes. Monitor price action post-entry for trade validity.
Filters like Momentum or ADX assess trend strength before entry. For example, ADX above 25 confirms strong trends. Choose “none” for unfiltered entries.
🟣 Bullish Alert
For a bullish trade, the indicator opens a long position with a green SL Line (after optional filters), trailing the SL below price. Set alerts to On in the settings for notifications, or Off to monitor manually.
🟣 Bearish Alert
In a bearish trade, the indicator opens a short position with a red SL Line post-confirmation, trailing the SL above price. With alerts On in the settings, it notifies the potential reversal.
🟣 Panel
A table displays all trades’ details, including Win Rates, PNL, and trade status. This real-time data aids in tracking performance. Check the table to assess trade outcomes instantly.
Review the table regularly to evaluate trade performance and adjust settings. Consistent monitoring ensures alignment with market dynamics. This maximizes the indicator’s effectiveness.
🔵 Settings
Length (Default: 10) : Sets the pivot period for calculating SL levels, balancing sensitivity and reliability.
Base Level : Options (“Very tight,” “Tight,” “Wide,” “Very wide”) adjust SL distance via ATR.
Show EP Checkbox : Toggles visibility of the entry point on the chart.
Show PNL : Displays profit/loss data for active and closed trades.
Filter : Options (“none,” “SMA 2x,” “Momentum,” “ADX”) validate trade entries.
🔵 Conclusion
The trailing stop indicator, a dynamic risk management tool, adjusts SLs using pivot levels and ATR. Its confirmation filters reduce false entries, boosting precision. Backtests show 20% loss reduction in trending markets.
Customizable SL settings and visual profit zones enhance usability across trading styles. The real-time table provides clear trade insights, streamlining analysis. It’s ideal for forex, stocks, or crypto.
While filters like ADX improve entry accuracy, no setup guarantees success in all conditions. Contextual analysis, like trend strength, is key. This indicator empowers disciplined, data-driven trading.
Lyapunov Market Instability (LMI)Lyapunov Market Instability (LMI)
What is Lyapunov Market Instability?
Lyapunov Market Instability (LMI) is a revolutionary indicator that brings chaos theory from theoretical physics into practical trading. By calculating Lyapunov exponents—a measure of how rapidly nearby trajectories diverge in phase space—LMI quantifies market sensitivity to initial conditions. This isn't another oscillator or trend indicator; it's a mathematical lens that reveals whether markets are in chaotic (trending) or stable (ranging) regimes.
Inspired by the meditative color field paintings of Mark Rothko, this indicator transforms complex chaos mathematics into an intuitive visual experience. The elegant simplicity of the visualization belies the sophisticated theory underneath—just as Rothko's seemingly simple color blocks contain profound depth.
Theoretical Foundation (Chaos Theory & Lyapunov Exponents)
In dynamical systems, the Lyapunov exponent (λ) measures the rate of separation of infinitesimally close trajectories:
λ > 0: System is chaotic—small changes lead to dramatically different outcomes (butterfly effect)
λ < 0: System is stable—trajectories converge, perturbations die out
λ ≈ 0: Edge of chaos—transition between regimes
Phase Space Reconstruction
Using Takens' embedding theorem , we reconstruct market dynamics in higher dimensions:
Time-delay embedding: Create vectors from price at different lags
Nearest neighbor search: Find historically similar market states
Trajectory evolution: Track how these similar states diverged over time
Divergence rate: Calculate average exponential separation
Market Application
Chaotic markets (λ > threshold): Strong trends emerge, momentum dominates, use breakout strategies
Stable markets (λ < threshold): Mean reversion dominates, fade extremes, range-bound strategies work
Transition zones: Market regime about to change, reduce position size, wait for confirmation
How LMI Works
1. Phase Space Construction
Each point in time is embedded as a vector using historical prices at specific delays (τ). This reveals the market's hidden attractor structure.
2. Lyapunov Calculation
For each current state, we:
- Find similar historical states within epsilon (ε) distance
- Track how these initially similar states evolved
- Measure exponential divergence rate
- Average across multiple trajectories for robustness
3. Signal Generation
Chaos signals: When λ crosses above threshold, market enters trending regime
Stability signals: When λ crosses below threshold, market enters ranging regime
Divergence detection: Price/Lyapunov divergences signal potential reversals
4. Rothko Visualization
Color fields: Background zones represent market states with Rothko-inspired palettes
Glowing line: Lyapunov exponent with intensity reflecting market state
Minimalist design: Focus on essential information without clutter
Inputs:
📐 Lyapunov Parameters
Embedding Dimension (default: 3)
Dimensions for phase space reconstruction
2-3: Simple dynamics (crypto/forex) - captures basic momentum patterns
4-5: Complex dynamics (stocks/indices) - captures intricate market structures
Higher dimensions need exponentially more data but reveal deeper patterns
Time Delay τ (default: 1)
Lag between phase space coordinates
1: High-frequency (1m-15m charts) - captures rapid market shifts
2-3: Medium frequency (1H-4H) - balances noise and signal
4-5: Low frequency (Daily+) - focuses on major regime changes
Match to your timeframe's natural cycle
Initial Separation ε (default: 0.001)
Neighborhood size for finding similar states
0.0001-0.0005: Highly liquid markets (major forex pairs)
0.0005-0.002: Normal markets (large-cap stocks)
0.002-0.01: Volatile markets (crypto, small-caps)
Smaller = more sensitive to chaos onset
Evolution Steps (default: 10)
How far to track trajectory divergence
5-10: Fast signals for scalping - quick regime detection
10-20: Balanced for day trading - reliable signals
20-30: Slow signals for swing trading - major regime shifts only
Nearest Neighbors (default: 5)
Phase space points for averaging
3-4: Noisy/fast markets - adapts quickly
5-6: Balanced (recommended) - smooth yet responsive
7-10: Smooth/slow markets - very stable signals
📊 Signal Parameters
Chaos Threshold (default: 0.05)
Lyapunov value above which market is chaotic
0.01-0.03: Sensitive - more chaos signals, earlier detection
0.05: Balanced - optimal for most markets
0.1-0.2: Conservative - only strong trends trigger
Stability Threshold (default: -0.05)
Lyapunov value below which market is stable
-0.01 to -0.03: Sensitive - quick stability detection
-0.05: Balanced - reliable ranging signals
-0.1 to -0.2: Conservative - only deep stability
Signal Smoothing (default: 3)
EMA period for noise reduction
1-2: Raw signals for experienced traders
3-5: Balanced - recommended for most
6-10: Very smooth for position traders
🎨 Rothko Visualization
Rothko Classic: Deep reds for chaos, midnight blues for stability
Orange/Red: Warm sunset tones throughout
Blue/Black: Cool, meditative ocean depths
Purple/Grey: Subtle, sophisticated palette
Visual Options:
Market Zones : Background fields showing regime areas
Transitions: Arrows marking regime changes
Divergences: Labels for price/Lyapunov divergences
Dashboard: Real-time state and trading signals
Guide: Educational panel explaining the theory
Visual Logic & Interpretation
Main Elements
Lyapunov Line: The heart of the indicator
Above chaos threshold: Market is trending, follow momentum
Below stability threshold: Market is ranging, fade extremes
Between thresholds: Transition zone, reduce risk
Background Zones: Rothko-inspired color fields
Red zone: Chaotic regime (trending)
Gray zone: Transition (uncertain)
Blue zone: Stable regime (ranging)
Transition Markers:
Up triangle: Entering chaos - start trend following
Down triangle: Entering stability - start mean reversion
Divergence Signals:
Bullish: Price makes low but Lyapunov rising (stability breaking down)
Bearish: Price makes high but Lyapunov falling (chaos dissipating)
Dashboard Information
Market State: Current regime (Chaotic/Stable/Transitioning)
Trading Bias: Specific strategy recommendation
Lyapunov λ: Raw value for precision
Signal Strength: Confidence in current regime
Last Change: Bars since last regime shift
Action: Clear trading directive
Trading Strategies
In Chaotic Regime (λ > threshold)
Follow trends aggressively: Breakouts have high success rate
Use momentum strategies: Moving average crossovers work well
Wider stops: Expect larger swings
Pyramid into winners: Trends tend to persist
In Stable Regime (λ < threshold)
Fade extremes: Mean reversion dominates
Use oscillators: RSI, Stochastic work well
Tighter stops: Smaller expected moves
Scale out at targets: Trends don't persist
In Transition Zone
Reduce position size: Uncertainty is high
Wait for confirmation: Let regime establish
Use options: Volatility strategies may work
Monitor closely: Quick changes possible
Advanced Techniques
- Multi-Timeframe Analysis
- Higher timeframe LMI for regime context
- Lower timeframe for entry timing
- Alignment = highest probability trades
- Divergence Trading
- Most powerful at regime boundaries
- Combine with support/resistance
- Use for early reversal detection
- Volatility Correlation
- Chaos often precedes volatility expansion
- Stability often precedes volatility contraction
- Use for options strategies
Originality & Innovation
LMI represents a genuine breakthrough in applying chaos theory to markets:
True Lyapunov Calculation: Not a simplified proxy but actual phase space reconstruction and divergence measurement
Rothko Aesthetic: Transforms complex math into meditative visual experience
Regime Detection: Identifies market state changes before price makes them obvious
Practical Application: Clear, actionable signals from theoretical physics
This is not a combination of existing indicators or a visual makeover of standard tools. It's a fundamental rethinking of how we measure and visualize market dynamics.
Best Practices
Start with defaults: Parameters are optimized for broad market conditions
Match to your timeframe: Adjust tau and evolution steps
Confirm with price action: LMI shows regime, not direction
Use appropriate strategies: Chaos = trend, Stability = reversion
Respect transitions: Reduce risk during regime changes
Alerts Available
Chaos Entry: Market entering chaotic regime - prepare for trends
Stability Entry: Market entering stable regime - prepare for ranges
Bullish Divergence: Potential bottom forming
Bearish Divergence: Potential top forming
Chart Information
Script Name: Lyapunov Market Instability (LMI) Recommended Use: All markets, all timeframes Best Performance: Liquid markets with clear regimes
Academic References
Takens, F. (1981). "Detecting strange attractors in turbulence"
Wolf, A. et al. (1985). "Determining Lyapunov exponents from a time series"
Rosenstein, M. et al. (1993). "A practical method for calculating largest Lyapunov exponents"
Note: After completing this indicator, I discovered @loxx's 2022 "Lyapunov Hodrick-Prescott Oscillator w/ DSL". While both explore Lyapunov exponents, they represent independent implementations with different methodologies and applications. This indicator uses phase space reconstruction for regime detection, while his combines Lyapunov concepts with HP filtering.
Disclaimer
This indicator is for research and educational purposes only. It does not constitute financial advice or provide direct buy/sell signals. Chaos theory reveals market character, not future prices. Always use proper risk management and combine with your own analysis. Past performance does not guarantee future results.
See markets through the lens of chaos. Trade the regime, not the noise.
Bringing theoretical physics to practical trading through the meditative aesthetics of Mark Rothko
Trade with insight. Trade with anticipation.
— Dskyz , for DAFE Trading Systems
SpeedBullish Strategy Confirm V6.2SpeedBullish Strategy Confirm V6.2
SpeedBullish V6.2 is an advanced price-action + indicator-based strategy designed to confirm trend strength and signal entries with high precision. This version builds on the W/M pattern structure and adds dynamic filtering with EMA, MACD Histogram, RSI, ATR, and Volume.
✅ Signal Conditions
🔹 Buy Signal:
Price above EMA10 or EMA15
MACD Histogram crosses above 0
RSI > 50
(Optional) Higher low via Pivot Low
(Optional) ATR > ATR SMA * Multiplier
(Optional) Volume > SMA * Multiplier
🔻 Sell Signal:
Price below EMA10 or EMA15
MACD Histogram crosses below 0
RSI < 50
(Optional) Lower high via Pivot High
(Optional) Confirmed high volatility and volume
⚙️ Strategy Features
MACD Histogram for momentum shift detection
RSI filtering for momentum confirmation
EMA10/15 for trend direction
ATR-based volatility filter
Volume confirmation filter
Dynamic TP/SL + Trailing Stop
Webhook Integration for MT5 auto-trade
Visual signal markers + background highlight
🔔 Alerts
Alerts are sent in JSON format via alert() with the current symbol, action (buy/sell), and price. Webhook endpoint and secret key are configurable.
📈 How to Use
Attach the strategy to any symbol and timeframe
Customize filters and confirmations to fit your market conditions
Enable webhook alerts for integration with your MT5 Expert Advisor or trading bot
Backtest and optimize before live deployment
Support and Resistance Profile with Volatility ClusteringThe indicator begins by looking at recent volatility behavior in the market: it measures the average true range over your chosen “Length” and compares it to the average true range over ten times that period. When volatility over the short window is high relative to longer-term volatility, we mark that period as a “cluster.” As price moves through these clusters—whether in a quiet period or a sudden burst of activity—the script isolates each cluster and examines the sequence of closing prices within it.
Within every cluster, the algorithm next finds the points along the price path that matter most to a human eye, smoothing out minor wobbles and highlighting the peaks and valleys that define the cluster’s shape. It does this by drawing a straight line between the beginning and end of the cluster, then repeatedly snapping the single point that deviates most from that line back onto it and re-interpolating, until it has identified a fixed number of perceptually important points. Those points capture where price really turned or accelerated, stripping away noise so that you see the genuine memory-markers in each volatility episode.
Each of those important points inherits a “weight” based on the cluster’s normalized volatility—essentially how large the average true range in that cluster was relative to its average close. Over your “Main Length for Profile” window, every time one of these weighted points occurs at a particular price level, it adds to a running total in that level’s bin. At the end of the window you see a silhouette of boxes extending to the right of the chart: where boxes are wide, many important points (with high volatility weight) have happened there in the past; where boxes are thin or absent, price memory is light.
For a trader, the value of this profile lies in spotting zones where the market has repeatedly “remembered” price extremes during volatile episodes—those are areas where support or resistance is likely to be strongest. Conversely, gaps in the profile—price levels with little weighted history—suggest frictionless zones. If price enters such a gap, it may move swiftly until it encounters another region of heavy memory. You can use this in several ways: as a filter on breakouts and breakdowns (only trade through a gap when you see sufficient momentum), as a guide for scaling into positions (add when price enters a low-memory zone and tighten stops where memory boxes thicken), or to anticipate where price might pause or reverse (when it reaches a band of wide boxes). By turning raw volatility clusters into a human-readable map of price memory, this tool helps you see at a glance where the market is likely to push or pause—and plan entries, exits, and risk targets accordingly.
DisplayUtilitiesLibrary "DisplayUtilities"
Display utilities for color management and visual presentation
get_direction_color(direction, up_excessive, up_normal, neutral, down_normal, down_excessive)
Get candle color based on direction and color scheme
Parameters:
direction (int) : Direction value (-2, -1, 0, 1, 2)
up_excessive (color) : Color for +2 direction
up_normal (color) : Color for +1 direction
neutral (color) : Color for 0 direction
down_normal (color) : Color for -1 direction
down_excessive (color) : Color for -2 direction
Returns: Appropriate color for the direction
get_candle_paint_directions(paint_opt, body_dir, bar_dir, breakout_dir, combined_dir)
Get candle directions for different painting algorithms
Parameters:
paint_opt (string) : Painting option algorithm
body_dir (int) : Body direction
bar_dir (int) : Bar direction
breakout_dir (int) : Breakout direction
combined_dir (int) : Combined direction
Returns:
get_bias_paint_directions(paint_bias, unified_dir)
Get paint directions based on bias filter
Parameters:
paint_bias (string) : Paint bias option ("All", "Bull Bias", "Bear Bias")
unified_dir (int) : Unified direction
Returns: Directions for two plotcandle series
get_transparency_levels(sf_filtered, fade_option, fade_opacity)
Calculate transparency levels for strength factor filtering
Parameters:
sf_filtered (bool) : Is strength factor filtered
fade_option (string) : Fade option ("Disabled", "Fade Candle", "Do Not Fade Wick", "Do Not Fade Wick and Border")
fade_opacity (int) : Fade opacity percentage
Returns:
get_strength_factor_filter(filter_option, individual_filters)
Generate strength factor filter conditions
Parameters:
filter_option (string) : Filter option string
individual_filters (map) : Map of individual filter conditions
Returns: Boolean filter result
get_signal_bar_condition(signal_option, individual_filters)
Generate signal bar conditions (inverted filters)
Parameters:
signal_option (string) : Signal bar option string
individual_filters (map) : Map of individual filter conditions
Returns: Boolean signal bar result
get_zscore_signal_condition(z_signal_option, z_filters)
Get Z-score signal bar conditions
Parameters:
z_signal_option (string) : Z-score signal option
z_filters (map) : Map of Z-score filters
Returns: Boolean Z-score signal condition
get_standard_colors()
Create a standard color scheme for directions
Returns: Standard color set
apply_zscore_modification(original_dir, z_filtered)
Modify directions for Z-score excess display
Parameters:
original_dir (int) : Original direction
z_filtered (bool) : Is Z-score filtered (shows excess)
Returns: Modified direction (doubled if excess detected)
get_default_fade_colors()
Get default fade colors for strength factor overlay
Returns: Default colors for TV overlay
should_paint_candles(paint_algo)
Check if paint algorithm should show candles
Parameters:
paint_algo (string) : Paint algorithm option
Returns: True if algorithm should display candles
get_signal_bar_char(signal_type, is_bullish)
Get signal bar character based on signal type
Parameters:
signal_type (string) : Signal type ("strength_factor" or "zscore")
is_bullish (bool) : Direction is bullish
Returns: Character and location for plotchar
get_signal_bar_color(signal_type, is_bullish)
Get signal bar colors
Parameters:
signal_type (string) : Signal type ("strength_factor" or "zscore")
is_bullish (bool) : Direction is bullish
Returns: Signal bar color
ZScoreAnalysisLibrary "ZScoreAnalysis"
Z-score analysis for detecting statistical deviations and excess market behavior
calculate_zscore(source, lookback, threshold, switch_enabled)
Calculate Z-score and related metrics with history tracking
Parameters:
source (float) : Data source for Z-score calculation
lookback (int) : Lookback period for mean and standard deviation
threshold (float) : Z-score threshold for significance
switch_enabled (string) : Enable/disable switch ("Enabled"/"Disabled")
Returns: Z-score, historical significant values, and running average
get_zscore_threshold(opt, input_thr, avg)
Get threshold based on threshold option
Parameters:
opt (string) : Threshold option ("User Input Threshold", "Average as Threshold", or other)
input_thr (float) : User input threshold
avg (float) : Average threshold
Returns: Calculated threshold value
is_zscore_filtered(switch_enabled, zscore, threshold)
Check if a metric passes the Z-score filter
Parameters:
switch_enabled (string) : Enable/disable switch
zscore (float) : Current Z-score value
threshold (float) : Z-score threshold
Returns: True if filtered (exceeds threshold)
get_consecutive_distances(body_dir, breakout_dir, is_inside_bar)
Calculate consecutive distances for Z-score analysis
Parameters:
body_dir (int) : Body direction
breakout_dir (int) : Breakout direction
is_inside_bar (bool) : Inside bar flag
Returns:
get_trend_to_mean_distance()
Calculate distance from trend to mean for momentum analysis
Returns: Distance between trend and mean
get_all_zscores(lookback, threshold, bar_dist_switch, body_dist_switch, chl_dist_switch, cc_dist_switch, m_dist_switch, body_dir, breakout_dir, is_inside_bar)
Get all Z-score calculations for the indicator
Parameters:
lookback (int) : Z-score lookback period
threshold (float) : Z-score threshold
bar_dist_switch (string) : Enable bar distance Z-score
body_dist_switch (string) : Enable body distance Z-score
chl_dist_switch (string) : Enable consecutive highs/lows Z-score
cc_dist_switch (string) : Enable consecutive closes Z-score
m_dist_switch (string) : Enable momentum distance Z-score
body_dir (int) : Body direction
breakout_dir (int) : Breakout direction
is_inside_bar (bool) : Inside bar flag
Returns: Array of Z-score results and filters
get_combined_zscore_filters(z_filters)
Get combined Z-score filters
Parameters:
z_filters (map) : Map of individual Z-score filters
Returns: Various combinations of Z-score filters
get_basic_distances()
Calculate basic distances used in Z-score analysis
Returns: Bar range and body range
get_individual_zscore_filter(z_filters, filter_name)
Get individual Z-score filter by name
Parameters:
z_filters (map) : Map of Z-score filters
filter_name (string) : Name of the filter ("bar_dist", "body_dist", etc.)
Returns: Boolean filter result
has_any_zscore_signal(z_filters)
Check if any Z-score filter is active
Parameters:
z_filters (map) : Map of individual Z-score filters
Returns: True if any Z-score exceeds threshold
StrengthFactorsLibrary "StrengthFactors"
Strength factor calculations for various market analysis metrics
get_threshold(opt, input_val, avg_val, lineancy)
Calculate threshold based on options
Parameters:
opt (string) : Threshold option ("Disabled", "User Input Threshold", "Average as Threshold")
input_val (float) : User input threshold value
avg_val (float) : Average value for threshold
lineancy (float) : Lineancy adjustment percentage
Returns: Calculated threshold
get_percentage_of_threshold(value, threshold)
Calculate percentage of threshold
Parameters:
value (float) : Current value
threshold (float) : Threshold value
Returns: Percentage of threshold
get_distance_sf(lookback, thr_opt, thr_inp, lineancy)
Calculate Distance Strength Factor
Parameters:
lookback (int) : Lookback period for average
thr_opt (string) : Threshold option
thr_inp (float) : User threshold input
lineancy (float) : Lineancy adjustment
Returns:
get_uniformity_sf(lookback, thr_opt, thr_inp, stddev_mult, lineancy)
Calculate Uniformity Strength Factor
Parameters:
lookback (int) : Lookback period for average
thr_opt (string) : Threshold option
thr_inp (float) : User threshold input
stddev_mult (float) : Standard deviation multiplier
lineancy (float) : Lineancy adjustment
Returns:
get_overlap_sf(lookback, thr_opt, thr_inp, lineancy)
Calculate Overlap Strength Factor
Parameters:
lookback (int) : Lookback period for average
thr_opt (string) : Threshold option
thr_inp (float) : User threshold input
lineancy (float) : Lineancy adjustment
Returns:
get_body_sf(lookback, thr_opt, thr_inp, lineancy)
Calculate Body Strength Factor
Parameters:
lookback (int) : Lookback period for average
thr_opt (string) : Threshold option
thr_inp (float) : User threshold input
lineancy (float) : Lineancy adjustment
Returns:
get_close_sf(lookback, thr_opt, thr_inp, lineancy)
Calculate Close Strength Factor
Parameters:
lookback (int) : Lookback period for average
thr_opt (string) : Threshold option
thr_inp (float) : User threshold input
lineancy (float) : Lineancy adjustment
Returns:
get_breakout_sf(lookback, thr_opt, thr_inp, lineancy, bro_dir, is_inside_bar)
Calculate Breakout Strength Factor
Parameters:
lookback (int) : Lookback period for average
thr_opt (string) : Threshold option
thr_inp (float) : User threshold input
lineancy (float) : Lineancy adjustment
bro_dir (int) : Breakout direction
is_inside_bar (bool) : Is inside bar flag
Returns:
get_always_in_sf(thr_opt, thr_inp, lineancy)
Calculate Always-In Strength Factor
Parameters:
thr_opt (string) : Threshold option
thr_inp (float) : User threshold input
lineancy (float) : Lineancy adjustment
Returns:
get_directional_sf(overlap_prc, distance_prc, body_prc, close_prc, breakout_prc, lookback, thr_opt, thr_inp, lineancy)
Calculate Directional Strength Factor (composite)
Parameters:
overlap_prc (float) : Overlap SF as percentage of threshold
distance_prc (float) : Distance SF as percentage of threshold
body_prc (float) : Body SF as percentage of threshold
close_prc (float) : Close SF as percentage of threshold
breakout_prc (float) : Breakout SF as percentage of threshold
lookback (int) : Lookback period for average
thr_opt (string) : Threshold option
thr_inp (float) : User threshold input
lineancy (float) : Lineancy adjustment
Returns:
get_combined_direction_sf(body_prc, close_prc, breakout_prc, lookback, thr_opt, thr_inp, lineancy)
Calculate Combined Direction Strength Factor
Parameters:
body_prc (float) : Body SF as percentage of threshold
close_prc (float) : Close SF as percentage of threshold
breakout_prc (float) : Breakout SF as percentage of threshold
lookback (int) : Lookback period for average
thr_opt (string) : Threshold option
thr_inp (float) : User threshold input
lineancy (float) : Lineancy adjustment
Returns:
get_all_strength_factors(lookback, lineancy, dist_thr_opt, dist_thr_inp, body_thr_opt, body_thr_inp, close_thr_opt, close_thr_inp, breakout_thr_opt, breakout_thr_inp, bro_dir, is_inside_bar)
Get all strength factors at once (convenience function)
Parameters:
lookback (int) : Lookback period for averages
lineancy (float) : Lineancy adjustment percentage
dist_thr_opt (string) : Distance threshold option
dist_thr_inp (float) : Distance threshold input
body_thr_opt (string) : Body threshold option
body_thr_inp (float) : Body threshold input
close_thr_opt (string) : Close threshold option
close_thr_inp (float) : Close threshold input
breakout_thr_opt (string) : Breakout threshold option
breakout_thr_inp (float) : Breakout threshold input
bro_dir (int) : Breakout direction
is_inside_bar (bool) : Is inside bar flag
Returns: Map containing all strength factor results
Systemic Credit Market Pressure IndexSystemic Credit Market Pressure Index (SCMPI): A Composite Indicator for Credit Cycle Analysis
The Systemic Credit Market Pressure Index (SCMPI) represents a novel composite indicator designed to quantify systemic stress within credit markets through the integration of multiple macroeconomic variables. This indicator employs advanced statistical normalization techniques, adaptive threshold mechanisms, and intelligent visualization systems to provide real-time assessment of credit market conditions across expansion, neutral, and stress regimes. The methodology combines credit spread analysis, labor market indicators, consumer credit conditions, and household debt metrics into a unified framework for systemic risk assessment, featuring dynamic Bollinger Band-style thresholds and theme-adaptive visualization capabilities.
## 1. Introduction
Credit cycles represent fundamental drivers of economic fluctuations, with their dynamics significantly influencing financial stability and macroeconomic outcomes (Bernanke, Gertler & Gilchrist, 1999). The identification and measurement of credit market stress has become increasingly critical following the 2008 financial crisis, which highlighted the need for comprehensive early warning systems (Adrian & Brunnermeier, 2016). Traditional single-variable approaches often fail to capture the multidimensional nature of credit market dynamics, necessitating the development of composite indicators that integrate multiple information sources.
The SCMPI addresses this gap by constructing a weighted composite index that synthesizes four key dimensions of credit market conditions: corporate credit spreads, labor market stress, consumer credit accessibility, and household leverage ratios. This approach aligns with the theoretical framework established by Minsky (1986) regarding financial instability hypothesis and builds upon empirical work by Gilchrist & Zakrajšek (2012) on credit market sentiment.
## 2. Theoretical Framework
### 2.1 Credit Cycle Theory
The theoretical foundation of the SCMPI rests on the credit cycle literature, which posits that credit availability fluctuates in predictable patterns that amplify business cycle dynamics (Kiyotaki & Moore, 1997). During expansion phases, credit becomes increasingly available as risk perceptions decline and collateral values rise. Conversely, stress phases are characterized by credit contraction, elevated risk premiums, and deteriorating borrower conditions.
The indicator incorporates Kindleberger's (1978) framework of financial crises, which identifies key stages in credit cycles: displacement, boom, euphoria, profit-taking, and panic. By monitoring multiple variables simultaneously, the SCMPI aims to capture transitions between these phases before they become apparent in individual metrics.
### 2.2 Systemic Risk Measurement
Systemic risk, defined as the risk of collapse of an entire financial system or entire market (Kaufman & Scott, 2003), requires measurement approaches that capture interconnectedness and spillover effects. The SCMPI follows the methodology established by Bisias et al. (2012) in constructing composite measures that aggregate individual risk indicators into system-wide assessments.
The index employs the concept of "financial stress" as defined by Illing & Liu (2006), encompassing increased uncertainty about fundamental asset values, increased uncertainty about other investors' behavior, increased flight to quality, and increased flight to liquidity.
## 3. Methodology
### 3.1 Component Variables
The SCMPI integrates four primary components, each representing distinct aspects of credit market conditions:
#### 3.1.1 Credit Spreads (BAA-10Y Treasury)
Corporate credit spreads serve as the primary indicator of credit market stress, reflecting risk premiums demanded by investors for corporate debt relative to risk-free government securities (Gilchrist & Zakrajšek, 2012). The BAA-10Y spread specifically captures investment-grade corporate credit conditions, providing insight into broad credit market sentiment.
#### 3.1.2 Unemployment Rate
Labor market conditions directly influence credit quality through their impact on borrower repayment capacity (Bernanke & Gertler, 1995). Rising unemployment typically precedes credit deterioration, making it a valuable leading indicator for credit stress.
#### 3.1.3 Consumer Credit Rates
Consumer credit accessibility reflects the transmission of monetary policy and credit market conditions to household borrowing (Mishkin, 1995). Elevated consumer credit rates indicate tightening credit conditions and reduced credit availability for households.
#### 3.1.4 Household Debt Service Ratio
Household leverage ratios capture the debt burden relative to income, providing insight into household financial stress and potential credit losses (Mian & Sufi, 2014). High debt service ratios indicate vulnerable household sectors that may contribute to credit market instability.
### 3.2 Statistical Methodology
#### 3.2.1 Z-Score Normalization
Each component variable undergoes robust z-score normalization to ensure comparability across different scales and units:
Z_i,t = (X_i,t - μ_i) / σ_i
Where X_i,t represents the value of variable i at time t, μ_i is the historical mean, and σ_i is the historical standard deviation. The normalization period employs a rolling 252-day window to capture annual cyclical patterns while maintaining sensitivity to regime changes.
#### 3.2.2 Adaptive Smoothing
To reduce noise while preserving signal quality, the indicator employs exponential moving average (EMA) smoothing with adaptive parameters:
EMA_t = α × Z_t + (1-α) × EMA_{t-1}
Where α = 2/(n+1) and n represents the smoothing period (default: 63 days).
#### 3.2.3 Weighted Aggregation
The composite index combines normalized components using theoretically motivated weights:
SCMPI_t = w_1×Z_spread,t + w_2×Z_unemployment,t + w_3×Z_consumer,t + w_4×Z_debt,t
Default weights reflect the relative importance of each component based on empirical literature: credit spreads (35%), unemployment (25%), consumer credit (25%), and household debt (15%).
### 3.3 Dynamic Threshold Mechanism
Unlike static threshold approaches, the SCMPI employs adaptive Bollinger Band-style thresholds that automatically adjust to changing market volatility and conditions (Bollinger, 2001):
Expansion Threshold = μ_SCMPI - k × σ_SCMPI
Stress Threshold = μ_SCMPI + k × σ_SCMPI
Neutral Line = μ_SCMPI
Where μ_SCMPI and σ_SCMPI represent the rolling mean and standard deviation of the composite index calculated over a configurable period (default: 126 days), and k is the threshold multiplier (default: 1.0). This approach ensures that thresholds remain relevant across different market regimes and volatility environments, providing more robust regime classification than fixed thresholds.
### 3.4 Visualization and User Interface
The SCMPI incorporates advanced visualization capabilities designed for professional trading environments:
#### 3.4.1 Adaptive Theme System
The indicator features an intelligent dual-theme system that automatically optimizes colors and transparency levels for both dark and bright chart backgrounds. This ensures optimal readability across different trading platforms and user preferences.
#### 3.4.2 Customizable Visual Elements
Users can customize all visual aspects including:
- Color Schemes: Automatic theme adaptation with optional custom color overrides
- Line Styles: Configurable widths for main index, trend lines, and threshold boundaries
- Transparency Optimization: Automatic adjustment based on selected theme for optimal contrast
- Dynamic Zones: Color-coded regime areas with adaptive transparency
#### 3.4.3 Professional Data Table
A comprehensive 13-row data table provides real-time component analysis including:
- Composite index value and regime classification
- Individual component z-scores with color-coded stress indicators
- Trend direction and signal strength assessment
- Dynamic threshold status and volatility metrics
- Component weight distribution for transparency
## 4. Regime Classification
The SCMPI classifies credit market conditions into three distinct regimes:
### 4.1 Expansion Regime (SCMPI < Expansion Threshold)
Characterized by favorable credit conditions, low risk premiums, and accommodative lending standards. This regime typically corresponds to economic expansion phases with low default rates and increasing credit availability.
### 4.2 Neutral Regime (Expansion Threshold ≤ SCMPI ≤ Stress Threshold)
Represents balanced credit market conditions with moderate risk premiums and stable lending standards. This regime indicates neither significant stress nor excessive exuberance in credit markets.
### 4.3 Stress Regime (SCMPI > Stress Threshold)
Indicates elevated credit market stress with high risk premiums, tightening lending standards, and deteriorating borrower conditions. This regime often precedes or coincides with economic contractions and financial market volatility.
## 5. Technical Implementation and Features
### 5.1 Alert System
The SCMPI includes a comprehensive alert framework with seven distinct conditions:
- Regime Transitions: Expansion, Neutral, and Stress phase entries
- Extreme Conditions: Values exceeding ±2.0 standard deviations
- Trend Reversals: Directional changes in the underlying trend component
### 5.2 Performance Optimization
The indicator employs several optimization techniques:
- Efficient Calculations: Pre-computed statistical measures to minimize computational overhead
- Memory Management: Optimized variable declarations for real-time performance
- Error Handling: Robust data validation and fallback mechanisms for missing data
## 6. Empirical Validation
### 6.1 Historical Performance
Backtesting analysis demonstrates the SCMPI's ability to identify major credit stress episodes, including:
- The 2008 Financial Crisis
- The 2020 COVID-19 pandemic market disruption
- Various regional banking crises
- European sovereign debt crisis (2010-2012)
### 6.2 Leading Indicator Properties
The composite nature and dynamic threshold system of the SCMPI provides enhanced leading indicator properties, typically signaling regime changes 1-3 months before they become apparent in individual components or market indices. The adaptive threshold mechanism reduces false signals during high-volatility periods while maintaining sensitivity during regime transitions.
## 7. Applications and Limitations
### 7.1 Applications
- Risk Management: Portfolio managers can use SCMPI signals to adjust credit exposure and risk positioning
- Academic Research: Researchers can employ the index for credit cycle analysis and systemic risk studies
- Trading Systems: The comprehensive alert system enables automated trading strategy implementation
- Financial Education: The transparent methodology and visual design facilitate understanding of credit market dynamics
### 7.2 Limitations
- Data Dependency: The indicator relies on timely and accurate macroeconomic data from FRED sources
- Regime Persistence: Dynamic thresholds may exhibit brief lag during extremely rapid regime transitions
- Model Risk: Component weights and parameters require periodic recalibration based on evolving market structures
- Computational Requirements: Real-time calculations may require adequate processing power for optimal performance
## References
Adrian, T. & Brunnermeier, M.K. (2016). CoVaR. *American Economic Review*, 106(7), 1705-1741.
Bernanke, B. & Gertler, M. (1995). Inside the black box: the credit channel of monetary policy transmission. *Journal of Economic Perspectives*, 9(4), 27-48.
Bernanke, B., Gertler, M. & Gilchrist, S. (1999). The financial accelerator in a quantitative business cycle framework. *Handbook of Macroeconomics*, 1, 1341-1393.
Bisias, D., Flood, M., Lo, A.W. & Valavanis, S. (2012). A survey of systemic risk analytics. *Annual Review of Financial Economics*, 4(1), 255-296.
Bollinger, J. (2001). *Bollinger on Bollinger Bands*. McGraw-Hill Education.
Gilchrist, S. & Zakrajšek, E. (2012). Credit spreads and business cycle fluctuations. *American Economic Review*, 102(4), 1692-1720.
Illing, M. & Liu, Y. (2006). Measuring financial stress in a developed country: An application to Canada. *Journal of Financial Stability*, 2(3), 243-265.
Kaufman, G.G. & Scott, K.E. (2003). What is systemic risk, and do bank regulators retard or contribute to it? *The Independent Review*, 7(3), 371-391.
Kindleberger, C.P. (1978). *Manias, Panics and Crashes: A History of Financial Crises*. Basic Books.
Kiyotaki, N. & Moore, J. (1997). Credit cycles. *Journal of Political Economy*, 105(2), 211-248.
Mian, A. & Sufi, A. (2014). What explains the 2007–2009 drop in employment? *Econometrica*, 82(6), 2197-2223.
Minsky, H.P. (1986). *Stabilizing an Unstable Economy*. Yale University Press.
Mishkin, F.S. (1995). Symposium on the monetary transmission mechanism. *Journal of Economic Perspectives*, 9(4), 3-10.
DirectionCalculationsLibrary "DirectionCalculations"
Direction calculation algorithms for body, bar, and breakout directions
get_body_direction()
Calculate body direction based on open vs close
Returns: Body direction: 1 (bullish), -1 (bearish), 0 (doji)
get_bar_direction()
Calculate bar direction based on close position relative to hl2
Returns: Bar direction: 1 (upper half), -1 (lower half), 0 (middle)
get_breakout_direction()
Calculate breakout direction with outside/inside bar logic
Returns:
get_combined_direction(bod_dir, bar_dir, bro_dir, bro_ob_dir)
Calculate combined direction from body and bar directions
Parameters:
bod_dir (int) : Body direction
bar_dir (int) : Bar direction
bro_dir (int) : Breakout direction
bro_ob_dir (int) : Outside bar direction
Returns: Combined direction
is_consecutive_direction(current_dir, previous_dir)
Check if directions are consecutive (no reversal)
Parameters:
current_dir (int) : Current direction
previous_dir (int) : Previous direction
Returns: True if consecutive (no reversal from +1 to -1 or -1 to +1)
get_all_directions()
Get all direction calculations at once
Returns:
get_breakout_distances()
Get distance calculations for breakout analysis
Returns: High-to-high and low-to-low distances
get_bar_patterns()
Check for specific bar patterns
Returns:
Bias Ratio-ETH-3H @CTTC5108Most of the code of this strategy should be my own original.
This Ethereum 3-hour time cycle strategy can be traced back to February 24, 2023. Although the profit and winning rate are not high, it is still relatively stable.
This strategy uses the deviation rate to enter the market. Invest 10% of the principal each time.
The limit start time adopts a rolling design (should be original).
Real-time retracement and maximum retracement are accurately calculated (should be original).
Adopt segmented stop profit (optional) design.
Open source for learning and other use.
ES OHLC BASED ON 9:301. RTH Price Levels
YC (Yesterday's Close): Previous day's RTH closing price at 4:00 PM ET
0DTE-O (Today's Open): Current day's RTH opening price at 9:30 AM ET
T-E-M (Today's Europe-Asia Midpoint): Midpoint of overnight session high/low
T-E-R (Today's Europe-Asia Resistance): Overnight session high
T-E-S (Today's Europe-Asia Support): Overnight session low
Y-T-M (Yesterday-Today Midpoint): Midpoint between YC and 0DTE-O
2. Previous Bar Percentage Levels
Displays 50% retracement level for all bars
Shows 70% level for bullish bars (close > open)
Shows 30% level for bearish bars (close < open)
Lines automatically update with each new bar
3. Custom Support/Resistance Lines
Up to 4 customizable horizontal levels (2 resistance, 2 support)
Useful for marking key psychological levels or pivot points
4. VIX-Based Options Strategy Suggestions
Real-time VIX value display
Time Zone Handling
The indicator is configured for Central Time (CT) as Pine Script's default:
RTH Open: 8:30 AM CT (9:30 AM ET)
RTH Close: 3:00 PM CT (4:00 PM ET)
Overnight session: 7:00 PM CT to 8:30 AM CT next day
Usage Notes
Chart Requirement: This indicator only works on 5-minute timeframe charts
Auto-refresh: All lines and labels automatically refresh at each new trading day's RTH open
24-hour Market: Designed for ES futures which trade nearly 24 hours
Visual Clarity: Different line styles and colors for easy identification
Ideal For
Day traders focusing on ES futures
0DTE options traders needing key reference levels
Traders using overnight gaps and previous day's levels
Those incorporating VIX-based strategies in their trading
WeightedVolumeUtilsLibrary "WeightedVolumeUtils"
fun(x)
Returns the input value (placeholder function).
Parameters:
x (float) : A float value.
Returns: The same float value passed as input.
weightedBSEVolume()
Calculates the weighted volume for BSE index based on top constituent stocks.
Returns: Weighted volume value based on fixed weights for BSE SENSEX stocks.
getAdjustedVolume()
Returns the adjusted volume for SENSEX or regular volume otherwise.
Returns: Weighted BSE volume if current symbol is SENSEX, else raw volume.
Directionality OscillatorDirectionality Oscillator is a simple momentum tool that measures net price displacement against total price activity over a chosen look-back period. It takes today’s closing price minus the close from “len” bars ago and divides that by the sum of all absolute bar-to-bar moves across the same span. The result is a value between –1 and +1, where positive values show that upward moves dominated and negative values show that downward moves prevailed.
To smooth out short-term noise, the indicator applies a five-bar simple moving average to the normalized value. A color gradient—from red at –1, through gray at 0, to green at +1—paints the line, making it easy to see whether bearish or bullish pressure is strongest. Two horizontal lines at the user-defined threshold and its negative mark zones of extreme directional strength. Readings above the positive threshold signal strong bullish momentum, and readings below the negative threshold signal strong bearish momentum.
Traders can watch for crossings above or below these threshold lines as trend confirmations or potential reversal warnings. A cross of the zero line indicates a shift in net directional control and can serve as an early trend-change alert when supported by price action or volume. Because it filters out sideways noise by normalizing against total activity, it highlights sustained directional thrust more clearly than a raw price-change measure.