Fractal Fade Pro IndicatorA revolutionary contrarian trading indicator that applies chaos theory, fractal mathematics, and market entropy to generate high-probability reverse signals. This indicator fades traditional technical signals, providing BUY signals when conventional indicators say SELL, and SELL signals when they say BUY.
Full Description:
Most traders follow the herd. QFCI does the opposite. It identifies when conventional technical analysis is about to fail by detecting mathematical patterns of exhaustion in market structure.
How It Works (Technical Overview):
The indicator combines three sophisticated mathematical approaches:
Fractal Dimension Analysis: Measures the "roughness" of price movements using fractal mathematics
Market Entropy Calculation: Quantifies the randomness and disorder in price returns using information theory
Phase Space Reconstruction: Analyzes price evolution in multi-dimensional state space from chaos theory
Signal Generation Process:
Step 1: Market Regime Detection
Chaotic Regime: High fractal complexity + rising entropy (avoid trading)
Trending Regime: Low fractal complexity + high phase space distance (fade breakouts)
Mean-Reverting Regime: Very low fractal complexity (fade extremes)
Step 2: Reverse Signal Logic
When traditional indicators would give:
BUY signal (breakout, oversold bounce, volatility spike) → QFCI shows SELL
SELL signal (breakdown, overbought rejection, volatility crash) → QFCI shows BUY
Step 3: Smart Signal Filtering
No consecutive same-direction signals
Adjustable minimum bars between signals
Multiple confirmation layers required
Unique Features:
1. Mathematical Innovation:
Original fractal dimension algorithm (not standard indicators)
Market entropy calculation from information theory
Phase space reconstruction from chaos theory
Multi-regime adaptive logic
2. Trading Psychology Advantage:
Contrarian by design - profits from market overreactions
Fades retail trader mistakes - enters when others are exiting
Reduces overtrading - strict signal frequency controls
3. Clean Visual Interface:
Only BUY/SELL labels - no chart clutter
Clear directional arrows - immediate signal recognition
Built-in alerts - never miss a trade
Recommended Settings:
Default (Balanced Approach):
Fractal Depth: 20
Entropy Period: 200
Min Bars Between Signals: 100
Aggressive Trading:
Fractal Depth: 10-15
Entropy Period: 100-150
Min Bars Between Signals: 50-75
Conservative Trading:
Fractal Depth: 30-40
Entropy Period: 300-400
Min Bars Between Signals: 150-200
Optimal Timeframes:
Primary: Daily, Weekly (best performance)
Secondary: 4-Hour, 12-Hour
Can work on: 1-Hour (with adjusted parameters)
How to Use:
For Beginners:
Apply indicator to chart
Use default settings
Wait for BUY/SELL labels
Enter on next candle open
Use 2:1 risk/reward ratio
Always use stop losses
For Advanced Traders:
Adjust parameters for your trading style
Combine with support/resistance levels
Use volume confirmation
Scale in/out of positions
Track performance by regime
Risk Management Guidelines:
Position Sizing:
Conservative: 1-2% risk per trade
Moderate: 2-3% risk per trade
Aggressive: 3-5% risk per trade (not recommended)
Stop Loss Placement:
BUY signals: Below recent swing low or -2x ATR
SELL signals: Above recent swing high or +2x ATR
Take Profit Targets:
Primary: 2x risk (minimum)
Secondary: Previous support/resistance
Tertiary: Trailing stops after 1.5x risk
IMPORTANT RISK DISCLOSURE
This indicator is for educational and informational purposes only. It is not financial advice. Past performance does not guarantee future results. Trading involves substantial risk of loss and is not suitable for every investor. The risk of loss in trading can be substantial. You should therefore carefully consider whether such trading is suitable for you in light of your financial condition.
Indicators and strategies
Thursday highlight//@version=5
indicator("Thursday highlight", overlay=true)
bgcolor(dayofweek==dayofweek.thursday ? color.new(color.blue,90):na)
Trinity ATR Real Move DetectorTrinity ATR Real Move Detector
This ATR Energy Table indicator is one of the simplest yet most powerful filters you can have on a chart when trading short-dated or 0DTE options or swing trades on any timeframe from 1-minute up to 4-hour. Its entire job is to answer the single most important question in intraday and swing trading: “Does the underlying actually have enough short-term explosive energy right now to make a directional position worth the theta and the spread, or is this just pretty candles that will die in ten minutes?”
Most losing 0DTE and short-dated option trades happen because people buy or sell direction on a “nice-looking” breakout or pullback while the underlying is actually in low-energy grind mode. The premium decays faster than the move develops, and you lose even when you’re “right” on direction. This little table stops that from ever happening again.
Here’s what it does in plain English:
Every bar it measures two things:
- The current ATR on whatever timeframe you are using (1 min, 3 min, 5 min, 10 min, etc.). This tells you how big the average true range of the last 14 bars has been — in other words, how violently the stock or index is actually moving right now.
- The daily ATR (14-period on the daily chart). This is your benchmark for “normal” daily movement over the last two–three weeks.
It then multiplies the daily ATR by a small number (the multiplier you set) and compares the two. If the short-term ATR is bigger than that percentage of the daily ATR, the table turns bright green and says “ENOUGH ENERGY”. If not, it stays red and says “NOT ENOUGH”.
Why this works so well:
- Real explosive moves that carry for 0DTE and 1–3 DTE options almost always show a short-term ATR spike well above the recent daily average. Quiet grind moves never do.
- The comparison is completely adaptive — on a high-vol day the threshold automatically rises, on a low-vol day it automatically drops. You never have to guess if “2 points on SPY is big today”.
- It removes emotion completely. You simply wait for green before you even think about clicking buy or sell on an option.
Key settings and what to do with them:
- Energy Multiplier — this is the only number you ever touch. It is expressed as a decimal (0.15 = 15 % of the daily ATR). Lower = more signals, higher = stricter and higher win rate. The tooltip gives you the exact sweet-spot numbers for every popular timeframe (0.09 for 1-minute scalping, 0.13 for 3-minute, 0.14–0.16 for 5-minute, 0.15–0.19 for 10-minute, etc.). Just pick your timeframe once and type the number — done forever.
- ATR Length — leave it at 14. That’s the standard and works perfectly.
- Table Position — move the table to wherever you want on the chart (top-right, bottom-right, bottom-left, top-left).
- Table Size — make the text Tiny, Small, Normal or Large depending on how much screen space you have.
How this helps you make money and stop losing it:
- On most days you will see red 80–90 % of the time — that’s good! It is forcing you to sit on your hands instead of overtrading low-energy chop that eats premium.
- When it finally flips green you know institutions are actually pushing size right now — follow-through probability jumps from ~40 % to 65–75 % depending on the stock and timeframe.
- You stop buying calls on every green candle and puts on every red candle. You only strike when the market is genuinely “awake”.
- Over a week you take dramatically fewer trades, but your win rate and average winner size go way up — which is exactly how consistent intraday option profits are made.
In short, this tiny table is the closest thing to an “edge on/off switch” that exists for short-dated options. Red = preserve capital and go do something else. Green = pull the trigger with confidence. Use it religiously and you’ll immediately feel the difference in your P&L.
Punji's Dynamic Monthly EMA/SMA 5,9,21,50Punji's Dynamic Monthly EMA/SMA 5,9,21,50
Overview:
This indicator displays monthly timeframe moving averages as horizontal dotted lines extending to the right of your chart, regardless of what timeframe you're currently viewing. It includes four key monthly moving averages: EMA 5, EMA 9, EMA 21, and SMA 50.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Key Features:
Clean Chart Design
Unlike traditional moving average lines that clutter your chart with curves across all candles, this indicator uses horizontal dotted lines that extend only from the current price level to the right edge of your screen. The dotted line style creates clear visual breaks while maintaining readability.
Multi-Timeframe Analysis
View monthly moving averages on any timeframe (1min, 5min, 15min, 1hr, 4hr, daily, weekly, etc.) without switching charts. Perfect for traders who want to see the highest timeframe context while trading any lower timeframe.
Fully Customizable
Toggle each moving average on/off independently
Adjust the period length for each MA (default: 5, 9, 21, 50)
Customize colors for each line (default gradient: green → teal → yellow → red)
Master toggle to show/hide all monthly lines at once
All lines use dotted style for clear visual distinction
Professional Color Scheme
EMA 5: Bright Green (#4CAF50)
EMA 9: Teal (#009688)
EMA 21: Yellow (#FFEB3B)
SMA 50: Light Red (#FF6B6B)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Benefits of Horizontal Dotted Lines:
Reduced Visual Noise
Horizontal lines keep your price action clean and easy to read while still providing critical monthly support/resistance levels. The dotted style adds visual distinction without being overwhelming.
Focus on Current Monthly Levels
What matters most is where the monthly MAs are NOW relative to price - horizontal lines highlight this instantly without requiring you to trace curved lines backward through history.
Better Price Action Visibility
See candlestick patterns, volume profiles, and support/resistance levels clearly without MA lines crossing through them. Your chart remains uncluttered and analysis-ready.
Quick Reference for Monthly Context
Instantly identify if price is above or below key monthly moving averages without following curved lines across the chart. Perfect for all traders who need to respect monthly structure and major trend direction.
Professional Appearance
Clean, minimalist design with dotted lines preferred by institutional traders and technical analysts who value both aesthetics and functionality.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Use Cases:
Position Traders & Investors
Monitor monthly moving averages for major trend direction and long-term support/resistance zones. Monthly levels are among the most significant in technical analysis.
Swing Traders
Track monthly moving averages as major dynamic support/resistance levels for position sizing and risk management. Monthly levels often represent the strongest market structure.
Multi-Timeframe Analysis
Combine with daily and weekly charts to see complete timeframe confluence. Monthly levels provide the macro trend context for all trading decisions.
Trend Identification
Quickly identify monthly trend direction and major reversal zones. When price is above all monthly MAs, the macro trend is bullish; below all MAs indicates bearish monthly structure.
Risk Management
Use monthly moving averages as ultimate stop-loss zones for long-term positions. Breaking monthly MAs often signals significant trend changes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Technical Specifications:
Pine Script v5
Timeframe: Monthly (M)
Moving Averages: EMA 5, EMA 9, EMA 21, SMA 50
Line Style: Dotted (all lines)
Line Width: 2
Overlay: True (displays on main chart)
Resource Usage: Minimal (4 security calls)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best Practices:
Combine with PUNJI Dynamic Daily & Weekly EMA/SMA Indicators
For the ultimate multi-timeframe analysis, use this monthly indicator alongside "Punjis Dynamic Daily EMA/SMA 5,9,21,50,100,200 Levels" (solid lines) and "Punji's Dynamic Weekly EMA/SMA 5,9,21,50" (dashed lines). The three PUNJI indicators together provide complete insight into daily, weekly, and monthly market structure without cluttering your chart. Daily = Solid lines, Weekly = Dashed lines, Monthly = Dotted lines. This combination gives you a complete view of all major timeframe levels simultaneously.
Respect Monthly Structure
Monthly moving averages carry the most significant weight in technical analysis. Use them as major support/resistance zones and ultimate trend filters for all your trading decisions.
Customize to Your Strategy
Adjust the lengths and colors to match your personal trading methodology. Some traders prefer different EMA/SMA periods based on their market and investment timeframe.
Keep Charts Clean
Toggle off lines you're not actively using to maintain maximum chart clarity. The master toggle allows quick show/hide of all monthly levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator is perfect for traders and investors who want to maintain awareness of monthly market structure and major trend direction while keeping their charts clean, professional, and easy to read.
Punji's Dynamic Weekly EMA/SMA 5,9,21,50Punji's Dynamic Weekly EMA/SMA 5,9,21,50
Overview:
This indicator displays weekly timeframe moving averages as horizontal dashed lines extending to the right of your chart, regardless of what timeframe you're currently viewing. It includes four key weekly moving averages: EMA 5, EMA 9, EMA 21, and SMA 50.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Key Features:
Clean Chart Design
Unlike traditional moving average lines that clutter your chart with curves across all candles, this indicator uses horizontal dashed lines that extend only from the current price level to the right edge of your screen. The dashed line style creates clear visual breaks while maintaining readability.
Multi-Timeframe Analysis
View weekly moving averages on any intraday timeframe (1min, 5min, 15min, 1hr, 4hr, daily, etc.) without switching charts. Perfect for traders who want to see higher timeframe context while trading shorter timeframes.
Fully Customizable
Toggle each moving average on/off independently
Adjust the period length for each MA (default: 5, 9, 21, 50)
Customize colors for each line (default gradient: green → teal → yellow → red)
Master toggle to show/hide all weekly lines at once
All lines use dashed style for clear visual distinction
Professional Color Scheme
EMA 5: Bright Green (#4CAF50)
EMA 9: Teal (#009688)
EMA 21: Yellow (#FFEB3B)
SMA 50: Light Red (#FF6B6B)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Benefits of Horizontal Dashed Lines:
Reduced Visual Noise
Horizontal lines keep your price action clean and easy to read while still providing critical weekly support/resistance levels. The dashed style adds visual interest without being overwhelming.
Focus on Current Weekly Levels
What matters most is where the weekly MAs are NOW relative to price - horizontal lines highlight this instantly without requiring you to trace curved lines backward through history.
Better Price Action Visibility
See candlestick patterns, volume profiles, and support/resistance levels clearly without MA lines crossing through them. Your chart remains uncluttered and analysis-ready.
Quick Reference for Weekly Context
Instantly identify if price is above or below key weekly moving averages without following curved lines across the chart. Perfect for intraday traders who need to respect weekly structure.
Professional Appearance
Clean, minimalist design with dashed lines preferred by institutional traders and technical analysts who value both aesthetics and functionality.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Use Cases:
Day Traders
Monitor higher timeframe weekly levels on intraday charts (5min, 15min, 1hr) to stay aware of major support/resistance zones and trend direction from the weekly perspective.
Swing Traders
Track weekly moving averages as dynamic support/resistance levels for position entries and exits. Weekly levels often act as strong magnets for price action.
Multi-Timeframe Analysis
Combine with daily or 4-hour charts to see multiple timeframe confluence without cluttering your workspace with overlapping curved lines.
Trend Identification
Quickly identify weekly trend direction and potential reversal zones. When price is above all weekly MAs, the weekly trend is bullish; below all MAs indicates bearish weekly structure.
Clean Workspace Trading
Ideal for price action traders who need clean charts for pattern recognition, order flow analysis, and technical setups without visual interference from traditional moving averages.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Technical Specifications:
Pine Script v5
Timeframe: Weekly (W)
Moving Averages: EMA 5, EMA 9, EMA 21, SMA 50
Line Style: Dashed (all lines)
Line Width: 2
Overlay: True (displays on main chart)
Resource Usage: Minimal (4 security calls)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best Practices:
Combine with PUNJI Dynamic Daily & Monthly EMA/SMA Indicators
Use this alongside "Punjis Dynamic Daily EMA/SMA 5,9,21,50,100,200 Levels" (solid lines) and "Punji's Dynamic Monthly EMA/SMA 5,9,21,50" (dotted lines) for complete multi-timeframe analysis. The three indicators together provide comprehensive insight into daily, weekly, and monthly market structure without cluttering your chart. Daily = Solid lines, Weekly = Dashed lines, Monthly = Dotted lines.
Respect Weekly Structure
Weekly moving averages carry significant weight in the market. Use them as major support/resistance zones and trend filters for your trading decisions.
Customize to Your Strategy
Adjust the lengths and colors to match your personal trading methodology. Some traders prefer different EMA/SMA periods based on their market and timeframe.
Keep Charts Clean
Toggle off lines you're not actively using to maintain maximum chart clarity. The master toggle allows quick show/hide of all weekly levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator is perfect for traders who want to maintain awareness of weekly market structure while keeping their charts clean, professional, and easy to read.
Punji's Dynamic Weekly EMA/SMA 5,9,21,50Punji's Dynamic Weekly EMA/SMA 5,9,21,50
Overview:
This indicator displays weekly timeframe moving averages as horizontal dashed lines extending to the right of your chart, regardless of what timeframe you're currently viewing. It includes four key weekly moving averages: EMA 5, EMA 9, EMA 21, and SMA 50.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Key Features:
Clean Chart Design
Unlike traditional moving average lines that clutter your chart with curves across all candles, this indicator uses horizontal dashed lines that extend only from the current price level to the right edge of your screen. The dashed line style creates clear visual breaks while maintaining readability.
Multi-Timeframe Analysis
View weekly moving averages on any intraday timeframe (1min, 5min, 15min, 1hr, 4hr, daily, etc.) without switching charts. Perfect for traders who want to see higher timeframe context while trading shorter timeframes.
Fully Customizable
Toggle each moving average on/off independently
Adjust the period length for each MA (default: 5, 9, 21, 50)
Customize colors for each line (default gradient: green → teal → yellow → red)
Master toggle to show/hide all weekly lines at once
All lines use dashed style for clear visual distinction
Professional Color Scheme
EMA 5: Bright Green (#4CAF50)
EMA 9: Teal (#009688)
EMA 21: Yellow (#FFEB3B)
SMA 50: Light Red (#FF6B6B)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Benefits of Horizontal Dashed Lines:
Reduced Visual Noise
Horizontal lines keep your price action clean and easy to read while still providing critical weekly support/resistance levels. The dashed style adds visual interest without being overwhelming.
Focus on Current Weekly Levels
What matters most is where the weekly MAs are NOW relative to price - horizontal lines highlight this instantly without requiring you to trace curved lines backward through history.
Better Price Action Visibility
See candlestick patterns, volume profiles, and support/resistance levels clearly without MA lines crossing through them. Your chart remains uncluttered and analysis-ready.
Quick Reference for Weekly Context
Instantly identify if price is above or below key weekly moving averages without following curved lines across the chart. Perfect for intraday traders who need to respect weekly structure.
Professional Appearance
Clean, minimalist design with dashed lines preferred by institutional traders and technical analysts who value both aesthetics and functionality.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Use Cases:
Day Traders
Monitor higher timeframe weekly levels on intraday charts (5min, 15min, 1hr) to stay aware of major support/resistance zones and trend direction from the weekly perspective.
Swing Traders
Track weekly moving averages as dynamic support/resistance levels for position entries and exits. Weekly levels often act as strong magnets for price action.
Multi-Timeframe Analysis
Combine with daily or 4-hour charts to see multiple timeframe confluence without cluttering your workspace with overlapping curved lines.
Trend Identification
Quickly identify weekly trend direction and potential reversal zones. When price is above all weekly MAs, the weekly trend is bullish; below all MAs indicates bearish weekly structure.
Clean Workspace Trading
Ideal for price action traders who need clean charts for pattern recognition, order flow analysis, and technical setups without visual interference from traditional moving averages.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Technical Specifications:
Pine Script v5
Timeframe: Weekly (W)
Moving Averages: EMA 5, EMA 9, EMA 21, SMA 50
Line Style: Dashed (all lines)
Line Width: 2
Overlay: True (displays on main chart)
Resource Usage: Minimal (4 security calls)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best Practices:
Combine with PUNJI Dynamic Daily & Monthly EMA/SMA Indicators
Use this alongside "Punjis Dynamic Daily EMA/SMA 5,9,21,50,100,200 Levels" (solid lines) and "Punji's Dynamic Monthly EMA/SMA 5,9,21,50" (dotted lines) for complete multi-timeframe analysis. The three indicators together provide comprehensive insight into daily, weekly, and monthly market structure without cluttering your chart. Daily = Solid lines, Weekly = Dashed lines, Monthly = Dotted lines.
Respect Weekly Structure
Weekly moving averages carry significant weight in the market. Use them as major support/resistance zones and trend filters for your trading decisions.
Customize to Your Strategy
Adjust the lengths and colors to match your personal trading methodology. Some traders prefer different EMA/SMA periods based on their market and timeframe.
Keep Charts Clean
Toggle off lines you're not actively using to maintain maximum chart clarity. The master toggle allows quick show/hide of all weekly levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator is perfect for traders who want to maintain awareness of weekly market structure while keeping their charts clean, professional, and easy to read.
Punji's Dynamic Weekly EMA/SMA 5,9,21,50Punji's Dynamic Weekly EMA/SMA 5,9,21,50
Overview:
This indicator displays weekly timeframe moving averages as horizontal dashed lines extending to the right of your chart, regardless of what timeframe you're currently viewing. It includes four key weekly moving averages: EMA 5, EMA 9, EMA 21, and SMA 50.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Key Features:
Clean Chart Design
Unlike traditional moving average lines that clutter your chart with curves across all candles, this indicator uses horizontal dashed lines that extend only from the current price level to the right edge of your screen. The dashed line style creates clear visual breaks while maintaining readability.
Multi-Timeframe Analysis
View weekly moving averages on any intraday timeframe (1min, 5min, 15min, 1hr, 4hr, daily, etc.) without switching charts. Perfect for traders who want to see higher timeframe context while trading shorter timeframes.
Fully Customizable
Toggle each moving average on/off independently Adjust the period length for each MA (default: 5, 9, 21, 50) Customize colors for each line (default gradient: green → teal → yellow → red) Master toggle to show/hide all weekly lines at once All lines use dashed style for clear visual distinction
Professional Color Scheme
EMA 5: Bright Green (#4CAF50) EMA 9: Teal (
#009688) EMA 21: Yellow (#FFEB3B) SMA 50: Light Red (
#FF6B6B)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Benefits of Horizontal Dashed Lines:
Reduced Visual Noise
Horizontal lines keep your price action clean and easy to read while still providing critical weekly support/resistance levels. The dashed style adds visual interest without being overwhelming.
Focus on Current Weekly Levels
What matters most is where the weekly MAs are NOW relative to price - horizontal lines highlight this instantly without requiring you to trace curved lines backward through history.
Better Price Action Visibility
See candlestick patterns, volume profiles, and support/resistance levels clearly without MA lines crossing through them. Your chart remains uncluttered and analysis-ready.
Quick Reference for Weekly Context
Instantly identify if price is above or below key weekly moving averages without following curved lines across the chart. Perfect for intraday traders who need to respect weekly structure.
Professional Appearance
Clean, minimalist design with dashed lines preferred by institutional traders and technical analysts who value both aesthetics and functionality.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Use Cases:
Day Traders
Monitor higher timeframe weekly levels on intraday charts (5min, 15min, 1hr) to stay aware of major support/resistance zones and trend direction from the weekly perspective.
Swing Traders
Track weekly moving averages as dynamic support/resistance levels for position entries and exits. Weekly levels often act as strong magnets for price action.
Multi-Timeframe Analysis
Combine with daily or 4-hour charts to see multiple timeframe confluence without cluttering your workspace with overlapping curved lines.
Trend Identification
Quickly identify weekly trend direction and potential reversal zones. When price is above all weekly MAs, the weekly trend is bullish; below all MAs indicates bearish weekly structure.
Clean Workspace Trading
Ideal for price action traders who need clean charts for pattern recognition, order flow analysis, and technical setups without visual interference from traditional moving averages.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Technical Specifications:
Pine Script v5 Timeframe: Weekly (W) Moving Averages: EMA 5, EMA 9, EMA 21, SMA 50 Line Style: Dashed (all lines) Line Width: 2 Overlay: True (displays on main chart) Resource Usage: Minimal (4 security calls)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best Practices:
Combine with PUNJI Dynamic Daily EMA/SMA Indicator
Use this alongside "Punjis Dynamic Daily EMA/SMA 5,9,21,50,100,200 Levels" for complete multi-timeframe analysis. The daily indicator uses solid lines while this weekly indicator uses dashed lines for easy visual distinction. Together, they provide comprehensive insight into both daily and weekly market structure without cluttering your chart.
Respect Weekly Structure
Weekly moving averages carry significant weight in the market. Use them as major support/resistance zones and trend filters for your trading decisions.
Customize to Your Strategy
Adjust the lengths and colors to match your personal trading methodology. Some traders prefer different EMA/SMA periods based on their market and timeframe.
Keep Charts Clean
Toggle off lines you're not actively using to maintain maximum chart clarity. The master toggle allows quick show/hide of all weekly levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator is perfect for traders who want to maintain awareness of weekly market structure while keeping their charts clean, professional, and easy to read.
5MA+TrendMagic + Disparity + Volume Spikes5MA + TrendMagic + Disparity Scalping + Volume Spikes is an all-in-one trend and momentum indicator designed for fast entries, trend confirmation, and volatility detection.
Main Features
Multiple EMAs (9/21/50/100/200) for trend structure
TrendMagic for dynamic trend direction and stop levels
Ultra Fast Disparity Scalper (EMA disparity + RSI + RVI momentum)
Volume Spike Detection with smart filters (valid highs/lows, candle types, color match, session filter)
Gold Volatility Signals using ATR, Bollinger Bands, HV/RV spread
Clear BUY/SELL markers, overheat filters, and full alert support
This tool helps identify early reversals, confirm major trends, and highlight strong volume-driven turning points.
BB latif Multi MAThis is a version of the Bollinger Band with the addition of the "but" averaging method. It gives good results in different timeframes and I think it's better than simple or exponential averaging. I use the values 20-2.4-40.
Punjis Dynamic Daily EMA/SMA 5,9,21,50,100 LevelsPunjis Dynamic Daily EMA/SMA 5,9,21,50,100 Levels
Overview:
This indicator displays daily timeframe moving averages as horizontal lines extending to the right of your chart, regardless of what timeframe you're currently viewing. It includes six key moving averages: EMA 5, EMA 9, EMA 21, SMA 50, SMA 100, and SMA 200.
Key Features:
Clean Chart Design: Unlike traditional moving average lines that clutter your chart with curves across all candles, this indicator uses horizontal lines that extend only from the current price level to the right edge of your screen
Multi-Timeframe Analysis: View daily moving averages on any intraday timeframe (1min, 5min, 15min, etc.) without switching charts
Fully Customizable:
Toggle each moving average on/off independently
Adjust the period length for each MA
Customize colors for each line
Master toggle to show/hide all lines at once
Reduced Visual Noise: Horizontal lines keep your price action clean and easy to read while still providing critical support/resistance levels
Professional Layout: Perfect for traders who need to monitor multiple key levels without obscuring candlestick patterns and chart analysis
Benefits of Horizontal Lines:
Cleaner Charts: Traditional MAs draw lines through every candle, creating visual clutter. Horizontal lines only show current values, keeping your chart clean
Focus on Current Levels: What matters most is where the MAs are NOW relative to price - horizontal lines highlight this instantly
Better Price Action Visibility: See candlestick patterns, volume, and support/resistance levels clearly without MA lines crossing through them
Quick Reference: Instantly identify if price is above or below key moving averages without following curved lines across the chart
Professional Appearance: Clean, minimalist design preferred by institutional traders and technical analysts
Use Cases:
Day traders monitoring higher timeframe levels on intraday charts
Swing traders tracking daily moving averages as dynamic support/resistance
Multi-timeframe analysis without chart switching
Identifying trend direction and potential reversal zones
Clean workspace for pattern recognition and price action trading
TedAlpha – Structure / FVG / OB Sessions:
Only looks for trades when price is inside your defined London or NY time blocks.
CHOCH:
Uses pivots to track swing highs/lows, then flags a bullish CHOCH when structure flips from LL/LH to HH/HL, and vice versa for bearish.
FVG:
Detects 3-candle imbalance and keeps the zone “active” for fvgLookback bars, then checks if price trades back into it.
Order Blocks:
On a CHOCH, grabs the last opposite candle (bearish before bull CHOCH = bullish OB, bullish before bear CHOCH = bearish OB) and marks its body as the OB zone.
Signal:
A valid long = bull CHOCH + in session + (price inside bullish FVG and/or bullish OB, depending on toggles).
Short is the mirror image.
RR 1:3:
SL uses the last swing low (for longs) or last swing high (for shorts), TP is auto-set at 3× that distance and plotted as lines.
RS Rating Viet Nam by Admin AlphaStockSo sanh vs VNMIDCAP
Bạn có thể thay đổi BenchMark trong Code thành VNINDEX hay bất kỳ chỉ số nào
TDI Fibonacci Volatility Bands Candle Coloring [cryptalent]"This is an advanced Traders Dynamic Index (TDI) candle coloring system, designed for traders seeking precise dynamic analysis. Unlike traditional TDI, which typically relies on a 50 midline with a single standard deviation band (±1 SD), this indicator innovatively incorporates Fibonacci golden ratio multiples (1.618, 2.618, 3.618 times standard deviation) to create multi-layered dynamic bands. It precisely divides the RSI fast line (green line) position into five distinct strength zones, instantly reflecting them on the candle colors, allowing you to grasp market sentiment in real-time without switching to a sub-chart.
Core Calculation Logic:
RSI Period (default 20), Band Length (default 50), and Fast MA Smoothing Period (default 1) are all adjustable.
The midline is the Simple Moving Average (SMA) of RSI, with upper and lower bands calculated by multiplying Fibonacci multiples with Standard Deviation (STDEV), generating three dynamic band sets: 1.618, 2.618, and 3.618.
Traders can quickly identify the following scenarios:
Extreme Overbought Zone (Strong Bullish, Red): Fast line exceeds custom threshold (default 82) and breaks above the specified band (default 2.618). This often signals overheating, potentially a profit-taking point or reversal short entry, especially at trend tops.
Extreme Oversold Zone (Strong Bearish, Green): Fast line drops below custom threshold (default 28) and breaks below the specified band (default 2.618). This is a potential strong rebound starting point, ideal for bottom-fishing or long entries.
Medium Bullish Zone (Yellow): Fast line surpasses medium threshold (default 66) and stands above the specified band (default 1.618), indicating bullish dominance in trend continuation.
Medium Bearish Zone (Orange): Fast line falls below medium threshold (default 33) and breaks below the specified band (default 1.618), signaling bearish control in segment transitions.
Neutral Zone (No Color Change): Fast line within custom upper and lower limits (default 34~65), retaining original candle colors to avoid noise interference during consolidation.
Color priority logic flows from strong to weak (Extreme > Medium > Neutral), ensuring no conflicts. All parameters are highly customizable, including thresholds, band selections (1.618/2.618/3.618/Midline/None), color schemes, and even optional semi-transparent background coloring (default off, transparency 90%) for enhanced visual layering.
Applicable Scenarios:
Intraday Trading: Capture extreme color shifts as entry/exit signals.
Swing Trading: Use medium colors to confirm trend extensions.
Long-Term Trend Following: Filter noise in neutral zones to focus on major trends.
Supports various markets like forex, stocks, and cryptocurrencies. After installation, adjust parameters in settings to match your strategy, and combine with other indicators like moving averages or support/resistance for improved accuracy.
If you're a TDI enthusiast, this will make your trading more intuitive and efficient!
Mirpapa_Lib_StructLibrary "Mirpapa_Lib_Struct"
ICT 구조 변화 감지 라이브러리 (BOS, CHoCH, MSS, Sweep)
initStructState()
StructState 초기화
checkBOS(_trend, _currentClose, _lastHHPrice, _lastLLPrice)
BOS 체크 (추세 지속) - 종가 기준
Parameters:
_trend (string) : 현재 추세
_currentClose (float) : 현재 종가
_lastHHPrice (float) : 마지막 HH 가격
_lastLLPrice (float) : 마지막 LL 가격
Returns:
checkCHoCH(_trend, _currentClose, _lastHHPrice, _lastLLPrice)
CHoCH 체크 (추세 전환) - 종가 기준
Parameters:
_trend (string) : 현재 추세
_currentClose (float) : 현재 종가
_lastHHPrice (float) : 마지막 HH 가격
_lastLLPrice (float) : 마지막 LL 가격
Returns:
checkSweep(_currentHigh, _currentLow, _currentClose, _lastHHPrice, _lastLLPrice)
Sweep 체크 (유동성 수집) 설명
Parameters:
_currentHigh (float) : 현재 고가
_currentLow (float) : 현재 저가
_currentClose (float) : 현재 종가
_lastHHPrice (float) : 마지막 HH 가격
_lastLLPrice (float) : 마지막 LL 가격
Returns:
checkMSS(_hadCHoCH, _chochDir, _currentHigh, _currentLow, _chochPrice)
MSS 체크 (CHoCH + 리테스트 확인)
Parameters:
_hadCHoCH (bool) : CHoCH 발생 여부
_chochDir (string) : CHoCH 방향
_currentHigh (float) : 현재 고가
_currentLow (float) : 현재 저가
_chochPrice (float) : CHoCH 발생 가격
Returns:
drawStructLabel(_price, _time, _type, _dir, _lblColor)
구조 변화 라벨 그리기
Parameters:
_price (float) : 가격
_time (int) : 시간
_type (string) : 구조 타입
_dir (string) : 방향
_lblColor (color) : 라벨 색상
drawStructLine(_price, _startTime, _endTime, _lineColor, _lineWidth)
구조 변화 라인 그리기
Parameters:
_price (float) : 가격
_startTime (int) : 시작 시간
_endTime (int) : 끝 시간
_lineColor (color) : 라인 색상
_lineWidth (int) : 라인 두께
StructType
구조 타입 상수
Fields:
BOS (series string)
CHOCH (series string)
MSS (series string)
SWEEP (series string)
TrendDir
추세 방향 상수
Fields:
UP (series string)
DOWN (series string)
NONE (series string)
StructState
구조 변화 상태
Fields:
_trend (series string) : 현재 추세 방향
_lastHHPrice (series float) : 마지막 HH 가격
_lastHHTime (series int) : 마지막 HH 시간
_lastLLPrice (series float) : 마지막 LL 가격
_lastLLTime (series int) : 마지막 LL 시간
_peakHHPrice (series float) : 최고 HH 가격 (BOS 레벨용)
_peakHHTime (series int) : 최고 HH 시간
_peakLLPrice (series float) : 최저 LL 가격 (BOS 레벨용)
_peakLLTime (series int) : 최저 LL 시간
_bosLevelHH (series float) : BOS 체크용 HH 레벨 (확정된 최고 HH)
_bosLevelHHTime (series int) : BOS 체크용 HH 시간
_bosLevelLL (series float) : BOS 체크용 LL 레벨 (확정된 최저 LL)
_bosLevelLLTime (series int) : BOS 체크용 LL 시간
KernelFunctionsLibrary "KernelFunctions"
This library provides non-repainting kernel functions for Nadaraya-Watson estimator implementations. This allows for easy substition/comparison of different kernel functions for one another in indicators. Furthermore, kernels can easily be combined with other kernels to create newer, more customized kernels.
rationalQuadratic(_src, _lookback, _relativeWeight, startAtBar)
Rational Quadratic Kernel - An infinite sum of Gaussian Kernels of different length scales.
Parameters:
_src (float) : The source series.
_lookback (simple int) : The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
_relativeWeight (simple float) : Relative weighting of time frames. Smaller values resut in a more stretched out curve and larger values will result in a more wiggly curve. As this value approaches zero, the longer time frames will exert more influence on the estimation. As this value approaches infinity, the behavior of the Rational Quadratic Kernel will become identical to the Gaussian kernel.
startAtBar (simple int)
Returns: yhat The estimated values according to the Rational Quadratic Kernel.
gaussian(_src, _lookback, startAtBar)
Gaussian Kernel - A weighted average of the source series. The weights are determined by the Radial Basis Function (RBF).
Parameters:
_src (float) : The source series.
_lookback (simple int) : The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
startAtBar (simple int)
Returns: yhat The estimated values according to the Gaussian Kernel.
periodic(_src, _lookback, _period, startAtBar)
Periodic Kernel - The periodic kernel (derived by David Mackay) allows one to model functions which repeat themselves exactly.
Parameters:
_src (float) : The source series.
_lookback (simple int) : The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
_period (simple int) : The distance between repititions of the function.
startAtBar (simple int)
Returns: yhat The estimated values according to the Periodic Kernel.
locallyPeriodic(_src, _lookback, _period, startAtBar)
Locally Periodic Kernel - The locally periodic kernel is a periodic function that slowly varies with time. It is the product of the Periodic Kernel and the Gaussian Kernel.
Parameters:
_src (float) : The source series.
_lookback (simple int) : The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
_period (simple int) : The distance between repititions of the function.
startAtBar (simple int)
Returns: yhat The estimated values according to the Locally Periodic Kernel.
MLExtensionsLibrary "MLExtensions"
A set of extension methods for a novel implementation of a Approximate Nearest Neighbors (ANN) algorithm in Lorentzian space.
normalizeDeriv(src, quadraticMeanLength)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src (float) : The input series (i.e., the first-order derivative for price).
quadraticMeanLength (int) : The length of the quadratic mean (RMS).
Returns: nDeriv The normalized derivative of the input series.
normalize(src, min, max)
Rescales a source value with an unbounded range to a target range.
Parameters:
src (float) : The input series
min (float) : The minimum value of the unbounded range
max (float) : The maximum value of the unbounded range
Returns: The normalized series
rescale(src, oldMin, oldMax, newMin, newMax)
Rescales a source value with a bounded range to anther bounded range
Parameters:
src (float) : The input series
oldMin (float) : The minimum value of the range to rescale from
oldMax (float) : The maximum value of the range to rescale from
newMin (float) : The minimum value of the range to rescale to
newMax (float) : The maximum value of the range to rescale to
Returns: The rescaled series
getColorShades(color)
Creates an array of colors with varying shades of the input color
Parameters:
color (color) : The color to create shades of
Returns: An array of colors with varying shades of the input color
getPredictionColor(prediction, neighborsCount, shadesArr)
Determines the color shade based on prediction percentile
Parameters:
prediction (float) : Value of the prediction
neighborsCount (int) : The number of neighbors used in a nearest neighbors classification
shadesArr (array) : An array of colors with varying shades of the input color
Returns: shade Color shade based on prediction percentile
color_green(prediction)
Assigns varying shades of the color green based on the KNN classification
Parameters:
prediction (float) : Value (int|float) of the prediction
Returns: color
color_red(prediction)
Assigns varying shades of the color red based on the KNN classification
Parameters:
prediction (float) : Value of the prediction
Returns: color
tanh(src)
Returns the the hyperbolic tangent of the input series. The sigmoid-like hyperbolic tangent function is used to compress the input to a value between -1 and 1.
Parameters:
src (float) : The input series (i.e., the normalized derivative).
Returns: tanh The hyperbolic tangent of the input series.
dualPoleFilter(src, lookback)
Returns the smoothed hyperbolic tangent of the input series.
Parameters:
src (float) : The input series (i.e., the hyperbolic tangent).
lookback (int) : The lookback window for the smoothing.
Returns: filter The smoothed hyperbolic tangent of the input series.
tanhTransform(src, smoothingFrequency, quadraticMeanLength)
Returns the tanh transform of the input series.
Parameters:
src (float) : The input series (i.e., the result of the tanh calculation).
smoothingFrequency (int)
quadraticMeanLength (int)
Returns: signal The smoothed hyperbolic tangent transform of the input series.
n_rsi(src, n1, n2)
Returns the normalized RSI ideal for use in ML algorithms.
Parameters:
src (float) : The input series (i.e., the result of the RSI calculation).
n1 (simple int) : The length of the RSI.
n2 (simple int) : The smoothing length of the RSI.
Returns: signal The normalized RSI.
n_cci(src, n1, n2)
Returns the normalized CCI ideal for use in ML algorithms.
Parameters:
src (float) : The input series (i.e., the result of the CCI calculation).
n1 (simple int) : The length of the CCI.
n2 (simple int) : The smoothing length of the CCI.
Returns: signal The normalized CCI.
n_wt(src, n1, n2)
Returns the normalized WaveTrend Classic series ideal for use in ML algorithms.
Parameters:
src (float) : The input series (i.e., the result of the WaveTrend Classic calculation).
n1 (simple int)
n2 (simple int)
Returns: signal The normalized WaveTrend Classic series.
n_adx(highSrc, lowSrc, closeSrc, n1)
Returns the normalized ADX ideal for use in ML algorithms.
Parameters:
highSrc (float) : The input series for the high price.
lowSrc (float) : The input series for the low price.
closeSrc (float) : The input series for the close price.
n1 (simple int) : The length of the ADX.
regime_filter(src, threshold, useRegimeFilter)
Parameters:
src (float)
threshold (float)
useRegimeFilter (bool)
filter_adx(src, length, adxThreshold, useAdxFilter)
filter_adx
Parameters:
src (float) : The source series.
length (simple int) : The length of the ADX.
adxThreshold (int) : The ADX threshold.
useAdxFilter (bool) : Whether to use the ADX filter.
Returns: The ADX.
filter_volatility(minLength, maxLength, useVolatilityFilter)
filter_volatility
Parameters:
minLength (simple int) : The minimum length of the ATR.
maxLength (simple int) : The maximum length of the ATR.
useVolatilityFilter (bool) : Whether to use the volatility filter.
Returns: Boolean indicating whether or not to let the signal pass through the filter.
backtest(high, low, open, startLongTrade, endLongTrade, startShortTrade, endShortTrade, isEarlySignalFlip, maxBarsBackIndex, thisBarIndex, src, useWorstCase)
Performs a basic backtest using the specified parameters and conditions.
Parameters:
high (float) : The input series for the high price.
low (float) : The input series for the low price.
open (float) : The input series for the open price.
startLongTrade (bool) : The series of conditions that indicate the start of a long trade.
endLongTrade (bool) : The series of conditions that indicate the end of a long trade.
startShortTrade (bool) : The series of conditions that indicate the start of a short trade.
endShortTrade (bool) : The series of conditions that indicate the end of a short trade.
isEarlySignalFlip (bool) : Whether or not the signal flip is early.
maxBarsBackIndex (int) : The maximum number of bars to go back in the backtest.
thisBarIndex (int) : The current bar index.
src (float) : The source series.
useWorstCase (bool) : Whether to use the worst case scenario for the backtest.
Returns: A tuple containing backtest values
init_table()
init_table()
Returns: tbl The backtest results.
update_table(tbl, tradeStatsHeader, totalTrades, totalWins, totalLosses, winLossRatio, winrate, earlySignalFlips)
update_table(tbl, tradeStats)
Parameters:
tbl (table) : The backtest results table.
tradeStatsHeader (string) : The trade stats header.
totalTrades (float) : The total number of trades.
totalWins (float) : The total number of wins.
totalLosses (float) : The total number of losses.
winLossRatio (float) : The win loss ratio.
winrate (float) : The winrate.
earlySignalFlips (float) : The total number of early signal flips.
Returns: Updated backtest results table.
MorphWave Bands [JOAT]MorphWave Bands - Adaptive Volatility Envelope System
MorphWave Bands create a dynamic price envelope that automatically adjusts its width based on current market conditions. Unlike static Bollinger Bands, this indicator blends ATR and standard deviation with an efficiency ratio to expand during trending conditions and contract during consolidation.
What This Indicator Does
Plots adaptive upper and lower bands around a customizable moving average basis
Automatically adjusts band width using a blend of ATR and standard deviation
Detects volatility squeezes when bands contract to historical lows
Highlights breakouts when price moves beyond the bands
Provides squeeze alerts for anticipating volatility expansion
Adaptive Mechanism
The bands adapt through a multi-step process:
// Blend ATR and Standard Deviation
blendedVol = useAtrBlend ? (atrVal * 0.6 + stdVal * 0.4) : stdVal
// Normalize volatility to its historical range
volNorm = (blendedVol - volLow) / (volHigh - volLow)
// Create adaptive multiplier
adaptMult = baseMult * (0.5 + volNorm * adaptSens)
This creates bands that respond to market regime changes while maintaining stability.
Squeeze Detection
A squeeze is identified when band width drops below a specified percentile of its historical range:
Background highlighting indicates active squeeze conditions
Low percentile readings suggest compressed volatility
Squeeze exits often precede directional moves
Inputs Overview
Band Length — Period for basis calculation (default: 20)
Base Multiplier — Starting band width multiplier (default: 2.0)
MA Type — Choose from SMA, EMA, WMA, VWMA, or HMA
Adaptation Lookback — Historical period for normalization (default: 50)
Adaptation Sensitivity — How much bands respond to volatility changes
Squeeze Threshold — Percentile below which squeeze is detected
Dashboard Information
Current trend direction relative to basis and bands
Band width percentage
Squeeze status (Active or None)
Efficiency ratio
Current adaptive multiplier value
How to Use It
Look for squeeze conditions as potential precursors to breakouts
Use band touches as dynamic support/resistance references
Monitor breakout signals when price closes beyond bands
Combine with momentum indicators for directional confirmation
Alerts
Upper/Lower Breakout — Price exceeds band boundaries
Squeeze Entry/Exit — Volatility compression begins or ends
Basis Crosses — Price crosses the center line
This indicator is provided for educational purposes. It does not constitute financial advice.
— Made with passion by officialjackofalltrades
Open Interest Z-Score [BackQuant]Open Interest Z-Score
A standardized pressure gauge for futures positioning that turns multi venue open interest into a Z score, so you can see how extreme current positioning is relative to its own history and where leverage is stretched, decompressing, or quietly re loading.
What this is
This indicator builds a single synthetic open interest series by aggregating futures OI across major derivatives venues, then standardises that aggregated OI into a rolling Z score. Instead of looking at raw OI or a simple change, you get a normalized signal that says "how many standard deviations away from normal is positioning right now", with optional smoothing, reference bands, and divergence detection against price.
You can render the Z score in several plotting modes:
Line for a clean, classic oscillator.
Colored line that encodes both sign and momentum of OI Z.
Oscillator histogram that makes impulses and compressions obvious.
The script also includes:
Aggregated open interest across Binance, Bybit, OKX, Bitget, Kraken, HTX, and Deribit, using multiple contract suffixes where applicable.
Choice of OI units, either coin based or converted to USD notional.
Standard deviation reference lines and adaptive extreme bands.
A flexible smoothing layer with multiple moving average types.
Automatic detection of regular and hidden divergences between price and OI Z.
Alerts for zero line and ±2 sigma crosses.
Aggregated open interest source
At the core is the same multi venue OI aggregation engine as in the OI RSI tool, adapted from NoveltyTrade's work and extended for this use case. The indicator:
Anchors on the current chart symbol and its base currency.
Loops over a set of exchanges, gated by user toggles:
Binance.
Bybit.
OKX.
Bitget.
Kraken.
HTX.
Deribit.
For each exchange, loops over several contract suffixes such as USDT.P, USD.P, USDC.P, USD.PM to cover the common perp and margin styles.
Requests OI candles for each exchange plus suffix pair into a small custom OI type that carries open, high, low and close of open interest.
Converts each OI stream into a common unit via the sw method:
In COIN mode, OI is normalized relative to the coin.
In USD mode, OI is scaled by price to approximate notional.
Exchange specific scaling factors are applied where needed to match contract multipliers.
Accumulates all valid OI candles into a single combined OI "candle" by summing open, high, low and close across venues.
The result is oiClose , a synthetic close for aggregated OI that represents cross venue positioning. If there is no valid OI data for the symbol after this process, the script throws a clear runtime error so you know the market is unsupported rather than quietly plotting nonsense.
How the Z score is computed
Once the aggregated OI close is available, the indicator computes a rolling Z score over a configurable lookback:
Define subject as the aggregated OI close.
Compute a rolling mean of this subject with EMA over Z Score Lookback Period .
Compute a rolling standard deviation over the same length.
Subtract the mean from the current OI and divide by the standard deviation.
This gives a raw Z score:
oi_z_raw = (subject − mean) ÷ stdDev .
Instead of plotting this raw value directly, the script passes it through a smoothing layer:
You pick a Smoothing Type and Smoothing Period .
Choices include SMA, HMA, EMA, WMA, DEMA, RMA, linear regression, ALMA, TEMA, and T3.
The helper ma function applies the chosen smoother to the raw Z score.
The result is oi_z , a smoothed Z score of aggregated open interest. A separate EMA with EMA Period is then applied on oi_z to create a signal line ma that can be used for crossovers and trend reads.
Plotting modes
The Plotting Type input controls how this Z score is rendered:
1) Line
In line mode:
The smoothed OI Z score is plotted as a single line using Base Line Color .
The EMA overlay is optionally plotted if Show EMA is enabled.
This is the cleanest view when you want to treat OI Z like a standard oscillator, watching for zero line crosses, swings, and divergences.
2) Colored Line
Colored line mode adds conditional color logic to the Z score:
If the Z score is above zero and rising, it is bright green, representing positive and strengthening positioning pressure.
If the Z score is above zero and falling, it shifts to a cooler cyan, representing positive but weakening pressure.
If the Z score is below zero and falling, it is bright red, representing negative and strengthening pressure (growing net de risking or shorting).
If the Z score is below zero and rising, it is dark red, representing negative but recovering pressure.
This mapping makes it easy to see not only whether OI is above or below its historical mean, but also whether that deviation is intensifying or fading.
3) Oscillator
Oscillator mode turns the Z score into a histogram:
The smoothed Z score is plotted as vertical columns around zero.
Column colors use the same conditional palette as colored line mode, based on sign and change direction.
The histogram base is zero, so bars extend up into positive Z and down into negative Z.
Oscillator mode is useful when you care about impulses in positioning, for example sharp jumps into positive Z that coincide with fast builds in leverage, or deep spikes into negative Z that show aggressive flushes.
4) None
If you only want reference lines, extreme bands, divergences, or alerts without the base oscillator, you can set plotting to None and keep the rest of the tooling active.
The EMA overlay respects plotting mode and only appears when a visible Z score line or histogram is present.
Reference lines and standard deviation levels
The Select Reference Lines input offers two styles:
Standard Deviation Levels
Plots small markers at zero.
Draws thin horizontal lines at +1, +2, −1 and −2 Z.
Acts like a classic Z score ladder, zero as mean, ±1 as normal band, ±2 as outer band.
This mode is ideal if you want a textbook statistical framing, using ±1 and ±2 sigma as standard levels for "normal" versus "extended" positioning.
Extreme Bands
Extreme bands build on the same ±1 and ±2 lines, then add:
Upper outer band between +3 and +4 Z.
Lower outer band between −3 and −4 Z.
Dynamic fill colors inside these bands:
If the Z score is positive, the upper band fill turns red with an alpha that scales with the magnitude of |Z|, capped at a chosen max strength. Stronger deviations towards +4 produce more opaque red fills.
If the Z score is negative, the lower band fill turns green with the same adaptive alpha logic, highlighting deep negative deviations.
Opposite side bands remain a faint neutral white when not in use, so they still provide structural context without shouting.
This creates a visual "danger zone" for position crowding. When the Z score enters these outer bands, open interest is many standard deviations away from its mean and you are dealing with rare but highly loaded positioning states.
Z score as a positioning pressure gauge
Because this is a Z score of aggregated open interest, it measures how unusual current positioning is relative to its own recent history, not just whether OI is rising or falling:
Z near zero means total OI is roughly in line with normal conditions for your lookback window.
Positive Z means OI is above its recent mean. The further above zero, the more "crowded" or extended positioning is.
Negative Z means OI is below its recent mean. Deep negatives often mark post flush environments where leverage has been cleared and the market is under positioned.
The smoothing options help control how much noise you want in the signal:
Short Z score lookback and short smoothing will react quickly, suited for short term traders watching intraday positioning shocks.
Longer Z score lookback with smoother MA types (EMA, RMA, T3) give a slower, more structural view of where the crowd sits over days to weeks.
Divergences between price and OI Z
The indicator includes automatic divergence detection on the Z score versus price, using pivot highs and lows:
You configure Pivot Lookback Left and Pivot Lookback Right to control swing sensitivity.
Pivots are detected on the OI Z series.
For each eligible pivot, the script compares OI Z and price at the last two pivots.
It looks for four patterns:
Regular Bullish – price makes a lower low, OI Z makes a higher low. This can indicate selling exhaustion in positioning even as price washes out. These are marked with a line and a label "ℝ" below the oscillator, in the bullish color.
Hidden Bullish – price makes a higher low, OI Z makes a lower low. This suggests continuation potential where price holds up while positioning resets. Marked with "ℍ" in the bullish color.
Regular Bearish – price makes a higher high, OI Z makes a lower high. This is a classic warning sign of trend exhaustion, where price pushes higher while OI Z fails to confirm. Marked with "ℝ" in the bearish color.
Hidden Bearish – price makes a lower high, OI Z makes a higher high. This is often seen in pullbacks within downtrends, where price retraces but positioning stretches again in the direction of the prevailing move. Marked with "ℍ" in the bearish color.
Each divergence type can be toggled globally via Show Detected Divergences . Internally, the script restricts how far back it will connect pivots, so you do not get stray signals linking very old structures to current bars.
Trading applications
Crowding and squeeze risk
Z scores are a natural way to talk about crowding:
High positive Z in aggregated OI means the market is running high leverage compared to its own norm. If price is also extended, the risk of a squeeze or sharp unwind rises.
Deep negative Z means leverage has been cleaned out. While it can be painful to sit through, this environment often sets up cleaner new trends, since there is less one sided positioning to unwind.
The extreme bands at ±3 to ±4 highlight the rare states where crowding is most intense. You can treat these events as regime markers rather than day to day noise.
Trend confirmation and fade selection
Combine Z score with price and trend:
Bull trends with positive and rising Z are supported by fresh leverage, usually more persistent.
Bull trends with flat or falling Z while price keeps grinding up can be more fragile. Divergences and extreme bands can help identify which edges you do not want to fade and which you might.
In downtrends, deep negative Z that stays pinned can mean persistent de risking. Once the Z score starts to mean revert back toward zero, it can mark the early stages of stabilization.
Event and liquidation context
Around major events, you often see:
Rapid spikes in Z as traders rush to position.
Reversal and overshoot as liquidations and forced de risking clear the book.
A move from positive extremes through zero into negative extremes as the market transitions from crowded to under exposed.
The Z score makes that path obvious, especially in oscillator mode, where you see a block of high positive bars before the crash, then a slab of deep negative bars after the flush.
Settings overview
Z Score group
Plotting Type – None, Line, Colored Line, Oscillator.
Z Score Lookback Period – window used for mean and standard deviation on aggregated OI.
Smoothing Type – SMA, HMA, EMA, WMA, DEMA, RMA, linear regression, ALMA, TEMA or T3.
Smoothing Period – length for the selected moving average on the raw Z score.
Moving Average group
Show EMA – toggle EMA overlay on Z score.
EMA Period – EMA length for the signal line.
EMA Color – color of the EMA line.
Thresholds and Reference Lines group
Select Reference Lines – None, Standard Deviation Levels, Extreme Bands.
Standard deviation lines at 0, ±1, ±2 appear in both modes.
Extreme bands add filled zones at ±3 to ±4 with adaptive opacity tied to |Z|.
Extra Plotting and UI
Base Line Color – default color for the simple line mode.
Line Width – thickness of the oscillator line.
Positive Color – positive or bullish condition color.
Negative Color – negative or bearish condition color.
Divergences group
Show Detected Divergences – master toggle for divergence plotting.
Pivot Lookback Left and Pivot Lookback Right – how many bars left and right to define a pivot, controlling divergence sensitivity.
Open Interest Source group
OI Units – COIN or USD.
Exchange toggles for Binance, Bybit, OKX, Bitget, Kraken, HTX, Deribit.
Internally, all enabled exchanges and contract suffixes are aggregated into one synthetic OI series.
Alerts included
The indicator defines alert conditions for several key events:
OI Z Score Positive – Z crosses above zero, aggregated OI moves from below mean to above mean.
OI Z Score Negative – Z crosses below zero, aggregated OI moves from above mean to below mean.
OI Z Score Enters +2σ – Z enters the +2 band and above, marking extended positive positioning.
OI Z Score Enters −2σ – Z enters the −2 band and below, marking extended negative positioning.
Tie these into your strategy to be notified when leverage moves from normal to extended states.
Notes
This indicator does not rely on price based oscillators. It is a statistical lens on cross venue open interest, which makes it a complementary tool rather than a replacement for your existing price or volume signals. Use it to:
Quantify how unusual current futures positioning is compared to recent history.
Identify crowded leverage phases that can fuel squeezes.
Spot structural divergences between price and positioning.
Frame risk and opportunity around events and regime shifts.
It is not a complete trading system. Combine it with your own entries, exits and risk rules to get the most out of what the Z score is telling you about positioning pressure under the hood of the market.
9/39 EMA Crossover + ADX + RSI Filter (No builtin ADX)
9/39 EMA Crossover + ADX + RSI Filter
This indicator combines classic trend‑following EMAs with momentum and trend‑strength filters to generate high‑quality Buy/Sell signals. It is designed for traders who want cleaner entries, reduced noise, and confirmation‑based signals.
✅ How It Works
1. EMA Trend Logic
• Buy Signal:
9 EMA crosses above 39 EMA
• Sell Signal:
9 EMA crosses below 39 EMA
This captures short‑term momentum shifts within the broader trend.
✅ 2. ADX Trend Strength Filter
To avoid weak or sideways markets, signals only trigger when:
• ADX > 20
This ensures the market has enough directional strength before taking trades.
✅ 3. RSI Momentum Filter
Momentum must align with the direction of the crossover:
• Buy: RSI > 50
• Sell: RSI < 50
This prevents counter‑trend entries and improves signal reliability.
✅ Final Signal Conditions
✅ BUY
• 9 EMA crosses above 39 EMA
• ADX > 20
• RSI > 50
✅ SELL
• 9 EMA crosses below 39 EMA
• ADX > 20
• RSI < 50
✅ Features
• Clean BUY/SELL labels on chart
• ADX calculated manually (compatible with all Pine environments)
• Alerts included for automation
• Works on all timeframes and instruments
✅ Best Use‑Cases
• Trend‑following strategies
• Swing trading
• Intraday momentum confirmation
• Filtering out sideways/noisy markets






















