Reversal Super ScalperUsing Grok I've combined several indicators to be used for scalping reversals. My goal is to make sure it alerts me when all of the below conditions have been met.
Indicators that were combined to make this
FluidTrades - SMC Lite indicator - by Pmgjiv
Money Flow Index MTF + Alerts - by DreamsDefined
WaveTrend Filtered Signals (LazyBear Style) - by Uncle_the_shooter
Q-Trend - by tarasenko_
This strategy is for scalping on the 5 minute timeframe.
This way I can set alerts when the price action is close to demand or support levels marked out by the FluidTrades - SMC Lite indicator, the Money Flow Index MTF + Alerts indicator shows oversold if i'm trying to enter a long position or overbought if I'm trying to enter a short position, and the WaveTrend Filtered Signals indicator pops up a buy/sell signal either on the same 5 min candle or two 5 min candles before the Q-Trend buy/sell signal pops up. Once all of these conditions are met, this is when I would enter into a position at the close of the trigger candle from Q-Trend.
Here is an example of how to use this strategy
BUY (LONG) SIGNAL CONDITIONS
Price action must fall back into a level of demand marked out by the FluidTrades indicator.
The candle wick may cross below the demand level, and the candle body may cross slightly below it, as long as the candle does not close below the demand zone.
If any candle closes below the demand level, the buy signal created by the Q-Trend indicator is canceled. The WaveTrend Filtered Signals indicator should generate an alert on the current 5 min candle that Q-trend is generating a buy signal or two 5 min candles before it.
Money Flow Index (MFI) Condition:
On the candle where the buy signal is triggered by the Q-Trend indicator, the MFI must be oversold, with the white line below the 40 level, inside the Red Zone.
When the above conditions are met, enter after the close of the BUY signal trigger candle.
For the short signal it is the opposite of these conditions.
Supportandresistancezones
Previous Day & Week High/Low LevelsPrevious Day & Week High/Low Levels is a precision tool designed to help traders easily identify the most relevant price levels that often act as strong support or resistance areas in the market. It automatically plots the previous day’s and week’s highs and lows, as well as the current day’s developing internal high and low. These levels are crucial reference points for intraday, swing, and even position traders who rely on price action and liquidity behavior.
Key Features
Previous Day High/Low:
The indicator automatically draws horizontal lines marking the highest and lowest prices from the previous trading day.
These levels are widely recognized as potential zones where the market may react again — either rejecting or breaking through them.
Previous Week High/Low:
The script also tracks and displays the high and low from the last completed trading week.
Weekly levels tend to represent stronger liquidity pools and broader institutional zones, which makes them especially important when aligning higher timeframe context with lower timeframe entries.
Internal Daily High/Low (Real-Time Tracking):
While the day progresses, the indicator dynamically updates the current day’s internal high and low.
This allows traders to visualize developing market structure, identify intraday ranges, and anticipate potential breakouts or liquidity sweeps.
Multi-Timeframe Consistency:
All levels — daily and weekly — remain visible across any chart timeframe, from 1 minute to 1 day or higher.
This ensures traders can maintain perspective and avoid losing track of key zones when switching views.
Customizable Visuals:
The colors, line thickness, and label visibility can be easily adjusted to match personal charting preferences.
This makes the indicator adaptable to any trading style or layout, whether minimalistic or detailed.
How to Use
Identify Key Reaction Zones:
Observe how price interacts with the previous day and week levels. Rejections, consolidations, or clean breakouts around these lines often signal strong liquidity areas or potential directional moves.
Combine with Market Structure or Liquidity Concepts:
The indicator works perfectly with supply and demand analysis, liquidity sweeps, order block strategies, or simply classic support/resistance techniques.
Scalping and Intraday Trading:
On lower timeframes (1m–15m), the daily levels help identify intraday turning points.
On higher timeframes (1h–4h or daily), the weekly levels provide broader context and directional bias.
Risk Management and Planning:
Using these levels as reference points allows for more precise stop placement, target setting, and overall trade management.
Why This Indicator Helps
Markets often react strongly around previous highs and lows because these zones contain trapped liquidity, pending orders, or institutional decision points.
By having these areas automatically mapped out, traders gain a clear and objective view of where price is likely to respond — without needing to manually draw lines every day or week.
Whether you’re a beginner still learning about price structure, or an advanced trader refining entries within liquidity zones, this tool simplifies the process and keeps your charts clean, consistent, and data-driven.
Proteus EMA SystemInstitutional-Grade EMA System
Overview and Originality
The Institutional-Grade EMA System is an advanced, multi-layered Exponential Moving Average (EMA) overlay indicator designed to provide institutional-level trend analysis, market regime identification, and trade signal generation. Unlike standard multi-EMA scripts that simply plot averages and basic crossovers, this indicator introduces a proprietary integration of features tailored for professional traders: customizable presets that dynamically adjust EMA lengths for specific trading styles (e.g., scalping vs. position trading), multiple selectable trend detection algorithms (including a unique multi-bar slope analysis with percentage-based strength thresholding), EMA alignment and confluence detection for spotting high-conviction trends and reversal zones, volume-based signal filtering, and a comprehensive statistics dashboard for real-time market insights.
What makes this script original and worthy of closed-source protection is the bespoke combination of these elements into a cohesive system. For instance, while basic EMA ribbons or trend coloring exist in other indicators, this script's trend detection goes beyond simple comparisons by incorporating a normalized slope percentage calculation (detailed below) to quantify trend strength on a 0-100% scale, integrated with EMA stacking checks and confluence thresholds. This proprietary logic—refined through extensive backtesting on diverse assets—allows for nuanced market regime classification (e.g., "Strong Uptrend" only when alignment, slope strength, and volume align), which isn't replicated in open-source alternatives. The closed-source format protects the exact orchestration of these algorithms, including custom threshold derivations and dashboard computations, preventing direct replication while allowing users full access to the tool's outputs. If published open-source, the unique mathematical formulations (e.g., slope-to-strength mapping) could be easily copied, diminishing its edge in competitive trading environments.
This indicator draws conceptual inspiration from institutional trend-following systems (e.g., those using multiple time-horizon EMAs like in hedge fund models), but enhances them with modern Pine Script capabilities for visual and analytical depth. It's particularly useful for traders seeking to reduce false signals in volatile markets by requiring multi-factor confluence.
What It Does
Core EMA Plotting and Visualization: Plots up to 7 EMAs (5 primary + 2 optional) with dynamic coloring based on detected trend direction and strength (strong bullish: bright green; weak: faded green; neutral: gray; etc.). Includes EMA ribbons (fills between consecutive EMAs) and clouds (broader fills between non-consecutive EMAs) to visualize trend expansion/contraction.
Trend Detection and Strength: Classifies trends as strong/weak bullish/bearish or neutral using user-selectable methods, with optional volume confirmation to filter low-conviction moves.
Advanced Analytics:
Detects EMA alignment (all EMAs stacked in ascending/descending order for bullish/bearish trends).
Identifies EMA confluence zones (tight clustering of EMAs, signaling potential reversals or consolidations).
Draws dynamic support/resistance lines from the nearest EMAs relative to price.
Signals and Alerts: Generates buy/sell signals on customizable EMA crossovers, only if volume thresholds are met. Includes alerts for crossovers, alignments, confluences, and regime shifts.
User Interface Enhancements: Background coloring for quick trend bias (e.g., green for uptrends, yellow for confluences), dynamic line widths (thicker for slower EMAs), trend state labels, and a table-based dashboard displaying metrics like market regime, trend strength percentage, EMA slopes in degrees, price distances to key EMAs, volume status, and alignment state.
Customization Presets: Pre-configured EMA lengths for Scalping (short, reactive: e.g., 5/8/13), Day Trading (balanced: 9/21/50), Swing Trading (medium-term: 20/50/100), Position Trading (long-term: 50/100/150), or fully custom.
The result is a versatile tool that adapts to any timeframe or asset, helping traders identify high-probability setups by combining trend momentum, volume, and EMA dynamics.
How It Works: Underlying Concepts and Calculations
Without revealing the full implementation, here's a transparent overview of the key concepts and methodologies to help users understand the indicator's logic:
EMA Calculation and Presets: EMAs are computed using standard exponential smoothing (weighting recent prices more heavily). Presets optimize lengths based on trading horizon—shorter for scalping to capture quick reversals, longer for position trading to filter noise. For example, Swing preset uses 20/50/100/150/200 to balance short-term pullbacks with long-term trends, derived from Fibonacci-inspired progressions for natural market rhythm alignment.
Trend Detection Methods: Users select from four algorithms for flexibility:
Multi-Bar Slope (Default): Calculates the average slope over a lookback period (e.g., 3 bars) as (current EMA value - EMA value ) / lookback. Normalizes to a percentage relative to the EMA value: slope_percent = (slope / EMA) * 100. Thresholds classify trends (e.g., >0.05% = strong bullish; 0.01-0.05% = weak; symmetric for bearish). This method draws from linear regression concepts but simplifies for real-time use, providing robust trend quantification over simple bar-to-bar changes.
Previous Bar: Compares current EMA to the prior bar's, with percentage change thresholds (e.g., >0.1% = strong) for quick momentum shifts.
EMA vs EMA: Measures the percentage difference between fast and slow EMAs (e.g., >2% = strong bullish), inspired by MACD-like divergence but applied directly to EMAs.
Price Position: Gauges price's percentage distance from the EMA (e.g., >1% above = strong bullish), similar to envelope channels but integrated into trend coloring.
Trend strength is further scored (0-100%) by averaging absolute slopes of key EMAs, scaled for dashboard display.
Volume Confirmation: Uses a simple moving average of volume over a user-defined length (default 20), requiring current volume to exceed it by a multiplier (default 1.2x) for signal validation. This filters out low-volume fakeouts, akin to institutional volume-weighted strategies.
EMA Alignment: Checks if all visible EMAs are in strict order (fastest highest in uptrends, lowest in downtrends) by iterating through active EMAs and verifying sequential relationships. Signals "ALIGNED" shapes when true, indicating stacked trends like in ribbon strategies but with programmatic validation.
EMA Confluence: Computes the average of active EMAs, then measures the maximum percentage deviation of any EMA from this average. If below a threshold (default 0.5%), marks a "CONFLUENCE ZONE" box, conceptually similar to Bollinger Band squeezes but applied to EMA clusters for reversal anticipation.
Market Regime Classification: Combines alignment, trend score (>30% for "strong"), and price position relative to slowest EMA. For example, bullish alignment + high score = "Strong Uptrend"; close clustering = "Consolidation". This heuristic draws from regime-switching models in quantitative finance.
Signals and Visuals: Crossovers between user-selected EMAs (e.g., fast #1 over slow #2) plot "BUY/SELL" shapes only if volume-confirmed. Ribbons use color fills (green/red) based on EMA order; background shades reflect regime; S/R lines extend from max/min EMAs below/above price over a lookback (default 50 bars).
These calculations ensure the indicator provides actionable, multi-confirmed insights rather than generic plots.
How to Use It
Setup: Add to your chart and select a preset (e.g., "Swing Trading" for 1H-4H charts). Customize trend method (start with "Multi-Bar Slope" for accuracy), enable volume filter for reliability, and toggle visuals like ribbons or dashboard.
Trend Following: In a "Strong Uptrend" (green background, upward slopes >30%, bullish alignment), go long above the fastest EMA. Use S/R lines for stops (below nearest support EMA).
Swing Trading Example: On a daily SPX chart with Swing preset:
Wait for "Weak Uptrend" transition to "Strong" (trend score >50%, positive slopes, volume spike).
Enter long on EMA1 (20) crossing EMA2 (50), confirmed by "BUY" signal.
Target next resistance EMA (e.g., 150), exit on bearish crossover or confluence zone (yellow box signaling potential top).
Risk: Stop below EMA3 (100); aim for 2:1 reward:risk on multi-day holds.
Scalp Trading Example: On a 5-min BTCUSD chart with Scalping preset:
Focus on quick "Weak Bullish" shifts (faded green EMAs, slope >0.01%).
Buy on EMA1 (5) crossing EMA3 (13) with high volume (>1.5x avg).
Scalp 0.2-0.5% gains, exit at slope flattening (dashboard shows <30% strength) or nearest resistance.
Avoid confluences (chop); use 1-min for entries, 15-min for bias.
General Tips:
Combine with price action (e.g., candlestick patterns at confluence zones).
Backtest presets on your asset—adjust thresholds for volatility (e.g., tighter confluence for forex).
Use alerts for hands-off monitoring; multi-timeframe analysis enhances accuracy (higher TF for regime, lower for signals).
For ranging markets ("Neutral" regime), fade extremes near S/R zones.
Examples for Swing Trading
Swing trading focuses on capturing medium-term moves (days to weeks) in trending markets. Use the "Swing Trading" preset, which sets EMAs to 20, 50, 100, 150, 200, 75, 125—balancing sensitivity and smoothness.
Bullish Setup Example: On a daily chart of AAPL, wait for a "Strong Uptrend" regime (green background, bullish alignment label, trend strength >50%). Enter long on a valid bullish crossover (green "BUY" circle) between EMA1 (20) and EMA2 (50), confirmed by high volume. Set stop below nearest support EMA (e.g., EMA3 at 100), target 2-3x risk or next resistance. Hold until bearish crossover or alignment breaks.
Bearish Setup Example: On a 4H chart of EURUSD, spot a "Strong Downtrend" (red background, bearish alignment). Short on a bearish crossover (red "SELL") between EMA1 and EMA3, with volume confirmation. Stop above nearest resistance EMA, exit on confluence zone (yellow) signaling potential reversal.
Tip: Focus on alignments for trend confirmation—avoid trading against them. Use confluence zones as profit-taking areas in ranging markets.
Examples for Scalp Trading
Scalping targets quick, short-term trades (minutes to hours) on lower timeframes. Select the "Scalping" preset for shorter EMAs (5, 8, 13, 21, 34, 55, 89) to catch rapid moves.
Bullish Setup Example: On a 1-min chart of BTCUSD, look for "Weak Uptrend" (faded green background, positive slopes). Enter long on a fast crossover (e.g., EMA1 over EMA2) with high volume and no confluence (avoid chop). Scalp for 0.5-1% gain, exit on slope flattening or bearish cross. Use tight stops below the fastest EMA.
Bearish Setup Example: On a 5-min chart of TSLA, identify "Weak Downtrend" (faded red). Short on a crossover between EMA2 and EMA3, confirmed by volume spike. Target small moves (e.g., 10-20 pips), exit at nearest support EMA or if trend strength drops below 30%.
Tip: Prioritize "Multi-Bar Slope" detection for quick trend shifts. Disable background if it's distracting; focus on crossovers and volume for high-frequency entries. Avoid during confluences, as they signal choppy conditions.
This detailed approach ensures traders can replicate setups while appreciating the indicator's original value. Feedback welcome—let's refine trading edges together!
Adaptive CE-VWAP Breakout Framework [KedArc Quant]📘 Description
A structured framework that unites three complementary systems into one charting engine:
>Chandelier Exit (CE) – ATR-based trailing logic that defines trend direction, stop placement, and risk/reward overlays.
>Swing-Anchored VWAP (SWAV) – a dynamically anchored VWAP that re-starts from each confirmed swing and adapts its smoothness to volatility.
>Pivot S/R with Volume Breaks – confirmed horizontal levels with alerts when broken on expanding volume.
This script builds a single workflow for bias → trigger → management>without mixing unrelated indicators. Each module is internally linked rather than layered cosmetically, making it a true analytical framework—not.
🙏 Acknowledgment
Special thanks to Dynamic Swing Anchored VWAP by @Zeiierman, whose swing-anchoring concept inspired a part of the SWAV module’s implementation and adaptation logic.
Support and Resistance Levels with Breaks by @luxalgo for S/R breakout logic.
🎯 How this helps traders
>Trend clarity – CE color-codes direction and provides evolving stops.
>Context value – SWAV traces adaptive mean paths so traders see where price is “heavy” or “light.”
>Action filter – Pivot+volume logic highlights true structural breaks, filtering false moves.
>Discipline tool – Optional R:R boxes visualize risk and target zones to enforce planning.
🧩 Entry / Exit guidelines (for study purposes only)
Bias Use CE direction: green = long bias · red = short bias
Entry
1. Breakout method>– Trade in CE direction when a pivot level breaks on valid volume.
2. VWAP confirmation>– Prefer breaks occurring around the nearest SWAV path (fair-value cross or re-test).
Exit
>Stop = CE line / recent swing HL / ATR × (multiplier)
>Target = R-multiple × risk (default 2 R)
>Optional live update keeps SL/TP aligned with current CE state.
🧮 Core formula concepts
>ATR Stop: `Stop = High/Low – ATR × multiplier`
>VWAP calc: `Σ(price × vol) / Σ(vol)` anchored at swing pivot, adapted by APT (Adaptive Price Tracking) ratio ∝ ATR volatility.
>Volume oscillator: `100 × (EMA₅ – EMA₁₀)/EMA₁₀`; valid break when > threshold %.
⚙️ Input configuration (high-level)
Master Controls
• Show CE / SWAV modules • Theme & Fill opacity
CE Section
• ATR period & multiplier • Use Close for extremums
• Show buy/sell labels • Await bar confirmation
• Risk-Reward overlay: R-multiple, Stop basis (CE/Swing/ATR×), Live update toggle
SWAV Section
• Swing period • Adaptive Price Tracking length • Volatility bias (ATR-based adaptation) • Line width
Pivot & Volume Breaks
• Left/Right bar windows • Volume threshold % • Show Break labels and alerts
⏱ Best timeframes
>Intraday: 5 m – 30 m for breakout confirmation
>Swing: 1 h – 4 h for trend context
Settings scale with instrument volatility—adjust ATR period and volume threshold to match liquidity.
📘 Glossary
>ATR: Average True Range (volatility metric)
>CE: Chandelier Exit (trailing stop/trend filter)
>SWAV: Swing-Anchored VWAP (anchored mean price path)
>Pivot H/L: Confirmed local extrema using left/right bar windows
>R-multiple: Profit target as a multiple of initial risk
💬 FAQ
Q: Does it repaint? A: No—pivots wait for confirmation and VWAP updates forward-only.
Q: Can modules be disabled? A: Yes—each section has its own toggle.
Q: Can it trade automatically? A: This is an indicator/study, not an auto-strategy.
Q: Is this financial advice? A: No—educational use only.
⚠️ Disclaimer
This script is for educational and analytical purposes only.
It is not financial advice. Trading involves risk of loss. Past performance does not guarantee future results. Always apply sound risk management.
Wyckoff Effort vs. Result📌 Wyckoff Effort vs. Result (E/R) – Visualizing Supply & Demand Imbalance with Volume Confirmation
📖 Overview
The Wyckoff Effort vs. Result (E/R) indicator is designed to help traders interpret market behavior through the lens of volume vs. price movement — a foundational concept in Richard Wyckoff’s methodology.
This tool aims to highlight moments where the “effort” (volume) is not in proportion to the “result” (price movement) — giving insight into potential accumulation or distribution events.
By detecting high-volume candles and classifying them based on their price direction, the indicator visualizes zones where smart money might be active .
⚙️ How It Works
1. Effort Accumulation (High Volume Down Bar):
• When a candle closes lower than it opens (down bar) and has above-average volume , it’s marked as potential absorption of selling pressure (effort to push down met by buying).
• These candles are colored red and the open level is plotted, acting as a potential support or re-test zone.
2. Effort Distribution (High Volume Up Bar):
• When a candle closes higher than it opens (up bar) and has above-average volume , it’s marked as potential distribution (effort to push up absorbed by sellers).
• These candles are colored green and the open level is plotted , acting as a potential resistance or rejection zone.
3. Average Volume Calculation:
• The script calculates a simple moving average (SMA) of volume over a user-defined lookback period.
• If current volume exceeds the average multiplied by a set threshold, it’s treated as a high-effort bar .
🧪 Inputs
Input Description
Average Volume Lookback - Number of bars used to calculate the volume average
High Volume Multiplier. - Multiplier to define what qualifies as “high volume”
🖥️ Visual Output
• 🔴 Red candles = High volume on a down bar → possible accumulation
• 🟢 Green candles = High volume on an up bar → possible distribution
• 📉 Horizontal lines at bar open price mark the potential zones where effort occurred
These zones can serve as:
• Areas of support/resistance
• Trap zones where smart money absorbs liquidity
• Entry/exit filters when combined with price action
🧠 How to Use
• Use in combination with price structure, support/resistance, and volume profile tools
• Watch how price reacts when it revisits the plotted lines
• Look for effort bars that fail to lead to continuation, signaling potential reversal
• Can be used in scalping, swing trading, or Wyckoff-style phase analysis
🔒 Technical Notes
• ✅ Does not repaint
• ✅ Built with Pine Script v6
• ✅ Lightweight and customizable
• ❌ Does not generate buy/sell signals — it provides context, not predictions
BSL/SSL This indicator automatically detects and highlights Buy-Side Liquidity (BSL) and Sell-Side Liquidity (SSL) zones based on swing highs and swing lows, following the ICT (Inner Circle Trader) liquidity concept.
Instead of large rectangles or extended zones, this version marks liquidity pools with clean, compact boxes, allowing traders to clearly visualize where stops and resting orders are likely accumulated — without cluttering the chart.
Twisted Forex's Doji + Area StrategyTitle
Twisted Forex’s Doji + Area Strategy
Description
What this strategy does
This strategy looks for doji candles forming inside or near supply/demand areas . Areas are built from swing pivots and sized with ATR, then tracked for retests (“confirmations”). When a doji prints close to an area and quality checks pass, the strategy places a trade with the stop beyond the doji and a configurable R:R target.
How areas (zones) are built
• Swings are detected with a user-set pivot length.
• Each swing spawns a horizontal area centered at the pivot price with half-height = zoneHalfATR × ATR .
• Duplicates are de-duplicated by center distance (ATR-scaled).
• Areas fade when broken beyond a buffer or after an optional age (expiry).
• Retests are recorded when price touches and then bounces away from the area; repeated reactions increase the zone’s “strength”.
Signal logic (summary)
Doji detection: strict or loose body criteria with optional minimum wick fractions and ATR-scaled minimum range.
Proximity: price must be inside/near a supply or demand area (proxATR × ATR).
Side resolution: overlap is resolved by (a) which side price penetrates more, (b) fast/slow EMA trend, or (c) nearest distance. Optional “previous candle flip” can bias long after a bearish candle and short after a bullish one.
Optional 1-bar confirmation: the bar after the doji must close away from the area by confirmATR × ATR .
Quality filter (Off/Soft/Strict): four checks—(i) wick rejection past the edge, (ii) doji closes in an edge “band” of the area, (iii) fresh touch (cooldown), (iv) approach impulse over a short lookback. In Strict , thresholds auto-tighten.
Orders & exits
• Long: stop below doji low minus buffer; Short: above doji high plus buffer.
• Target = rrMultiple × risk distance .
• Pyramiding is off by default.
Position sizing
You can size from the script or from Strategy Properties:
• Script-driven (default): set Position sizing = “Risk % of equity” and choose riskPercent (e.g., 1.0%). The script applies safe floors/rounding (FX micro-lots by default) so quantity never rounds to zero.
• Properties-driven : toggle Use TV Properties → Order size ON, then pick “Percent of equity” in Properties (e.g., 1%). The header includes safe defaults so trades still place.
Key inputs to explore
• Zone building : pivotLen, zoneHalfATR, minDepartureATR, expiryBars, breakATR, leftBars, dedupeATR.
• Doji & proximity : strictDoji, dojiBodyFrac, minWickFrac, minRangeATR, proxATR, minBarsBetween.
• Overlap resolution : usePenetration, useTrend (EMA 21/55), “previous candle flip”, needNextBarConf & confirmATR.
• Quality : qualityMode (Off/Soft/Strict), minQualPass/kStrict, wickPenATR, edgeBandFrac, approachLookback, approachMinATR, freshTouchBars.
• Zone strength gating : minStrengthSoft / minStrengthStrict.
• HTF confluence (optional) : useHTFTrend (HTF EMA 34/89) and/or useHTFZoneProx (HTF swing bands).
Tips to make it cleaner / higher quality
• Turn needNextBarConf ON and use confirmATR = 0.10–0.15 .
• Increase approachMinATR (e.g., 0.35–0.45) to require a stronger pre-touch impulse.
• Raise minStrengthSoft/Strict (e.g., 4–6) so only well-reacted zones can signal.
• Use signalsOnlyConfirmed ON if you prefer trades only from zones with retests (the script falls back gracefully when none exist yet).
• Nudge proxATR to 0.5–0.6 to demand tighter proximity to the level.
• Optional: enable useHTFTrend to filter counter-trend setups.
Default settings used in this publication
• Initial capital: 100,000 (illustrative).
• Slippage: 1 tick; Commission: 0% (you can raise commission if you prefer—spread is partly modeled by slippage).
• Sizing: Risk % of equity via inputs; riskPercent = 1.0% ; FX uses micro-lot floors by default.
• Quality: Off by default (Soft/Strict available).
• HTF trend gate: Off by default.
Backtesting notes
For a meaningful sample size, test on liquid symbols/timeframes that yield 100+ trades (e.g., majors on 5–15m over 1–2 years). Backtests are modelled and broker costs/spread vary—validate on your feed and forward-test.
How to read the chart
Shaded bands are supply (above) and demand (below). Brighter bands are the nearest K per side (visual aid). BUY/SELL labels mark entries; colored dots show entry/SL/TP levels. You can hide zones or unconfirmed zones for a cleaner view.
Disclaimer
This is educational material, not financial advice. Trading involves risk. Always test and size responsibly.
GOLDSNIPERThe Gold Sniper Indicator is a precision trading tool designed specifically for scalping and intraday trading Gold (XAUUSD) on TradingView.
It automatically plots institutional key levels, detects breakout & retest opportunities, and provides trade management levels (Stop Loss & Take Profit) for structured, disciplined trading.
Aug 6
Release Notes
The Gold Sniper Indicator is a precision trading tool designed specifically for scalping and intraday trading Gold (XAUUSD) on TradingView.
It automatically plots institutional key levels, detects breakout & retest opportunities, and provides trade management levels (Stop Loss & Take Profit) for structured, disciplined trading
Aug 13
Release Notes
The Gold Sniper Indicator is a precision trading tool designed specifically for scalping and intraday trading Gold (XAUUSD) on TradingView.
It automatically plots institutional key levels, detects breakout & retest opportunities, and provides trade management levels (Stop Loss & Take Profit) for structured, disciplined trading.
3 days ago
Release Notes
The Gold Sniper Indicator is a precision TradingView tool for scalping and intraday trading Gold (XAUUSD).
It is built around a break-and-retest strategy with clear trade management: 10 pip Stop Loss, 20 pip TP1, and 35 pip TP2.
The indicator automatically:
• Plots institutional key levels and supply & demand zones
• Detects breakout and retest opportunities in real time
• Provides stop loss and take profit levels for structured, disciplined trading
Whether you’re a scalper or day trader, Gold Sniper helps you catch high-probability setups on XAUUSD with precise risk-to-reward ratios (1:1 and 1:3).
Uptrick: ATR ModelIntroduction
The Uptrick: ATR Model is a multi-regime directional tool designed to adapt to various trading styles and timeframes. It combines trend assessment, market state evaluation, visual overlays, and signal filtering into a single, highly configurable system. This indicator is intended to help traders interpret directional conditions, structure their entries and exits, and view real-time shifts in market context, all without relying on external scripts or multiple chart layers.
Core Functionality
At its foundation, the Uptrick: ATR Model builds a framework that responds to user-defined structure and market behavior. Through a wide range of inputs, traders can adjust the internal responsiveness, signal frequency, and volatility interaction of the system. The core behavior of the model can be shaped via:
Custom starting date for signal activation
Flexible smoothing structure
Adjustable expansion control for range boundaries
Signal persistence settings to limit noise
Conditional plotting of directional signals
Real-time bar coloring and overlays
Custom routing between long, short, and neutral positioning
This indicator is not tied to a single interpretation of market movement. Instead, it adapts to how the user defines structural behavior, volatility confirmation, and trend alignment.
Multi-Regime Architecture
The script includes four unique operating regimes, each offering a distinct model of interpreting market conditions:
Trend Mode
This regime focuses on trend state transitions over time. Signal behavior is aligned with directional market shifts and transitions are plotted with visual labels. Optional filters and persistence settings help control signal quality and responsiveness.
Cloud Close Mode
Cloud Close mode detects transitions when price interacts with dynamic boundaries. Signals are generated when the asset moves in or out of these ranges. This regime supports state memory to avoid repeated signals and emphasizes confirmation over reactivity.
Lightning Trend Mode
This mode evaluates momentum alignment across selected structures. Its behavior is based on composite assessments and dynamically reflects changes in directional agreement. This regime is well-suited for intraday or high-resolution users seeking visual confirmation of trend shifts.
Final Verdict Mode
A meta-regime that combines the output of the other three modes into a single directional consensus. A live decision table is displayed on-screen, showing the current verdict of each regime and a final, averaged output. This mode is designed for high-conviction or conservative traders who prefer confirmation across multiple systems.
Each regime can be enabled through a single selector, and the indicator adapts its signal behavior and bar coloring to reflect the active mode.
Signal System and Visual Feedback
The indicator generates Long, Short, or Cash (neutral/exit) signals depending on the active regime, directional configuration, and filter conditions. Signal shapes are plotted only once per state transition and are color-coded for clarity.
Users can define:
Whether signals should support both long and short, or long-only
Whether repeated signals are allowed (pyramiding control)
Whether to enforce a minimum number of confirming bars before a signal is allowed (persistence)
Signals are accompanied by real-time bar coloring, giving users an instant visual cue of the current state without relying on shape markers alone. These signals adjust based on the selected regime and are subject to any active confirmation filters.
Confirmation Filters
To reduce noise and improve the relevance of each signal, the model includes two optional filters:
Strength Filter
[Applies a condition based on the asset’s momentum. When enabled, signals will only fire if this condition aligns with the trade direction. Includes parameters for sensitivity and smoothness.
Trend Filter
Applies a directional filter based on a broader trend context. Signals will only trigger when this larger structure supports the directional bias. This filter is useful for avoiding signals during counter-trend moves or consolidations.
Both filters can be toggled independently. When disabled, the model will operate with fewer restrictions.
Dynamic Structure Customization
Users can control how the internal structure of the model behaves using:
Source selection (e.g., close, open, high, etc.)
Smoothing configuration using a tiered structure with up to three stages
Custom length inputs to adjust responsiveness
Selectable method options for each layer
Expansion settings to adjust the distance of dynamic boundaries
Signal persistence threshold to delay entries until confirmation is met
This modular control allows traders to define whether they want faster reaction to movement or more conservative, delayed responses depending on their strategy.
Final Verdict Table
The Final Verdict table is a live display that summarizes the signal output of the three core regimes (Trend, Cloud Close, and Lightning Trend). It includes:
Regime names and their current directional state
Directional scores for each regime
A final averaged score and directional label
The table is updated every bar and is fully customizable:
Position on screen (top left, center, bottom right, etc.)
Text size for readability
Color-coded state labels for fast interpretation
This feature is designed to offer structured decision support by showing consensus or divergence across all logic models in real time.
Static Levels Module
An optional module allows the user to anchor a high point (typically an all-time high) from a user-defined historical date. From that anchor, multiple levels are projected downward using fixed ratios. These levels are:
Automatically updated when new highs occur
Visualized using horizontal step-lines
Fully customizable in terms of count, color, and source
These levels serve as contextual guides and can assist with price projection, risk management, or discretionary confluence zones.
Directional Control
The model supports both Long & Short and Long Only signal modes. In Long Only mode, exit signals are routed to neutral (Cash) instead of Short. This allows users to align the indicator with personal strategy, risk appetite, or portfolio rules. Neutral signals are also plotted with distinct labels and coloring to indicate a directional reset.
Input Summary
All components of the script are user-configurable through the following inputs:
Start date selector to restrict signal generation
Source selection for core price input
Custom lengths and responsiveness settings
Smoothing structure with optional stacking
Expansion control for range width
Signal persistence threshold
Signal type selector (long-only or long & short)
Regime selector between four logic systems
Filters: strength-based and trend-based
Verdict table display settings (position and size)
Static levels: anchor date, count, source, and visual customization
Originality
What sets the Uptrick: ATR Model apart is its integration of multiple directional systems into a single, configurable interface. Each regime is distinct and interprets market behavior from a unique perspective, while the Final Verdict mode offers a consolidated view that few tools provide in a fully visual and non-redundant format. The Lightning Trend scoring engine and modular structural design offer a level of control and flexibility uncommon in single-layer indicators. The combination of signal gating, decision tables, and state tracking creates a cohesive, structured environment for directional evaluation.
Summary
The Uptrick: ATR Model is a complete directional and volatility analysis system designed for customizable trend evaluation, signal clarity, and strategic filtering. It adapts to different trader needs through its configurable regimes, state-aware signals, dynamic overlays, and visual decision tools. It is suitable for discretionary traders seeking structured guidance, as well as systematic users who require configurable state management and signal control.
Disclaimer
This tool is provided for informational and research purposes only. It does not constitute investment advice or a recommendation to buy or sell any financial instrument. All trading involves risk, and past performance does not guarantee future results. Users are solely responsible for their own decisions.
Algorithmic Value Oscillator [CRYPTIK1]Algorithmic Value Oscillator
Introduction: What is the AVO? Welcome to the Algorithmic Value Oscillator (AVO), a powerful, modern momentum indicator that reframes the classic "overbought" and "oversold" concept. Instead of relying on a fixed lookback period like a standard RSI, the AVO measures the current price relative to a significant, higher-timeframe Value Zone .
This gives you a more contextual and structural understanding of price. The core question it answers is not just "Is the price moving up or down quickly?" but rather, " Where is the current price in relation to its recently established area of value? "
This allows traders to identify true "premium" (overbought) and "discount" (oversold) levels with greater accuracy, all presented with a clean, futuristic aesthetic designed for the modern trader.
The Core Concept: Price vs. Value The market is constantly trying to find equilibrium. The AVO is built on the principle that the high and low of a significant prior period (like the previous day or week) create a powerful area of perceived value.
The Value Zone: The range between the high and low of the selected higher timeframe.
Premium Territory (Distribution Zone): When the oscillator moves into the glowing pink/purple zone above +100, it is trading at a premium.
Discount Territory (Accumulation Zone): When the oscillator moves into the glowing teal/blue zone below -100, it is trading at a discount.
Key Features
1. Glowing Gradient Oscillator: The main oscillator line is a dynamic visual guide to momentum.
The line changes color smoothly from light blue to neon teal as bullish momentum increases.
It shifts from hot pink to bright purple as bearish momentum increases.
Multiple transparent layers create a professional "glow" effect, making the trend easy to see at a glance.
2. Dynamic Volatility Histogram: This histogram at the bottom of the indicator is a custom volatility meter. It has been engineered to be adaptive, ensuring that the visual differences between high and low volatility are always clear and dramatic, no matter your zoom level. It uses a multi-color gradient to visualize the intensity of market volatility.
3. Volatility Regime Dashboard: This simple on-screen table analyzes the histogram and provides a clear, one-word summary of the current market state: Compressing, Stable, or Expanding.
How to Use the AVO: Trading Strategies
1. Reversion Trading This is the most direct way to use the indicator.
Look for Buys: When the AVO line drops into the teal "Accumulation Zone" (below -100), the price is trading at a discount. Watch for the oscillator to form a bottom and start turning up as a signal that buying pressure is returning.
Look for Sells: When the AVO line moves into the pink "Distribution Zone" (above +100), the price is trading at a premium. Watch for the oscillator to form a peak and start turning down as a signal that selling pressure is increasing.
2. Best Practices & Settings
Timeframe Synergy: The AVO is most effective when your chart timeframe is lower than your selected "Value Zone Source." For example, if you trade on the 1-hour chart, set your Value Zone to "Previous Day."
Confirmation is Key: This indicator provides powerful context, but it should not be used in isolation. Always combine its readings with your primary analysis, such as market structure and support/resistance levels.
Demand & Supply Smart Zones (Riz)A professional zone engine that detects, ranks, and maintains Supply and Demand areas across multiple timeframes. It combines swing structure, engulfing/imbalance logic, optional liquidity-sweep validation, and trend/volume filters. Zones are refined, merged, aged, and removed automatically, while a dashboard and mini-map summarize the state of the market at a glance.
How it works (why this isn’t a simple mashup)
⦁ Zone Detection (Auto/Manual/Hybrid):
⦁ Auto finds zones from three independent catalysts: swing turns, engulfing patterns, and imbalance candles.
⦁ Manual lets you define a zone precisely (top/bottom + type).
⦁ Hybrid adds your manual zones on top of the model’s detections.
⦁ Strength Model: Each zone receives a score using ATR-scaled size, relative volume (vs SMA), timeframe weight (higher TF = more authority), and session context (optional Killzone boost). This surfaces the most actionable areas rather than plotting everything.
⦁ Filters for Quality (Conservative/Aggressive):
⦁ Conservative can require trend alignment (EMA), volume validation, wide-body candles, structure context, and optional liquidity sweep checks.
⦁ Aggressive relaxes filters for faster, more frequent zones (e.g., scalping).
⦁ Refinement & Styling: Zones can be refined by wick, body, or hybrid logic to avoid over-sized regions. Visuals support solid/gradient/border styles, fresh/retest labels, and a heat-map emoji for strength.
⦁ Lifecycle Management: Zones can auto-delete on touch, delete on break, shrink on retests, expire after X bars, and cap retests. Old/merged zones are cleaned up to keep charts responsive.
⦁ Multi-Timeframe (MTF) Logic: Detects and optionally normalizes HTF zones (e.g., 60/240/D). Overlapping zones are merged across TFs with the higher TF taking precedence and receiving a small strength bonus. This prevents duplication and emphasizes institutional levels.
⦁ Proximity & Interaction Alerts: Alerts can fire on approach, first entry, and break, with separate Supply/Demand variants and per-TF options. An internal tracker avoids duplicate alert spam.
On-chart tools
⦁ Zones: Supply (red) / Demand (green), with “Fresh” or “R#” labels and strength heat-map.
⦁ Dashboard: Counts zones per TF, shows nearest supply/demand (in pips), trend state, and mode.
⦁ Mini-Map: A compact list of the 10 closest zones with TF, freshness, strength, and distance.
⦁ Trend Line (optional): EMA for directional context.
⦁ Killzone Background (optional): Session emphasis for timing.
Inputs & Key Options
⦁ Detection Mode: Auto · Manual · Hybrid
⦁ Strictness: Aggressive (more zones) · Conservative (fewer, higher quality)
⦁ Catalysts: Engulfing, Imbalance (ATR + volume threshold), Swing strength
⦁ Filters: Volume multiplier, wide-body %, trend EMA, structure checks, liquidity sweep lookback
⦁ MTF: Up to 3 higher TFs, with normalization to prevent oversized zones and priority stacking
⦁ Management: Auto-delete on touch, delete on break, dynamic shrinking, expiry bars, max retests
⦁ Merging: Overlap threshold and cross-TF consolidation
⦁ Alerts: Proximity (distance in pips), First Entry (fresh touch), Break, per-TF toggles
⦁ Display: Labels, size, heat-map, merging tags, dashboard position, mini-map
How to use
1. Choose Strictness
⦁ Conservative for swing/HTF traders who prefer cleaner, stronger zones.
⦁ Aggressive for scalpers who want earlier, more frequent levels.
2. Enable MTF and set HTF1/HTF2(/HTF3). Turn on Normalization to avoid giant HTF boxes.
3. Pick Catalysts & Filters. Start with Engulfing + Imbalance + Swing. Add volume/EMA/liquidity filters for quality.
4. Watch the Dashboard: It highlights mode, counts per TF, nearest zones (with distance), and overall trend.
5. Trade the Interaction:
⦁ Proximity alert → prepare;
⦁ First entry (fresh touch) → your confirmation rules;
⦁ Break → consider flips or invalidation.
6. Manual Zones (Hybrid): Add precise institutional levels and let the engine manage them (shrink, expire, merge).
Alerts (titles you’ll see)
⦁ Zone Proximity – approach within X pips
⦁ Zone Entry / Supply Zone Entry / Demand Zone Entry – first touch
⦁ Zone Break / Supply Zone Break / Demand Zone Break – clean break
⦁ Current TF / HTF1 / HTF2 Zone Alert – timeframe-specific triggers
⦁ Any Zone Alert – catch-all for any interaction
Notes & Tips
⦁ Fresh > Retested: First touches generally score better and are labeled accordingly.
⦁ Context Matters: Combining HTF zones with trend and volume filters significantly improves selectivity.
⦁ Performance: Zone limits and periodic cleanup are built in. If you plot many HTFs with Aggressive mode, consider raising strictness or lowering max zones.
Disclaimer
This tool is for educational and analytical purposes only. It does not constitute financial advice, nor does it guarantee outcomes. Trading involves risk; use proper risk management and your own judgment.
Intraday Buy/Sell/Average Zones by Chaitu50cIntraday Buy/Sell/Average Zones by chaitu50c
Timeframe:
Tested on the 5-minute chart.
Recommended timeframe: 5-minute
What it does
This indicator marks intraday Buy (green) and Sell (red) zones made by strong close-confirmed breakouts. These zones act as support/resistance. If price later closes through a zone, the zone changes color from that bar forward (support ↔ resistance). It can flip more than once.
How zones form
Single breakout: an opposite-type candle closes beyond the previous candle’s high/low.
Double breakout: a base candle, then two opposite-type candles, and the second one closes beyond the base high/low.
Zone size
Buy zone: from the combo lowest low up to the nearest open/close of the combo.
Sell zone: from the combo highest high down to the nearest open/close of the combo.
Color shift (optional)
If price closes through a zone, it flips color at that bar and behaves as the other side (support ↔ resistance). Flips can happen again later.
Overlap control
When a new zone overlaps an existing same-color zone in the same session, choose:
Merge (combine), or
Suppress (ignore the new one).
Flipped zones use their current color for this.
Right edge & session
All zones extend to the right (your offset). Detection is limited to your chosen session, and you can show only the last N sessions.
---
How to trade (simple)
A) Initial breakout trade
When a new zone forms, that breakout itself can be a trade idea in the breakout direction, The stoploss will be the zone.
B) Zone breakout trade (flip)
If price later closes out of a zone and it changes color, that breakout is another trade opportunity in the new direction.
C) Retrace & average trade
When price retests a zone, wait for a confirmation candle in the zone’s favor
— bullish close for a green zone, bearish close for a red zone — then average entries inside/near the zone.
Place stops just beyond the opposite edge of the zone.
If the zone flips color, stop averaging; bias changed.
---
Key settings
Breakout type: Single and/or Double
Confirm on Close: strict mode (no intrabar preview) or allow intrabar preview that auto-removes if fail
Color Shift on Breaks: on/off
Same-Type Overlap: Merge/Suppress
Session, Sessions to Display, Right Offset, Colors, Max Zones
Reminder: Best results on the 5-minute timeframe (tested and recommended).
Key Levels: Daily, Weekly, Monthly [BackQuant]Key Levels: Daily, Weekly, Monthly
Map the market’s “memory” in one glance—yesterday’s range, this week’s chosen day high/low, and D/W/M opens—then auto-clean levels once they break.
What it does
This tool plots three families of high-signal reference lines and keeps them tidy as price evolves:
Chosen Day High/Low (per week) — Pick a weekday (e.g., Monday). For each past week, the script records that day’s session high and low and projects them forward for a configurable number of bars. These act like “memory levels” that price often revisits.
Daily / Weekly / Monthly Opens — Plots the opening price of each new day, week, and month with separate styling. These opens frequently behave like magnets/flip lines intraday and anchors for regime on higher timeframes.
Auto-pruning — When price breaks a stored level, the script can automatically remove it to reduce clutter and refocus you on still-active lines. See: (broken levels removed).
Why these levels matter
Liquidity pockets — Prior day’s high/low and the daily open concentrate stops and pending orders. Mapping them quickly reveals likely sweep or fade zones. Example: previous day highs + daily open highlighting liquidity:
Context & regime — Monthly opens frame macro bias; trading above a rising cluster of monthly opens vs. below gives a clean top-down read. Example: monthly-only “macro outlook” view:
Cleaner charts — Auto-remove broken lines so you focus on what still matters right now.
What it plots (at a glance)
Past Chosen Day High/Low for up to N prior weeks (your choice), extended right.
Current Daily Open , Weekly Open , and Monthly Open , each with its own color, label, and forward extension.
Optional short labels (e.g., “Mon High”) or full labels (with week/month info).
How breaks are detected & cleaned
You control both the evidence and the timing of a “break”:
Break uses — Choose Close (more conservative) or Wick (more sensitive).
Inclusive? — If enabled, equality counts (≥ high or ≤ low). If disabled, you need a strict cross.
Allow intraday breaks? — If on, a level can break during the tracked day; if off, the script only counts breaks after the session completes.
Remove Broken Levels — When a break is confirmed, the line/label is deleted automatically. (See the demo: )
Quick start
Pick a Day of Week to Track (e.g., Monday).
Set how many weeks back to show (e.g., 8–10).
Choose how far to extend each family (bars to the right for chosen-day H/L and D/W/M opens).
Decide if a break uses Close or Wick , and whether equality counts.
Toggle Remove Broken Levels to keep the chart clean automatically.
Tips by use-case
Intraday bias — Watch the Daily Open as a magnet/flip. If price gaps above and holds, pullbacks to the daily open often decide direction. Pair with last day’s high/low for sweep→reversal or true breakout cues. See:
Weekly structure — Track the week’s chosen day (e.g., Monday) high/low across prior weeks. If price stalls near a cluster of old “Monday Highs,” look for sweep/reject patterns or continuation on reclaim.
Macro regime — Hide daily/weekly lines and keep only Monthly Opens to read bigger cycles at a glance (BTC/crypto especially). Example:
Customization
Use wicks or bodies for highs/lows (wicks capture extremes; bodies are stricter).
Line style & thickness — solid/dashed/dotted, width 1–5, plus global transparency.
Labels — Abbreviated (“Mon High”, “D Open”) or full (month/week/day info).
Color scheme — Separate colors for highs, lows, and each of D/W/M opens.
Capacity controls — Set how many daily/weekly/monthly opens and how many weeks of chosen-day H/L to keep visible.
What’s under the hood
On your selected weekday, the script records that session’s true high and true low (using wicks or body-based extremes—your choice), then projects a horizontal line forward for the next bars.
At each new day/week/month , it records the opening price and projects that line forward as well.
Each bar, the script checks your “break” rules; once broken, lines/labels are removed if auto-cleaning is on.
Everything updates in real time; past levels don’t repaint after the session finishes.
Recommended presets
Day trading — Weeks back: 6–10; extend D/W opens: 50–100 bars; Break uses: Close ; Inclusive: off; Auto-remove: on.
Swing — Fewer daily opens, more weekly opens (2–6), and 8–12 weeks of chosen-day H/L.
Macro — Show only Monthly Opens (1–6 months), dashed style, thicker lines for clarity.
Reading the examples
Broken lines disappear — decluttering in action:
Macro outlook — monthly opens as cycle rails:
Liquidity map — previous day highs + daily open:
Final note
These are not “signals”—they’re reference points that many participants watch. By standardising how you draw them and automatically clearing the ones that no longer matter, you turn a noisy chart into a focused map: where liquidity likely sits, where price memory lives, and which lines are still in play.
ATAI Volume analysis with price action V 1.00ATAI Volume Analysis with Price Action
1. Introduction
1.1 Overview
ATAI Volume Analysis with Price Action is a composite indicator designed for TradingView. It combines per‑side volume data —that is, how much buying and selling occurs during each bar—with standard price‑structure elements such as swings, trend lines and support/resistance. By blending these elements the script aims to help a trader understand which side is in control, whether a breakout is genuine, when markets are potentially exhausted and where liquidity providers might be active.
The indicator is built around TradingView’s up/down volume feed accessed via the TradingView/ta/10 library. The following excerpt from the script illustrates how this feed is configured:
import TradingView/ta/10 as tvta
// Determine lower timeframe string based on user choice and chart resolution
string lower_tf_breakout = use_custom_tf_input ? custom_tf_input :
timeframe.isseconds ? "1S" :
timeframe.isintraday ? "1" :
timeframe.isdaily ? "5" : "60"
// Request up/down volume (both positive)
= tvta.requestUpAndDownVolume(lower_tf_breakout)
Lower‑timeframe selection. If you do not specify a custom lower timeframe, the script chooses a default based on your chart resolution: 1 second for second charts, 1 minute for intraday charts, 5 minutes for daily charts and 60 minutes for anything longer. Smaller intervals provide a more precise view of buyer and seller flow but cover fewer bars. Larger intervals cover more history at the cost of granularity.
Tick vs. time bars. Many trading platforms offer a tick / intrabar calculation mode that updates an indicator on every trade rather than only on bar close. Turning on one‑tick calculation will give the most accurate split between buy and sell volume on the current bar, but it typically reduces the amount of historical data available. For the highest fidelity in live trading you can enable this mode; for studying longer histories you might prefer to disable it. When volume data is completely unavailable (some instruments and crypto pairs), all modules that rely on it will remain silent and only the price‑structure backbone will operate.
Figure caption, Each panel shows the indicator’s info table for a different volume sampling interval. In the left chart, the parentheses “(5)” beside the buy‑volume figure denote that the script is aggregating volume over five‑minute bars; the center chart uses “(1)” for one‑minute bars; and the right chart uses “(1T)” for a one‑tick interval. These notations tell you which lower timeframe is driving the volume calculations. Shorter intervals such as 1 minute or 1 tick provide finer detail on buyer and seller flow, but they cover fewer bars; longer intervals like five‑minute bars smooth the data and give more history.
Figure caption, The values in parentheses inside the info table come directly from the Breakout — Settings. The first row shows the custom lower-timeframe used for volume calculations (e.g., “(1)”, “(5)”, or “(1T)”)
2. Price‑Structure Backbone
Even without volume, the indicator draws structural features that underpin all other modules. These features are always on and serve as the reference levels for subsequent calculations.
2.1 What it draws
• Pivots: Swing highs and lows are detected using the pivot_left_input and pivot_right_input settings. A pivot high is identified when the high recorded pivot_right_input bars ago exceeds the highs of the preceding pivot_left_input bars and is also higher than (or equal to) the highs of the subsequent pivot_right_input bars; pivot lows follow the inverse logic. The indicator retains only a fixed number of such pivot points per side, as defined by point_count_input, discarding the oldest ones when the limit is exceeded.
• Trend lines: For each side, the indicator connects the earliest stored pivot and the most recent pivot (oldest high to newest high, and oldest low to newest low). When a new pivot is added or an old one drops out of the lookback window, the line’s endpoints—and therefore its slope—are recalculated accordingly.
• Horizontal support/resistance: The highest high and lowest low within the lookback window defined by length_input are plotted as horizontal dashed lines. These serve as short‑term support and resistance levels.
• Ranked labels: If showPivotLabels is enabled the indicator prints labels such as “HH1”, “HH2”, “LL1” and “LL2” near each pivot. The ranking is determined by comparing the price of each stored pivot: HH1 is the highest high, HH2 is the second highest, and so on; LL1 is the lowest low, LL2 is the second lowest. In the case of equal prices the newer pivot gets the better rank. Labels are offset from price using ½ × ATR × label_atr_multiplier, with the ATR length defined by label_atr_len_input. A dotted connector links each label to the candle’s wick.
2.2 Key settings
• length_input: Window length for finding the highest and lowest values and for determining trend line endpoints. A larger value considers more history and will generate longer trend lines and S/R levels.
• pivot_left_input, pivot_right_input: Strictness of swing confirmation. Higher values require more bars on either side to form a pivot; lower values create more pivots but may include minor swings.
• point_count_input: How many pivots are kept in memory on each side. When new pivots exceed this number the oldest ones are discarded.
• label_atr_len_input and label_atr_multiplier: Determine how far pivot labels are offset from the bar using ATR. Increasing the multiplier moves labels further away from price.
• Styling inputs for trend lines, horizontal lines and labels (color, width and line style).
Figure caption, The chart illustrates how the indicator’s price‑structure backbone operates. In this daily example, the script scans for bars where the high (or low) pivot_right_input bars back is higher (or lower) than the preceding pivot_left_input bars and higher or lower than the subsequent pivot_right_input bars; only those bars are marked as pivots.
These pivot points are stored and ranked: the highest high is labelled “HH1”, the second‑highest “HH2”, and so on, while lows are marked “LL1”, “LL2”, etc. Each label is offset from the price by half of an ATR‑based distance to keep the chart clear, and a dotted connector links the label to the actual candle.
The red diagonal line connects the earliest and latest stored high pivots, and the green line does the same for low pivots; when a new pivot is added or an old one drops out of the lookback window, the end‑points and slopes adjust accordingly. Dashed horizontal lines mark the highest high and lowest low within the current lookback window, providing visual support and resistance levels. Together, these elements form the structural backbone that other modules reference, even when volume data is unavailable.
3. Breakout Module
3.1 Concept
This module confirms that a price break beyond a recent high or low is supported by a genuine shift in buying or selling pressure. It requires price to clear the highest high (“HH1”) or lowest low (“LL1”) and, simultaneously, that the winning side shows a significant volume spike, dominance and ranking. Only when all volume and price conditions pass is a breakout labelled.
3.2 Inputs
• lookback_break_input : This controls the number of bars used to compute moving averages and percentiles for volume. A larger value smooths the averages and percentiles but makes the indicator respond more slowly.
• vol_mult_input : The “spike” multiplier; the current buy or sell volume must be at least this multiple of its moving average over the lookback window to qualify as a breakout.
• rank_threshold_input (0–100) : Defines a volume percentile cutoff: the current buyer/seller volume must be in the top (100−threshold)%(100−threshold)% of all volumes within the lookback window. For example, if set to 80, the current volume must be in the top 20 % of the lookback distribution.
• ratio_threshold_input (0–1) : Specifies the minimum share of total volume that the buyer (for a bullish breakout) or seller (for bearish) must hold on the current bar; the code also requires that the cumulative buyer volume over the lookback window exceeds the seller volume (and vice versa for bearish cases).
• use_custom_tf_input / custom_tf_input : When enabled, these inputs override the automatic choice of lower timeframe for up/down volume; otherwise the script selects a sensible default based on the chart’s timeframe.
• Label appearance settings : Separate options control the ATR-based offset length, offset multiplier, label size and colors for bullish and bearish breakout labels, as well as the connector style and width.
3.3 Detection logic
1. Data preparation : Retrieve per‑side volume from the lower timeframe and take absolute values. Build rolling arrays of the last lookback_break_input values to compute simple moving averages (SMAs), cumulative sums and percentile ranks for buy and sell volume.
2. Volume spike: A spike is flagged when the current buy (or, in the bearish case, sell) volume is at least vol_mult_input times its SMA over the lookback window.
3. Dominance test: The buyer’s (or seller’s) share of total volume on the current bar must meet or exceed ratio_threshold_input. In addition, the cumulative sum of buyer volume over the window must exceed the cumulative sum of seller volume for a bullish breakout (and vice versa for bearish). A separate requirement checks the sign of delta: for bullish breakouts delta_breakout must be non‑negative; for bearish breakouts it must be non‑positive.
4. Percentile rank: The current volume must fall within the top (100 – rank_threshold_input) percent of the lookback distribution—ensuring that the spike is unusually large relative to recent history.
5. Price test: For a bullish signal, the closing price must close above the highest pivot (HH1); for a bearish signal, the close must be below the lowest pivot (LL1).
6. Labeling: When all conditions above are satisfied, the indicator prints “Breakout ↑” above the bar (bullish) or “Breakout ↓” below the bar (bearish). Labels are offset using half of an ATR‑based distance and linked to the candle with a dotted connector.
Figure caption, (Breakout ↑ example) , On this daily chart, price pushes above the red trendline and the highest prior pivot (HH1). The indicator recognizes this as a valid breakout because the buyer‑side volume on the lower timeframe spikes above its recent moving average and buyers dominate the volume statistics over the lookback period; when combined with a close above HH1, this satisfies the breakout conditions. The “Breakout ↑” label appears above the candle, and the info table highlights that up‑volume is elevated relative to its 11‑bar average, buyer share exceeds the dominance threshold and money‑flow metrics support the move.
Figure caption, In this daily example, price breaks below the lowest pivot (LL1) and the lower green trendline. The indicator identifies this as a bearish breakout because sell‑side volume is sharply elevated—about twice its 11‑bar average—and sellers dominate both the bar and the lookback window. With the close falling below LL1, the script triggers a Breakout ↓ label and marks the corresponding row in the info table, which shows strong down volume, negative delta and a seller share comfortably above the dominance threshold.
4. Market Phase Module (Volume Only)
4.1 Concept
Not all markets trend; many cycle between periods of accumulation (buying pressure building up), distribution (selling pressure dominating) and neutral behavior. This module classifies the current bar into one of these phases without using ATR , relying solely on buyer and seller volume statistics. It looks at net flows, ratio changes and an OBV‑like cumulative line with dual‑reference (1‑ and 2‑bar) trends. The result is displayed both as on‑chart labels and in a dedicated row of the info table.
4.2 Inputs
• phase_period_len: Number of bars over which to compute sums and ratios for phase detection.
• phase_ratio_thresh : Minimum buyer share (for accumulation) or minimum seller share (for distribution, derived as 1 − phase_ratio_thresh) of the total volume.
• strict_mode: When enabled, both the 1‑bar and 2‑bar changes in each statistic must agree on the direction (strict confirmation); when disabled, only one of the two references needs to agree (looser confirmation).
• Color customisation for info table cells and label styling for accumulation and distribution phases, including ATR length, multiplier, label size, colors and connector styles.
• show_phase_module: Toggles the entire phase detection subsystem.
• show_phase_labels: Controls whether on‑chart labels are drawn when accumulation or distribution is detected.
4.3 Detection logic
The module computes three families of statistics over the volume window defined by phase_period_len:
1. Net sum (buyers minus sellers): net_sum_phase = Σ(buy) − Σ(sell). A positive value indicates a predominance of buyers. The code also computes the differences between the current value and the values 1 and 2 bars ago (d_net_1, d_net_2) to derive up/down trends.
2. Buyer ratio: The instantaneous ratio TF_buy_breakout / TF_tot_breakout and the window ratio Σ(buy) / Σ(total). The current ratio must exceed phase_ratio_thresh for accumulation or fall below 1 − phase_ratio_thresh for distribution. The first and second differences of the window ratio (d_ratio_1, d_ratio_2) determine trend direction.
3. OBV‑like cumulative net flow: An on‑balance volume analogue obv_net_phase increments by TF_buy_breakout − TF_sell_breakout each bar. Its differences over the last 1 and 2 bars (d_obv_1, d_obv_2) provide trend clues.
The algorithm then combines these signals:
• For strict mode , accumulation requires: (a) current ratio ≥ threshold, (b) cumulative ratio ≥ threshold, (c) both ratio differences ≥ 0, (d) net sum differences ≥ 0, and (e) OBV differences ≥ 0. Distribution is the mirror case.
• For loose mode , it relaxes the directional tests: either the 1‑ or the 2‑bar difference needs to agree in each category.
If all conditions for accumulation are satisfied, the phase is labelled “Accumulation” ; if all conditions for distribution are satisfied, it’s labelled “Distribution” ; otherwise the phase is “Neutral” .
4.4 Outputs
• Info table row : Row 8 displays “Market Phase (Vol)” on the left and the detected phase (Accumulation, Distribution or Neutral) on the right. The text colour of both cells matches a user‑selectable palette (typically green for accumulation, red for distribution and grey for neutral).
• On‑chart labels : When show_phase_labels is enabled and a phase persists for at least one bar, the module prints a label above the bar ( “Accum” ) or below the bar ( “Dist” ) with a dashed or dotted connector. The label is offset using ATR based on phase_label_atr_len_input and phase_label_multiplier and is styled according to user preferences.
Figure caption, The chart displays a red “Dist” label above a particular bar, indicating that the accumulation/distribution module identified a distribution phase at that point. The detection is based on seller dominance: during that bar, the net buyer-minus-seller flow and the OBV‑style cumulative flow were trending down, and the buyer ratio had dropped below the preset threshold. These conditions satisfy the distribution criteria in strict mode. The label is placed above the bar using an ATR‑based offset and a dashed connector. By the time of the current bar in the screenshot, the phase indicator shows “Neutral” in the info table—signaling that neither accumulation nor distribution conditions are currently met—yet the historical “Dist” label remains to mark where the prior distribution phase began.
Figure caption, In this example the market phase module has signaled an Accumulation phase. Three bars before the current candle, the algorithm detected a shift toward buyers: up‑volume exceeded its moving average, down‑volume was below average, and the buyer share of total volume climbed above the threshold while the on‑balance net flow and cumulative ratios were trending upwards. The blue “Accum” label anchored below that bar marks the start of the phase; it remains on the chart because successive bars continue to satisfy the accumulation conditions. The info table confirms this: the “Market Phase (Vol)” row still reads Accumulation, and the ratio and sum rows show buyers dominating both on the current bar and across the lookback window.
5. OB/OS Spike Module
5.1 What overbought/oversold means here
In many markets, a rapid extension up or down is often followed by a period of consolidation or reversal. The indicator interprets overbought (OB) conditions as abnormally strong selling risk at or after a price rally and oversold (OS) conditions as unusually strong buying risk after a decline. Importantly, these are not direct trade signals; rather they flag areas where caution or contrarian setups may be appropriate.
5.2 Inputs
• minHits_obos (1–7): Minimum number of oscillators that must agree on an overbought or oversold condition for a label to print.
• syncWin_obos: Length of a small sliding window over which oscillator votes are smoothed by taking the maximum count observed. This helps filter out choppy signals.
• Volume spike criteria: kVolRatio_obos (ratio of current volume to its SMA) and zVolThr_obos (Z‑score threshold) across volLen_obos. Either threshold can trigger a spike.
• Oscillator toggles and periods: Each of RSI, Stochastic (K and D), Williams %R, CCI, MFI, DeMarker and Stochastic RSI can be independently enabled; their periods are adjustable.
• Label appearance: ATR‑based offset, size, colors for OB and OS labels, plus connector style and width.
5.3 Detection logic
1. Directional volume spikes: Volume spikes are computed separately for buyer and seller volumes. A sell volume spike (sellVolSpike) flags a potential OverBought bar, while a buy volume spike (buyVolSpike) flags a potential OverSold bar. A spike occurs when the respective volume exceeds kVolRatio_obos times its simple moving average over the window or when its Z‑score exceeds zVolThr_obos.
2. Oscillator votes: For each enabled oscillator, calculate its overbought and oversold state using standard thresholds (e.g., RSI ≥ 70 for OB and ≤ 30 for OS; Stochastic %K/%D ≥ 80 for OB and ≤ 20 for OS; etc.). Count how many oscillators vote for OB and how many vote for OS.
3. Minimum hits: Apply the smoothing window syncWin_obos to the vote counts using a maximum‑of‑last‑N approach. A candidate bar is only considered if the smoothed OB hit count ≥ minHits_obos (for OverBought) or the smoothed OS hit count ≥ minHits_obos (for OverSold).
4. Tie‑breaking: If both OverBought and OverSold spike conditions are present on the same bar, compare the smoothed hit counts: the side with the higher count is selected; ties default to OverBought.
5. Label printing: When conditions are met, the bar is labelled as “OverBought X/7” above the candle or “OverSold X/7” below it. “X” is the number of oscillators confirming, and the bracket lists the abbreviations of contributing oscillators. Labels are offset from price using half of an ATR‑scaled distance and can optionally include a dotted or dashed connector line.
Figure caption, In this chart the overbought/oversold module has flagged an OverSold signal. A sell‑off from the prior highs brought price down to the lower trend‑line, where the bar marked “OverSold 3/7 DeM” appears. This label indicates that on that bar the module detected a buy‑side volume spike and that at least three of the seven enabled oscillators—in this case including the DeMarker—were in oversold territory. The label is printed below the candle with a dotted connector, signaling that the market may be temporarily exhausted on the downside. After this oversold print, price begins to rebound towards the upper red trend‑line and higher pivot levels.
Figure caption, This example shows the overbought/oversold module in action. In the left‑hand panel you can see the OB/OS settings where each oscillator (RSI, Stochastic, Williams %R, CCI, MFI, DeMarker and Stochastic RSI) can be enabled or disabled, and the ATR length and label offset multiplier adjusted. On the chart itself, price has pushed up to the descending red trendline and triggered an “OverBought 3/7” label. That means the sell‑side volume spiked relative to its average and three out of the seven enabled oscillators were in overbought territory. The label is offset above the candle by half of an ATR and connected with a dashed line, signaling that upside momentum may be overextended and a pause or pullback could follow.
6. Buyer/Seller Trap Module
6.1 Concept
A bull trap occurs when price appears to break above resistance, attracting buyers, but fails to sustain the move and quickly reverses, leaving a long upper wick and trapping late entrants. A bear trap is the opposite: price breaks below support, lures in sellers, then snaps back, leaving a long lower wick and trapping shorts. This module detects such traps by looking for price structure sweeps, order‑flow mismatches and dominance reversals. It uses a scoring system to differentiate risk from confirmed traps.
6.2 Inputs
• trap_lookback_len: Window length used to rank extremes and detect sweeps.
• trap_wick_threshold: Minimum proportion of a bar’s range that must be wick (upper for bull traps, lower for bear traps) to qualify as a sweep.
• trap_score_risk: Minimum aggregated score required to flag a trap risk. (The code defines a trap_score_confirm input, but confirmation is actually based on price reversal rather than a separate score threshold.)
• trap_confirm_bars: Maximum number of bars allowed for price to reverse and confirm the trap. If price does not reverse in this window, the risk label will expire or remain unconfirmed.
• Label settings: ATR length and multiplier for offsetting, size, colours for risk and confirmed labels, and connector style and width. Separate settings exist for bull and bear traps.
• Toggle inputs: show_trap_module and show_trap_labels enable the module and control whether labels are drawn on the chart.
6.3 Scoring logic
The module assigns points to several conditions and sums them to determine whether a trap risk is present. For bull traps, the score is built from the following (bear traps mirror the logic with highs and lows swapped):
1. Sweep (2 points): Price trades above the high pivot (HH1) but fails to close above it and leaves a long upper wick at least trap_wick_threshold × range. For bear traps, price dips below the low pivot (LL1), fails to close below and leaves a long lower wick.
2. Close break (1 point): Price closes beyond HH1 or LL1 without leaving a long wick.
3. Candle/delta mismatch (2 points): The candle closes bullish yet the order flow delta is negative or the seller ratio exceeds 50%, indicating hidden supply. Conversely, a bearish close with positive delta or buyer dominance suggests hidden demand.
4. Dominance inversion (2 points): The current bar’s buyer volume has the highest rank in the lookback window while cumulative sums favor sellers, or vice versa.
5. Low‑volume break (1 point): Price crosses the pivot but total volume is below its moving average.
The total score for each side is compared to trap_score_risk. If the score is high enough, a “Bull Trap Risk” or “Bear Trap Risk” label is drawn, offset from the candle by half of an ATR‑scaled distance using a dashed outline. If, within trap_confirm_bars, price reverses beyond the opposite level—drops back below the high pivot for bull traps or rises above the low pivot for bear traps—the label is upgraded to a solid “Bull Trap” or “Bear Trap” . In this version of the code, there is no separate score threshold for confirmation: the variable trap_score_confirm is unused; confirmation depends solely on a successful price reversal within the specified number of bars.
Figure caption, In this example the trap module has flagged a Bear Trap Risk. Price initially breaks below the most recent low pivot (LL1), but the bar closes back above that level and leaves a long lower wick, suggesting a failed push lower. Combined with a mismatch between the candle direction and the order flow (buyers regain control) and a reversal in volume dominance, the aggregate score exceeds the risk threshold, so a dashed “Bear Trap Risk” label prints beneath the bar. The green and red trend lines mark the current low and high pivot trajectories, while the horizontal dashed lines show the highest and lowest values in the lookback window. If, within the next few bars, price closes decisively above the support, the risk label would upgrade to a solid “Bear Trap” label.
Figure caption, In this example the trap module has identified both ends of a price range. Near the highs, price briefly pushes above the descending red trendline and the recent pivot high, but fails to close there and leaves a noticeable upper wick. That combination of a sweep above resistance and order‑flow mismatch generates a Bull Trap Risk label with a dashed outline, warning that the upside break may not hold. At the opposite extreme, price later dips below the green trendline and the labelled low pivot, then quickly snaps back and closes higher. The long lower wick and subsequent price reversal upgrade the previous bear‑trap risk into a confirmed Bear Trap (solid label), indicating that sellers were caught on a false breakdown. Horizontal dashed lines mark the highest high and lowest low of the lookback window, while the red and green diagonals connect the earliest and latest pivot highs and lows to visualize the range.
7. Sharp Move Module
7.1 Concept
Markets sometimes display absorption or climax behavior—periods when one side steadily gains the upper hand before price breaks out with a sharp move. This module evaluates several order‑flow and volume conditions to anticipate such moves. Users can choose how many conditions must be met to flag a risk and how many (plus a price break) are required for confirmation.
7.2 Inputs
• sharp Lookback: Number of bars in the window used to compute moving averages, sums, percentile ranks and reference levels.
• sharpPercentile: Minimum percentile rank for the current side’s volume; the current buy (or sell) volume must be greater than or equal to this percentile of historical volumes over the lookback window.
• sharpVolMult: Multiplier used in the volume climax check. The current side’s volume must exceed this multiple of its average to count as a climax.
• sharpRatioThr: Minimum dominance ratio (current side’s volume relative to the opposite side) used in both the instant and cumulative dominance checks.
• sharpChurnThr: Maximum ratio of a bar’s range to its ATR for absorption/churn detection; lower values indicate more absorption (large volume in a small range).
• sharpScoreRisk: Minimum number of conditions that must be true to print a risk label.
• sharpScoreConfirm: Minimum number of conditions plus a price break required for confirmation.
• sharpCvdThr: Threshold for cumulative delta divergence versus price change (positive for bullish accumulation, negative for bearish distribution).
• Label settings: ATR length (sharpATRlen) and multiplier (sharpLabelMult) for positioning labels, label size, colors and connector styles for bullish and bearish sharp moves.
• Toggles: enableSharp activates the module; show_sharp_labels controls whether labels are drawn.
7.3 Conditions (six per side)
For each side, the indicator computes six boolean conditions and sums them to form a score:
1. Dominance (instant and cumulative):
– Instant dominance: current buy volume ≥ sharpRatioThr × current sell volume.
– Cumulative dominance: sum of buy volumes over the window ≥ sharpRatioThr × sum of sell volumes (and vice versa for bearish checks).
2. Accumulation/Distribution divergence: Over the lookback window, cumulative delta rises by at least sharpCvdThr while price fails to rise (bullish), or cumulative delta falls by at least sharpCvdThr while price fails to fall (bearish).
3. Volume climax: The current side’s volume is ≥ sharpVolMult × its average and the product of volume and bar range is the highest in the lookback window.
4. Absorption/Churn: The current side’s volume divided by the bar’s range equals the highest value in the window and the bar’s range divided by ATR ≤ sharpChurnThr (indicating large volume within a small range).
5. Percentile rank: The current side’s volume percentile rank is ≥ sharp Percentile.
6. Mirror logic for sellers: The above checks are repeated with buyer and seller roles swapped and the price break levels reversed.
Each condition that passes contributes one point to the corresponding side’s score (0 or 1). Risk and confirmation thresholds are then applied to these scores.
7.4 Scoring and labels
• Risk: If scoreBull ≥ sharpScoreRisk, a “Sharp ↑ Risk” label is drawn above the bar. If scoreBear ≥ sharpScoreRisk, a “Sharp ↓ Risk” label is drawn below the bar.
• Confirmation: A risk label is upgraded to “Sharp ↑” when scoreBull ≥ sharpScoreConfirm and the bar closes above the highest recent pivot (HH1); for bearish cases, confirmation requires scoreBear ≥ sharpScoreConfirm and a close below the lowest pivot (LL1).
• Label positioning: Labels are offset from the candle by ATR × sharpLabelMult (full ATR times multiplier), not half, and may include a dashed or dotted connector line if enabled.
Figure caption, In this chart both bullish and bearish sharp‑move setups have been flagged. Earlier in the range, a “Sharp ↓ Risk” label appears beneath a candle: the sell‑side score met the risk threshold, signaling that the combination of strong sell volume, dominance and absorption within a narrow range suggested a potential sharp decline. The price did not close below the lower pivot, so this label remains a “risk” and no confirmation occurred. Later, as the market recovered and volume shifted back to the buy side, a “Sharp ↑ Risk” label prints above a candle near the top of the channel. Here, buy‑side dominance, cumulative delta divergence and a volume climax aligned, but price has not yet closed above the upper pivot (HH1), so the alert is still a risk rather than a confirmed sharp‑up move.
Figure caption, In this chart a Sharp ↑ label is displayed above a candle, indicating that the sharp move module has confirmed a bullish breakout. Prior bars satisfied the risk threshold — showing buy‑side dominance, positive cumulative delta divergence, a volume climax and strong absorption in a narrow range — and this candle closes above the highest recent pivot, upgrading the earlier “Sharp ↑ Risk” alert to a full Sharp ↑ signal. The green label is offset from the candle with a dashed connector, while the red and green trend lines trace the high and low pivot trajectories and the dashed horizontals mark the highest and lowest values of the lookback window.
8. Market‑Maker / Spread‑Capture Module
8.1 Concept
Liquidity providers often “capture the spread” by buying and selling in almost equal amounts within a very narrow price range. These bars can signal temporary congestion before a move or reflect algorithmic activity. This module flags bars where both buyer and seller volumes are high, the price range is only a few ticks and the buy/sell split remains close to 50%. It helps traders spot potential liquidity pockets.
8.2 Inputs
• scalpLookback: Window length used to compute volume averages.
• scalpVolMult: Multiplier applied to each side’s average volume; both buy and sell volumes must exceed this multiple.
• scalpTickCount: Maximum allowed number of ticks in a bar’s range (calculated as (high − low) / minTick). A value of 1 or 2 captures ultra‑small bars; increasing it relaxes the range requirement.
• scalpDeltaRatio: Maximum deviation from a perfect 50/50 split. For example, 0.05 means the buyer share must be between 45% and 55%.
• Label settings: ATR length, multiplier, size, colors, connector style and width.
• Toggles : show_scalp_module and show_scalp_labels to enable the module and its labels.
8.3 Signal
When, on the current bar, both TF_buy_breakout and TF_sell_breakout exceed scalpVolMult times their respective averages and (high − low)/minTick ≤ scalpTickCount and the buyer share is within scalpDeltaRatio of 50%, the module prints a “Spread ↔” label above the bar. The label uses the same ATR offset logic as other modules and draws a connector if enabled.
Figure caption, In this chart the spread‑capture module has identified a potential liquidity pocket. Buyer and seller volumes both spiked above their recent averages, yet the candle’s range measured only a couple of ticks and the buy/sell split stayed close to 50 %. This combination met the module’s criteria, so it printed a grey “Spread ↔” label above the bar. The red and green trend lines link the earliest and latest high and low pivots, and the dashed horizontals mark the highest high and lowest low within the current lookback window.
9. Money Flow Module
9.1 Concept
To translate volume into a monetary measure, this module multiplies each side’s volume by the closing price. It tracks buying and selling system money default currency on a per-bar basis and sums them over a chosen period. The difference between buy and sell currencies (Δ$) shows net inflow or outflow.
9.2 Inputs
• mf_period_len_mf: Number of bars used for summing buy and sell dollars.
• Label appearance settings: ATR length, multiplier, size, colors for up/down labels, and connector style and width.
• Toggles: Use enableMoneyFlowLabel_mf and showMFLabels to control whether the module and its labels are displayed.
9.3 Calculations
• Per-bar money: Buy $ = TF_buy_breakout × close; Sell $ = TF_sell_breakout × close. Their difference is Δ$ = Buy $ − Sell $.
• Summations: Over mf_period_len_mf bars, compute Σ Buy $, Σ Sell $ and ΣΔ$ using math.sum().
• Info table entries: Rows 9–13 display these values as texts like “↑ USD 1234 (1M)” or “ΣΔ USD −5678 (14)”, with colors reflecting whether buyers or sellers dominate.
• Money flow status: If Δ$ is positive the bar is marked “Money flow in” ; if negative, “Money flow out” ; if zero, “Neutral”. The cumulative status is similarly derived from ΣΔ.Labels print at the bar that changes the sign of ΣΔ, offset using ATR × label multiplier and styled per user preferences.
Figure caption, The chart illustrates a steady rise toward the highest recent pivot (HH1) with price riding between a rising green trend‑line and a red trend‑line drawn through earlier pivot highs. A green Money flow in label appears above the bar near the top of the channel, signaling that net dollar flow turned positive on this bar: buy‑side dollar volume exceeded sell‑side dollar volume, pushing the cumulative sum ΣΔ$ above zero. In the info table, the “Money flow (bar)” and “Money flow Σ” rows both read In, confirming that the indicator’s money‑flow module has detected an inflow at both bar and aggregate levels, while other modules (pivots, trend lines and support/resistance) remain active to provide structural context.
In this example the Money Flow module signals a net outflow. Price has been trending downward: successive high pivots form a falling red trend‑line and the low pivots form a descending green support line. When the latest bar broke below the previous low pivot (LL1), both the bar‑level and cumulative net dollar flow turned negative—selling volume at the close exceeded buying volume and pushed the cumulative Δ$ below zero. The module reacts by printing a red “Money flow out” label beneath the candle; the info table confirms that the “Money flow (bar)” and “Money flow Σ” rows both show Out, indicating sustained dominance of sellers in this period.
10. Info Table
10.1 Purpose
When enabled, the Info Table appears in the lower right of your chart. It summarises key values computed by the indicator—such as buy and sell volume, delta, total volume, breakout status, market phase, and money flow—so you can see at a glance which side is dominant and which signals are active.
10.2 Symbols
• ↑ / ↓ — Up (↑) denotes buy volume or money; down (↓) denotes sell volume or money.
• MA — Moving average. In the table it shows the average value of a series over the lookback period.
• Σ (Sigma) — Cumulative sum over the chosen lookback period.
• Δ (Delta) — Difference between buy and sell values.
• B / S — Buyer and seller share of total volume, expressed as percentages.
• Ref. Price — Reference price for breakout calculations, based on the latest pivot.
• Status — Indicates whether a breakout condition is currently active (True) or has failed.
10.3 Row definitions
1. Up volume / MA up volume – Displays current buy volume on the lower timeframe and its moving average over the lookback period.
2. Down volume / MA down volume – Shows current sell volume and its moving average; sell values are formatted in red for clarity.
3. Δ / ΣΔ – Lists the difference between buy and sell volume for the current bar and the cumulative delta volume over the lookback period.
4. Σ / MA Σ (Vol/MA) – Total volume (buy + sell) for the bar, with the ratio of this volume to its moving average; the right cell shows the average total volume.
5. B/S ratio – Buy and sell share of the total volume: current bar percentages and the average percentages across the lookback period.
6. Buyer Rank / Seller Rank – Ranks the bar’s buy and sell volumes among the last (n) bars; lower rank numbers indicate higher relative volume.
7. Σ Buy / Σ Sell – Sum of buy and sell volumes over the lookback window, indicating which side has traded more.
8. Breakout UP / DOWN – Shows the breakout thresholds (Ref. Price) and whether the breakout condition is active (True) or has failed.
9. Market Phase (Vol) – Reports the current volume‑only phase: Accumulation, Distribution or Neutral.
10. Money Flow – The final rows display dollar amounts and status:
– ↑ USD / Σ↑ USD – Buy dollars for the current bar and the cumulative sum over the money‑flow period.
– ↓ USD / Σ↓ USD – Sell dollars and their cumulative sum.
– Δ USD / ΣΔ USD – Net dollar difference (buy minus sell) for the bar and cumulatively.
– Money flow (bar) – Indicates whether the bar’s net dollar flow is positive (In), negative (Out) or neutral.
– Money flow Σ – Shows whether the cumulative net dollar flow across the chosen period is positive, negative or neutral.
The chart above shows a sequence of different signals from the indicator. A Bull Trap Risk appears after price briefly pushes above resistance but fails to hold, then a green Accum label identifies an accumulation phase. An upward breakout follows, confirmed by a Money flow in print. Later, a Sharp ↓ Risk warns of a possible sharp downturn; after price dips below support but quickly recovers, a Bear Trap label marks a false breakdown. The highlighted info table in the center summarizes key metrics at that moment, including current and average buy/sell volumes, net delta, total volume versus its moving average, breakout status (up and down), market phase (volume), and bar‑level and cumulative money flow (In/Out).
11. Conclusion & Final Remarks
This indicator was developed as a holistic study of market structure and order flow. It brings together several well‑known concepts from technical analysis—breakouts, accumulation and distribution phases, overbought and oversold extremes, bull and bear traps, sharp directional moves, market‑maker spread bars and money flow—into a single Pine Script tool. Each module is based on widely recognized trading ideas and was implemented after consulting reference materials and example strategies, so you can see in real time how these concepts interact on your chart.
A distinctive feature of this indicator is its reliance on per‑side volume: instead of tallying only total volume, it separately measures buy and sell transactions on a lower time frame. This approach gives a clearer view of who is in control—buyers or sellers—and helps filter breakouts, detect phases of accumulation or distribution, recognize potential traps, anticipate sharp moves and gauge whether liquidity providers are active. The money‑flow module extends this analysis by converting volume into currency values and tracking net inflow or outflow across a chosen window.
Although comprehensive, this indicator is intended solely as a guide. It highlights conditions and statistics that many traders find useful, but it does not generate trading signals or guarantee results. Ultimately, you remain responsible for your positions. Use the information presented here to inform your analysis, combine it with other tools and risk‑management techniques, and always make your own decisions when trading.
High Probability Order Blocks [AlgoAlpha]🟠 OVERVIEW
This script detects and visualizes high-probability order blocks by combining a volatility-based z-score trigger with a statistical survival model inspired by Kaplan-Meier estimation. It builds and manages bullish and bearish order blocks dynamically on the chart, displays live survival probabilities per block, and plots optional rejection signals. What makes this tool unique is its use of historical mitigation behavior to estimate and plot how likely each zone is to persist, offering traders a probabilistic perspective on order block strength—something rarely seen in retail indicators.
🟠 CONCEPTS
Order blocks are regions of strong institutional interest, often marked by large imbalances between buying and selling. This script identifies those areas using z-score thresholds on directional distance (up or down candles), detecting statistically significant moves that signal potential smart money footprints. A bullish block is drawn when a strong up-move (zUp > 4) follows a down candle, and vice versa for bearish blocks. Over time, each block is evaluated: if price “mitigates” it (i.e., closes cleanly past the opposite side and confirmed with a 1 bar delay), it’s considered resolved and logged. These resolved blocks then inform a Kaplan-Meier-like survival curve, estimating the likelihood that future blocks of a given age will remain unbroken. The indicator then draws a probability curve for each side (bull/bear), updating it in real time.
🟠 FEATURES
Live label inside each block showing survival probability or “N.E.D.” if insufficient data.
Kaplan-Meier survival curves drawn directly on the chart to show estimated strength decay.
Rejection markers (▲ ▼) if price bounces cleanly off an active order block.
Alerts for zone creation and rejection signals, supporting rule-based trading workflows.
🟠 USAGE
Read the label inside each block for Age | Survival% (or N.E.D. if there aren’t enough samples yet); higher survival % suggests blocks of that age have historically lasted longer.
Use the right-side survival curves to gauge how probability decays with age for bull vs bear blocks, and align entries with the side showing stronger survival at current age.
Treat ▲ (bullish rejection) and ▼ (bearish rejection) as optional confluence when price tests a boundary and fails to break.
Turn on alerts for “Bullish Zone Created,” “Bearish Zone Created,” and rejection signals so you don’t need to watch constantly.
If your chart gets crowded, enable Prevent Overlap ; tune Max Box Age to your timeframe; and adjust KM Training Window / Minimum Samples to trade off responsiveness vs stability.
The Quasar Strategy Magic LevelsThis indicator plots key market levels that remain valid from 4:00pm New York close until the next day’s 4:00pm close.
The core logic combines:
A custom Goldbach-inspired range,
Circuit breaker percentages,
And hidden PO3 overlays.
These levels often act as magnets, targets, and later as support or resistance zones.
The central line of the whole range is what I call “the restaurant” — a strong attraction point where prices tend to gravitate, especially after the 9:30 a.m. opening.
Since these levels are based on a certain fixed price in a %, they will change over time. Then I will updated the indicator.
Use these levels as a confluence with your own trading strategy for entries and exits.
ZoneRadar by Chaitu50cZoneRadar
ZoneRadar is a tool designed to detect and visualize hidden buy or sell pressures in the market. Using a Z-Score based imbalance model, it identifies areas where buyers or sellers step in with strong momentum and highlights them as dynamic supply and demand zones.
How It Works
Z-Score Imbalance : Calculates statistical deviations in order flow (bull vs. bear pressure).
Buy & Sell Triggers: Detects when imbalances cross predefined thresholds.
Smart Zones: Marks potential buy (green) or sell (red) zones directly on your chart.
Auto-Merge & Clean: Overlapping or noisy zones are automatically merged to keep the chart clean.
History Control: Keeps only the most recent and strongest zones for focus.
Key Features
Customizable Z-Score level and lookback period
Cooldown filter to avoid over-signaling
Smart zone merging to prevent clutter
Adjustable price tolerance for merging overlapping zones (ticks)
Extend zones into the future with right extensions
Fully customizable colors and display settings
Alert conditions for Buy Pressure and Sell Pressure
Why ZoneRadar?
Simplifies complex order flow into clear, tradable zones
Helps identify high-probability reversal or continuation levels
Avoids noise by keeping only the cleanest zones
Works across any timeframe or market (stocks, futures, forex, crypto)
Disclaimer
This tool is designed for educational and informational purposes only. It does not provide financial advice. Always test on demo and combine with your own trading strategy.
MTF MidpointsOverview :
The MTF Midpoints indicator provides comprehensive multi-timeframe analysis by displaying mid points that act as support / resistance. It also comes with the ability to view trend strength across multiple timeframes.
Key Features :
1) Multi-Timeframe Support -
- 1 Minute, 5 Minute, 15 Minute, 1 Hour, and 4 Hour timeframes.
- Each timeframe displays its calculated midpoint level.
- Toggle individual timeframes on/off as needed.
2) Dynamic Trend Calculation
- Calculates trend direction based on configurable lookback period (default: 30 bars).
- Identifies swing highs and lows to determine trend changes.
- Computes midpoint levels as the average between current swing high and low.
- Tracks price action relative to midpoint to gauge trend strength.
3) Visual Elements -
- Colored Lines : Each timeframe displays as a distinct colored line.
- Fill Areas : Main timeframe shows colored fills above and below midpoint.
- Info Table : Real-time summary of all timeframe data with trend percentages.
4) Customization Options -
- Colors : Individual color settings for each timeframe.
- Display : Adjustable line width, label sizes, and positioning.
- Labels : Toggle price display in labels, customize text color and size.
- Info Table: Configurable info table with trend strength indicators.
How It Works :-
The indicator uses a proprietary algorithm that:
1. Monitors price action over a specified lookback period.
2. Identifies trend direction changes based on new highs/lows.
3. Calculates dynamic support/resistance levels (midpoints).
4. Tracks closes above/below midpoint to determine trend bias.
5. Displays trend strength as a percentage in both table and candle colors.
Trading Applications :-
- Confluence Analysis : Identify where multiple timeframe midpoints align.
- Support/Resistance : Use midpoints as dynamic S/R levels.
- Trend Assessment : Gauge trend strength across different timeframes.
- Entry/Exit Points : Look for price reactions at key midpoint levels.
- Risk Management : Use midpoints to set stop losses and profit targets.
Disclaimer :
This indicator is for educational and analysis purposes. It does not constitute financial advice. Always conduct your own research and consider your risk tolerance before making trading decisions. Past performance does not guarantee future results.
Machine Learning-Inspired Supply & Demand Zones [AlgoPoint]This indicator is a Smart Supply & Demand Zone tool, developed with principles inspired by Machine Learning (ML). It intelligently filters out market noise, allowing you to focus only on the most significant zones where institutional order flow is likely present.
💡 How It Works: Why Is This Indicator "Smart"?
Unlike traditional indicators that only measure simple price movements, this script uses an algorithm that asks the same critical questions an experienced market analyst would to qualify a zone:
- 1. Price Imbalance: How fast and aggressively did the price leave the zone? Our algorithm measures the body size of the "departure candle" relative to the current market volatility (ATR). A zone is only considered if it was formed by an explosive move that is statistically significant, indicating a major imbalance between buyers and sellers.
- 2. Volume Confirmation: Did the "smart money" participate in this move? The script checks if the volume on the departure candle was significantly higher than the recent average volume. A spike in volume confirms that the move was backed by institutional interest, adding strength and validity to the zone.
- 3. Valid Pivot Structure: Did the zone originate from a meaningful swing high or low? The algorithm first identifies a valid pivot structure, ensuring that zones are not drawn from insignificant or random price fluctuations.
Only when a potential zone passes these three critical tests—our "quality filter"—is it drawn on your chart.
🚀 Features & How to Use
Using the indicator is straightforward. You will see two primary types of boxes on your chart:
* 🟥 Red Box (Supply Zone): An area of potential resistance where selling pressure is likely to be strong. Look for potential shorting opportunities as the price approaches this zone.
* 🟩 Green Box (Demand Zone): An area of potential support where buying pressure is likely to be strong. Look for potential long opportunities as the price pulls back into this zone.
Dynamic Zone Management
This indicator is not static; it lives and breathes with the market:
- Fresh Zone: A newly formed zone appears in its full, vibrant color. These are the highest-probability zones as they have not yet been re-tested.
- Broken / Flipped Zone: You have full control over what happens when a zone is broken! In the settings, you can choose:
- Delete Zone: The zone will be removed completely when the price closes through it.
- Show as Broken (Flip): When broken, the zone will turn gray, stop extending, and remain on your chart. This is extremely useful for identifying Support/Resistance Flips, where a broken demand zone becomes new resistance, or a broken supply zone becomes new support.
⚙️ Settings & Customization
Fine-tune the indicator to match your personal trading style via the settings menu:
- Breakout Behavior: The most powerful feature. Choose between Delete Zone and Show as Broken (Flip) to customize your chart.
- Zone Finding Logic: Control the indicator's sensitivity.
- Selective: Requires both strong imbalance and high volume. Finds fewer, but higher-quality, zones.
- Moderate: Requires either strong imbalance or high volume. Finds more potential zones.
- Sensitivity Settings: Adjust the ATR Multiplier and Volume Multiplier to make the criteria for a "strong" zone stricter or looser.
Wick Pressure Zones [BigBeluga]
The Wick Pressure Zones indicator highlights areas where extreme wick activity occurred, signaling strong buy or sell pressure. By measuring unusually long upper or lower wicks and mapping them into gradient volume zones , the tool helps traders identify levels where liquidity was absorbed, leaving behind footprints of supply and demand imbalances. These zones often act as support, resistance, or liquidity sweep magnets .
🔵 CONCEPTS
Extreme Wicks : Large upper or lower shadows indicate aggressive rejection — upper wicks suggest selling pressure, lower wicks suggest buying pressure.
Volumatic Gradient Zones : From each detected wick, the indicator projects a layered gradient zone, proportional to the wick’s size, showing where most pressure occurred.
Liquidity Footprints : These zones mark levels where significant buy/sell volume was executed, often becoming reaction points on future retests.
Automatic Expiration : Zones persist until price decisively trades through them, after which they are cleared to keep the chart clean.
🔵 FEATURES
Automatic Wick Detection : Identifies extreme upper and lower wick events using percentile filtering and Realative Strength Index.
Gradient Zone Visualization : Builds a 10-layer zone from the wick top/bottom, shading intensity according to pressure strength.
Volume Labels : Each zone is annotated with the bar’s volume at the origin point for added context.
Dynamic Zone Extension : Zones extend to the right as long as they remain relevant; once price closes through them, they are removed.
Support & Resistance Mapping : Upper wick zones (red) behave like supply/resistance, lower wick zones (green) like demand/support.
Clutter Control : Limits the number of active zones (default 10) to keep charts responsive.
Background Highlighting : Optional background shading when new wick zones appear (red for sell, green for buy).
🔵 HOW TO USE
Look for Upper Wick Zones (red) : Indicate strong selling pressure; watch for resistance, reversals, or liquidity sweeps above.
Look for Lower Wick Zones (green) : Indicate strong buying pressure; watch for support or liquidity sweeps below.
Trade Retests : When price returns to a zone, expect a reaction (bounce or rejection) due to leftover liquidity.
Combine with Context : Align wick pressure zones with HTF support/resistance, order blocks, or volume profile for stronger signals.
Use Volume Labels : High-volume wicks indicate more significant liquidity events, making the zone more likely to act as a strong reaction point.
🔵 CONCLUSION
The Wick Pressure Zones is a powerful way to visualize hidden liquidity and aggressive rejections. By mapping extreme wick events into dynamic, volume-annotated zones, it shows traders where the market absorbed heavy buy/sell pressure. These levels frequently act as magnets or turning points, making them valuable for timing entries, stop placement, or fade strategies.
Relative and Absolute Support Resistance Levels (MTF)Relative and Absolute SR Levels
1. Relative SR Levels
This indicator is unique and powerful because it doesn't rely on the traditional method of just finding swing highs and lows. Instead, it uses a more sophisticated approach focused on identifying 'Candle Strength' on a higher timeframe. This method helps pinpoint more reliable and impactful price zones.
Key Features that Make this Indicator Unique:
1. Non - Repainting
2. Zero Lag
3. Higher and Current Time Frame Support
4. Intelligent Algo for Dynamic Line Visibility
5. Very Sophisticated approach than traditional SR Levels
Higher Timeframe (HTF) Analysis:
The indicator calculates S&R levels based on a timeframe larger than your current chart. For example, if you are on a 5-minute chart, you can set the indicator to analyze the 30-minute or 1-hour timeframe.
This is crucial because levels from larger timeframes often hold more significance and are respected more frequently on smaller timeframes.
Focus on Candle Strength :
This feature is highly effective because Candle Strength typically indicate strong market momentum and often leave behind important S&R levels.
Dynamic Line Visibility:
This is one of the most clever features. The indicator draws all identified levels but keeps them invisible by default. On the last bar, it intelligently analyses the current price and makes only a select number of levels visible. This prevents your chart from becoming cluttered.
The number of visible lines is completely customizable using the 'Number of Lines to Display' input. You can set it to show just the 2 or 3 most relevant levels, for example.
Automatic S&R Selection:
The indicator automatically sorts the identified S&R levels based on their distance from the current price. It then picks the closest lines, both above and below the current price, to display. This ensures that the levels shown on the chart are the ones most relevant to the current market situation, helping you focus on the most immediate areas of interest.
2. Absolute Levels:
This indicator is a powerful tool designed to identify and visualize "Absolute Levels", which are essentially significant price zones created by strong market movements.
This works on current timeframe and doesn't use Higher/Multi Time Frame Concept.
Market Spiralyst [Hapharmonic]Hello, traders and creators! 👋
Market Spiralyst: Let's change the way we look at analysis, shall we? I've got to admit, I scratched my head on this for weeks, Haha :). What you're seeing is an exploration of what's possible when code meets art on financial charts. I wanted to try blending art with trading, to do something new and break away from the same old boring perspectives. The goal was to create a visual experience that's not just analytical, but also relaxing and aesthetically pleasing.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language. I hope it inspires you as much as it challenged me!
🧐 Core Concept: How It Works
Spiralyst is built on two distinct but interconnected engines:
The Generative Art Engine: At its core, this indicator uses a wide range of mathematical formulas—from simple polygons to exotic curves like Torus Knots and Spirographs—to draw beautiful, intricate shapes directly onto your chart. This provides a unique and dynamic visual backdrop for your analysis.
The Market Pulse Engine: This is where analysis meets art. The engine takes real-time data from standard technical indicators (RSI and MACD in this version) and translates their states into a simple, powerful "Pulse Score." This score directly influences the appearance of the "Scatter Points" orbiting the main shape, turning the entire artwork into a living, breathing representation of market momentum.
🎨 Unleash Your Creativity! This Is Your Playground
We've included 25 preset shapes for you... but that's just the starting point !
The real magic happens when you start tweaking the settings yourself. A tiny adjustment can make a familiar shape come alive and transform in ways you never expected.
I'm genuinely excited to see what your imagination can conjure up! If you create a shape you're particularly proud of or one that looks completely unique, I would love to see it. Please feel free to share a screenshot in the comments below. I can't wait to see what you discover! :)
Here's the default shape to get you started:
The Dynamic Scatter Points: Reading the Pulse
This is where the magic happens! The small points scattered around the main shape are not just decorative; they are the visual representation of the Market Pulse Score.
The points have two forms:
A small asterisk (`*`): Represents a low or neutral market pulse.
A larger, more prominent circle (`o`): Represents a high, strong market pulse.
Here’s how to read them:
The indicator calculates the Pulse Strength as a percentage (from 0% to 100%) based on the total score from the active indicators (RSI and MACD). This percentage determines the ratio of circles to asterisks.
High Pulse Strength (e.g., 80-100%): Most of the scatter points will transform into large circles (`o`). This indicates that the underlying momentum is strong and It could be an uptrend. It's a visual cue that the market is gaining strength and might be worth paying closer attention to.
Low Pulse Strength (e.g., 0-20%): Most or all of the scatter points will remain as small asterisks (`*`). This suggests weak, neutral, or bearish momentum.
The key takeaway: The more circles you see, the stronger the bullish momentum is according to the active indicators. Watch the artwork "breathe" as the circles appear and disappear with the market's rhythm!
And don't worry about the shape you choose; the scatter points will intelligently adapt and always follow the outer boundary of whatever beautiful form you've selected.
How to Use
Getting started with Spiralyst is simple:
Choose Your Canvas: Start by going into the settings and picking a `Shape` and `Palette` from the "Shape Selection & Palette" group that you find visually appealing. This is your canvas.
Tune Your Engine: Go to the "Market Pulse Engine" settings. Here, you can enable or disable the RSI and MACD scoring engines. Want to see the pulse based only on RSI? Just uncheck the MACD box. You can also fine-tune the parameters for each indicator to match your trading style.
Read the Vibe: Observe the scatter points. Are they mostly small asterisks or are they transforming into large, vibrant circles? Use this visual feedback as a high-level gauge of market momentum.
Check the Dashboard: For a precise breakdown, look at the "Market Pulse Analysis" table on the top-right. It gives you the exact values, scores, and total strength percentage.
Explore & Experiment: Play with the different shapes and color palettes! The core analysis remains the same, but the visual experience can be completely different.
⚙️ Settings & Customization
Spiralyst is designed to be highly customizable.
Shape Selection & Palette: This is your main control panel. Choose from over 25 unique shapes, select a color palette, and adjust the line extension style ( `extend` ) or horizontal position ( `offsetXInput` ).
scatterLabelsInput: This setting controls the total number of points (both asterisks and circles) that orbit the main shape. Think of it as adjusting the density or visual granularity of the market pulse feedback.
The Market Pulse engine will always calculate its strength as a percentage (e.g., 75%). This percentage is then applied to the `scatterLabelsInput` number you've set to determine how many points transform into large circles.
Example: If the Pulse Strength is 75% and you set this to `100` , approximately 75 points will become circles. If you increase it to `200` , approximately 150 points will transform.
A higher number provides a more detailed, high-resolution view of the market pulse, while a lower number offers a cleaner, more minimalist look. Feel free to adjust this to your personal visual preference; the underlying analytical percentage remains the same.
Market Pulse Engine:
`⚙️ RSI Settings` & `⚙️ MACD Settings`: Each indicator has its own group.
Enable Scoring: Use the checkbox at the top of each group to include or exclude that indicator from the Pulse Score calculation. If you only want to use RSI, simply uncheck "Enable MACD Scoring."
Parameters: All standard parameters (Length, Source, Fast/Slow/Signal) are fully adjustable.
Individual Shape Parameters (01-25): Each of the 25+ shapes has its own dedicated group of settings, allowing you to fine-tune every aspect of its geometry, from the number of petals on a flower to the windings of a knot. Feel free to experiment!
For Developers & Pine Script™ Enthusiasts
If you are a developer and wish to add more indicators (e.g., Stochastic, CCI, ADX), you can easily do so by following the modular structure of the code. You would primarily need to:
Add a new `PulseIndicator` object for your new indicator in the `f_getMarketPulse()` function.
Add the logic for its scoring inside the `calculateScore()` method.
The `calculateTotals()` method and the dashboard table are designed to be dynamic and will automatically adapt to include your new indicator!
One of the core design philosophies behind Spiralyst is modularity and scalability . The Market Pulse engine was intentionally built using User-Defined Types (UDTs) and an array-based structure so that adding new indicators is incredibly simple and doesn't require rewriting the main logic.
If you want to add a new indicator to the scoring engine—let's use the Stochastic Oscillator as a detailed example—you only need to modify three small sections of the code. The rest of the script, including the adaptive dashboard, will update automatically.
Here’s your step-by-step guide:
#### Step 1: Add the User Inputs
First, you need to give users control over your new indicator. Find the `USER INTERFACE: INPUTS` section and add a new group for the Stochastic settings, right after the MACD group.
Create a new group name: `string GRP_STOCH = "⚙️ Stochastic Settings"`
Add the inputs: Create a boolean to enable/disable it, and then add the necessary parameters (`%K`, `%D`, `Smooth`). Use the `active` parameter to link them to the enable/disable checkbox.
// Add this code block right after the GRP_MACD and MACD inputs
string GRP_STOCH = "⚙️ Stochastic Settings"
bool stochEnabledInput = input.bool(true, "Enable Stochastic Scoring", group = GRP_STOCH)
int stochKInput = input.int(14, "%K Length", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochDInput = input.int(3, "%D Smoothing", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochSmoothInput = input.int(3, "Smooth", minval=1, group = GRP_STOCH, active = stochEnabledInput)
#### Step 2: Integrate into the Pulse Engine (The "Factory")
Next, go to the `f_getMarketPulse()` function. This function acts as a "factory" that builds and configures the entire market pulse object. You need to teach it how to build your new Stochastic indicator.
Update the function signature: Add the new `stochEnabledInput` boolean as a parameter.
Calculate the indicator: Add the `ta.stoch()` calculation.
Create a `PulseIndicator` object: Create a new object for the Stochastic, populating it with its name, parameters, calculated value, and whether it's enabled.
Add it to the array: Simply add your new `stochPulse` object to the `array.from()` list.
Here is the complete, updated `f_getMarketPulse()` function :
// Factory function to create and calculate the entire MarketPulse object.
f_getMarketPulse(bool rsiEnabled, bool macdEnabled, bool stochEnabled) =>
// 1. Calculate indicator values
float rsiVal = ta.rsi(rsiSourceInput, rsiLengthInput)
= ta.macd(close, macdFastInput, macdSlowInput, macdSignalInput)
float stochVal = ta.sma(ta.stoch(close, high, low, stochKInput), stochDInput) // We'll use the main line for scoring
// 2. Create individual PulseIndicator objects
PulseIndicator rsiPulse = PulseIndicator.new("RSI", str.tostring(rsiLengthInput), rsiVal, na, 0, rsiEnabled)
PulseIndicator macdPulse = PulseIndicator.new("MACD", str.format("{0},{1},{2}", macdFastInput, macdSlowInput, macdSignalInput), macdVal, signalVal, 0, macdEnabled)
PulseIndicator stochPulse = PulseIndicator.new("Stoch", str.format("{0},{1},{2}", stochKInput, stochDInput, stochSmoothInput), stochVal, na, 0, stochEnabled)
// 3. Calculate score for each
rsiPulse.calculateScore()
macdPulse.calculateScore()
stochPulse.calculateScore()
// 4. Add the new indicator to the array
array indicatorArray = array.from(rsiPulse, macdPulse, stochPulse)
MarketPulse pulse = MarketPulse.new(indicatorArray, 0, 0.0)
// 5. Calculate final totals
pulse.calculateTotals()
pulse
// Finally, update the function call in the main orchestration section:
MarketPulse marketPulse = f_getMarketPulse(rsiEnabledInput, macdEnabledInput, stochEnabledInput)
#### Step 3: Define the Scoring Logic
Now, you need to define how the Stochastic contributes to the score. Go to the `calculateScore()` method and add a new case to the `switch` statement for your indicator.
Here's a sample scoring logic for the Stochastic, which gives a strong bullish score in oversold conditions and a strong bearish score in overbought conditions.
Here is the complete, updated `calculateScore()` method :
// Method to calculate the score for this specific indicator.
method calculateScore(PulseIndicator this) =>
if not this.isEnabled
this.score := 0
else
this.score := switch this.name
"RSI" => this.value > 65 ? 2 : this.value > 50 ? 1 : this.value < 35 ? -2 : this.value < 50 ? -1 : 0
"MACD" => this.value > this.signalValue and this.value > 0 ? 2 : this.value > this.signalValue ? 1 : this.value < this.signalValue and this.value < 0 ? -2 : this.value < this.signalValue ? -1 : 0
"Stoch" => this.value > 80 ? -2 : this.value > 50 ? 1 : this.value < 20 ? 2 : this.value < 50 ? -1 : 0
=> 0
this
#### That's It!
You're done. You do not need to modify the dashboard table or the total score calculation.
Because the `MarketPulse` object holds its indicators in an array , the rest of the script is designed to be adaptive:
The `calculateTotals()` method automatically loops through every indicator in the array to sum the scores and calculate the final percentage.
The dashboard code loops through the `enabledIndicators` array to draw the table. Since your new Stochastic indicator is now part of that array, it will appear automatically when enabled!
---
Remember, this is your playground! I'm genuinely excited to see the unique shapes you discover. If you create something you're proud of, feel free to share it in the comments below.
Happy analyzing, and may your charts be both insightful and beautiful! 💛