Kit Bot v1.1 - SilverEMA9, RSI and BB 30M silver chart Not sure what TV want. 7X confirmations. Trying my bestPine Script® strategyby benedictmaund1
Echelon Regime Gauge [JOAT]Echelon Regime Gauge Introduction The Echelon Regime Gauge is an open-source market regime detection and session awareness indicator built in Pine Script v6. It classifies the current market state into one of six regimes — Trend Up, Trend Down, Range, Volatile, Squeeze, or Mixed — using a combination of SMA alignment, VWAP slope analysis, and Bollinger Band volatility metrics. On top of regime detection, the indicator provides session identification (Asian, London, New York, Kill Zones, Power Hour), volatility state tracking (Expansion, Contraction, Squeeze), R-squared trend quality measurement, historical volatility percentile, Wyckoff effort/result analysis, and an institutional activity score that colors candles by multi-factor heatmap logic. The core question this indicator answers is: "What kind of market am I in right now?" Knowing whether the market is trending, ranging, squeezing, or volatile changes everything about how you should trade — from entry type to stop placement to position sizing. This indicator provides that context in real-time with a confidence percentage and a comprehensive HUD dashboard. Why This Indicator Exists Most traders apply the same strategy regardless of market conditions. A breakout strategy in a ranging market produces whipsaws. A mean-reversion strategy in a trending market produces losses. This indicator solves the context problem by providing a clear, quantified regime classification: Regime Detection: Six distinct market states, each requiring different trading approaches. The classification uses three independent inputs — SMA alignment, VWAP slope direction, and Bollinger Band percentile — to produce a robust, multi-factor regime reading. Regime Confidence: A 0-100 score indicating how clearly the market fits the detected regime. High confidence means the classification is strong and reliable. Low confidence suggests transitional or ambiguous conditions. Session Awareness: Identifies the current trading session (Asian, London, New York) and highlights Kill Zones (London 2-5am, NY 7-10am) and Power Hour (3-4pm) — the periods when institutional activity is highest and moves are most significant. Volatility State: Tracks whether volatility is in Expansion, Contraction, Squeeze, or Normal state. Squeeze conditions (Bollinger width in the bottom 10th percentile) often precede explosive moves. Trend Quality (R-Squared): Measures how linear and clean the current trend is on a 0-1 scale. R-squared above 0.6 indicates a clean, tradeable trend. Below 0.4 indicates choppy, random price action. Institutional Activity Score: A multi-factor score (0-100) computed from body ratio, volume ratio, R-squared, Bollinger Band position, and VWAP distance. This score drives the candle heatmap coloring. How Regime Detection Works The regime engine combines three independent analytical dimensions: Dimension 1 — SMA Alignment: The indicator calculates three Simple Moving Averages (default 20, 50, 200). When all three are aligned in order (20 > 50 > 200), the market is in bull alignment. When reversed (20 < 50 < 200), bear alignment. Any other configuration is diverged/mixed. Dimension 2 — VWAP Slope: The VWAP (Volume Weighted Average Price) slope is calculated over a configurable lookback and normalized by ATR to make it comparable across instruments. A normalized slope above the threshold indicates upward momentum. Below the negative threshold indicates downward momentum. Within the threshold band indicates flat/ranging conditions. Dimension 3 — Volatility Percentile: Bollinger Band width percentile rank over 120 bars determines volatility state. Below the 10th percentile is a squeeze. Above the configurable expansion percentile (default 75th) is expansion. ATR percentile rank provides a secondary volatility measure. These three dimensions combine into the regime classification: Squeeze: BB width in bottom 10th percentile — volatility compression, potential breakout imminent Trend Up: Bull SMA alignment AND positive VWAP slope — clear directional momentum upward Trend Down: Bear SMA alignment AND negative VWAP slope — clear directional momentum downward Volatile: ATR in expansion percentile WITHOUT SMA alignment — high volatility but no clear trend direction Range: Flat VWAP slope WITHOUT SMA alignment — sideways, mean-reverting conditions Mixed: Conditions do not clearly fit any category — transitional state Regime Confidence Calculation Each regime has its own confidence formula based on how strongly the inputs support the classification: Trend Up/Down: SMA alignment (40pts) + slope direction (30pts) + slope magnitude (up to 30pts) Range: Flat slope (40pts) + no alignment (30pts) + low ATR percentile (up to 30pts) Squeeze: Low BB percentile (70%) + low ATR percentile (30%) Volatile: High ATR percentile (70%) + high BB percentile (30%) Mixed: Fixed at 25 — low confidence by definition The confidence is displayed as both a number and a visual bar (||||......) in the HUD, making it easy to assess at a glance. Session and Time-of-Day Analysis The indicator identifies seven session states with configurable timezone (default America/New_York): Asia (7pm-3am): Low volatility, range-building session. Quality: Low. London (3am-9:30am): Increasing volatility, often sets the day's direction. Quality: Medium. London Kill Zone (2-5am): Peak London institutional activity. Quality: High. New York (9:30am-4pm): Highest volume session for US instruments. Quality: Medium. NY Kill Zone (7-10am): Peak NY institutional activity, overlap with London. Quality: High. Lunch (10am-12pm): Low conviction, choppy price action. Quality: Low. Power Hour (3-4pm): End-of-day positioning, often produces strong moves. Quality: High. Kill Zones are highlighted with a subtle gold background tint. Lunch hours receive a dark tint as a visual warning of low-quality conditions. Institutional Signal System The indicator detects and labels six types of institutional events using a priority-based system with cooldowns to prevent label stacking: P1 — BULL/BEAR CONFLUENCE (highest priority): Full alignment of SMA, VWAP slope, R-squared trend quality, regime confidence > 70, and price vs VWAP. This is the strongest possible directional signal — all factors agree. P2 — MAJOR GOLDEN/DEATH CROSS: Mid SMA (50) crosses the Slow SMA (200). These are rare, high-impact structural events that signal major trend shifts. P2b — GOLDEN X / DEATH X: Fast SMA (20) crosses Mid SMA (50). More frequent than major crosses but still significant structural events. P3 — REGIME CHANGE: The regime classification changes from one state to another. Labels show the new regime name. P4 — SQZ BREAK: Squeeze releases into expansion with price above (bull) or below (bear) the fast SMA. These are high-energy breakout events. P5 — VWAP RECLAIM/REJECT: Price crosses above VWAP with positive slope (reclaim) or below with negative slope (rejection). VWAP is the institutional benchmark — reclaiming or losing it is significant. P6 — DISP (Displacement, lowest priority): Large-body candles (body > 70% of range, body > 2x average) indicating aggressive institutional order flow. Each signal checks a cooldown counter before firing. Higher-priority signals suppress lower-priority ones within the cooldown window, ensuring the chart shows only the most important signal at any given time. Candle Heatmap Coloring When enabled, candles are colored based on the current regime and trend quality rather than simple bull/bear direction: Bull Aligned + Clean Trend: Bright aurora lime (bullish candles) / aurora green (bearish candles) Bull Aligned: Aurora green / aurora teal Bear Aligned + Clean Trend: Aurora pink / aurora purple Bear Aligned: Aurora purple / aurora pink Squeeze: Aurora gold / warm orange Neutral: Ice blue / arctic blue This coloring scheme makes it immediately obvious what regime the market is in without looking at the HUD — the entire chart changes character with the regime. Advanced Metrics R-Squared Trend Quality: Calculated as the square of the correlation between close price and bar_index over a configurable period. Values above 0.7 indicate a clean, linear trend. Values below 0.4 indicate choppy, non-directional price action. This metric helps distinguish between trending markets that are tradeable and trending markets that are too choppy to trade reliably. Historical Volatility: Annualized standard deviation of log returns, displayed as a percentage with percentile ranking over 252 bars. This provides a longer-term volatility context beyond the Bollinger-based squeeze detection. Wyckoff Effort/Result: Volume divided by range — when this ratio is high (high volume, small range), institutional absorption is occurring. The indicator detects these events and displays them in the HUD. Regime Duration: Counts how many bars the current regime has persisted. Long-duration regimes are more established. Short-duration regimes may be transitional. Institutional Score: A 0-100 composite from body ratio, volume ratio, R-squared, BB position extremes, and VWAP distance. Higher scores indicate more institutional-quality price action. HUD Dashboard The HUD displays 12 metrics with color-coded values: Regime State with regime-specific color Confidence score with visual bar (||||......) VWAP Slope direction (Rising/Falling/Flat) Volatility state with squeeze duration counter Current Session name Session Quality rating (High/Medium/Low) SMA Alignment (Bull Aligned/Bear Aligned/Diverged) R-Squared trend quality (Clean/Moderate/Choppy) Historical Volatility with percentile classification Regime Duration in bars Institutional Activity Score Input Parameters Regime Detection: Fast/Mid/Slow SMA: Moving average periods (default: 20/50/200) VWAP Slope Lookback: Period for slope calculation (default: 20) Slope Threshold: Normalized slope threshold for trend detection (default: 0.12) Volatility: ATR Length: Period for ATR calculation (default: 14) Bollinger Length/Multiplier: BB parameters (default: 20/2.0) Squeeze Lookback: Percentile rank period (default: 120) Expansion Percentile: ATR percentile threshold for expansion (default: 75) Sessions: Show Session Zones: Toggle session background highlighting Timezone: Configurable timezone (default: America/New_York) Highlight Kill Zones: Toggle kill zone emphasis Visual: Regime Background: Toggle regime-adaptive background tinting SMA Trend Ribbon: Toggle ribbon fill between fast and mid SMA Candle Heatmap Coloring: Toggle institutional activity-based candle colors Show Prior Day H/L: Toggle PDH/PDL reference lines HUD Panel: Toggle with configurable position How to Use This Indicator Step 1: Check the Regime Before entering any trade, check what regime the market is in. Trend Up/Down = directional strategies. Range = mean-reversion. Squeeze = wait for breakout. Volatile = reduce size or stand aside. Step 2: Verify Confidence A regime reading with 80+ confidence is reliable. Below 50 suggests the market is in transition — be cautious. Step 3: Check the Session Kill Zones and Power Hour produce the most reliable moves. Lunch hour and Asian session moves are less reliable for most instruments. Step 4: Watch for Signals BULL/BEAR CONFLUENCE is the highest-conviction signal — all factors agree. SQZ BREAK signals high-energy breakouts. VWAP RECLAIM/REJECT provides key level context. Step 5: Use Trend Quality for Filtering R-squared above 0.6 means the trend is clean and tradeable. Below 0.4 means the trend is choppy — consider waiting for cleaner conditions. Best Practices The regime classification is most reliable on timeframes of 5 minutes and above Session features are most relevant for instruments with clear session structures (equities, futures, major forex) Squeeze conditions can persist for extended periods. Do not assume a squeeze will break immediately. Regime transitions (Mixed state) are the most dangerous periods. Consider reducing exposure during transitions. The institutional score is a heuristic — use it as one input among many, not as a standalone signal SMA crosses are lagging by nature. They confirm trend changes rather than predict them. Combine this indicator with structure or momentum tools for entry timing — this indicator provides context, not entries. Limitations Regime detection uses lagging indicators (SMAs, BB percentile). Regime changes are confirmed after they occur, not predicted in advance. The six-regime classification is a simplification. Real markets exist on a continuum, not in discrete states. Session times are hardcoded for EST timezone sessions. Instruments traded primarily in other timezones may need different session definitions. R-squared measures linearity, not direction. A perfectly linear downtrend has the same R-squared as a perfectly linear uptrend. The institutional activity score is estimated from available data (body ratio, volume, BB position). True institutional activity detection requires order flow data not available in Pine Script. VWAP resets daily on most instruments. Intraday VWAP slope is most meaningful for day trading timeframes. Kill Zone highlighting assumes EST-based session times. Adjust the timezone input for your local market. Technical Implementation Built with Pine Script v6 using: Three-dimensional regime classification (SMA alignment + VWAP slope + BB volatility) Regime confidence scoring with per-regime formulas Session detection using time() with configurable timezone R-squared trend quality via ta.correlation() Annualized historical volatility with percentile ranking Wyckoff effort/result absorption detection Multi-factor institutional activity scoring Priority-based signal system with 6 tiers and cooldown anti-overlap Volatility-adaptive gradient background coloring Aurora-themed SMA ribbon with alignment-responsive colors 10 alert conditions covering regime changes, SMA crosses, absorption, and clean trend detection Originality Statement This indicator is original in its comprehensive regime detection and session awareness integration. While SMA alignment and Bollinger squeeze are established concepts, this indicator is justified because: The three-dimensional regime classification (SMA + VWAP slope + BB volatility) produces a more robust state detection than any single method Regime confidence scoring quantifies how clearly the market fits the detected state, providing actionable uncertainty information Session awareness with quality ratings integrates time-of-day context directly into the regime framework R-squared trend quality measurement distinguishes between clean tradeable trends and choppy non-directional trends The priority-based signal system with 6 tiers ensures only the most important events are displayed Candle heatmap coloring driven by regime and trend quality provides immediate visual context The Aurora Borealis theme with volatility-adaptive background creates a dynamic visual environment that changes character with market conditions Squeeze duration tracking and regime duration counting provide temporal context for current conditions Disclaimer This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Regime detection classifies current market conditions based on historical data — it does not predict future regime changes. Markets can transition between regimes without warning. Squeeze conditions do not guarantee breakouts. Session quality ratings are generalizations that may not apply to all instruments or market conditions. Past regime patterns do not guarantee future behavior. Always use proper risk management and never risk more than you can afford to lose. The author is not responsible for any losses incurred from using this indicator. -Made by officialjackofalltrades Pine Script® indicatorby officialjackofalltrades24
Session Boxes (Labeled)this is a simple indicator to view session times if your are EST timezonePine Script® indicatorby matthanbrody044
Bollinger Bands - clean and aesthetic A clean and visually refined version of classic Bollinger Bands, designed to improve chart readability while maintaining the full strength of the original indicator. This script uses a soft pink and lavender color palette to reduce visual strain and create a more comfortable trading experience, especially during long sessions. Features: • Standard Bollinger Bands calculation (SMA + Standard Deviation) • Dynamic volatility-based bands • Smooth and minimal visual design • Customizable inputs (length, source, multiplier) • Soft aesthetic color scheme How to use: • Price near upper band → potential overbought conditions • Price near lower band → potential oversold conditions • Combine with trend analysis or other confirmations for best results This indicator is ideal for traders who prefer clean, distraction-free charts without sacrificing functionality.Pine Script® indicatorby jbarda1
Auto Trendlines Pro [Rejection Zone]Most trendline indicators connect closing prices or arbitrary points. This one works the way a human trader actually draws trendlines — anchored to swing wick extremes, validated bar by bar, and extended as a rejection zone rather than a single line. How it works Pivot highs and lows are detected from wick extremes using a configurable lookback on each side. When two valid pivots are found, the script checks that no wick between them pierced the proposed line, discarding geometrically correct but structurally broken trendlines before they ever appear on screen. Each trendline is paired with a parallel inner boundary to form a rejection zone. The outer wick line is the hard invalidation level. The inner line represents where the price was actually committed, and the noise band between them is where liquidity was swept but couldn't sustain. This is structurally equivalent to a tilted supply and demand zone, automatically drawn at the angle of the trend. Hybrid channel width with ATR fallback The channel width is set by the larger of the two wick-to-body gaps at the anchor pivots. If the two gaps differ by more than a configurable ratio (default 2x), one anchor is flagged as an outlier, and the width falls back to ATR-derived instead. The transition crossfades smoothly between the two methods by default. A dotted inner line signals ATR fallback is active; dashed means the width comes from the actual price structure. Features Wick-to-wick pivot detection with configurable confirmation length on each side Bar-by-bar line validation so that structurally broken trendlines are discarded before drawing Touch count with ATR-scaled tolerance, with line opacity and star rating (✦✦ through ✦✦✦✦) reflecting how many times the price confirmed the level Rejection zone channel with a true parallel inner boundary and linefill, not a converging wedge Outlier detection with smooth ATR fallback and dotted vs dashed inner line to signal which method is active Slope angle filter as a percentage of ATR per bar, scaling correctly across all instruments and timeframes Break and retest detection on the primary trendline with labelled signals and four alert conditions Price projection label at the right edge of each line showing the current projected price Parallel channel detection between support and resistance lines with configurable slope tolerance and linefill Multi-timeframe pivot mode to detect pivots on a higher timeframe while staying on your current chart Settings guide Pivot Length 5 to 8: intraday and short-term swing structure Pivot Length 10 to 15: standard swing trading on daily charts Pivot Length 20 and above: major weekly structure Lines Per Side 1: cleanest view with one support and one resistance Lines Per Side 2 or 3: near-term and broader trendline simultaneously Outlier Ratio 2.0: triggers ATR fallback when one anchor gap is twice the other ATR Fallback Width 0.5x: equivalent to a typical clean wick-to-body gap Blend Outlier Transition on: smooth crossfade between methods; off for a hard switch Reading the zones Price touching the outer wick line but closing inside the zone is still within the noise band with no confirmed break A close beyond the outer wick line is a structural break. Watch for a retest from the other side A close between the two lines is contested; wait for resolution before acting A dotted inner line means channel width is ATR-estimated due to an outlier anchor; dashed means it is derived from the real price structure Pine Script® indicatorby Azazel_TradingUpdated 207
ICT Suspension Blocks | Flux ChartsGENERAL OVERVIEW: ICT Suspension Blocks is built around the idea that one candle can become important when it is suspended between two volume imbalances - one above it and one below it. In ICT theory, that suspended area can behave like a compact inefficiency zone and may later act as a reaction point when price revisits it. The indicator automates that idea by scanning for bullish and bearish three-candle formations, identifying the suspended price area between the two imbalances, plotting the zone directly on the chart, and then managing its lifecycle through retest and invalidation logic. The goal of the indicator is not just to mark a pattern, but to keep the structure practical for chart use: active zones can be prioritized by proximity, invalidated zones can optionally remain visible for reference, retests can be marked, and overlapping zones can be merged when the user wants a cleaner display. (Screenshot: Full chart view showing bullish and bearish Suspension Block zones) (Screenshot: Example of a Suspension Block forming between two body-to-body imbalances) WHAT IS THE THEORY BEHIND THE INDICATOR?: This indicator is based on the ICT idea that a single candle can become meaningful when it is suspended between two volume imbalances. The logic starts with understanding what a volume imbalance is, then how two of those imbalances can frame a single candle and turn that area into a Suspension Block. What IS A VOLUME IMBALANCE? A volume imbalance, in this context, is a body-to-body inefficiency between two consecutive candles. It appears when the open of the newer candle gaps away from the close of the previous candle, showing that price moved so aggressively that the candle bodies did not match smoothly from one bar to the next. Bullish volume imbalance: the newer candle opens above the previous candle’s close. Bearish volume imbalance: the newer candle opens below the previous candle’s close. Wick overlap is allowed. What matters is the body separation, not whether the wicks overlap. These imbalances matter because they show inefficient price delivery. In ICT theory, the market often revisits inefficient areas later, which is why traders treat them as important reference zones. Step by step: 1. Look at the close of one candle. 2. Compare it to the open of the next candle. 2a. If the next candle opens clearly above that close, it creates a bullish body-to-body imbalance. 2b. If the next candle opens clearly below that close, it creates a bearish body-to-body imbalance. 3. That body gap is the imbalance the indicator uses as part of the Suspension Block structure. (Screenshot: Bullish volume imbalance example) (Screenshot: Bearish volume imbalance example) WHAT IS A SUSPENSION BLOCK?: A Suspension Block is the price area created when one candle is framed by a volume imbalance on one side and another volume imbalance on the other side. In simple terms, the candle is “suspended” between two body-to-body inefficiencies, which is why the pattern gets its name. In the theory referenced for this indicator, the suspended candle behaves similarly to a compact inefficiency zone or PD Array. That means the market may revisit the area later and react from it as support or resistance, depending on whether the structure is bullish or bearish. Step by step: 1. Start with a three-candle sequence. 2. Check whether there is a valid body-to-body imbalance between candle 3 and candle 2. Then check whether there is another valid body-to-body imbalance between candle 2 and candle 1. 3. If both imbalances exist in the same direction, the middle part of that structure becomes the Suspension Block setup. For a bullish Suspension Block, the sequence is bullish and the two imbalances are upward. For a bearish Suspension Block, the sequence is bearish and the two imbalances are downward. The indicator then draws the zone from the close of candle 3 to the open of candle 1, which defines the suspended price area. (Screenshot: Bullish suspension Block area highlighted between two volume imbalances) (Screenshot: Bearish suspension Block area highlighted between two volume imbalances) HOW THE INDICATOR SHOWCASES THAT THEORY: Once the structure is confirmed, the indicator turns the concept into a practical chart tool. It plots the Suspension Block zone, extends active zones to the current bar, tracks valid retests, and stops the zone when invalidation happens. Bullish and bearish zones are displayed with separate colors for fast recognition. The zone is anchored to the suspended price area. Retests are stored and can be marked with triangle labels. Invalidated zones can be hidden or kept as historical reference. Nearby zones can be prioritized with Show Nearest, and overlapping same-side zones can be merged with Combine Overlapping Zones. This makes the indicator useful not only for learning the ICT concept, but also for applying it directly on live charts in a structured way. (Screenshot: Indicator showcase with active bullish and bearish Suspension Blocks) (Screenshot: Indicator showcase with retest markers and invalidation) (Screenshot: Indicator showcase with combined overlapping zones) FEATURES: 🔷Bullish Sets the fill color used for bullish Suspension Block zones. This controls how active and historical bullish zones appear on the chart. (Screenshot: Bullish Suspension Block color styling) 🔷Bearish Sets the fill color used for bearish Suspension Block zones. This gives bearish zones their own visual identity and helps separate them from bullish zones at a glance. (Screenshot: Bearish Suspension Block color styling) 🔷Invalidation Method Controls how a Suspension Block becomes invalid. Wick mode invalidates a zone as soon as price trades through the far side with the wick. Close mode invalidates a zone only when price closes through the far side. (Screenshot: Wick invalidation) (Screenshot: Close invalidation) 🔷Midline Turns the midpoint line inside each zone on or off. When enabled, the indicator draws a center line halfway between the top and bottom of the Suspension Block. (Screenshot: Midline drawn through the center of a Suspension Block) 🔷Midline Style Controls whether the midpoint line is solid, dashed, or dotted. This is a visual preference setting that changes how prominent the midline appears. 🔷Zone Labels Turns the SB+ and SB- labels on or off. The labels are placed inside the zone at the right-center area so the zone remains clearly identified without extending the label beyond the box. (Screenshot: SB+ and SB- labels positioned inside the right side of each zone) 🔷Retest Labels Turns retest triangle markers on or off. When enabled, the indicator stores retest times and displays a triangle marker for each valid retest that belongs to a visible zone. (Screenshot: Green and red retest triangles displayed on valid zone retests) 🔷Combine Overlapping Zones When enabled, overlapping Suspension Block zones of the same side are merged into one wider combined zone. The combined zone keeps the earliest left boundary, expands to the full overlapping price range, and merges the retest history from the older zones into the new one. (Screenshot: Multiple overlapping zones merged into one zone) 🔷Hide Invalidated Zones Controls whether mitigated or invalidated zones remain visible. When turned on, invalidated zones are removed from the chart. When turned off, invalidated zones are stored separately and can still be displayed as historical reference without being used again in active-zone logic such as nearest-zone selection or future retest checks. (Screenshot: Invalidated zones hidden) (Screenshot: Invalidated zones displayed for historical reference) 🔷Show Nearest Limits how many bullish and bearish active zones remain visible at the same time. The indicator ranks active zones by distance from current price and shows only the nearest ones for each side. (Screenshot: Only the nearest active bullish and bearish zones displayed) 🔷Minimum Size Filters out very small Suspension Blocks by requiring the zone size to be at least a selected fraction of ATR. A value of 0 disables the size filter. Higher values make the indicator more selective and remove weaker or very small formations. 🔷Alerts Users can enable alerts with this indicator via AnyAlert() functionality. The following alerts are available: ◇ New Bullish SB Alerts for newly detected bullish Suspension Blocks. ◇ New Bearish SB Alerts for newly detected bearish Suspension Blocks. ◇ Bullish SB Retest Alerts for bullish Suspension Block retests. ◇ Bearish SB Retest Alerts for bearish Suspension Block retests. UNIQUENESS: ICT Suspension Blocks is unique because it turns a relatively niche ICT concept into a structured chart tool that not only detects the pattern, but also manages its full lifecycle - from creation, to retest tracking, to invalidation, to optional historical display - while keeping the chart readable. The zone is drawn from candle 3 close to candle 1 open, so it reflects the actual suspended price space between the two imbalances rather than defaulting to the body of the middle candle. Daily and weekly opening gaps are filtered out from the imbalance checks, which helps avoid false detections caused by session-opening jumps. Retest logic is stricter than a simple touch: the indicator checks whether price approached from the correct side, touched the zone with the wick, and still closed back on the original side. Invalidated zones can be displayed as history without being recycled into active-zone logic, which keeps historical context available without contaminating nearest-zone selection or future retest processing. Overlapping same-side zones can be merged into one combined structure, making the indicator more practical on charts where multiple nearby Suspension Blocks form in the same area. (Screenshot: Example comparing separate overlapping zones vs combined zone mode) Pine Script® indicatorby fluxchart44489
Volatility Z-Score [NovaLens]Volatility Z-Score is a statistical volatility indicator that measures how far the current ATR deviates from its historical average, expressed in standard deviations. Built on the Z-Score method used by quantitative desks to detect anomalies, it self-normalizes across any asset and timeframe - no parameter guessing needed. ◉ HOW IT WORKS Most traders watch ATR to measure volatility - but raw ATR numbers are meaningless without context. ATR = 50 tells you nothing unless you know the asset's history. Is that high? Low? Normal? The Z-Score solves this by standardizing ATR against its own rolling distribution: Z = (ATR_current - ATR_mean) / ATR_stddev A Z-Score of +2 means current ATR is two standard deviations above the historical mean - statistically extreme. A score of 0 means volatility is exactly average. This is the same standardization method used across quantitative finance to detect regime changes and anomalies. ◈ HOW TO READ IT • Z > +2 : Statistically extreme volatility. Breakout in progress or capitulation event. Consider tightening stops or waiting for mean reversion. • Z between −1 and +1 : Normal volatility range. Trade your usual setups with standard risk parameters. • Z < −2 : Unusually quiet market. Compression before expansion. Watch for pre-breakout positioning opportunities. ✦ USE CASES • Filter entries - only take trades when volatility is in your preferred regime (e.g., avoid extreme Z for trend-following) • Time exits - extreme Z-Scores often precede reversals or consolidation phases • Risk management - scale position size inversely with Z-Score: smaller in high-vol, larger in low-vol • Regime detection - sustained high or low Z indicates a volatility regime shift, not just noise • Combine with trend tools - high Efficiency Ratio + low Z-Score = quiet strong trend about to expand ⚙ SETTINGS • ATR Period - Period for Average True Range calculation. Higher values smooth the ATR, lower values make it more responsive to recent price action. • Z-Score Lookback - Number of bars for computing mean and standard deviation of ATR. Longer lookback = more stable reference, shorter = faster regime detection. △ LIMITATIONS Z-Score assumes a roughly normal distribution of ATR values. In assets with structural volatility shifts (e.g., post-halving crypto), the lookback window may not capture the new regime quickly. Works best on liquid instruments with sufficient history. Not a directional signal - tells you about volatility magnitude, not trend direction. ⌁ NOTES • Based on standard Z-Score normalization - a foundational technique in quantitative finance • Validated against Python implementation (1.000 correlation via PyneCore) • Open-source - read the code and verify the math • Built for traders who want volatility context in standardized units, not raw ATR valuesPine Script® indicatorby NovaLens2210
Trifecta Supertrend Indicator Description: Triple Supertrend + EMAs + VWAP + Signals This indicator combines trend-following and momentum filters to identify high-probability buy and sell signals: Triple Supertrend Lines: Fast (10,1), Medium (11,2), Slow (12,3) Green = bullish, Red = bearish Signals are generated only when all three Supertrends align, reducing false entries. EMAs: 9 EMA (white) – short-term momentum 21 EMA (light blue) – medium-term trend 200 EMA (dark red) – long-term trend reference VWAP (blue): Auto-anchored, provides dynamic support/resistance Ensures trades align with intraday value zone Buy Signal Conditions: All three Supertrend lines are green 9 EMA > 21 EMA (short-term momentum confirming trend) Price above VWAP Sell Signal Conditions: All three Supertrend lines are red 9 EMA < 21 EMA Price below VWAP Dynamic Take Profit (TP) and Stop Loss (SL): SL: Just beyond slowest Supertrend line (12,3) ± 1 ATR TP: 1.5 × SL distance from entry, plotted for visual guidance Visual SL = red line, TP = green line Allows risk:reward = 1:1.5 per tradePine Script® indicatorby dongho418799
Order Block Sniper | AlphaScript🔷 AlphaScript OB Sniper | Order Block Detection 🔷 Order Block Sniper is a systematic Smart Money Concepts (SMC) tool designed to identify, track, and manage bullish and bearish Order Blocks (OBs) in real time. It focuses on detecting high-probability supply and demand zones using confirmed pivot structures, while filtering out weak setups through volatility and volume conditions. 📊 What it does This indicator helps you: -Detect bullish (demand) and bearish (supply) order blocks -Visualize active OB zones directly on the chart -Track when price returns to (tests) an order block -Automatically remove invalidated (mitigated) zones -Highlight key events such as: -OB formation -OB retests -OB mitigation ⚙️ How it works -Order Blocks are identified using confirmed pivot highs/lows (non-repainting logic) -A valid OB is formed when price shows a directional shift with imbalance characteristics -Filters can be applied to improve quality: -ATR filter → removes weak/small zones -Volume filter → validates participation strength -Each OB is tracked as an active zone until: -Price re-enters it (test) -Or invalidates it (mitigation) Mitigation modes: Close → zone invalidated on candle close beyond it Wick → zone invalidated on any wick penetration 🎯 How to use it This tool can be used to: -Identify high-probability reaction zones -Anticipate retests of supply/demand areas -Structure entries around institutional zones -Avoid trading in low-quality areas Typical approach: -Look for price returning into a bullish OB → potential long reaction -Look for price returning into a bearish OB → potential short reaction -Use OB midpoint as a refined execution level -Combine with trend or momentum tools for confirmation ⚙️ Customization -Pivot sensitivity (OB detection strength) -ATR and volume filters -Maximum number of active OBs -Bullish / bearish colors and styling -Midline display and labeling -Formation and retest signals 📈 Key advantages -Non-repainting detection using confirmed pivots -Strong noise filtering (ATR + volume) -Automatic lifecycle management of OB zones -Clear visualization of institutional supply and demand -Works across multiple markets and timeframes 🔔 Signals & Alerts -Bullish / Bearish OB formation -Price entering an OB (retest) -OB mitigation (zone invalidated) 🧠 AlphaScript Integration OB Sniper is designed to integrate into a broader systematic trading framework, where structure, trend, and volatility work together to improve execution and consistency. 📝 Notes This indicator is a decision-support tool, not a standalone strategy. Best results come from combining it with proper risk management, market structure analysis, and a disciplined trading approach. To explore our AI-powered trading system and indicator development platform, visit: alphascript.co Pine Script® indicatorby AlphaScriptUpdated 60
IQ Candles [TradingIQ]Hello Traders! 🔹IQ Candles IQ Candles is a brand new chart type - a pressure-based visualization tool designed to break down what’s happening inside each candle. Gone are the days of traditional candlesticks - it's time for an upgrade! Instead of treating candles as simple open-high-low-close structures, this chart type reconstructs how buying and selling pressure actually developed within the bar using lower timeframe data. It focuses on answering a more refined question: Where did the pressure come from… and how did it translate into price? buy vs sell pressure inside each candle true dominance within the bar imbalances driven by aggressive participation absorption of pressure by opposing liquidity hidden strength or weakness behind candle structure 🔹What the chart type shows 🔸Pressure candles (internal structure) Each candle is reconstructed to reflect the internal distribution of buying and selling pressure. This allows you to instantly see: where buying pressure accumulated where selling pressure dominated how evenly or unevenly the candle was built Instead of a single body, you see the composition of the move. The example above shows a candlestick that is majority green and about 20% red. This indicates that aggressive buys dominated the candle/price area, and contributed made the highest contribution to the structure of the candle. The example above shows a candlestick that is majority red and about 10% green. This indicates that aggressive sells dominated the candle/price area, and contributed made the highest contribution to the structure of the candle. The example above shows a candlestick that is 50% green and 50% red. This indicates equal contribution. 🔸Smoothed Contribution When smoothing is enabled, the chart type applies a moving average to buying and selling pressure. This reduces noise and highlights the underlying trend of participation over time. Instead of focusing on every short-term fluctuation, you get a clearer view of: sustained buying pressure sustained selling pressure gradual shifts in control between buyers and sellers This is especially useful for: filtering out erratic lower timeframe noise identifying persistent dominance understanding whether pressure is building or fading over multiple bars In fast or choppy conditions, raw pressure can fluctuate rapidly. 🔸Absorption detection The chart type detects when strong pressure fails to move price effectively. This is one of the most important concepts in order flow. It highlights: buying absorbed at highs selling absorbed at lows hidden liquidity opposing aggressive traders potential exhaustion or reversal conditions This helps answer: “Was that pressure actually effective?” The image above shows an example of the chart type when buyers are absorbed. The image above shows an example of the chart type when sellers are absorbed. 🔸Imbalance detection When one side heavily outweighs the other, the chart type highlights imbalance conditions. This helps identify: aggressive one-sided participation momentum-driven moves bars where one side clearly overpowered the other Imbalances are not just about direction - they show conviction. The image above shows the chart type detecting a buy-side imbalance candle. The image above shows the chart type detecting a sell-side imbalance candle. 🔸Buy vs Sell pressure histogram A histogram displays total buying and selling pressure per bar. This gives you a quick read on: which side is in control how dominant that control is whether pressure is increasing or fading 🔸Delta mode (pressure expansion) Delta mode emphasizes the difference between dominant and opposing pressure. This is useful for: highlighting extreme dominance isolating one-sided control visualizing pressure expansion during strong moves The image above shows how to read positive delta candles for the chart type. The image above shows how to read negative delta candles for the chart type. 🔸Candle Radar (live table) A live table summarizes current bar activity, including: buy pressure sell pressure buy/sell percentages delta ratio dominant side imbalance status absorption status This provides a quick overview without needing to interpret the chart visually. 🔹How to read it Each component gives a different layer of information: Histogram → total pressure (who is active) Candle structure → how pressure translated into price Imbalance → when one side dominates Absorption → when dominance fails Together, this shifts your perspective from: “price moved up” to: “buying pressure dominated — but did it actually succeed?” Example interpretations: strong buy pressure + strong close → clean continuation strong buy pressure + weak close → possible absorption balanced pressure → indecision / consolidation extreme imbalance → momentum or potential exhaustion absorption signals → potential reversal or liquidity interaction 🔹Why this chart type is useful It gives you: internal candle structure clear separation of buying and selling pressure context for whether pressure is effective imbalance detection for momentum absorption detection for reversals a deeper understanding of how price actually forms 🔹Best use cases analyzing strength behind moves confirming continuation vs weakness spotting absorption at key levels understanding liquidity interactions enhancing price action or liquidity-based models 🔹Important note Pressure can: drive moves fail to move price or be absorbed by opposing liquidity Context always matters. 🔹Important consideration This script uses lower timeframe data to approximate internal pressure. This means: accuracy depends on available data different symbols may behave differently lower timeframe selection impacts results 🔹Inputs you can customize The script includes flexible controls such as: lower timeframe selection smoothing of pressure imbalance threshold absorption sensitivity delta mode behavior extended move filtering visual styling and colors Closing Notes And that’s about it! This script is built to reveal what candles are actually doing beneath the surface -turning price into something you can interpret, not just observe. It may receive updates based on feedback - stay tuned! Thank you TradingView as always!Pine Script® indicatorby Trading-IQUpdated 3939704
IPDA Data Ranges VIIInter Bank Price Delivery Algorithm Data Ranges 20/40/60Pine Script® indicatorby williamcharlesbarwell2
IPDA Data Ranges V2Inter Bank Price Delivery Algorithm Data Ranges 20/40/60Pine Script® indicatorby williamcharlesbarwell16
COVID Zoneshows time range of Covid on all charts looking back that far. Can be adjusted for different economic upheavals.Pine Script® indicatorby LExum10
[MTF] RSI Strength Judge v2-MTF w.Alerts//@version=6 indicator(" RSI Strength Judge v2", shorttitle="MTF RSI v2", overlay=true, max_bars_back=5000, max_labels_count=500) // ═══════════════════════════════════════════════════════════════════════════════ // MULTI-TIMEFRAME RSI STRENGTH JUDGE v2 // Based on L2 RSI Strength Judge — Enhanced with MTF Confluence // Clean chart: only latest signal per TF + one confluence label at a time // ═══════════════════════════════════════════════════════════════════════════════ // ─── INPUTS ────────────────────────────────────────────────────────────────── grpMTF = "Multi-Timeframe Settings" tf1_inp = input.timeframe("3", "Timeframe 1", group=grpMTF) tf2_inp = input.timeframe("5", "Timeframe 2", group=grpMTF) tf3_inp = input.timeframe("15", "Timeframe 3", group=grpMTF) tf4_inp = input.timeframe("30", "Timeframe 4", group=grpMTF) grpRSI = "RSI Calculation Settings" rsiPeriod = input.int(24, "RSI Long Period", group=grpRSI) kPeriod = input.int(20, "Stochastic Lookback", group=grpRSI) smaPeriod = input.int(3, "TrendLine Smoothing", group=grpRSI) grpSig = "Signal Settings" minTFBuy = input.int(3, "Min TFs Bullish for Strong Buy", minval=2, maxval=4, group=grpSig) minTFSell = input.int(3, "Min TFs Bearish for Strong Sell", minval=2, maxval=4, group=grpSig) reqFresh = input.bool(true, "Require Fresh Cross Signal", tooltip="Strong signals only fire when at least one TF has a fresh cross", group=grpSig) grpVis = "Visual Settings" showTable = input.bool(true, "Show Dashboard Table", group=grpVis) showTFLabels = input.bool(true, "Show Individual TF Labels", group=grpVis) tablePos = input.string("top_right", "Table Position", options= , group=grpVis) showBG = input.bool(true, "Background Color on Confluence", group=grpVis) labelSize = input.string("normal", "Signal Label Size", options= , group=grpVis) grpAlert = "Alerts" alertOnStrong = input.bool(true, "Notify on Strong Signals", group=grpAlert) alertOnVeryStrong = input.bool(true, "Notify on Very Strong Signals", group=grpAlert) alertOn15m = input.bool(true, "Notify on 15m Signals", group=grpAlert) // ─── CORE CALCULATION FUNCTION ─────────────────────────────────────────────── calcStrength() => lowest20 = ta.lowest(low, kPeriod) highest20 = ta.highest(high, kPeriod) rsv = highest20 != lowest20 ? (close - lowest20) / (highest20 - lowest20) * 100 : 50.0 tl = ta.sma(rsv, smaPeriod) prevClose = close gainAvg = ta.sma(math.max(close - prevClose, 0), rsiPeriod) absAvg = ta.sma(math.abs(close - prevClose), rsiPeriod) rsi3val = absAvg != 0 ? gainAvg / absAvg * 100 : 50.0 bull = tl > 50 overbought = tl > 80 oversold = tl < 20 crossUp = ta.crossover(tl, 20) crossDown = ta.crossunder(tl, 80) // ─── REQUEST MULTI-TIMEFRAME DATA ─────────────────────────────────────────── = request.security(syminfo.tickerid, tf1_inp, calcStrength(), lookahead=barmerge.lookahead_off) = request.security(syminfo.tickerid, tf2_inp, calcStrength(), lookahead=barmerge.lookahead_off) = request.security(syminfo.tickerid, tf3_inp, calcStrength(), lookahead=barmerge.lookahead_off) = request.security(syminfo.tickerid, tf4_inp, calcStrength(), lookahead=barmerge.lookahead_off) // ─── CONFLUENCE COUNTING ───────────────────────────────────────────────────── bullCount = (bull1 ? 1 : 0) + (bull2 ? 1 : 0) + (bull3 ? 1 : 0) + (bull4 ? 1 : 0) bearCount = 4 - bullCount anyFreshBuy = buyX1 or buyX2 or buyX3 or buyX4 anyFreshSell = sellX1 or sellX2 or sellX3 or sellX4 strongBuyCondition = bullCount >= minTFBuy and (reqFresh ? anyFreshBuy : true) strongSellCondition = bearCount >= minTFSell and (reqFresh ? anyFreshSell : true) veryStrongBuy = bullCount == 4 and anyFreshBuy veryStrongSell = bearCount == 4 and anyFreshSell // ─── LABEL SIZE MAPPING ───────────────────────────────────────────────────── labelSz = switch labelSize "tiny" => size.tiny "small" => size.small "normal" => size.normal "large" => size.large "huge" => size.huge => size.normal // ═══════════════════════════════════════════════════════════════════════════════ // LABEL MANAGEMENT — One label per slot, new replaces old // ═══════════════════════════════════════════════════════════════════════════════ // ─── Persistent label variables (one per TF, one for confluence) ───────────── var label lbl_tf1 = na var label lbl_tf2 = na var label lbl_tf3 = na var label lbl_tf4 = na var label lbl_conf = na // single slot for strong / very strong // ─── ATR offset for label placement ────────────────────────────────────────── atrVal = ta.atr(14) buyOffset = low - atrVal * 0.5 sellOffset = high + atrVal * 0.5 // ─── INDIVIDUAL TF LABELS (replace previous on same TF) ───────────────────── if showTFLabels // TF1 if buyX1 label.delete(lbl_tf1) lbl_tf1 := label.new(bar_index, buyOffset, tf1_inp + "m ▲", color=color.new(#4CAF50, 20), textcolor=color.white, style=label.style_label_up, size=size.tiny) if sellX1 label.delete(lbl_tf1) lbl_tf1 := label.new(bar_index, sellOffset, tf1_inp + "m ▼", color=color.new(#F44336, 20), textcolor=color.white, style=label.style_label_down, size=size.tiny) // TF2 if buyX2 label.delete(lbl_tf2) lbl_tf2 := label.new(bar_index, buyOffset, tf2_inp + "m ▲", color=color.new(#4CAF50, 20), textcolor=color.white, style=label.style_label_up, size=size.tiny) if sellX2 label.delete(lbl_tf2) lbl_tf2 := label.new(bar_index, sellOffset, tf2_inp + "m ▼", color=color.new(#F44336, 20), textcolor=color.white, style=label.style_label_down, size=size.tiny) // TF3 if buyX3 label.delete(lbl_tf3) lbl_tf3 := label.new(bar_index, buyOffset, tf3_inp + "m ▲", color=color.new(#4CAF50, 20), textcolor=color.white, style=label.style_label_up, size=size.tiny) if sellX3 label.delete(lbl_tf3) lbl_tf3 := label.new(bar_index, sellOffset, tf3_inp + "m ▼", color=color.new(#F44336, 20), textcolor=color.white, style=label.style_label_down, size=size.tiny) // TF4 if buyX4 label.delete(lbl_tf4) lbl_tf4 := label.new(bar_index, buyOffset, tf4_inp + "m ▲", color=color.new(#4CAF50, 20), textcolor=color.white, style=label.style_label_up, size=size.tiny) if sellX4 label.delete(lbl_tf4) lbl_tf4 := label.new(bar_index, sellOffset, tf4_inp + "m ▼", color=color.new(#F44336, 20), textcolor=color.white, style=label.style_label_down, size=size.tiny) // ─── CONFLUENCE LABELS (single slot — latest replaces previous) ────────────── // Debounce: prevent duplicate confluence labels within 2 bars var int lastConfBar = na confDebounce = na(lastConfBar) or bar_index - lastConfBar > 2 if veryStrongBuy and confDebounce label.delete(lbl_conf) lbl_conf := label.new(bar_index, buyOffset - atrVal * 0.3, "⚡ VERY STRONG BUY (" + str.tostring(bullCount) + "/4 TFs)", color=color.new(#00E676, 0), textcolor=color.white, style=label.style_label_up, size=labelSz) lastConfBar := bar_index else if strongBuyCondition and confDebounce label.delete(lbl_conf) lbl_conf := label.new(bar_index, buyOffset - atrVal * 0.3, "▲ STRONG BUY (" + str.tostring(bullCount) + "/4 TFs)", color=color.new(#4CAF50, 0), textcolor=color.white, style=label.style_label_up, size=labelSz) lastConfBar := bar_index if veryStrongSell and confDebounce label.delete(lbl_conf) lbl_conf := label.new(bar_index, sellOffset + atrVal * 0.3, "⚡ VERY STRONG SELL (" + str.tostring(bearCount) + "/4 TFs)", color=color.new(#FF1744, 0), textcolor=color.white, style=label.style_label_down, size=labelSz) lastConfBar := bar_index else if strongSellCondition and confDebounce label.delete(lbl_conf) lbl_conf := label.new(bar_index, sellOffset + atrVal * 0.3, "▼ STRONG SELL (" + str.tostring(bearCount) + "/4 TFs)", color=color.new(#F44336, 0), textcolor=color.white, style=label.style_label_down, size=labelSz) lastConfBar := bar_index // ─── BACKGROUND HIGHLIGHT ──────────────────────────────────────────────────── bgColor = veryStrongBuy ? color.new(#00E676, 88) : veryStrongSell ? color.new(#FF1744, 88) : strongBuyCondition ? color.new(#4CAF50, 92) : strongSellCondition ? color.new(#F44336, 92) : na bgcolor(showBG ? bgColor : na, title="Confluence Background") // ═══════════════════════════════════════════════════════════════════════════════ // ALERTS — alert() fires automatically, no manual setup needed // ═══════════════════════════════════════════════════════════════════════════════ if alertOnVeryStrong and veryStrongBuy alert("⚡ VERY STRONG BUY on " + syminfo.ticker + " " + timeframe.period + " — All 4 TFs bullish with fresh cross", alert.freq_once_per_bar_close) if alertOnVeryStrong and veryStrongSell alert("⚡ VERY STRONG SELL on " + syminfo.ticker + " " + timeframe.period + " — All 4 TFs bearish with fresh cross", alert.freq_once_per_bar_close) if alertOnStrong and strongBuyCondition and not veryStrongBuy alert("▲ STRONG BUY on " + syminfo.ticker + " " + timeframe.period + " — " + str.tostring(bullCount) + "/4 TFs bullish", alert.freq_once_per_bar_close) if alertOnStrong and strongSellCondition and not veryStrongSell alert("▼ STRONG SELL on " + syminfo.ticker + " " + timeframe.period + " — " + str.tostring(bearCount) + "/4 TFs bearish", alert.freq_once_per_bar_close) if alertOn15m and buyX3 alert("↑ 15m BUY signal on " + syminfo.ticker + " — TrendLine crossed above 20", alert.freq_once_per_bar_close) if alertOn15m and sellX3 alert("↓ 15m SELL signal on " + syminfo.ticker + " — TrendLine crossed below 80", alert.freq_once_per_bar_close) // Also keep alertcondition() for users who want manual webhook/custom alert setup alertcondition(veryStrongBuy, title="Very Strong BUY", message="⚡ VERY STRONG BUY — All 4 TFs aligned bullish on {{ticker}}") alertcondition(veryStrongSell, title="Very Strong SELL", message="⚡ VERY STRONG SELL — All 4 TFs aligned bearish on {{ticker}}") alertcondition(strongBuyCondition, title="Strong BUY", message="▲ STRONG BUY — {{ticker}} multi-TF bullish confluence") alertcondition(strongSellCondition, title="Strong SELL", message="▼ STRONG SELL — {{ticker}} multi-TF bearish confluence") alertcondition(buyX3, title="15m BUY Cross", message="↑ 15m BUY — TrendLine crossed above 20 on {{ticker}}") alertcondition(sellX3, title="15m SELL Cross", message="↓ 15m SELL — TrendLine crossed below 80 on {{ticker}}") // ═══════════════════════════════════════════════════════════════════════════════ // DASHBOARD TABLE — Helper functions (must be at top level in Pine v6) // ═══════════════════════════════════════════════════════════════════════════════ stateText(float tl) => tl > 80 ? "OVERBOUGHT" : tl < 20 ? "OVERSOLD" : tl > 50 ? "BULLISH" : "BEARISH" stateColor(float tl) => tl > 80 ? color.new(#FF6D00, 0) : tl < 20 ? color.new(#2979FF, 0) : tl > 50 ? color.new(#00E676, 0) : color.new(#FF1744, 0) stateBgColor(float tl) => tl > 80 ? color.new(#FF6D00, 80) : tl < 20 ? color.new(#2979FF, 80) : tl > 50 ? color.new(#00E676, 85) : color.new(#FF1744, 85) signalText(bool bx, bool sx) => bx ? "🔼 BUY" : sx ? "🔽 SELL" : "—" signalColor(bool bx, bool sx) => bx ? color.new(#00E676, 0) : sx ? color.new(#FF1744, 0) : color.gray // ─── Table position mapping ────────────────────────────────────────────────── tblPos = switch tablePos "top_right" => position.top_right "top_left" => position.top_left "bottom_right" => position.bottom_right "bottom_left" => position.bottom_left "middle_right" => position.middle_right "middle_left" => position.middle_left => position.top_right var table dash = table.new(tblPos, 5, 6, bgcolor=color.new(#1E1E1E, 0), border_color=color.new(#333333, 0), border_width=1, frame_color=color.new(#555555, 0), frame_width=2) if showTable and barstate.islast // Header table.cell(dash, 0, 0, "TF", text_color=color.white, text_size=size.small, bgcolor=color.new(#333333, 0)) table.cell(dash, 1, 0, "Trend", text_color=color.white, text_size=size.small, bgcolor=color.new(#333333, 0)) table.cell(dash, 2, 0, "RSI3", text_color=color.white, text_size=size.small, bgcolor=color.new(#333333, 0)) table.cell(dash, 3, 0, "State", text_color=color.white, text_size=size.small, bgcolor=color.new(#333333, 0)) table.cell(dash, 4, 0, "Signal", text_color=color.white, text_size=size.small, bgcolor=color.new(#333333, 0)) // TF rows tfNames = array.from(tf1_inp + "m", tf2_inp + "m", tf3_inp + "m", tf4_inp + "m") tlVals = array.from(tl1, tl2, tl3, tl4) rsiVals = array.from(rsi1, rsi2, rsi3, rsi4) buyXs = array.from(buyX1, buyX2, buyX3, buyX4) sellXs = array.from(sellX1, sellX2, sellX3, sellX4) for i = 0 to 3 row = i + 1 tlVal = array.get(tlVals, i) rsiVal = array.get(rsiVals, i) bx = array.get(buyXs, i) sx = array.get(sellXs, i) table.cell(dash, 0, row, array.get(tfNames, i), text_color=color.white, text_size=size.small, bgcolor=color.new(#2A2A2A, 0)) table.cell(dash, 1, row, str.tostring(tlVal, "#.0"), text_color=stateColor(tlVal), text_size=size.small, bgcolor=color.new(#2A2A2A, 0)) table.cell(dash, 2, row, str.tostring(rsiVal, "#.0"), text_color=color.yellow, text_size=size.small, bgcolor=color.new(#2A2A2A, 0)) table.cell(dash, 3, row, stateText(tlVal), text_color=stateColor(tlVal), text_size=size.small, bgcolor=stateBgColor(tlVal)) table.cell(dash, 4, row, signalText(bx, sx), text_color=signalColor(bx, sx),text_size=size.small, bgcolor=color.new(#2A2A2A, 0)) // Confluence row confluenceText = veryStrongBuy ? "⚡ VERY STRONG BUY" : veryStrongSell ? "⚡ VERY STRONG SELL" : strongBuyCondition ? "▲ STRONG BUY" : strongSellCondition ? "▼ STRONG SELL" : bullCount >= 3 ? "↑ Leaning Bullish" : bearCount >= 3 ? "↓ Leaning Bearish" : "⟷ Mixed" confluenceColor = veryStrongBuy or strongBuyCondition ? color.new(#00E676, 0) : veryStrongSell or strongSellCondition ? color.new(#FF1744, 0) : bullCount >= 3 ? color.new(#81C784, 0) : bearCount >= 3 ? color.new(#EF9A9A, 0) : color.gray confluenceBg = veryStrongBuy ? color.new(#00E676, 70) : veryStrongSell ? color.new(#FF1744, 70) : color.new(#333333, 0) table.cell(dash, 0, 5, "RESULT", text_color=color.white, text_size=size.small, bgcolor=confluenceBg) table.merge_cells(dash, 1, 5, 4, 5) table.cell(dash, 1, 5, confluenceText, text_color=confluenceColor, text_size=size.normal, bgcolor=confluenceBg) Pine Script® indicatorby m_tbeshe6
BH_LibLibrary "BH_Lib" fullRange() bodyRange() midRange() midBody() blTarget() brTarget() ibs() barDir() abr(lookback) Parameters: lookback (int) abrEma(lookback) Parameters: lookback (simple int) abrIndex(lookback) Parameters: lookback (int) tailPercent() topTailPercent() bottomTailPercent() isOB() isIB() iOscale() overlapRange() overlapPct() zScore(src, lookback) Parameters: src (float) lookback (int) zScoreFullRange(lookback) Parameters: lookback (int) zScoreBodyRange(lookback) Parameters: lookback (int) isInSession(sessionStr, tz) Parameters: sessionStr (string) tz (string) isSessionStart(sessionStr, tz) Parameters: sessionStr (string) tz (string) isFirstRTHbar() skipFirst2Bars() scalp50() scalp75() barLevel(fraction) Parameters: fraction (float)Pine Script® libraryby bnhz110
Daily Liquidity Sweep Alert | 1H OnlyOverview This indicator detects daily liquidity sweeps on the 1H timeframe by analyzing interactions with previous session highs and lows. It is designed to highlight potential reversal zones where liquidity is taken before price continuation. How it works The script identifies key liquidity levels based on prior daily highs and lows and monitors price behavior around those zones. A sweep is detected when price moves beyond a level and shows rejection behavior within the same session. The detection model includes: Previous daily high and low tracking Session-based filtering (New York / London optional) Time window validation to avoid low-liquidity periods Basic rejection logic after level breach What makes it different Unlike simple high/low break indicators, this script focuses on sweep behavior rather than just level breaks. It filters signals using session timing and price reaction, helping reduce false breakouts that occur during low-volume periods. How to use Best used on the 1H timeframe Look for sweeps at key levels as potential reversal or continuation confirmation Combine with market structure or higher timeframe bias for better accuracy Notes This tool is intended for discretionary trading and should not be used as a standalone signal.Pine Script® indicatorby yonatanoz17
EMA 20 / EMA 60 Filled BandWhaduuup! Just a boring little script for all the EMA users to have a more practical or nicer looking design for the EMA's Stay charting.Pine Script® indicatorby FX-templar1
Livermore Reversal (HTF) This indicator is a signal for High Time Frames the signals trend reversals via Jesse Livermore patterns. Pine Script® indicatorby LeapTrading67
Daily Volume Profile Pro [WillyAlgoTrader]📊 Daily Volume Profile Pro is an overlay indicator that builds a complete volume profile for each daily session — distributing volume across price bins using candle-range proportional allocation, computing POC (Point of Control), 70% Value Area (VAH/VAL) using the CME expansion method, session VWAP, buy/sell delta per bin, and displaying up to 7 days of profiles simultaneously. The indicator also detects naked (unvisited) POCs from prior days, classifies each day's profile shape (Normal/Trend/Neutral/Double Distribution), tracks Initial Balance ranges, and highlights single-print thin-volume zones — creating a complete volume-based market context tool. 🧩 WHY THESE COMPONENTS WORK TOGETHER A volume profile alone shows where trading activity concentrated — but without context, you don't know whether the profile represents a trending day, a balanced day, or a double-distribution day. You don't know whether the POC from two days ago was ever revisited. You don't know whether the current price is above or below the Initial Balance — which tells you whether the opening range has been broken. This indicator layers multiple volume-based analyses that each answer a different question: Volume Profile → WHERE did volume concentrate? Which prices are accepted (high volume) and rejected (low volume)? POC → What is the single most-traded price? This is the market's "fair value" for that session. Value Area (70%) → Where did 70% of volume trade? Price inside VA = balance. Price outside VA = imbalance seeking new value. Delta Coloring → At each price level, was the activity dominated by buyers or sellers? Green bins = buying pressure, red = selling. Naked POCs → Which prior-day fair values were never revisited? These are strong magnets — price tends to return to unfinished business. Initial Balance → What was the opening range? Price above IB High = bullish conviction. Below IB Low = bearish. Inside = balance. Day Type → What shape is the profile? Trend days (narrow) behave differently than Normal (bell curve) or Double Distribution (bimodal) days. Single Prints → Where did price move too fast for volume to fill? These thin-volume zones are gaps in the profile that often get revisited. No single component provides a complete picture. The combination tells you: the market's fair value (POC), the accepted range (VA), the directional pressure (delta), the day's character (day type), the opening bias (IB), unfinished levels from prior sessions (naked POCs), and price imbalances (single prints) — all from volume data. 🔍 WHAT MAKES IT ORIGINAL 1️⃣ Candle-range proportional volume allocation. Each candle's volume is distributed across the price bins it touches, proportional to the overlap between the candle's range and each bin: overlap = max(0, min(candle_high, bin_high) − max(candle_low, bin_low)) allocated_volume = total_volume × overlap / candle_range This produces a smoother, more accurate profile than the common approach of assigning all volume to a single price (close or typical price). A candle spanning 5 bins distributes its volume across all 5, weighted by how much of the candle falls in each bin. Buy/sell classification: close ≥ open → buy candle (volume added to buy array), close < open → sell candle (volume added to sell array). Delta coloring shows whether each bin was dominated by buying or selling pressure. 2️⃣ CME-style Value Area expansion. The 70% Value Area is computed using the standard CME method: — Start at POC bin — Compare the volume of the next bin above vs the next bin below — Expand toward whichever side has higher volume — Repeat until 70% of total session volume is captured — VAH = top of the highest included bin, VAL = bottom of the lowest included bin This matches the industry-standard method used by CME Group and professional platforms. The VA is displayed as dashed lines (VAH/VAL) with an optional semi-transparent background fill. 3️⃣ Naked POC detection with historical scan. For each prior day's POC, the indicator scans all bars from the POC's day to the present — checking whether price ever touched that level (low ≤ pocPrice ≤ high). If no bar has touched it, the POC is classified as "naked" (nPOC) and drawn as a dashed red line extending to the right. Naked POCs represent unfinished business — the market established fair value at that price but never returned to retest it. They act as strong magnets because institutional activity that established the original POC may still hold positions anchored to that level. The scan limit is 300 bars to maintain performance. 4️⃣ Day type classification from profile shape. Each day's volume distribution is analyzed to classify the session: — Trend : significant bins < 35% of total bins — volume concentrated in a narrow area, price moved decisively in one direction — Neutral : significant bins > 65% — volume spread evenly across the range, balanced/rotational day — Normal : 35–65% — bell-curve distribution with clear POC and tapering tails — DD (Double Distribution) : significant bins concentrated in both top and bottom thirds but not the middle — bimodal distribution indicating two separate value areas (e.g., gap-and-go) A "significant bin" is defined as having volume > 25% of POC volume. The classification appears as a color-coded label above each session. 5️⃣ Initial Balance (IB) range tracking. The IB captures the high and low of the first N minutes of each session (configurable: 30, 60, 90, or 120 minutes). The IB range is drawn as solid lines with optional background fill, optionally extended to the end of session. IB context: price above IB High signals that early buyers were committed and the market accepted higher prices — bullish bias. Price below IB Low signals the opposite. Price inside IB = range-bound session. The dashboard shows the current IB position (Above IB / Below IB / Inside IB). 6️⃣ Single print (thin volume) zone detection. Bins with volume less than 15% of the POC bin's volume are classified as single prints — areas where price moved too quickly for significant volume to build. These are highlighted with a distinct border color and represent imbalance zones that often get revisited as the market seeks to fill the volume gap. 7️⃣ Multi-day profile display with configurable orientation. Up to 7 days of profiles are drawn simultaneously with left or right orientation. Each day's profile bins are scaled proportionally: bin width = volume / maxVolume × span/3 in bars. The adaptive bin count adjusts to the day's price range: bins = min(binCountInput, max(8, range / (ATR × 0.05))). 8️⃣ POC extension + previous day POC (yPOC). Each day's POC can be extended forward as a dashed line for 1–7 days (configurable), serving as a reference level for subsequent sessions. Yesterday's POC (yPOC) is drawn separately as a labeled reference — one of the most-watched volume levels in professional trading. Today's POC, VAH, and VAL can be extended to the right chart edge for real-time reference. 9️⃣ Session VWAP. Volume-weighted average price computed per session: VWAP = Σ(typicalPrice × volume) / Σ(volume). Displayed as a dotted line within each session. VWAP represents the average price at which volume traded — a key reference for institutional traders. 🔟 Optional MA overlay. Six MA types available (SMA, EMA, RMA, WMA, VWMA, None) for additional trend context alongside the volume profile. ⚙️ HOW IT WORKS — CALCULATION FLOW Step 1 — Session detection: Day change tracked via ta.change(time("D")). Session start/end bars, day high/low, and timestamps stored in arrays. IB high/low tracked during the first N minutes of each session. Step 2 — Profile construction (per day): For each session, the price range is divided into bins. Every candle within the session distributes its volume across bins proportional to the candle-range overlap with each bin. Separate buy and sell arrays track directional volume. Step 3 — POC/VA/VWAP: POC = bin with maximum volume. VA computed via CME expansion from POC until 70% captured. VWAP = cumulative (typical price × volume) / cumulative volume. Step 4 — Visualization (last bar): All profiles, lines, and labels are drawn on barstate.islast using delete-and-redraw pattern. Profile boxes are colored by delta (buy/sell dominance), with POC bin highlighted, VA bins tinted, single prints bordered. Step 5 — Naked POC scan: Each prior-day POC is checked against all subsequent bars. If no bar has touched the level → naked POC drawn as dashed line. Step 6 — Day type: Volume distribution analyzed for shape classification (Trend/Normal/Neutral/DD). 📖 HOW TO USE 🎯 Quick start: 1. Add the indicator to an intraday chart (1M–30M recommended) 2. Volume profiles appear for each daily session (up to 7 days) 3. Yellow horizontal line = POC (highest volume price) 4. Blue dashed lines = VAH / VAL (70% Value Area boundaries) 5. Red dashed lines = naked POCs from prior days (unvisited fair values) 6. Orange lines = Initial Balance high/low 👁️ Reading the chart: — 🟡 Solid line = POC (session fair value) — 🟡 Dashed line = extended POC (reference for future sessions) — 🔴 Dashed line with "nPOC" label = naked POC (unvisited — strong magnet) — 🟡 "yPOC" label = yesterday's POC — 🔵 Dashed lines = VAH / VAL (70% Value Area boundaries) — 🔵 Shaded zone = Value Area background — 🟣 Dotted line = session VWAP — 🟠 Solid lines = IB High / IB Low — 🟠 Shaded zone = Initial Balance range — 🟢 Profile bins = buying pressure (delta positive) — 🔴 Profile bins = selling pressure (delta negative) — 🟡 Bordered bins = single prints (thin volume — imbalance zones) — Day type labels: Trend / Normal / Neutral / DD 📊 Dashboard fields: — Day Type: profile shape classification (Trend / Normal / Neutral / DD) — Trend: price vs POC (Bullish ▲ / Bearish ▼) — Price Zone: Above VA / Inside VA / Below VA — IB Position: Above IB / Inside IB / Below IB — POC: today's price, vs POC distance — VAH / VAL: Value Area boundaries — Delta: net buy/sell percentage — Volume: total session volume — Naked POCs: count of unvisited prior-day POCs 🔧 Tuning guide: — Profile too coarse: increase Profile Bins (30–40) — Profile too granular: decrease Profile Bins (15–20) — Want to see more history: increase Days to Show (up to 7) — IB too narrow for your market: increase IB Period (90–120 min) — Too many single prints: this is informational — they highlight real imbalances ⚙️ KEY SETTINGS REFERENCE ⚙️ Main: — Days to Show (default 7): number of daily profiles (1–7) — Profile Bins (default 34): resolution of volume distribution 📊 Profile: — Delta Coloring (default On): color bins by buy/sell pressure — Single Prints (default On): highlight low-volume imbalance zones (< 15% of POC) — Profile Side (default Left): draw bars left or right of session 📏 Levels: — POC (default On) with width and extension (1–7 days) — Naked POCs (default On): unvisited prior-day POCs — Value Area (default On) with background fill — Session VWAP (default Off) — Previous Day POC (default On): yPOC reference — Extend Today (default On): extend current session levels to chart edge 🔲 Initial Balance: — IB Period (default 60 min): 15–120 minutes — IB Background (default On) / Extend IB Lines (default On) 🎨 Visual: — Day separators, day labels (Mon–Sun), day type labels — MA overlay: SMA/EMA/RMA/WMA/VWMA/None — Auto / Dark / Light theme 🔔 Alerts — 🟢 POC CROSS UP / 🔴 POC CROSS DOWN — price crosses today's POC — ⬆️ VAH BREAK — price breaks above Value Area High — ⬇️ VAL BREAK — price breaks below Value Area Low All support plain text and JSON webhook format. Bar-close confirmed. ⚠️ IMPORTANT NOTES — 📐 Use on intraday timeframes. The indicator builds daily session profiles — it requires intraday data (1M–30M recommended) to produce meaningful volume distribution. On daily or higher timeframes, each day has only one candle, producing a single-bin profile. — 🚫 No repainting. All alert conditions require barstate.isconfirmed. Profiles are computed from historical data within each session. Today's profile updates in real-time as new bars arrive (this is expected behavior for a live volume profile — not repainting). — 📊 The volume allocation is proportional to candle-range overlap , not tick-by-tick. True tick data is not available in Pine Script. This candle-range method produces a close approximation for intraday timeframes (1M–15M). Lower timeframes = more candles per session = more accurate profile. — ⚖️ The Value Area uses the standard CME expansion method : start at POC, expand toward higher-volume adjacent bins until 70% captured. This matches the industry-standard algorithm used by professional platforms. — 🔴 Naked POC scan checks up to 300 bars of history per POC for performance reasons. On very low timeframes with many bars per day, a POC from 5+ days ago may exceed the scan range. — 📏 Single prints are defined as bins with volume < 15% of POC volume — these represent areas where price moved too quickly for meaningful volume to accumulate. They are not errors or missing data. — 🏷️ Day type classification uses volume distribution shape analysis based on the ratio of significant bins to total bins. It's a probabilistic assessment of the session's character, not a definitive market prediction. — 🛠️ This is a volume analysis and market context tool , not an automated trading system. It visualizes where volume traded, which prices are accepted/rejected, and which levels remain unfinished — trade decisions remain yours. — 🌐 Requires volume data. On instruments without reliable volume (some forex pairs), the profile accuracy depends on broker-reported tick volume.Pine Script® indicatorby WillyAlgoTrader44610
Session High & LowThis indicator marks out Asia session highs and lows, London session Highs and lows, and New York highs and lows to provide your trading experience with some advanced draws on liquidity Pine Script® indicatorby l1dso8
Simplified 30m Event Strategy - ReverseThis is a 30-minute event contract script with a 63% win rate in backtesting over a year. With 8600 trades a year, it's enough to grow your $100 into $10 million in a year through compounding.Pine Script® strategyby mbdalq2223
IPDA Data RangesInter Bank Price Delivery Algorithm 20/40/60 Data RangesPine Script® indicatorby williamcharlesbarwell5
PEM Terminator2 Strategytest to see if this is working properly. If it doesn't work like I want it to, then I will re-write it.Pine Script® strategyby msparrow671129