Elipli5648This indicator displays two moving averages on the same chart — the 9-period and 200-period simple moving averages (SMA).
Both lines are customizable in color and line width directly from the settings menu.
Useful for identifying short-term vs long-term trend direction.
Cari dalam skrip untuk "足球日本vs中国"
elipli5648 , MA 9 & 200 (Combined) — clean versionThis indicator displays two moving averages on the same chart — the 9-period and 200-period simple moving averages (SMA).
Both lines are customizable in color and line width directly from the settings menu.
Useful for identifying short-term vs long-term trend direction.
Micro SuiteWhat it is: One Pine v5 indicator that stacks several tools: EMA ribbon + a color-flipping 11/34 EMA trend line, multi-timeframe RSI pressure arrows, and a Bollinger Band re-entry system that marks Top/Bottom triggers (T/B) and later “r” confirmations. It also sprinkles in 3-Line Strike, Leledc exhaustion dots, and a small “Micro Dots” engine (ATR regime + VMA filter). Alerts for all of it.
TradingView
The core signals you’ll actually use:
RSI arrows: Up arrow when current RSI(6) < 30 and selected higher-TF RSIs are also < 30; down arrow when > 70 cluster cools. Idea = stacked OB/OS “pressure.”
TradingView
Bollinger re-entry (T/B + r):
T = first close back inside upper band; B = first close back inside lower band.
r = confirmation within N bars (price takes out the trigger bar’s high/low). These bars tint so they’re easy to see.
TradingView
Trend filter: EMA-11 vs EMA-34 color flip + optional VMA trend line; helps you ignore counter-trend stabs.
TradingView
Quick playbook (how to read it):
Reversal short: See a T near the top band → get the r within your window → bonus if a down RSI arrow or a Leledc high dot shows up.
Reversal long: Mirror that with B → r, plus an up RSI arrow/Leledc low dot.
Continuation: If Micro Dot stays green (or red) and 11>34 EMA holds, ignore isolated T/B traps.
TradingView
Inputs that matter:
confirmBars for the T/B “r” window.
Which higher-TF RSIs must agree for arrows.
Show/hide and lengths for EMAs and BB.
Micro block: show dots, VMA line, and speed (Fast/Med/Slow).
TradingView
Why people like it: You get trend, momentum, and mean-revert cues on one pane with ready-made alerts, so it’s easier to build a ruleset (e.g., “only take B→r longs when 11>34 and there’s an RSI up arrow”).
TradingView
Caveats: It’s still just TA—OB/OS clusters can persist in trends; confirmations can miss V-shaped turns; and stacking signals can be late in fast markets. Pair it with risk rules (fixed R, ATR stops) and a higher-TF bias.
One-liner cheat sheet:
Longs: B → r + RSI up arrow + 11>34 (optional Micro Dot green).
Shorts: T → r + RSI down arrow + 11<34 (optional Micro Dot red).
TradingView
4H Sell Signals at Swing Highs/LowsThis shows only zones where a 4H FVG and a 4H OB overlap (i.e., true HPZ).
Uses strict filters (FVG size vs avg body, OB body multiplier) to reduce noise and show very few, high-quality zones.
Each HPZ is drawn once (box deleted/created only when the zone changes) to avoid chart spam.
Optional label appears when price is currently inside the HPZ so you can spot active opportunities quickly.
Daily High/Low/Mid (Prev Day Mid-vs-Next-Mid BG)it gives background depending upon previous day and next day midline.
Microgaps (plots-only, 4-channel, same-day only)Purpose:
This indicator visually highlights 3-bar price gaps on your chart, showing clear visual structure for gap zones without lag or diagonal artifacts.
It draws two outer lines (top and bottom of the gap) for every valid 3-bar gap, and optionally a midline when the gap is considered “large.”
⚙️ How it works
A bull gap is detected when the current bar’s low is higher than the high from two bars ago (low > high ).
A bear gap is detected when the current bar’s high is lower than the low from two bars ago (high < low ).
The lines are centered at the middle bar of the 3-bar sequence.
Gaps are only drawn within the same trading day to avoid false overnight gaps.
To prevent overlapping artifacts, up to four concurrent gap channels can be drawn efficiently using GPU-friendly plot() lines.
🔵 Midline logic
The midline (center of the gap) is only displayed when the gap’s vertical size is “large” relative to recent volatility.
“Large” means the gap height is greater than a user-defined fraction of the average bar range over the past N bars.
Example: if the average 8-bar range = 2 points, and the threshold = 0.3, then only gaps larger than 0.6 points will show the midline.
🧩 Parameters
Setting Description
Bull Gap Color / Width Style of bullish gaps (top and bottom lines).
Bear Gap Color / Width Style of bearish gaps (top and bottom lines).
Mid Gap Color / Width Style of the optional midline (shown only when “large”).
Large Gap — Lookback (bars) Number of bars used to calculate the average range (default: 8).
Large Gap — Size vs Avg Range Fraction of the average range that defines a “large” gap (default: 0.5). Set lower (e.g. 0.3) to show more midlines.
💡 Tips
Set threshold lower (0.2–0.4) for more midlines, higher (0.6–1.0) to highlight only extreme gaps.
Works best on intraday timeframes (1-min to 30-min).
Fully GPU-efficient — can scroll back thousands of bars without lag.
GEX Options Flow Pro 100% free
INTRODUCTION
This script is designed to visualize advanced options-derived metrics and levels on TradingView charts, including Gamma Exposure (GEX) walls, gamma flip points, vanna levels, delta-neutral prices (DEX), max pain, implied moves, and more. It overlays dynamic lines, labels, boxes, and an info table to highlight potential support, resistance, volatility regimes, and flow dynamics based on options data.
These visualizations aim to help users understand how options market structure might influence price action, such as areas of potential stability (positive GEX) or volatility (negative GEX). All data is user-provided via pasted strings, as Pine Script cannot fetch external options data directly due to platform limitations (detailed below).
The script is open-source under TradingView's terms, allowing study, modification, and improvement. It draws inspiration from standard options Greeks and exposure metrics (e.g., gamma, vanna, charm) discussed in financial literature like Black-Scholes models and dealer positioning analyses. No external code is copied; all logic is original or based on mathematical formulas.
Disclaimer: This is an educational tool only. It does not provide investment advice, trading signals, or guarantees of performance. Past data is not indicative of future results. Use at your own risk, and combine with your own analysis. Not intended for qualified investors only.
How the Options Levels Are Calculated
Levels are not computed in Pine Script—they rely on pre-calculated values from external tools (e.g., Python scripts using libraries like yfinance for options chains). Here's how they're typically derived externally before pasting into the script:
Fetching Options Data: Retrieve options chain for a ticker: strikes, open interest (OI), volume, implied volatility (IV), expirations (e.g., shortest: 0-7 DTE, short: 7-14 DTE, medium: ~30 DTE, long: ~90 DTE). Get current price and 5-day history for context.
Gamma Walls (Put/Call Walls): Compute gamma for each option using Black-Scholes: gamma = N'(d1) / (S * σ * √T) where S = spot price, K = strike, T = time to expiration (years), σ = IV, N'(d1) = normal PDF. Aggregate GEX at strikes: GEX = sign * gamma * OI * 100 * S^2 * 0.01 (per 1% move, with sign based on dealer positioning: typically short calls/puts = negative GEX). Put Wall: Highest absolute GEX put strike below S (support via dealer buying on dips). Call Wall: Highest absolute GEX call strike above S (resistance via dealer selling on rallies). Secondary/Tertiary: Next highest levels. Historical walls track tier-1 levels over 5 days.
Gamma Flip: Net GEX profile across prices: Sum GEX for all options at hypothetical spots. Flip point: Interpolated price where net GEX changes sign (stable above, volatile below).
Vanna Levels: Vanna = -N'(d1) * d2 / σ. Weighted by OI; highest positive/negative strikes.
DEX (Delta-Neutral Price): Net dealer delta: Sum (delta * OI * 100 * sign), with delta from Black-Scholes. DEX: Price where net delta = 0 (interpolated).
Max Pain: Strike minimizing total intrinsic value for all options holders.
Skew: 25-delta skew: IV difference between 25-delta put and call (interpolated).
Net GEX/Delta: Total signed GEX/delta at current S.
Implied Move: ATM IV * √(DTE/365) for 1σ range.
C/P Ratio: (Call OI + volume) / (Put OI + volume).
Smart Stop Loss: Below lowest support (e.g., Put Wall, gamma flip), buffered by IV * √(DTE/30).
Other Metrics: IV: ATM average. 5-day metrics: Avg volume, high/low.
External tools handle dealer assumptions (e.g., short calls/puts) and scaling (per % move).
Effect as Support and Resistance in Technical Trading
Options levels reflect dealer hedging dynamics:
Put Wall (Gamma Support): High put GEX creates buying pressure on dips (dealers hedge short puts by buying stock). Use for long entries, bounces, or stops below.
Call Wall (Gamma Resistance): High call GEX leads to selling on rallies. Good for trims, shorts, or reversals.
Gamma Flip: Pivot for volatility—above: dampened moves (positive GEX, mean reversion); below: amplified trends (negative GEX, momentum).
Vanna Levels: Sensitivity to IV changes; crosses may signal vol shifts.
DEX: Dealer delta neutral—bullish if price below with positive delta.
Max Pain: Price magnet minimizing option payouts.
Implied Move/Confidence Bands: Expected ranges (1σ/2σ/3σ); breakouts suggest extremes.
Liquidity Zones: Wall ranges as price magnets.
Smart Stop Loss: Protective level below supports, IV-adjusted.
C/P Ratio & Skew: Sentiment (high C/P = bullish; high skew = put demand).
Net GEX: Positive = low vol strategies (e.g., condors); negative = momentum trades.
Combine with TA (e.g., volume, trends). High activity strengthens effects; alerts on crosses/proximities for awareness.
Limitations of the TradingView Platform for Data Pulling
Pine Script is sandboxed:
No API calls or internet access (can't fetch options data directly).
Limited to chart/symbol data; no real-time chains.
Inputs static per load; manual updates needed.
Caching not persistent across sessions.
This ensures lightweight scripts but requires external data sourcing.
Creative Solution for On-Demand Data Pulling
Users can use external tools (e.g., Python scripts with yfinance) to fetch/compute data on demand. Generate a formatted string (ticker,timestamp|term1_data|term2_data|...), paste into inputs. Tools can process multiple tickers, cache for ~15-30 min, and output strings for quick portfolio scanning. Run locally or via custom setups for near-real-time updates without platform violations.
For convenience, a free bot is available on my website that accepts commands like !gex to generate both current data strings (for all expiration terms) and historical walls data on demand. This allows users to easily obtain fresh or cached data (refreshed every ~30 min) for pasting into the indicator—ideal for scanning portfolios without manual coding.
Script Functionality Breakdown
Inputs: Data strings (current/historical); term selector (Shortest/Short/Medium/Long); toggles (historical walls, GEX profile, secondaries, vanna, table, max pain, DEX, stop loss, implied move, liquidity, bands); colors/styles.
Parsing: Extracts term-specific data; validates ticker match; gets timestamp for freshness.
Drawing: Dynamic lines/labels (width/color by GEX strength); boxes (moves, zones, bands); clears on updates.
Info Table: Dashboard with status (freshness emoji), Greeks (GEX/delta with emojis), vol (IV/skew), levels (distances), flow (C/P, vol vs 5D).
Historical Walls: Displays past tier-1 walls on daily+ timeframes.
Alerts: 20+ conditions (e.g., near/cross walls, GEX sign change, high IV).
Performance: Efficient for real-time; smart label positioning.
Release Notes
Initial release: Full features including multi-term support, enhanced table with emojis/sentiment, dynamic visuals, smart stop loss.
Data String Format: TICKER,TIMESTAMP|TERM1_DATA|TERM2_DATA|TERM3_DATA|TERM4_DATA Where each TERM_DATA = val0,val1,...,val30 (31 floats: current_price, prev_close, call_wall_1, call_wall_1_gex, ..., low_5d). Historical: TICKER|TERM1_HIST|... where TERM_HIST = date:cw,pw;date:cw,pw;...
Feedback welcome in comments. Educational only—not advice.
Ichimoku Screener [Pineify]Advanced Multi-Timeframe Ichimoku Screener - Complete Market Analysis Tool
This sophisticated Ichimoku Screener represents a comprehensive approach to multi-timeframe market analysis, combining four distinct Ichimoku-based indicators into a unified screening system. Unlike traditional single-symbol indicators, this screener provides simultaneous analysis across multiple assets and timeframes, enabling traders to identify optimal trading opportunities with enhanced precision and efficiency.
Key Features
Multi-asset screening capability for up to 10 symbols simultaneously
Four customizable timeframes per symbol for comprehensive analysis
Four integrated Ichimoku-based indicators working in harmony
Real-time visual feedback with color-coded signals
Customizable Ichimoku parameters for personalized analysis
Clean, organized table display for easy interpretation
Automated signal strength assessment and timing
How It Works
The screener employs the traditional Ichimoku Kinko Hyo methodology, utilizing five core components: Conversion Line (Tenkan-sen), Base Line (Kijun-sen), Leading Span A (Senkou Span A), Leading Span B (Senkou Span B), and displacement calculations. Each component is mathematically calculated using specific period lengths:
Conversion Line = (Highest High + Lowest Low) / 2 over conversion period
Base Line = (Highest High + Lowest Low) / 2 over base period
Leading Span A = (Conversion Line + Base Line) / 2
Leading Span B = (Highest High + Lowest Low) / 2 over lagging span period
The screener processes these calculations across multiple securities simultaneously using TradingView's security() function, enabling real-time cross-asset analysis. The system tracks state changes using barssince() functions to provide precise timing information for each signal type.
Trading Ideas and Insights
This screener excels in identifying momentum convergence patterns where multiple Ichimoku components align across different timeframes. The most powerful signals occur when:
Cloud color aligns with price position relative to the cloud
Conversion Line crosses above/below Base Line in the same direction as cloud bias
Multiple timeframes show consistent directional bias
Entry signals appear with minimal bars since formation (indicating fresh momentum)
For trend following strategies , focus on symbols where the cloud maintains consistent color across higher timeframes while showing recent entry signals on lower timeframes. For reversal opportunities , identify assets where cloud color changes coincide with price re-entering the cloud after extended periods above or below.
The screener particularly excels in cryptocurrency and forex markets where momentum shifts can be dramatic and sustained. By monitoring multiple timeframes simultaneously, traders can identify when short-term signals align with longer-term trends, significantly improving trade success probability.
How Multiple Indicators Work Together
The four integrated indicators create a comprehensive analytical framework through synergistic interaction:
Ichimoku Cloud (IchiCld) establishes the primary trend bias by comparing Leading Span A with Leading Span B. When Span A > Span B, the cloud displays bullish characteristics; when Span A < Span B, bearish characteristics emerge. The indicator tracks duration since the last cloud color change, providing momentum persistence insight.
Ichimoku Lagging Cloud (IchiLagCld) determines price position relative to the displaced cloud formation. This indicator identifies whether current price action occurs above, below, or within the cloud structure, revealing support/resistance dynamics and trend confirmation signals.
Conversion vs Base (IchiC>Base) monitors the relationship between short-term (Conversion Line) and medium-term (Base Line) momentum. Crossovers in this relationship often precede significant price movements and provide early trend change warnings.
Ichimoku Entry (IchiEnt) synthesizes all components into actionable signals by requiring alignment between cloud bias, price position, and conversion/base relationship. This multi-factor confirmation approach significantly reduces false signals while maintaining sensitivity to genuine momentum shifts.
The mathematical foundation ensures that each indicator contributes unique information while maintaining logical consistency. The system's strength lies in requiring multiple confirmations before generating entry signals, following Ichimoku's original philosophy of comprehensive market analysis.
Unique Aspects
This implementation distinguishes itself through several innovative features:
Advanced State Tracking : Unlike standard Ichimoku indicators that show current values, this screener tracks duration since state changes , providing crucial timing information for signal freshness and momentum strength assessment.
Multi-Asset Efficiency : The screener eliminates the need to manually check multiple charts by presenting comparative analysis across assets and timeframes in a single view, dramatically improving analytical efficiency.
Customizable Visual Feedback : The color-coding system adapts to different signal types and strengths, with recent signals receiving enhanced visual prominence to draw attention to fresh opportunities.
Professional Table Architecture : The organized display accommodates up to 40 symbol-timeframe combinations (10 symbols × 4 timeframes), with intelligent pagination for optimal screen utilization.
Signal Correlation Analysis : By displaying multiple timeframes for each symbol, traders can quickly identify timeframe confluence and divergence patterns that would otherwise require extensive manual analysis.
How to Use
Symbol Configuration : Enter up to 10 symbols in the Symbol input group. Use full exchange:ticker format for optimal compatibility (e.g., "BINANCE:BTCUSDT").
Timeframe Selection : Configure four timeframes in ascending order for logical analysis progression. Recommended combinations include 1m/5m/15m/1h for intraday analysis or 1h/4h/1D/1W for swing trading.
Ichimoku Parameters : Adjust the four core parameters based on your trading style:
Conversion Line Length (default: 9) - Controls short-term momentum sensitivity
Base Line Length (default: 26) - Determines medium-term trend identification
Leading Span B Length (default: 52) - Sets long-term trend calculation period
Displacement (default: 26) - Controls forward projection of cloud structure
Signal Interpretation :
Green backgrounds indicate bullish conditions
Red backgrounds indicate bearish conditions
Numerical values show bars since last state change
"L:" prefix indicates long entry signals
"S:" prefix indicates short entry signals
"N/A" indicates neutral/transitional states
Trading Workflow : Scan for symbols showing consistent signals across multiple timeframes, prioritize fresh signals (low bar counts), and use individual charts for precise entry timing and risk management.
Customization
The screener accommodates various trading approaches through parameter adjustment:
Scalping Configuration : Use shorter periods (Conversion: 5, Base: 13, Span B: 26) with 1m/3m/5m/15m timeframes for high-frequency opportunities.
Swing Trading Setup : Employ standard parameters with 4h/1D/3D/1W timeframes for position trading across days or weeks.
Cryptocurrency Optimization : Given crypto's 24/7 nature, consider using 4h/8h/1D/3D combinations for optimal signal timing.
Symbol selection can focus on correlated assets (e.g., major cryptocurrencies) for sector analysis or diverse assets for portfolio opportunity identification. The flexible timeframe configuration allows adaptation to any market's characteristic volatility and trading patterns.
Conclusion
This Advanced Multi-Timeframe Ichimoku Screener transforms traditional single-chart analysis into a comprehensive market monitoring system. By integrating multiple Ichimoku components across various timeframes and assets, it provides traders with unprecedented analytical efficiency and signal reliability.
The mathematical rigor of traditional Ichimoku analysis combines with modern Pine Script capabilities to deliver a professional-grade screening tool. Whether used for identifying trend continuation opportunities, spotting potential reversals, or conducting broad market analysis, this screener offers the analytical depth and practical functionality required for serious trading applications.
The system's emphasis on signal confluence across multiple timeframes and indicators significantly improves trade selection quality while reducing analysis time. For traders seeking to leverage Ichimoku's proven methodology across multiple markets simultaneously, this screener represents an essential analytical upgrade to traditional single-symbol approaches.
Multi-Timeframe MA - TCMasterThis indicator displays up to four moving averages from different timeframes on a single chart.
It’s designed for traders who want to track higher-timeframe trends while analyzing price action on lower timeframes — a key technique in multi-timeframe confluence trading.
You can freely customize the type, length, timeframe, and color for each moving average line.
⚙️ Features
4 configurable Moving Averages (each with its own type, length, and timeframe).
Supported types:
SMA, EMA, WMA, RMA, HMA, VWMA, DEMA, TEMA.
Real-time values are fetched from higher timeframes using request.security() (no repaint).
Individual visibility toggle and line width for each MA.
Dynamic info label shows current distance between price and each MA.
Built with Pine Script v6, ensuring optimal performance and flexibility.
📊 Typical Use Cases
Identify trend direction across multiple timeframes.
Confirm entries/exits using higher timeframe trend alignment.
Spot potential reversal or continuation zones when short-term price interacts with long-term MAs.
Build confluence setups for swing, scalp, or intraday strategies.
🧠 Example Setup
MA Type Length Timeframe Purpose
MA #1 SMA 200 1m Micro trend
MA #2 EMA 200 5m Short-term trend
MA #3 EMA 200 15m Medium trend
MA #4 SMA 200 30m Macro trend
🔔 Tips
Combine with oscillators (e.g., RSI, Stoch, MACD) for stronger confluence.
Use color coding to distinguish short vs long timeframe trends.
Consider adding alerts when price crosses any MA (can be extended easily in code).
⚠️ Notes
All higher-timeframe data is handled safely using lookahead=barmerge.lookahead_off to prevent repainting.
Label updates only on the latest bar for efficiency.
VWMA, DEMA, TEMA, and HMA are computed via internal formulas for compatibility with Pine Script v6.
🏁 Summary
Multi-Timeframe MA is a powerful tool for traders who want to merge the clarity of moving averages with the precision of multi-timeframe analysis.
It helps you see the bigger picture without switching charts — perfect for intraday, swing, and trend-following strategies.
Multi-Timeframe MA - TCMaster🧩 Overview
This indicator displays up to four moving averages from different timeframes on a single chart.
It’s designed for traders who want to track higher-timeframe trends while analyzing price action on lower timeframes — a key technique in multi-timeframe confluence trading.
You can freely customize the type, length, timeframe, and color for each moving average line.
⚙️ Features
4 configurable Moving Averages (each with its own type, length, and timeframe).
Supported types:
SMA, EMA, WMA, RMA, HMA, VWMA, DEMA, TEMA.
Real-time values are fetched from higher timeframes using request.security() (no repaint).
Individual visibility toggle and line width for each MA.
Dynamic info label shows current distance between price and each MA.
Built with Pine Script v6, ensuring optimal performance and flexibility.
📊 Typical Use Cases
Identify trend direction across multiple timeframes.
Confirm entries/exits using higher timeframe trend alignment.
Spot potential reversal or continuation zones when short-term price interacts with long-term MAs.
Build confluence setups for swing, scalp, or intraday strategies.
🧠 Example Setup
MA Type Length Timeframe Purpose
MA #1 SMA 200 1m Micro trend
MA #2 EMA 200 5m Short-term trend
MA #3 EMA 200 15m Medium trend
MA #4 SMA 200 30m Macro trend
🔔 Tips
Combine with oscillators (e.g., RSI, Stoch, MACD) for stronger confluence.
Use color coding to distinguish short vs long timeframe trends.
Consider adding alerts when price crosses any MA (can be extended easily in code).
⚠️ Notes
All higher-timeframe data is handled safely using lookahead=barmerge.lookahead_off to prevent repainting.
Label updates only on the latest bar for efficiency.
VWMA, DEMA, TEMA, and HMA are computed via internal formulas for compatibility with Pine Script v6.
🏁 Summary
Multi-Timeframe MA is a powerful tool for traders who want to merge the clarity of moving averages with the precision of multi-timeframe analysis.
It helps you see the bigger picture without switching charts — perfect for intraday, swing, and trend-following strategies.
Palat Trading System Entry Prices (Bear)This script gives you the entry points for 4,5,6,7 consecutive candles which got up closing vs last trading day.
Palat Trading System Entry Prices (Bull)This script gives you the entry points for 4,5,6,7 consequetive candles which got down closing vs last trading day.
Trend MACD [JopAlgo]Trend MACD — momentum made obvious (4-state histogram)
What it does (one line):
A clean MACD histogram using EMA(fast) − EMA(slow) with a signal line. The columns change color to show trend side and momentum change at a glance.
Green = above 0 and rising → positive trend, momentum building
White (upside) = above 0 but fading → still positive, momentum cooling
White (downside) = below 0 but improving → still negative, momentum recovering
Red = below 0 and falling → negative trend, momentum building down
Zero line = the bull/bear divider. Distance from zero = thrust. Color change = momentum shift.
What you’ll see
Dashed zero line for the trend divider
Column histogram with the 4-state color logic above
No clutter—just momentum and regime, clean
Read it in 3 seconds: Which side of 0? Are bars getting bigger or smaller? Did the color flip?
How to use it (simple playbook)
Direction filter
Look for longs while histogram is ≥ 0.
Look for shorts while histogram is ≤ 0.
Timing
Green sequence (above 0, growing): join pullbacks at real levels.
White above 0: positive but cooling—buy pullbacks only at levels, don’t chase.
White below 0: negative but improving—prepare for reclaim trades at levels.
Red sequence: trend down—sell pops at levels.
Location first (always)
Use Volume Profile v3.2 (VAH/VAL/POC/LVNs) and Anchored VWAP (session/weekly/event).
No level, no trade.
Quality check (optional, strong)
CVDv1 : execute when Alignment OK and no Absorption against your side.
RVOL (if you track it): prefer breakouts with RVOL above cutoff.
Entries, exits, risk (keep it tight)
Continuation long: price retests VAL / AVWAP / MA cluster in an up regime (≥ 0). Histogram stays ≥ 0 and turns green again → enter.
Stop: under structure. Targets: POC/HVNs or next swing.
Break + retest: breakout through a level while histogram flips from white→green above 0 (or white→red below 0 for shorts). Enter on the retest that holds.
Trim / avoid: when bars shrink toward 0 (white) into your target / HVN—momentum is cooling. Don’t chase fresh highs with white bars.
Settings that matter (how to tune)
Fast Length (default 25)
Shorter = quicker turns (more noise). Longer = steadier, slower.
Slow Length (default 200)
Big backbone. For intraday you might use 21/55 or 12/26; for swing the default 25/200 or 20/100 is solid.
Signal Smoothing (default 9)
Higher = smoother, fewer flips. Lower = more reactive.
Source
close is fine; if you use hlc3, expect slightly smoother behavior.
Suggested presets
Scalp (1–5m): 12 / 26 / 9
Intraday (15m–1H): 21 / 55 / 9
Swing (2H–4H): 25 / 100 or 25 / 200 / 9
Daily backdrop: 20 / 100 or 50 / 200 / 9 (execute on lower TF)
Pattern cheat sheet
Green staircase above 0 → trend leg; buy pullbacks to VP/AVWAP.
White above 0 → positive but tiring; avoid chasing; wait for retest.
Flip through 0 with expansion → regime change; use the first retest at a level.
Red staircase below 0 → trend down; sell pops at VP edges.
Diverging price vs shrinking bars → momentum thinning; tighten risk.
Best combos (kept simple)
Volume Profile v3.2: entries at VAH/VAL/LVNs, targets at POC/HVNs.
Anchored VWAP: reclaim/reject with matching histogram side is high-quality timing.
CVDv1: take MACD-aligned setups with flow (ALIGN OK, no Absorption).
RVOL: confirmation that the push has participation.
Common mistakes this helps you avoid
Longs with red momentum or shorts with green momentum.
Chasing new highs on white (cooling) bars.
Trading mid-range when histogram keeps whipsawing around 0 (do less; wait for level).
Disclaimer:
This indicator is an educational tool, not financial advice. Markets are risky; you can lose money. Always test your settings, trade at defined levels, and use risk management. Data/feeds vary across venues; outcomes may differ. No guarantees or warranties are provided.
Smart Choppy Index v1 [JopAlgo]Smart Choppy Index v1 — decide trend vs. chop in seconds
What it does (one line):
Measures the percent range of price over a lookback and tells you if the market is choppy (do less, fade edges) or trending (go with breaks/pullbacks).
Range% = (Highest High − Lowest Low) / Close × 100 over length
Below Choppy Threshold → likely range (red tint / X marker)
Above Trending Threshold → likely trend (green tint / ● marker)
Between them = mixed/transition (no background)
Read the pane fast
Orange line: the live Range%.
Red dashed line: Choppy Threshold.
Green dashed line: Trending Threshold.
Background: soft red during chop, soft green during trend.
Markers: X at the top when chop is detected, ● at the bottom when trend is detected.
TL;DR: Red = play defense / mean-revert. Green = play offense / trend-follow.
Simple playbook (copy this into your process)
Identify regime
Choppy (Range% < red line): prefer mean-reversion at VP edges / AVWAP; smaller targets, quicker exits.
Trending (Range% > green line): prefer breakouts + pullbacks; hold to POC/HVNs or structure.
Only execute at real locations
Volume Profile v3.2 : VAH/VAL/POC/LVNs for entries/targets.
Anchored VWAP : reclaims/rejections for timing.
Quality check (optional, recommended)
CVDv1 : execute with flow (Alignment OK, strong Imbalance, no Absorption against your side).
Risk
Stops go beyond structure/level, not on indicator flips.
If regime flips right after entry (green → red or red → green), consider tightening or exiting early.
Timeframe guidance
1–5m (scalps): length 14–20. You’ll see more flips—use thresholds a touch wider and execute only at edges.
15m–1H (intraday): length 14–34. Sweet spot for day trading bias.
2H–4H (swing): length 20–50. Fewer, cleaner signals; great for planning.
1D+ (position): length 50–100. Use as backdrop; trigger on lower TFs.
Settings that actually matter (and how to tune)
Lookback Period (length)
Shorter = faster regime changes; longer = smoother, fewer flips.
Choppy Threshold (%) / Trending Threshold (%)
Calibrate by history: scroll back and mark typical Range% during range days vs trend days for your market/TF.
If you get too many trend flags, raise the green threshold.
If everything looks “choppy,” lower the red threshold slightly.
Background color
Turn off if your chart feels busy; markers remain.
How to trade it with other tools
In Chop (red):
Fade VAH/VAL/AVWAP touches toward POC with tight stops. Confirm with CVDv1 (avoid longs if Absorption is red, etc.).
In Trend (green):
Break + retest at VP levels/AVWAP. Add on pullbacks that hold while Range% stays above the green line.
Patterns to recognize
Squeeze → Expansion: Range% ramps from below red toward/through green → expect a trend phase.
Exhaustion → Balance: After a long green phase, Range% falls back toward the middle → take profits into HVNs, expect more two-way trade.
False break tell: Level poke while Range% sits near red → low odds of follow-through; prefer reclaims.
Practical defaults to start
length = 14
Choppy Threshold = 1.5%
Trending Threshold = 2.5%
Process: Regime → Location → Flow → Execute with structure-based risk
Serious Disclaimer & Licensing
This script and description are provided for educational purposes only and do not constitute financial, investment, or trading advice. Markets are risky; you can lose some or all of your capital. Past performance does not guarantee future results. You are solely responsible for your trading decisions, including evaluating the suitability of this tool in your process, testing it on historical and simulated data, and managing risk.
This indicator relies on exchange data that may vary across venues; differences in volume, liquidity, and price feeds can impact results. No warranty is made—express or implied—regarding accuracy, completeness, or fitness for a particular purpose. assumes no liability for any direct or consequential losses arising from the use of this script or description.
License: This Pine Script® code is released under the Mozilla Public License 2.0 (MPL 2.0), © JopAlgo. You may use, modify, and distribute the code in accordance with MPL 2.0 terms.
Kairi Relative Index Upgrated v1Kairi Relative Index Upgraded v1 — how far from “fair” are we, right now?
Most oscillators mash together price and momentum in ways that are hard to explain to a new trader. KRI is refreshingly simple: it measures how far price is from its moving average, as a percent of that average.
KRI = 100 × (Price − SMA) / SMA
Above 0 → price is above its average (stretched up).
Below 0 → price is below its average (stretched down).
The farther from 0, the more stretched we are from the mean.
This upgraded version keeps the pane clean (zero line, colored KRI, optional guide rails at +Line Above / Line Below) so you can read extension, reversion pressure, and reclaims at a glance—on any timeframe.
(If you add screenshots: image #1 should label the zero line and ± threshold lines; image #2 should show a textbook “overshoot at VAH/VAL + KRI extreme → rotate back to POC.”)
What you’re seeing (and how to read it fast)
KRI line
Green when KRI ≥ 0 (price above SMA)
Red when KRI < 0 (price below SMA)
Zero line = the moving average itself (no stretch).
Guide lines (default +10/−10) = “This is pretty far for this setting.” Treat these as review-and-decide zones, not auto-trade signals.
Three quick reads:
Magnitude: how far from the mean (size of KRI).
Direction: above/below zero (which side of the mean).
Turn: KRI curling back toward zero (reversion starting) or accelerating away (trend impulse continuing).
What KRI really measures (plain-English)
The SMA(length) is your “fair value” line for this indicator.
KRI tells you the percentage deviation from that fair value—normalized, so you can compare across assets/timeframes with the same length.
Because it’s a pure distance metric, KRI excels at:
spotting over-extensions into VP edges (VAH/VAL) and AVWAP,
timing mean-reversion back to POC/AVWAP in balance,
confirming reclaims (KRI crossing back through zero at a level),
framing pullbacks in trend (healthy dips usually avoid deep negative KRI in strong uptrends).
Using KRI on any timeframe
The workflow is always Location → Flow → KRI:
Location: a real level (Volume Profile v3.2’s VAH/VAL/POC/LVNs or Anchored VWAP).
Flow quality: check CVDv1 (Alignment OK? Absorption not red?).
KRI: are we stretched into/away from the level, and is KRI turning?
Scalping (1–5m)
Fade the stretch (balance): At VAH/VAL or Session AVWAP, an extreme KRI that rolls back toward zero = quick rotation to the middle (POC/AVWAP).
Don’t fade if bands are expanding and flow is strong (CVDv1 says go) — big KRI can stay big in expansion.
Intraday (15m–1H)
Continuation after pullback: In uptrends, look for shallow negative KRI at support (VAL/AVWAP) that turns up → join trend.
Failed breakout tell: Price pokes above VAH but KRI barely increases or rolls over quickly → likely a reclaim back inside value.
Swing (2H–4H)
Edge-to-mean rotations: At composite VAH/VAL, KRI extremes are great context: fade back to POC/HVNs if flow doesn’t confirm a breakout.
Reclaim confirmation: After a flush below Weekly AVWAP, KRI crossing back up through zero on the reclaim bar is a clean green light.
Position (1D–1W)
Regime posture: Multi-day runs with sustained positive KRI (and shallow dips) = constructive; mirror for downtrends. Use KRI pullbacks to ~0 at Weekly AVWAP for adds.
Entries, exits, and risk (simple rules)
Mean-reversion entry: At VAH/VAL or AVWAP, wait for KRI extreme at/through your guide line and a turn back toward zero.
Stop: just beyond the level; Target: POC/HVN or the zero line on KRI.
Trend-continuation entry: In a trend, take pullbacks where KRI stays modest (doesn’t blow through your lower/upper guide) and turns back with the trend at the level.
Avoid: chasing breakouts where KRI is already extreme and still climbing unless CVDv1 says Alignment OK + no Absorption and you have a clean retest.
Settings that matter (and how to tune them)
Length (default 50): defines the moving average “fair value.”
Shorter (20–34): faster, more signals, more noise—good for intraday.
Longer (50–100): steadier, better for swings/position.
Source (default close): keep it simple; hlc3 or close both work.
Line Above / Below (defaults +10/−10): your review zones. Tune them to the asset/timeframe:
Scroll back 6–12 months and eyeball typical |KRI| spikes. Set your lines around the 80th–90th percentile of |KRI| for that market and length.
Majors often need smaller thresholds than thin alts on the same timeframe.
Tip: If your KRI is always beyond the lines, increase length or widen the thresholds. If it never touches them, shorten length or tighten thresholds.
What to look for (pattern cheat sheet)
Stretch into level → curl: KRI tags an extreme right at VAH/VAL/AVWAP, then turns back → classic rotation.
Shallow pullback in trend: KRI dips toward zero but doesn’t hit your lower guide, then turns up at support → continuation.
No-juice break: New price high with weaker KRI (smaller positive % vs prior leg) → breakout lacks extension; plan for retest or reclaim.
Zero-line reclaims: After a washout, KRI crosses zero as price reclaims AVWAP/VAL → clean confirmation.
Combining KRI with other tools
Cumulative Volume Delta v1 (CVDv1):
Use KRI for stretch/turn, CVDv1 for quality.
A KRI extreme at VAH with CVDv1 Absorption (red) is a do-not-chase; look for the fail/reclaim.
A KRI pullback toward zero at VAL with Alignment OK + strong Imbalance + no Absorption = high-quality continuation.
Volume Profile v3.2:
KRI’s best signals happen at VAH/VAL/POC/LVNs.
LVN traversals with rising KRI often run quickly to the next HVN—use VP for targets.
Anchored VWAP :
Treat AVWAP as fair-value rails. KRI zero cross on an AVWAP reclaim is your green flag; KRI extreme + failure to accept beyond AVWAP warns of a fake break.
Common pitfalls KRI helps you avoid
Buying high into a tired move: KRI already very positive at VAH and rolling over = likely rotation; wait.
Fading true expansion: In strong trends with confirmed flow, KRI can remain extreme; don’t automatically fade just because it’s “far.”
Wrong thresholds: Copy-pasting ±10 to every market/timeframe can mislead. Calibrate to the market you trade.
Practical defaults to start with
Length: 50
Lines: +10 / −10 as placeholders—calibrate later.
Timeframes: great out of the box on 15m–4H; for 1–5m try Length 34 and tighter lines; for daily swings try Length 100 and broader lines.
Process: Level → CVDv1 quality → KRI stretch/turn. If any of the three disagree, wait for the retest.
Disclaimer & Licensing
This indicator and its description are provided for educational purposes only and do not constitute financial or investment advice. Trading involves risk, including the possible loss of capital. makes no warranties and assumes no responsibility for any decisions or outcomes resulting from the use of this script. Past performance is not indicative of future results. Use at your own risk.
Licensing & Attribution:
Copyright (c) 2018–present, Alex Orekhov (everget). Modified and upgraded by .
The original “Kairi Relative Index” is released under the MIT License, and this derivative is distributed under the MIT License as well. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files to deal in the Software without restriction, subject to the conditions of the MIT License, including the above copyright notice and this permission notice. The Software is provided “AS IS,” without warranty of any kind, express or implied.
Cycle Momentum Filter [JopAlgo]Cycle Momentum Filter (CMF) — spot “when” to engage the market, on any timeframe
Markets breathe in cycles (expansion → contraction) while momentum and trend decide which moves actually travel. CMF is a compact filter that blends those ideas so you can answer two questions before you click:
Is this a good moment to take a trade? (cycle position)
If I take it, is there enough force behind the move to carry it? (momentum + trend)
CMF does not replace your levels—use it with your location tools (e.g., Volume Profile v3.2 and Anchored VWAP). It simply keeps you out of entries taken at the wrong part of the swing or against weak momentum.
(When you add screenshots: image #1 should label each sub-line and the green/yellow/red background; image #2 can show CMF turning green at VAL + AVWAP before a rotation back to POC.)
What you’re seeing (and how to read it at a glance)
CMF draws five sub-lines around a zero line, plus a background color:
Cycle Oscillator (blue): where you are in the swing. Above zero ≈ cycle crest side; below zero ≈ trough side.
ROC % (purple): short-term price acceleration. Above zero = positive momentum; below zero = negative.
MACD Histogram (orange): classic impulse measure (fast–slow EMA gap). Above zero = bullish impulse.
EWO (cyan): Elliott Wave Oscillator (EMA fast – EMA slow). Above zero = trend tilt up.
RSI-MA (gray, plotted as RSI−50): smoothed RSI relative to 50. Above zero = buyers have the relative strength.
Background color = the filter result:
Green → bullish window: cycle favors longs and momentum/trend/RS confirm.
Red → bearish window: mirror logic.
Yellow → neutral: at least one piece disagrees—do less, or wait for alignment.
For new traders: Every sub-line crossing above/below zero is a yes/no vote. Green happens only when all bullish checks are true; red when all bearish checks are true.
How CMF is built (plain-English version)
Cycle (DPO-style): CMF subtracts a displaced SMA from price to remove trend and expose the swing. Below 0 = you’re on the dip side of the cycle; above 0 = rally side.
Momentum (ROC): percent change over roc_length bars; tells you if price is actually accelerating.
Impulse (MACD hist): measures push from fast vs slow EMAs.
Trend tilt (EWO): broader drift via two EMAs (fast/slow).
Participation bias (RSI-MA): smoothed RSI relative to 50 (plotted as RSI−50 so its zero line matches the others).
The signal rules are strict AND conditions:
Bullish = cycle < 0 and ROC > 0 and MACD hist > 0 and EWO > 0 and RSI-MA > 0.
Bearish = cycle > 0 and ROC < 0 and MACD hist < 0 and EWO < 0 and RSI-MA < 0.
Otherwise Neutral.
This strictness is deliberate: it cuts a lot of low-quality entries.
Using CMF on any timeframe
The framework is the same—only your anchors/targets change as you zoom.
Scalping (1–5m)
Where: VP v3.2 VAL/VAH/LVNs or Session AVWAP.
When: take longs when CMF turns green on/after a dip to your level; shorts when it turns red on/after a pop into resistance.
Skip: yellow reads in the middle of the range; that’s chop.
Tip: on very fast pairs, require two consecutive green/red bars before entry.
Intraday (15m–1H)
Use CMF green to time pullbacks to AVWAP or VA edges in the trend direction.
In balance days, wait for CMF color + level alignment to fade back to POC.
If CMF flips yellow after entry, tighten risk; if it flips against you, consider exiting early.
Swing (2H–4H)
Treat first green after a higher-timeframe pullback to Weekly AVWAP or composite VAL as your A-setup.
If CMF stays green through the first pullback, consider adding; the opposite for red in downtrends.
Position (1D–1W)
Fewer, bigger decisions: CMF green at Monthly/Quarterly AVWAP or at composite VAL suggests rotation toward POC/HVNs; CMF red at VAH suggests mean-reversion lower.
If CMF can’t turn green/red at key retests, that’s valuable: the level likely won’t hold.
Entries, exits, and risk (simple rules)
Entry: trade at a level when CMF just flips to your side (green for longs / red for shorts).
Invalidation: if CMF reverts to yellow immediately, it’s a warning; if it flips to the opposite color, that’s your soft stop condition—tighten or exit unless higher-timeframe context argues otherwise.
Targets: use Volume Profile v3.2 (POC/HVNs) and AVWAP (mean) for logical destinations.
Don’t use CMF alone for stops; place them beyond the level or structure.
Settings that actually matter (and how to tune them)
Cycle Length (default 20): swing detection.
Shorter (10–14): quicker flips, better for scalps.
Longer (30–40): steadier cycle for swings/position.
ROC Length (default 10): momentum lookback.
Shorter: earlier yes/no, more noise.
Longer: slower, more selective.
MACD Fast/Slow (5/13) & EWO Fast/Slow (5/35): impulse and drift.
Increase slow values to calm false flips; decrease fast to react sooner.
RSI Length (14) & Smoothing (5): participation tilt.
Reduce smoothing for faster confirmation; increase to avoid whips.
Background on/off: keep it on while learning; once you’re comfortable, you can hide the background and read the lines against zero.
Tuning tip: If you trade only a few coins, optimize Cycle and ROC first; leave MACD/EWO defaults. Then decide how strict you want RSI (try RSI smoothing = 3 for faster reads).
What to look for (pattern cheatsheet)
Green at a dip-level (VAL/AVWAP) → rotate toward POC/HVN.
Red at a pop-level (VAH/AVWAP) → rotate down toward POC/HVN.
Color holds through the retest → continuation is more likely.
Color flips against the breakout → watch for failed break and reclaim.
Only one line disagrees (e.g., ROC < 0 while others > 0) → expect slower follow-through; consider waiting one bar.
Combining CMF with other tools
Volume Profile v3.2 :
Use VAH/VAL/POC/LVNs for where. CMF answers when.
Green at VAL → mean-reversion long to POC.
Red at VAH → fade to POC.
LVN breaks with green often travel quickly to the next HVN.
Anchored VWAP :
Reclaim of AVWAP + CMF turns green → higher-quality long; rejection + red → cleaner short.
Weekly AVWAP + CMF color is a reliable swing compass.
Cumulative Volume Delta v1 (CVDv1):
CMF says “now”, CVDv1 says “how good”.
Prefer CMF green when CVDv1 Alignment = OK, Imbalance strong, Absorption ≠ red.
If CMF flips green but CVDv1 shows Absorption (red), do not chase; look for a reclaim instead.
Common pitfalls CMF helps you avoid
Buying high in the cycle: CMF keeps longs to when the cycle is on the dip side and momentum/trend agree.
Forcing trades on yellow: yellow is your do-less mode—wait for alignment.
Ignoring flow at levels: CMF gives the window, but quality still matters; confirm with CVDv1.
Practical defaults to start with
Cycle 20 | ROC 10 | MACD 5/13 | EWO 5/35 | RSI 14 (smooth 5)
Works out of the box on 15m–4H.
For scalps, try Cycle 14 / ROC 7–9 / RSI smooth 3.
For daily swings, Cycle 30–34 / ROC 12–14.
Alerts (what they tell you)
Bullish Signal: CMF turned green (all bullish checks passed). Use it as a heads-up; still anchor the entry to VP/AVWAP.
Bearish Signal: CMF turned red. Same rule: wait for the level.
Open source & disclaimer
This indicator is published open source so traders can learn, tweak, and build rules they trust. Tools guide decisions; risk management decides outcomes.
Disclaimer — Not Financial Advice.
The “Cycle Momentum Filter ” indicator and this description are provided for educational purposes only and do not constitute financial or investment advice. Trading involves risk, including possible loss of capital. makes no warranties and assumes no responsibility for any trading decisions or outcomes resulting from the use of this script. Past performance is not indicative of future results.
SM OTC style Supply/Demand Zones Lite+//@version=6
indicator("OTC SD MTF Lite+", "OTCSDmtf+", overlay=true, max_boxes_count=200, max_labels_count=200)
// ================= Inputs =================
useH4 = input.bool(true, "Show 4H zones")
useD1 = input.bool(true, "Show 1D zones")
useW1 = input.bool(true, "Show 1W zones")
useM1 = input.bool(false, "Show 1M zones")
baseLen = input.int(2, "Base length (HTF bars)", 1, 5)
wickPctMax = input.float(35.0, "Max wick % in base", 0, 100)
impulseX = input.float(1.5, "Departure body vs ATR (x)", 0.5, 5.0)
atrLen = input.int(14, "ATR length (HTF)")
extendBars = input.int(2000, "Extend bars on chart", 200, 10000)
maxPerTF = input.int(12, "Max zones per TF", 3, 30)
showLegend = input.bool(true, "Show tiny legend (4H/1D/1W/1M)")
onlyNearest = input.bool(false, "Show ONLY nearest zone above/below")
hideOverlapTF = input.bool(true, "Hide overlapping zones within each TF (keep newest)")
showNearestLabels = input.bool(false, "Show distance labels to nearest above/below")
// --- Hard cap for future drawing with xloc.bar_index ---
FUTURE_CAP = 500
// Colors (Demand hues per TF). Supply uses red for contrast.
colH4 = color.new(color.teal, 78)
colD1 = color.new(color.blue, 78)
colW1 = color.new(color.orange, 78)
colM1 = color.new(color.purple, 78)
colSup= color.new(color.red, 78)
// ================= Helpers =================
wickiness(h, l, o, c) =>
rng = math.max(h - l, syminfo.mintick)
topW = h - math.max(o, c)
botW = math.min(o, c) - l
100.0 * (topW + botW) / rng
// Returns: (dTrig, dProx, dDist, sTrig, sProx, sDist)
f_htfSignals(baseBars, wickMax, xImpulse, aLen) =>
float _o = open
float _h = high
float _l = low
float _c = close
float _atr = ta.atr(aLen)
bool ok = true
for i = 1 to baseBars
ok := ok and (wickiness(_h , _l , _o , _c ) <= wickMax)
bool bullDepart = _c > _o and (_c - _o) > xImpulse * _atr
bool bearDepart = _c < _o and (_o - _c) > xImpulse * _atr
float dTrig = 0.0
float dProx = na
float dDist = na
float sTrig = 0.0
float sProx = na
float sDist = na
if ok and bullDepart
float hi = ta.highest(_h, baseBars)
float lo = ta.lowest(_l, baseBars)
dTrig := 1.0
dProx := lo
dDist := hi
if ok and bearDepart
float hi2 = ta.highest(_h, baseBars)
float lo2 = ta.lowest(_l, baseBars)
sTrig := 1.0
sProx := hi2
sDist := lo2
// ================= Pull HTF signals =================
= request.security(syminfo.tickerid, "240", f_htfSignals(baseLen, wickPctMax, impulseX, atrLen))
= request.security(syminfo.tickerid, "D", f_htfSignals(baseLen, wickPctMax, impulseX, atrLen))
= request.security(syminfo.tickerid, "W", f_htfSignals(baseLen, wickPctMax, impulseX, atrLen))
= request.security(syminfo.tickerid, "M", f_htfSignals(baseLen, wickPctMax, impulseX, atrLen))
// ================= Storage per TF =================
var zH4 = array.new_box()
var aH4 = array.new_bool()
var lH4 = array.new_label()
var sH4 = array.new_int() // 1 = Demand, -1 = Supply
var zD1 = array.new_box()
var aD1 = array.new_bool()
var lD1 = array.new_label()
var sD1 = array.new_int()
var zW1 = array.new_box()
var aW1 = array.new_bool()
var lW1 = array.new_label()
var sW1 = array.new_int()
var zM1 = array.new_box()
var aM1 = array.new_bool()
var lM1 = array.new_label()
var sM1 = array.new_int()
// ================= Overlap utils =================
overlap(topA, botA, topB, botB) =>
not (topA < botB or botA > topB)
purgeOverlaps(arrB, arrA, arrL, newTop, newBot) =>
if hideOverlapTF and array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box bOld = array.get(arrB, i)
float t = box.get_top(bOld)
float btm = box.get_bottom(bOld)
if overlap(newTop, newBot, t, btm)
box.delete(bOld)
label.delete(array.get(arrL, i))
array.set(arrA, i, false)
// ================= Add zone =================
addZone(arrB, arrA, arrL, arrS, topV, botV, baseColor, isDemand) =>
purgeOverlaps(arrB, arrA, arrL, topV, botV)
int leftX = bar_index - 1
int rightX = bar_index + math.min(extendBars, FUTURE_CAP) // respect +500 cap
box b = box.new(leftX, topV, rightX, botV, xloc=xloc.bar_index, bgcolor=baseColor, border_color=color.new(color.black, 0))
float ly = isDemand == 1 ? topV : botV
st = isDemand == 1 ? label.style_label_down : label.style_label_up
string tagTxt = isDemand == 1 ? "Demand" : "Supply"
label l = label.new(leftX, ly, tagTxt, xloc=xloc.bar_index, style=st, textcolor=color.white, color=color.new(color.black, 0), size=size.tiny)
array.push(arrB, b)
array.push(arrA, true)
array.push(arrL, l)
array.push(arrS, isDemand)
if array.size(arrB) > maxPerTF
box.delete(array.shift(arrB))
array.shift(arrA)
label.delete(array.shift(arrL))
array.shift(arrS)
// ================= Maintain / Invalidate =================
extendAll(arrB, arrA) =>
if array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box.set_right(array.get(arrB, i), bar_index + math.min(extendBars, FUTURE_CAP)) // respect +500 cap
invalidate(arrB, arrA, arrL) =>
if array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box b = array.get(arrB, i)
float t = box.get_top(b)
float btm = box.get_bottom(b)
// Close outside band → remove
if close > t or close < btm
box.delete(b)
label.delete(array.get(arrL, i))
array.set(arrA, i, false)
// ================= New HTF bar flags (strict booleans) =================
int chH4 = ta.change(time("240"))
int chD1 = ta.change(time("D"))
int chW1 = ta.change(time("W"))
int chM1 = ta.change(time("M"))
bool newBarH4 = useH4 and (not na(chH4)) and (chH4 != 0)
bool newBarD1 = useD1 and (not na(chD1)) and (chD1 != 0)
bool newBarW1 = useW1 and (not na(chW1)) and (chW1 != 0)
bool newBarM1 = useM1 and (not na(chM1)) and (chM1 != 0)
// ================= Create zones on new HTF bar =================
if newBarH4
if d4t > 0 and not na(d4p) and not na(d4d)
addZone(zH4, aH4, lH4, sH4, d4d, d4p, colH4, 1)
if s4t > 0 and not na(s4p) and not na(s4d)
addZone(zH4, aH4, lH4, sH4, s4p, s4d, colSup, -1)
if newBarD1
if d1t > 0 and not na(d1p) and not na(d1d)
addZone(zD1, aD1, lD1, sD1, d1d, d1p, colD1, 1)
if s1t > 0 and not na(s1p) and not na(s1d)
addZone(zD1, aD1, lD1, sD1, s1p, s1d, colSup, -1)
if newBarW1
if w1t > 0 and not na(w1p) and not na(w1d)
addZone(zW1, aW1, lW1, sW1, w1d, w1p, colW1, 1)
if swt > 0 and not na(swp) and not na(swd)
addZone(zW1, aW1, lW1, sW1, swp, swd, colSup, -1)
if newBarM1
if m1t > 0 and not na(m1p) and not na(m1d)
addZone(zM1, aM1, lM1, sM1, m1d, m1p, colM1, 1)
if smt > 0 and not na(smp) and not na(smd)
addZone(zM1, aM1, lM1, sM1, smp, smd, colSup, -1)
// ================= Maintain & Invalidate (every bar) =================
extendAll(zH4, aH4)
extendAll(zD1, aD1)
extendAll(zW1, aW1)
extendAll(zM1, aM1)
invalidate(zH4, aH4, lH4)
invalidate(zD1, aD1, lD1)
invalidate(zW1, aW1, lW1)
invalidate(zM1, aM1, lM1)
// ================= Nearest across all TFs =================
tfNearest(arrB, arrA) =>
int upIdx = -1
int dnIdx = -1
float upDist = 1e10
float dnDist = 1e10
float upBtm = na
float dnTop = na
if array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box b = array.get(arrB, i)
float t = box.get_top(b)
float btm = box.get_bottom(b)
if btm >= close
float d = btm - close
if d < upDist
upDist := d
upIdx := i
upBtm := btm
if t <= close
float d2 = close - t
if d2 < dnDist
dnDist := d2
dnIdx := i
dnTop := t
= tfNearest(zH4, aH4)
= tfNearest(zD1, aD1)
= tfNearest(zW1, aW1)
= tfNearest(zM1, aM1)
float upBest = 1e10, dnBest = 1e10
int upArr = -1, upIdxSel = -1, dnArr = -1, dnIdxSel = -1
color upColor = color.new(color.white, 100), dnColor = color.new(color.white, 100)
if (not na(uh4y)) and uh4d < upBest
upBest := uh4d, upArr := 0, upIdxSel := uh4i, upColor := colH4
if (not na(ud1y)) and ud1d < upBest
upBest := ud1d, upArr := 1, upIdxSel := ud1i, upColor := colD1
if (not na(uw1y)) and uw1d < upBest
upBest := uw1d, upArr := 2, upIdxSel := uw1i, upColor := colW1
if (not na(um1y)) and um1d < upBest
upBest := um1d, upArr := 3, upIdxSel := um1i, upColor := colM1
if (not na(dh4y)) and dh4d < dnBest
dnBest := dh4d, dnArr := 0, dnIdxSel := dh4i, dnColor := colH4
if (not na(dd1y)) and dd1d < dnBest
dnBest := dd1d, dnArr := 1, dnIdxSel := dd1i, dnColor := colD1
if (not na(dw1y)) and dw1d < dnBest
dnBest := dw1d, dnArr := 2, dnIdxSel := dw1i, dnColor := colW1
if (not na(dm1y)) and dm1d < dnBest
dnBest := dm1d, dnArr := 3, dnIdxSel := dm1i, dnColor := colM1
// ================= Nearest-only visibility (optional) =================
hideAll(arrB, arrA) =>
if array.size(arrB) > 0
for i = 0 to array.size(arrB) - 1
if array.get(arrA, i)
box.set_bgcolor(array.get(arrB, i), color.new(color.white, 100))
box.set_border_color(array.get(arrB, i), color.new(color.white, 100))
showOne(arrB, arrA, arrS, idx, demColor) =>
if idx >= 0 and idx < array.size(arrB)
if array.get(arrA, idx)
bool isDemand = array.get(arrS, idx) == 1
color c = isDemand ? demColor : colSup
box.set_bgcolor(array.get(arrB, idx), c)
box.set_border_color(array.get(arrB, idx), color.new(color.black, 0))
if onlyNearest
hideAll(zH4, aH4), hideAll(zD1, aD1), hideAll(zW1, aW1), hideAll(zM1, aM1)
if upArr == 0
showOne(zH4, aH4, sH4, upIdxSel, upColor)
if upArr == 1
showOne(zD1, aD1, sD1, upIdxSel, upColor)
if upArr == 2
showOne(zW1, aW1, sW1, upIdxSel, upColor)
if upArr == 3
showOne(zM1, aM1, sM1, upIdxSel, upColor)
if dnArr == 0
showOne(zH4, aH4, sH4, dnIdxSel, dnColor)
if dnArr == 1
showOne(zD1, aD1, sD1, dnIdxSel, dnColor)
if dnArr == 2
showOne(zW1, aW1, sW1, dnIdxSel, dnColor)
if dnArr == 3
showOne(zM1, aM1, sM1, dnIdxSel, dnColor)
// ================= Nearest distance labels (optional) =================
var label nearUp = na
var label nearDn = na
makeNearLabel(y, txt) =>
label.new(bar_index, y, txt, xloc=xloc.bar_index, style=label.style_label_left, color=color.new(color.black, 0), textcolor=color.white, size=size.tiny)
if showNearestLabels
if not na(nearUp)
label.delete(nearUp)
if not na(nearDn)
label.delete(nearDn)
if upArr != -1
box bUp = upArr == 0 ? array.get(zH4, upIdxSel) : upArr == 1 ? array.get(zD1, upIdxSel) : upArr == 2 ? array.get(zW1, upIdxSel) : array.get(zM1, upIdxSel)
float upBtm = box.get_bottom(bUp)
float pctUp = math.round(10000.0 * (upBtm - close) / close) / 100.0
nearUp := makeNearLabel(upBtm, "Nearest Above ~ " + str.tostring(pctUp) + "%")
if dnArr != -1
box bDn = dnArr == 0 ? array.get(zH4, dnIdxSel) : dnArr == 1 ? array.get(zD1, dnIdxSel) : dnArr == 2 ? array.get(zW1, dnIdxSel) : array.get(zM1, dnIdxSel)
float dnTop = box.get_top(bDn)
float pctDn = math.round(10000.0 * (close - dnTop) / close) / 100.0
nearDn := makeNearLabel(dnTop, "Nearest Below ~ " + str.tostring(pctDn) + "%")
// ================= Tiny legend (dots) =================
var table legend = na
if showLegend and na(legend)
legend := table.new(position.top_left, 4, 1)
if showLegend and not na(legend)
table.cell(legend, 0, 0, "● 4H", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(legend, 1, 0, "● 1D", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(legend, 2, 0, "● 1W", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(legend, 3, 0, "● 1M", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell_set_bgcolor(legend, 0, 0, color.new(color.teal, 70))
table.cell_set_bgcolor(legend, 1, 0, color.new(color.blue, 70))
table.cell_set_bgcolor(legend, 2, 0, color.new(color.orange, 70))
table.cell_set_bgcolor(legend, 3, 0, color.new(color.purple, 70))
DTM 444 BANDS 🚀DTM 444 BANDS 🚀:
The DTM 444 BANDS 🚀 is a powerful, multi-purpose trading indicator combining Supertrend, Dynamic Band Levels, Breakout Signals, and Volume Confirmation to help traders identify high-probability trade setups across different timeframes.
🔧 Key Features
✅ Multi-Timeframe Support
Analyze price action across any timeframe using the Timeframe input.
All band calculations (High, Low, Midline, and Supertrend) are pulled from a higher timeframe for clearer context.
✅ Dynamic Bands Based on Supertrend
High Band: Rolling highest of Supertrend over hiLen period.
Low Band: Rolling lowest of Supertrend over loLen period.
Midline: Midpoint of the above.
Acts like dynamic support/resistance, ideal for trend-following and breakout strategies.
✅ Dual Signal System
Breakout Signals (Buy and Sell): Triggered when price breaks the bands with volume confirmation.
Supertrend Crossover Signals (Buy1 and Sell1): Classic momentum entries with a confirmation twist.
Exit Signals: Optional take-profit/neutral indicators when price reverses.
✅ Volume Confirmation Filter (Optional)
Only triggers signals if the volume exceeds its 20-period SMA.
Helps filter out false breakouts and weak trends in low-liquidity periods.
✅ Visual Enhancements
Color-coded candles based on band positioning (e.g., red = weak, green = strong, etc.)
On-chart labels for each signal for quick reference.
Real-time Signal Dashboard using Pine Script tables showing:
Current signal
Volume filter status
Live volume vs volume SMA
🧪 Practical Use Cases
Trend Traders: Use the Supertrend cross and band breakouts to ride trends early.
Breakout Traders: Catch high-probability moves outside established ranges.
Swing Traders: Time entries and exits using color-coded bars and exit labels.
Volume-Sensitive Traders: Focus on trades with strong volume backing.
📊 Backtest Snapshot
Based on the example chart for Reliance Industries (RELIANCE.NS) on the weekly timeframe:
Several profitable buy and breakout signals during uptrends.
Timely exits and breakdown alerts before reversals.
Volume filter keeps trades clean and avoids noise.
⚙️ Customizable Parameters
High Length and Low Length (default: 19)
Supertrend Multiplier and ATR Length
Volume Filter: Toggle ON/OFF
Volume SMA Length: Default 20
Custom Timeframe: Choose any higher timeframe for multi-timeframe analysis
📢 Alerts Ready
Fully integrated with TradingView alerts:
Breakout & Breakdown
Supertrend crossovers
All alerts respect the volume filter setting
🏁 Final Thoughts
DTM 444 BANDS 🚀 is a versatile and adaptive trading system that blends trend analysis, volatility bands, and volume validation. Whether you're a trend trader, breakout hunter, or swing trader — this tool gives you a structured edge with clear visual cues and real-time alerts.
FEI: Futures Entry Identifier📘 FEI: Futures Entry Identifier
FEI is a modular, futures-grade entry engine designed for precision trading across GC1!, MNQ1!, ES1!, and related contracts. It combines manual SVP structure, CHoCH detection, and Colby-style candle strength filters to identify high-probability long and short entries.
🔧 Features
• Manual SVP inputs (VAH, VAL, POC)
• Symbol-aware filters for micro vs standard contracts
• Multi-timeframe signal logic (3m, 5m, 10m, 15m, 30m)
• CHoCH detection with optional engulfing filter (default off)
• FRVP entry zone plotting after CHoCH confirmation
• Candle coloring on CHoCH trigger
• Session-aware logic (ETH default, optional RTH-only)
• Narratable visuals and audit-safe alerts
🧭 How to Use
1. Input VAH, VAL, and POC manually
2. Select signal timeframe (e.g. 3m or 5m)
3. Watch for CHoCH (white candle = structural shift)
4. Entry line plots at top/bottom of recent range
5. Long/short markers appear when SVP + candle strength align
6. Toggle RTH-only mode if needed
🌟 Why It’s Unique
FEI is built for traders who demand clarity, structure, and precision. Every signal is narratable, audit-safe, and resolution-aware—ideal for futures overlays and sniper-grade entries.
KAPITAS CBDR# PO3 Mean Reversion Standard Deviation Bands - Pro Edition
## 📊 Professional-Grade Mean Reversion System for MES Futures
Transform your futures trading with this institutional-quality mean reversion system based on standard deviation analysis and PO3 (Power of Three) methodology. Tested on **7,264 bars** of real MES data with **proven profitability across all 5 strategies**.
---
## 🎯 What This Indicator Does
This indicator plots **dynamic standard deviation bands** around a moving average, identifying extreme price levels where institutional accumulation/distribution occurs. Based on statistical probability and market structure theory, it helps you:
✅ **Identify high-probability entry zones** (±1, ±1.5, ±2, ±2.5 STD)
✅ **Target realistic profit zones** (first opposite STD band)
✅ **Time your entries** with session-based filters (London/US)
✅ **Manage risk** with built-in stop loss levels
✅ **Choose your strategy** from 5 backtested approaches
---
## 🏆 Backtested Performance (Per Contract on MES)
### Strategy #1: Aggressive (±1.5 → ∓0.5) 🥇
- **Total Profit:** $95,287 over 1,452 trades
- **Win Rate:** 75%
- **Profit Factor:** 8.00
- **Target:** 80 ticks ($100) | **Stop:** 30 ticks ($37.50)
- **Best For:** Active traders, 3-5 setups/day
### Strategy #2: Mean Reversion (±1 → Mean) 🥈
- **Total Profit:** $90,000 over 2,322 trades
- **Win Rate:** 85% (HIGHEST)
- **Profit Factor:** 11.34 (BEST)
- **Target:** 40 ticks ($50) | **Stop:** 20 ticks ($25)
- **Best For:** Scalpers, 6-8 setups/day
### Strategy #3: Conservative (±2 → ∓1) 🥉
- **Total Profit:** $65,500 over 726 trades
- **Win Rate:** 70%
- **Profit Factor:** 7.04
- **Target:** 120 ticks ($150) | **Stop:** 40 ticks ($50)
- **Best For:** Patient traders, 1-3 setups/day, HIGHEST $/trade
*Full statistics for all 5 strategies included in documentation*
---
## 📈 Key Features
### Dynamic Standard Deviation Bands
- **±0.5 STD** - Intraday mean reversion zones
- **±1.0 STD** - Primary reversion zones (68% of price action)
- **±1.5 STD** - Extended zones (optimal balance)
- **±2.0 STD** - Extreme zones (95% of price action)
- **±2.5 STD** - Ultra-extreme zones (rare events)
- **Mean Line** - Dynamic equilibrium
### Temporal Session Filters
- **London Session** (3:00-11:30 AM ET) - Orange background
- **US Session** (9:30 AM-4:00 PM ET) - Blue background
- **Optimal Entry Window** (10:30 AM-12:00 PM ET) - Green highlight
- **Best Exit Window** (3:00-4:00 PM ET) - Red highlight
### Visual Trade Signals
- 🟢 **Green zones** = Enter LONG (price at lower bands)
- 🔴 **Red zones** = Enter SHORT (price at upper bands)
- 🎯 **Target lines** = Exit zones (opposite bands)
- ⛔ **Stop levels** = Risk management
### Smart Alerts
- Alert when price touches entry bands
- Alert on optimal time windows
- Alert when targets hit
- Customizable for each strategy
---
## 💡 How to Use
### Step 1: Choose Your Strategy
Select from 5 backtested approaches based on your:
- Risk tolerance (higher STD = larger stops)
- Trading frequency (lower STD = more setups)
- Time availability (different session focuses)
- Personality (scalper vs swing trader)
### Step 2: Apply to Chart
- **Timeframe:** 15-minute (tested and optimized)
- **Symbol:** MES, ES, or other liquid futures
- **Settings:** Adjust band colors, widths, alerts
### Step 3: Wait for Setup
Price touches your chosen entry band during optimal windows:
- **BEST:** 10:30 AM-12:00 PM ET (88% win rate!)
- **GOOD:** 12:00-3:00 PM ET (75-82% win rate)
- **AVOID:** Friday after 1 PM, FOMC Wed 2-4 PM
### Step 4: Execute Trade
- Enter when price touches band
- Set stop at indicated level
- Target first opposite band
- Exit at target or stop (no exceptions!)
### Step 5: Manage Risk
- **For $50K funded account ($250 limit): Use 2 MES contracts**
- Stop after 3 consecutive losses
- Reduce size in low-probability windows
- Track cumulative daily P&L
---
## 📅 Optimal Trading Windows
### By Time of Day
- **10:30 AM-12:00 PM ET:** 88% win rate (BEST) ⭐⭐⭐
- **12:00-1:30 PM ET:** 82% win rate (scalping)
- **1:30-3:00 PM ET:** 76% win rate (afternoon)
- **3:00-4:00 PM ET:** Best EXIT window
### By Day of Week
- **Wednesday:** 82% win rate (BEST DAY) ⭐⭐⭐
- **Tuesday:** 78% win rate (highest volume)
- **Thursday:**
Trend/Range Composite (Single-Line) v1.4🔹 Step 1: Add it to your chart
Copy the whole script.
In TradingView → Pine Editor → paste it.
Click Add to chart.
It will show a white line in a subwindow, plus thresholds at 40 and 60, and a colored background.
Optional: You’ll see a status box (top-right of chart) with details like ADX, ATR, slope, etc.
🔹 Step 2: Understand the Score
The indicator compresses all signals into a 0–100 “Trend Strength Score”:
≥ 60 = TREND (teal background)
→ Market is trending, consider trend strategies like vertical spreads, runners, breakouts.
≤ 40 = RANGE (orange background)
→ Market is choppy/sideways, consider range strategies like butterflies, condors, mean-reversion fades.
40–60 = MIXED (gray background)
→ Indecision / chop. Best to reduce size or wait for clarity.
🔹 Step 3: Use with Your Trading Plan
Intraday (5m, 15m, 30m)
Score < 40 → play support/resistance bounces, fade extremes.
Score > 60 → play momentum breakouts or pullback continuations.
Daily chart
Good for swing context (is this month trending or just chopping?).
🔹 Step 4: Alerts
You can set TradingView alerts:
Cross above 60 → market entering trend mode.
Cross below 40 → market entering range mode.
Useful if you don’t want to watch constantly.
🔹 Step 5: Confirm with Price Levels
The score tells you “trend vs range”, but you still need levels:
If score < 40 → mark PDH / PDL (previous day high/low), VAH/VAL, VWAP. Expect rejections/fades.
If score > 60 → watch for breakouts beyond PDH/PDL or supply/demand zones.
Long Elite Squeeze (LES 2.1) NV/CDV AI LindsayLES 2.1 — Long Elite Squeeze
Creator: Hunter Hammond •: Elite × FineFir H.H (AI “Lindsay”)
Discord: elitexfinefir
LES (“Long Elite Squeeze”) is a momentum + flow-aware long strategy built for small-float, high-velocity stocks. It blends a classic squeeze engine (BB/KC), adaptive RVOL/RSI gating, VWAP slope, ADX trend filtering, WaveTrend timing, and new Net-Volume/CVD flow exits—all wrapped with on-chart HUDs, a trade tracker, trap detection, and a lightweight AI selector to adapt entries to live conditions.
Who it’s for (and where it thrives)
LES 2.1 is tuned for the morning session and stocks that can really move:
Top Pre-Market and Day Gainers
Highest or Top Volume on Day
Float: ≤ 40M
Price: ≤ $20
Volume: ≥ 5× the 30-day average (intraday RVOL pop)
Catalyst: ideally a fresh news driver / “day gainer”
Timeframe: 1-minute (designed & tuned for 1m). Works on 2m/3m/5m, but wasn’t specifically designed for them (see tuning tips below).
Evolution at a glance
LES 1.0 — The foundation
Squeeze engine using Bollinger vs. Keltner to detect expansion (“squeeze OFF”).
EMA – ATR offset line (dynamic risk anchor) with EMA as trend filter.
RSI guard for overheated moves.
RVOL confirmation using average volume lookback.
WaveTrend (WT + Signal) to time entries/exits.
Basic buy/sell logic + simple on-chart labels.
LES 2.0 — Quality-of-life & timing upgrades
AI Lindsay assistant v2 (periodic / contextual commentary).
VWAP Slope Detector with sensitivity modes (Loose → Very Strict).
Manual defaults pre-tuned for ease of use.
Double-EMA trailing (visual take-profit helper).
Improved on-chart commentary and Trade Summary (10:30am snapshot).
AI Version Suggester (V1/V2/V3 modes) with stickiness/cooldown.
Trap Detector Pro (sweep, VWAP reject, blow-off, etc.) with scored severity.
Trade Tracker HUD + Entry Checklist HUD.
Overall stability & UX polish.
LES 2.1 — Flow-based exit superpowers
New Flow Exit: integrates 1m Net Volume and 5m CVD-style pressure:
1m NetVol window (rolling sum of signed volume)
5m CVD window (downsampled, smoothed)
Debounce (consecutive red bars to avoid one-tick fakes)
Optional ATR Guard (only exit if the move is meaningful vs ATR)
Cooldown after a flow exit to avoid re-chop
Chart labels: “SELL (NV/CVD)” when flow triggers
Keeps you in good trends, but kicks you out when aggressive sellers actually show up.
How the engine works (plain English)
Market prep: We confirm trend & energy using EMA/ATR, RSI, RVOL, Squeeze OFF, and Price > VWAP.
Entry mode (V1/V2/V3):
V1 — Balanced trades (default “safe” behavior)
V2 — Fast trades (more aggressive when action heats up)
V3 — Trending trades (stricter; waits for strong slope & trend)
You can pick a version manually or let the AI Suggester switch modes based on slope/ADX/RVOL/acceleration (with a cooldown so it doesn’t flip-flop).
Entry timing: WaveTrend and squeeze momentum improve timing while VWAP slope avoids buying flat tape.
Risk anchor: The EMA – (ATR × Multiplier) “offset line” is your dynamic stop/line in the sand.
Exits:
Base exits (version-aware): WT crossback, momentum fade, price losing offsetLine or EMA.
Flow Exit (2.1): If 1m NetVol and 5m CVD both turn decisively red (with debounce and optional ATR guard), close—no arguing.
Entry rules (exactly what has to be true)
Buy (Core) — fires when all are true:
Not already in a trade
Close > EMA and Close > OffsetLine (offsetLine = EMA − ATR × Mult)
RVOL confirmed (meets dynamic RVOL multiplier)
RSI below the overbought ceiling (version-aware slack in V3)
Squeeze OFF (BBs expanded outside Keltner)
Price > VWAP (toggleable)
Extra for V3 (Trending trades):
VWAP slope gate passes (and, if set, VWAP must be green)
ADX strong (≥ 25 by design, ≥ 20 baseline)
Minimum slopePctPerBar met (default V3 expects ≥ 0.05%/bar)
AI Suggester (optional):
Scores V1/V2/V3 from conditions like ADX, VWAP slope, RVOL, intrabar acceleration, then locks a pick for aiSwitchCoolBars bars.
On-chart help:
Checklist HUD lights up ✅/❌ for each gate (EMA, ATR, RVOL, RSI, VWAP, Slope, etc.).
Trade Quality Rating (🌟x/10) appears on buy bars if enabled.
Exit rules (every sell condition)
Base sells (V1/V2):
WaveTrend crossback (signal crosses over WT) OR
Momentum fade (two darker squeeze momentum bars) OR
Close < OffsetLine OR Close < EMA
Base sells (V3):
Close < OffsetLine OR Close < EMA (trend-respecting; ignores WT/momentum so you’re not shaken out early)
Flow Exit (2.1, applies to all versions if enabled):
In trade AND Flow Exit enabled
1m NetVol window is red (and ≥ Min |NetVol|)
5m CVD (smoothed) is red
**Deb
*** FYI: Play with settings until it fits your style, everything thats set default when script is loaded is what I run currently. I made LES 2.1 more customizable than ever to meet every trades style and execution. LES 2.1 with Lindsay upgrade new AI trade tracking feature (when enabled) and risk management LES 2.1 is something special to meet many challenges a trader faces everyday.
Gap ZonesThis TradingView indicator automatically detects daily price gaps and plots them clearly on any timeframe (intraday or daily).
It helps visualize where unfilled gaps are sitting, track whether they’ve been filled, and control how far the zone extends.
Key Features
1. Daily Gap Detection
• Works even when you’re on intraday charts (uses daily OHLC data).
• Marks both gap up (potential support zones) and gap down (potential resistance zones).
2. Shaded Gap Zones
• Each gap is highlighted as a band (greenish for up, reddish for down).
• Option to turn shading off if you just want horizontal lines.
3. Hide When Filled
• Once price closes or touches the far side of the gap, it disappears (configurable: Touch vs Close).
4. Lookback Window
• Gaps only show if they occurred within the past X trading days (default: 30).
• Prevents your chart from being cluttered with ancient gaps.
5. Multiple Gaps Tracked
• Can track up to 5 recent gaps simultaneously.
• Oldest gaps “roll off” as new ones form.
6. Finite Right-Edge Guides
• Optional horizontal guide lines extend to the right, but only for a fixed number of bars (default: 50).
• Cleaner than infinite extensions.
7. Gap-Day Marker
• Optional vertical line drawn on the bar where the gap first occurred.
⸻
⚙️ Inputs & Settings
When you apply the indicator, you’ll see these options:
• Lookback (trading days): How far back to scan for gaps (default 30).
• Max gaps to show (1..5): How many simultaneous gap zones to display.
• Min gap size (% of prior close): Filter out tiny gaps (default 0.25%).
• Hide gaps once filled: Removes a gap from the chart once filled.
• Fill rule uses CLOSE (off = Touch):
• Touch = filled when price trades through the level intraday.
• Close = filled only when a candle close crosses it.
• Show shading: Toggle zone fills on/off.
• Show vertical marker on gap day: Toggle gap-day marker line.
• Show finite right-edge lines: Toggle horizontal lines extending right.
• Right line length (bars): How far those lines extend (default 50 bars).
⸻
🟢 How to Use It
1. Apply on Any Chart
• Works best on daily or intraday (5m, 15m, 1h).
• Gaps are always calculated from daily data, so intraday charts will show higher-timeframe gaps correctly.
2. Interpret Colors
• Green shading = Gap Up (often acts as support).
• Red shading = Gap Down (often acts as resistance).
3. Watch for Fills
• When price re-enters the gap zone, the indicator checks if it’s “filled” (based on your Touch/Close setting).
• If “Hide When Filled” is on, the zone vanishes.
4. Trade Context
• Many traders use gaps as targets (expecting a fill) or levels of support/resistance.
• Combined with your bull put/bear call spread strategies, it helps confirm strong levels.