VOOZH about

URL: https://www.tradingview.com/scripts/

⇱ Trading Strategies & Indicators Built by TradingView Community


Momentum Candle Sekolah TradingMomentum Candle Sekolah Trading Overview Momentum Candle is a technical indicator designed to detect strong momentum candles based on body size and wick ratio validation. It is built to help traders quickly identify whether a candle represents genuine bullish or bearish momentum, or merely noise — across multiple forex pairs and BTCUSD. This indicator is an evolution of the previous Momentum Candle v3, with significant improvements including multi-pair support, EMA trend filter, consolidation validation, dual signal modes, and a time-based alert system. How It Works The indicator evaluates each candle using two core criteria: Minimum Body Size — The candle body (|close − open|) must meet or exceed a user-defined minimum size (in pips), configured separately for each pair and each timeframe (M5, M15, M30). Wick Ratio — The total wick length must not exceed a configurable percentage of the total candle range (body + wick). Default is 30%, meaning candles with excessive wicks are filtered out. Signal Modes Two signal modes are available via the "Mode Candle" input: Agresif (Aggressive): A signal is generated when the body is large enough and the wick ratio is acceptable, regardless of wick direction. Suitable for traders who want more frequent signals. Konservatif (Conservative): Adds an additional directional wick check — bullish signals require the lower wick to be smaller than the upper wick, and vice versa for bearish. This reduces noise and false signals. Alert Modes Two alert timing modes are available via the "Mode Alert" input: Agresif: Alert fires immediately every bar when the signal condition is met. Konservatif: Alert fires only in the 20–90 second window before candle close, reducing premature alerts caused by candles that may still change before closing. Consolidation Validation (Optional) When enabled, the indicator checks that the N previous candles (configurable, default 3) are each smaller in body size than the current signal candle. This helps confirm the signal appears after a period of lower volatility, adding context to the momentum reading. EMA Trend Filter (Optional) An EMA trend filter can be activated to restrict signals to the direction of the prevailing trend: Bullish signals only appear when price is above the EMA. Bearish signals only appear when price is below the EMA. The EMA timeframe (M5, M15, M30, H1) and period are fully configurable. Recommended: M5=21, M15=50, M30=50, H1=100. A live trend label (table, top-right) shows the current EMA trend direction. Supported Pairs and Timeframes Each pair can be enabled or disabled independently. Minimum body size is configurable per pair and per timeframe: PairM5 DefaultM15 DefaultM30 DefaultXAUUSD35 pips45 pips55 pipsUSDJPY10 pips15 pips20 pipsGBPUSD10 pips15 pips20 pipsAUDUSD10 pips15 pips20 pipsUSDCAD10 pips15 pips20 pipsEURUSD10 pips15 pips20 pipsNZDUSD10 pips15 pips20 pipsUSDCHF10 pips15 pips20 pipsBTCUSD80 pips120 pips160 pips Signals 🔵 Blue triangle (below bar): Bullish momentum signal 🔴 Red triangle (above bar): Bearish momentum signal How to Use Select your pair and enable it in the "Aktifkan Pair" section. Adjust the minimum body size for your preferred timeframe. Set the wick ratio threshold (default 30% is recommended as a starting point). Choose between Aggressive or Conservative mode depending on your trading style. Optionally enable the EMA filter for trend-confirmed signals only. Optionally enable consolidation validation for breakout-style confirmation. Set up alerts using the built-in alert conditions for both bullish and bearish, in either Aggressive or Conservative alert mode. Important Notes This indicator is a tool for technical analysis only. It does not guarantee trading results. It is strongly recommended to combine this indicator with price action context, support/resistance levels, and proper risk management. Past signal performance does not guarantee future results. This script does not use security() with lookahead to access future data. The EMA from a higher timeframe uses barmerge.lookahead_off to prevent repainting. This script does not use Heikin Ashi or non-standard chart types. It is designed for standard candlestick charts.
Pine Script® indicator
Alpha Signal Engine Pro [MarkitTick]🎁 Our gift to the TradingView community. This indicator was previously available as a paid, invite-only tool. Today, it is permanently and unconditionally free — open to every trader on TradingView without restriction, without a subscription, and without an expiration date. No catch. No trial period. Ours to you, forever. 💡A comprehensive trend-following and market-state detection framework . It operates by generating a dynamic, volatility-adjusted trailing band that reacts not just to price movements, but to the shifting structural regimes of the asset. By analyzing True Range, historical price percentiles, and momentum simultaneously, this indicator filters out market noise and isolates high-probability directional shifts. It inherently guards against false signals during flat or consolidating markets through a multi-layered filtering matrix, ensuring that traders are presented with actionable data only when strict momentum and structural conditions are met. ● ✨ Originality and Utility Most trend-following systems rely on static multipliers or fixed lookback periods, rendering them susceptible to sudden market regime changes. The primary utility of this engine lies in its adaptive nature. It introduces a Volatility Fingerprint module that constantly scans the environment, classifying the market into distinct regimes: Alpha, Beta, Gamma, and Delta. Based on this continuous assessment, the indicator autonomously scales its sensitivity, smoothing depth, and filter thresholds. This means the engine tightens its criteria during erratic, low-liquidity chop and expands its bands during high-volatility expansions, providing an organic, self-adjusting framework that eliminates the need for constant manual parameter tuning. ● 🔬 Methodology and Concepts • Dynamic Trailing Core At the heart of the engine is a composite distance formula that calculates a dynamic half-band. Instead of relying solely on a basic Average True Range (ATR) multiplier, it combines three elements: an absolute band multiplier, an ATR weight normalized against the closing price, and a raw price move weight. This composite value is then smoothed using an Exponential Moving Average (EMA) alpha factor. The resulting smoothed band is applied to the median price to establish upper and lower boundaries, forming the basis of the trendline. • Volatility Fingerprinting The script normalizes the ATR as a percentage of the closing price and ranks it against a historical lookback window using non-parametric percentile thresholds. By splitting the historical distribution into quartiles (25th, 50th, and 75th percentiles), the asset's current volatility is placed into a specific bucket. The core mathematical weights and matrix thresholds are then dynamically multiplied by regime-specific scalars. • Alpha Filtering Matrix To prevent whipsaws, the script employs a five-layer matrix that acts as a logical gatekeeper before any signal is validated: - Trendline Stall: Measures the absolute change in the trendline against a fraction of the ATR. - Slope Regression: Computes the linear regression slope of the trendline over a rolling window and normalizes it. - Volume Gate: Compares current volume to a dynamic simple moving average of volume. - Range Gate: Checks if the current bar's High-Low range exceeds a specific historical percentile. - Basis Point (BPS) Delta: Ensures the trendline shift meets a minimum percentage threshold. • Breakout Override If the market suddenly explodes with extreme momentum, a Breakout Override function bypasses the filtering matrix. If the absolute change in price heavily exceeds a set multiple of the ATR, the system immediately forces engagement to capture the breakout. ● 🎨 Visual Guide • Dynamic Trendline A solid line plots the active trailing stop and trend direction. By default, it is colored Cyan for a Bullish trend and Magenta for a Bearish trend. This line steps up or down along with price action, providing a clear visual anchor for the current structural bias. • Dynamic Bar Coloring The chart's candlesticks are dynamically colored using a visual gradient. The script measures the normalized distance of the closing price from the trendline. When price is near the trendline, candles assume a neutral slate-blue tone. As momentum carries price further away, the color interpolates into bright Cyan (Bullish) or Magenta (Bearish), immediately illustrating trend strength. • Cloud Fill A semi-transparent cloud is drawn between the primary trendline and a smoothed moving average of the typical price. This creates a visual "value zone" on the chart, helping users quickly identify the spatial relationship between the current trend anchor and the smoothed price core. • HUD Dashboard A comprehensive heads-up display is positioned in the top-right corner of the chart. It outputs real-time diagnostic data: - Direction: Displays the current structural bias (Bullish/Bearish). - Signal: Indicates if an actionable Buy or Sell signal is present. - Override: Shows the status of the Breakout Override (Off, Nominal, or Engaged in Orange). - Matrix Pillars: Five rows display the status of the Stall, Slope, Volume, Range, and BPS Delta filters. A Red "Flat" tag indicates the filter is blocking signals, while a Green "Active" tag indicates the path is clear. - VF Regime: The bottom row explicitly states the current volatility state (Alpha, Beta, Gamma, or Delta) with corresponding color codes. • Signal Labels When a directional flip occurs and the matrix conditions are met, explicit "BUY" (Upward pointing, subtle green) or "SELL" (Downward pointing, subtle red) labels are plotted precisely at the trendline level. • Non-Standard Chart Warning If the user applies the script to Heikin Ashi, Renko, Line Break, Kagi, or Point & Figure charts, a bold Red warning table will appear in the top-left corner. This warns the user that standard signals may repaint due to the synthetic price data of non-standard charts. 📌 Note : the best way to resolve visual overlap is to navigate to the Object Tree and drag the indicator above the main chart layer, or simply hide the native candles in your chart settings. ● 📖 How to Use • Identifying Entries Wait for a clear crossover of the closing price over the dynamic trendline. For a valid entry, ensure the HUD Dashboard confirms the matrix conditions are "Active" and not "Flat." The emergence of a defined BUY or SELL label serves as the primary action trigger. • Managing the Trade Once in a position, the dynamic trendline serves as a logical trailing stop-loss level. As the trendline steps in the direction of the trade, users can manually trail their risk. The color gradient on the bars provides a secondary gauge; fading colors suggest weakening momentum and a potential reversion to the mean. • Regime Awareness Monitor the VF Regime status on the dashboard. In "Alpha" or "Beta" (lower volatility), expect tighter bands and slower movements. In "Gamma" or "Delta" (extreme volatility), be prepared for wider stops and aggressive price action. The indicator will automatically handle the mathematical adjustments, but position sizing should reflect the increased environmental risk. • Repaint Warning Note Always utilize this indicator on standard candlestick or bar charts. The underlying calculations depend on absolute close, high, and low values. Applying this to Heikin Ashi will cause lookahead bias and repainting signals. 🏆 Golden Rule — Before You Trade This Indicator: Never rely on the default settings, every asset behaves differently. Every timeframe has its own rhythm. Default settings are a starting point — not a strategy. The best configuration is the one you build yourself, through deliberate testing: Adjust the settings methodically until false signals are minimized and entry/exit accuracy is maximized. Test on your specific asset. Test on your specific timeframe. Then lock in what works. The trader who takes time to configure is the trader who profits consistently. ● ⚙️ Inputs and Settings • Volatility Fingerprint Group Allows users to toggle the adaptive engine on or off, and set the lookback length used to determine the historical percentiles for regime classification. • Core Engine Parameters Controls the baseline foundation. Adjust the ATR period, the absolute Band Multiplier, the relative ATR Weight, the Price Move Weight, and the EMA Smoothing Length. When VF is enabled, these act as the baseline from which multipliers scale. • Alpha Filtering Matrix Provides granular control over the five anti-chop filters. Users can toggle each filter independently and adjust their strictness, such as the Flatness Threshold, Regression Length, Slope Threshold, Volume MA Length, and Range Percentile. • Display & Cloud Configuration Permits full aesthetic customization of the Bull/Bear colors, neutral gradient tones, visibility of the dashboard, signal labels, and the transparency parameters of the cloud fill. • Alert Actions Customizable string inputs that feed directly into the JSON webhook alert system, allowing automated traders to define syntax for Long, Short, Close Long, and Close Short actions. ● 🔍 Deconstruction of the Underlying Scientific and Academic Framework • Autoregressive Smoothing and Moving Averages The system employs an Exponential Moving Average (EMA) to smooth its dynamic raw band. The mathematical alpha factor is defined as 2 / (N + 1), where N is the user-defined smoothing length. This recursive formula assigns geometrically decreasing weights to older observations, ensuring the trendline remains highly responsive to recent price vectors while mathematically filtering high-frequency noise. • Non-Parametric Rank Statistics To evaluate the volatility state, the script calculates the nearest-rank percentile of the normalized ATR over a rolling window. Unlike standard standard-deviation bands (such as Bollinger Bands) that assume a normal Gaussian distribution of returns, this non-parametric percentile approach does not assume normality. This is statistically robust for financial time series, which exhibit leptokurtic (fat-tailed) distributions, ensuring accurate classification even during severe market outliers. • Linear Regression and Slope Normalization The Slope Filter relies on the Ordinary Least Squares (OLS) linear regression of the trendline. By calculating the change between the current linear regression value and the previous bar's value, it extracts a pure mathematical slope. To make this slope asset-agnostic, it is normalized by dividing the raw slope by the ATR, yielding a dimensionless ratio that accurately represents directional velocity regardless of the instrument's absolute price. ⚠️ Disclaimer All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion.
Pine Script® indicator
Volumetric Trend Ribbon Pro [ChartPrime]🔶 OVERVIEW Volumetric Trend Ribbon Pro is a professional-grade trend-following overlay that synchronizes price action with volume-weighted volatility. Unlike standard moving averages that only track price, this indicator uses a Volume-Weighted Standard Deviation (VWSD) engine to create a dynamic "ribbon" that expands during high-conviction moves and contracts during market indecision. The tool is designed to provide a comprehensive workspace for trend traders, featuring automated breakout targets, institutional volume spike detection, and a real-time analytics dashboard. • Volume-Weighted Moving Average (VWMA) Core • NEW: Adaptive Transparency (Volume-to-Average Ratio) • NEW: Dynamic Breakout Targets (Volatility-Adjusted) • Institutional Volume Spike Highlighting (Orange Candles) • Floating "Trend & Longevity" Labels • Integrated Status Dashboard (Trend Age & Vol Intensity) • Customizable Themed Candle Plotting 🔶 CORE CONCEPT — VOLUMETRIC ADAPTABILITY Standard ribbons often suffer from "lag" or "noise" during low-volume consolidation. VTR Pro solves this by integrating volume into every calculation: • VWSD Expansion: The ribbon’s width is determined by volume-weighted volatility. When "Smart Money" enters the market, the ribbon widens, providing a clear visual of trend strength. • Adaptive Transparency: The indicator’s visibility reacts to current volume. High-volume moves appear bold and opaque, while low-volume "chop" fades into the background, signaling a lack of institutional interest. • Volume Spikes: Regardless of the current trend, the script identifies abnormal volume surges (1.5x average) and highlights the candles in Orange , marking potential exhaustion or ignition points. 🔶 DYNAMIC BREAKOUT TARGETS The indicator features an automated target projection system that appears when price breaks out of the ribbon with high momentum. Volatility-Based: Targets are not fixed percentages; they are calculated based on the current width of the ribbon (the market's recent volatility). Adjustable Multiplier: Traders can fine-tune the "Target Distance" input to match their specific strategy (Scalping vs. Swing Trading). Auto-Hide Logic: Target lines automatically clear once the trend weakens or the level is mitigated, keeping the chart clean and focused. 🔶 TREND DASHBOARD & FLOATING LABELS To provide institutional-level data at a glance, VTR Pro includes two intelligent UI elements: Floating Trend Label: Plotted directly at the end of the middle trend line, this label tracks the current "Longevity" of the move (number of bars in trend), allowing you to identify over-extended trends. Status Dashboard: A top-right table that monitors: - Trend Status: (Bullish / Bearish / Neutral) - Trend Age: The exact duration of the current cycle. - Vol Intensity: A real-time multiplier showing how much volume is flowing relative to the 40-bar average. 🔶 HOW TO USE Trend Confirmation: Enter long when the ribbon turns Green and price holds above the upper edge. Confirm with a "Strong" momentum signal. Spotting Exhaustion: Watch the Trend Age on the dashboard. If a trend has lasted 50+ bars without a contraction, look for Orange Volume Spikes as potential signs of blow-off tops or bottoms. Managing Targets: Use the projected Target Lines as logical take-profit levels or areas to move your stop-loss to break-even. Avoiding Chop: When the ribbon turns Blue (Neutral) and the transparency fades, the market is in equilibrium. This is a "No-Trade Zone" for trend followers. 🔶 CONCLUSION Volumetric Trend Ribbon Pro transforms the traditional ribbon into a data-rich environment. By prioritizing volume intensity and providing automated targets, it removes the guesswork from trend-following and helps traders stay on the right side of institutional flow.
Pine Script® indicator
Aurora: Order Flow Liquidity HeatshelvesAurora — Order-Flow Liquidity Heat Shelves Aurora reads the volume footprint inside each bar and marks the price levels where order flow actually concentrated. Not at pivots and not at round numbers like we Traders normally like to do manually. It marks the rows where real volume traded, sorted into two honest categories and tracked across their whole life until they break. Most "liquidity" indicators draw a box wherever volume was high and call it support. Aurora splits that into two things that behave very differently. Absorption walls are high volume with balanced delta, printed in the extreme third of the bar. That signature is passive limit orders eating aggression. These are the levels worth calling support and resistance. Demand below, supply above. Initiative node s are the rows with the largest one-sided delta. That is aggressor commitment, market orders pushing a direction. It often gets defended, but it is not resting liquidity, so Aurora labels it separately and never pretends it is the same thing. If you only want the genuine walls, turn initiative detection off. Rows are volume-gated first, then candidates are picked. A row has to clear a fraction of the bar's busiest row before it is even considered. Levels have a lifecycle, not just a birthday Every bar, each active shelf gets one of three verdicts: Defended. A wick enters the band and the bar closes back on the correct side. Touch count goes up, the level stays. Broken. Price closes beyond the far edge by a configurable ATR buffer. The buffer kills noise breaks and is gap proof. Closes inside the buffer stay pending, no verdict. Flipped. A broken wall retested from the other side and rejected is reborn with inverted polarity. Broken demand that starts acting as resistance becomes supply. Once per shelf. Overlapping same-side, same-type nodes merge instead of stacking. Volume and delta accumulate, the band widens to the union, and the activity clock resets so a level that keeps getting defended outlives the memory window. Key walls are chosen by strength divided by distance, not distance alone A triple-defended level two ATR away can outrank a fresh weak node sitting right next to price. Spotlighted walls on the same side are forced apart by a minimum gap so two adjacent shelves cannot both burn a spotlight on the same zone. Brightness scales with the strength percentile, so the strongest shelf on screen glows hardest and the rest fall off from there. The cockpit Shows the nearest spotlighted supply and demand with live ATR distance, window cumulative delta, current bar delta, and the session POC. The distances re-evaluate every tick, so price running through a wall intrabar just promotes the next one rather than printing a negative number. The break and flip verdicts still wait for the bar to close. Alerts Four classic alertcondition hooks for new wall, defended, broken, and flipped. There is also an optional JSON webhook mode that emits one structured payload per event, built for piping into your own backend. IMPORANT, PLEASE READ THIS: This needs footprint data, which means a TradingView Premium or Ultimate plan. Free and Essential plans cannot access it. `request.footprint()` reconstructs historical bars from lower timeframe data using tick-rule delta classification. That means historical shelves are approximations. Live shelves, forming in front of you, are the real thing. Treat the history as a decent estimate of where flow clustered, not as tick-exact truth. That means in replay mode Aurora will not show you the truth! Aurora is a map of where liquidity sat and how it held up. It is not a buy or sell signal and it will not tell you direction. A defended wall can still break on the next bar. Use it for context, for where you expect reactions, and for where your stop is sitting relative to real volume. Settings Footprint Engine Ticks per footprint row. The price height of each volume node, measured in ticks. Smaller values cut the bar into finer price slices and give you more precise levels, at the cost of more rows to chew through. Bump it up on high-priced or volatile symbols where one tick is tiny. Value Area %. The share of volume counted as the value area when the footprint is built. Standard is 70. Leave it unless you know why you are changing it. Shelf memory (bars). How many bars of inactivity a shelf can sit through before it gets dropped. This counts inactivity, not age. Every defense or merge resets the clock, so a level that keeps getting respected can live far longer than this number suggests. Volume gate. A row has to hold at least this fraction of the bar's busiest row to be considered at all. This runs before any candidate is picked, so it is your first filter against noise. Raise it to keep only the heaviest rows, lower it to catch more. Max shelves. A hard cap on stored shelves. When you hit it, the weakest broken shelves get evicted first, then the weakest overall. Mostly a performance guard. Node Detection Detect absorption walls: Turns on the genuine walls, the high volume balanced delta rows in a bar's extreme third. If you only trust passive liquidity, this is the one to keep. Absorption max delta over volume: The strictness dial for what counts as absorption. A row qualifies only if its absolute delta divided by total volume is at or below this. Lower means stricter, demanding more balanced two-sided flow. Raise it if you are getting too few walls and want to loosen the definition. Detect initiative nodes: Turns on the max delta rows, the aggressor commitment levels. Useful context, but remember these are not resting liquidity. Turn this off if you want a cleaner chart with walls only. Break buffer (×ATR): How far past a band's far edge price has to close before the level is called broken, in ATR. This kills noise breaks. Closes inside the buffer stay pending with no verdict. Widen it on choppy symbols to stop premature breaks, tighten it if breaks feel too slow to register. Allow S/R flips: Lets a broken wall that gets retested from the other side and rejected come back with inverted polarity. One flip per shelf. Turn it off if you would rather a broken level just stay dead. Visuals The four color inputs: set absorption demand, absorption supply, initiative buying, and initiative selling. They are kept distinct on purpose so you can read kind and side at a glance. Key walls per side: How many walls to spotlight above and below price. These are ranked by strength divided by distance, not distance alone. Min gap between key walls (×ATR): Spotlighted walls on the same side have to sit at least this far apart. Inside a cluster the strongest one wins the slot and the next distinct level gets promoted, so two adjacent shelves cannot both burn a spotlight on the same zone. Set it to 0 to switch this off. Glow zone height (×ATR): The vertical size of the glow around a key wall. Pure cosmetics, set it to whatever reads well on your chart. Max core brightness: How bright the strongest shelf's core line gets. Weaker shelves scale down from here by strength percentile, so this is really the top of the brightness range. Show minor walls: Draws the faint background walls that did not earn a spotlight. Turn it off for a minimal chart with key walls only. Minor wall thickness (ticks): The drawn height of those faint minor walls. Display only, it does not change detection. Project forward (bars): How far the walls and labels extend to the right of the current bar. Set to 0 to stop at the live bar. Hide walls beyond % from price: A render-time filter that hides walls farther than this percent from current price, so the price scale stays near the action. Set to 0 to show everything. Fade broken walls: Draws broken walls more transparently than active ones. Off draws them at the same weight. Alerts Fire JSON webhook alerts: Emits one structured JSON payload per event, new wall, defended, broken, or flipped, on bar close. This is the one for piping into your own backend. The four classic alertcondition hooks fire regardless of this toggle, so leave it off if you just want plain TradingView alerts. Dashboard Show order-flow cockpit: Toggles the live panel showing nearest supply and demand, window and bar delta, and POC. Text size: Sizing for the cockpit text, tiny through large.
Pine Script® indicator
Smart SR Zones [JOAT]SMART SR ZONES Support / resistance done properly. Most public SR scripts paint a horizontal line at every pivot, which produces wallpaper, not analysis. Smart SR Zones does the opposite — pivots are first detected with a volatility-aware engine, then clustered into zones, then scored by volume and touches, then filtered by spacing and distance. What ends up on the chart is the small handful of levels that actually matter for the current market state. Pivot detection — preset-driven A single Strength Preset selects the personality of the pivot engine: Scalp — 4 left / 2 right, 0.4× ATR clustering tolerance, 4-bar minimum spacing. For 1–5m charts. Local — 6 / 4, 0.5×, 8-bar. Tight zones from recent structure. Swing — 15 / 8, 0.9×, 20-bar. The balanced default. Major — 35 / 15, 1.4×, 50-bar. Wide macro zones. Custom — every parameter is exposed for manual tuning. The preset abstraction means you do not need to refit anything across timeframes — pick the read you want and the engine does the rest. Clustering, not stacking When two pivots fall within Cluster Tolerance × ATR of each other they are merged into a single zone, with the box span widened to cover both extremes. This is the difference between a "level" and a "zone": a level pretends price is precise, a zone respects the fact that liquidity sits in a band. The cluster tolerance is ATR-relative so the same setting works across symbols. Touch counting, properly gated A pivot must contribute to a cluster from a minimum bar spacing (preset-driven). Without this filter a chop within a zone gets counted as ten separate touches and inflates the strength score. With it, a zone earns its touch count from genuinely independent visits. Volume-weighted strength + star rating Each cluster accumulates the bar volume at every contributing pivot. The aggregate is converted to a 1–3 star rating relative to the strongest zone currently on the chart, and is shown in the zone label alongside the touch count. Zones can optionally be coloured by volume share so the visually loudest box is the one carrying the most demonstrated activity. Zone of Interest (ZOI) — the headline filter A zone earns the ZOI badge when all of these are true at the same time: It has met the minimum-touches threshold (so it is real structure). Its volume share is above the ZOI volume threshold (so it is meaningfully active). It has not been touched recently — at least ZOI Quiet bars since the most-recent touch. In other words, a ZOI is a high-quality level that the market is conspicuously not testing — and these are usually the next levels that matter. The ZOI gets a bright burlywood border with an optional animated pulse so it visually separates from the rest of the SR stack. Distance hiding A "Hide zones farther than %" input drops anything whose centre price is too far from current — so when you scroll into history the chart does not get cluttered with macro zones from another era. Set to 0 to keep everything visible. Broken zones and dropped zones Two optional historical layers: Broken — zones that were physically closed through. Renders in a desaturated palette so you can see where structure failed without confusing it for active level. Dropped — zones that were removed not by a break but by reorganisation, because newer / stronger pivots reshuffled the cluster set. Both are off by default so a working chart stays clean. Optional signal layer Three small markers (all off by default) for traders who want execution hints rather than just structure: Successful test — circle on bars that touched an active zone and rejected. Retest — diamond when price returns to a broken zone from the opposite side, inside a configurable window. Zone reaction — small diamond on a touch-with-hold, plus a text label on physical break events. A configurable cooldown prevents back-to-back markers from the same zone. Dashboard A compact diagnostic table, positionable to any of nine corners, monospaced. Shows nearest support / resistance with distance, current ZOI status, active zone count per side, and the preset in use. A compact mode hides descriptions for narrow layouts. Alerts A single high-signal alert is exposed: Zone of Interest activation — fires on the first bar a zone qualifies as a ZOI. The other layers are visual diagnostics, not alert-grade; this is intentional, because the ZOI rule is the strongest filter in the script and is what you actually want to be notified about. How to read it Look at the chart and ignore everything except the ZOI-tagged zones and the stars. The stars tell you which historical levels have the most demonstrated activity; the ZOI badge tells you which of those have been deliberately avoided recently. The intersection — a star-rated ZOI close to price — is the cleanest level read this script can produce. Use the volume score and the touch count as a tiebreaker when multiple ZOIs are in play. Suggested settings Default Swing preset works well from 1H through 1D on liquid futures, FX, and crypto. Drop to Local for intraday execution and Scalp for tape-reading on minute charts. Major is for weekly / monthly macro reads. The ZOI volume threshold (70%) is intentionally strict — drop it to 50–60% if you want more frequent ZOI candidates. Originality / what's reused The vocabulary (pivot, cluster, touch count, broken zone, retest) is public-domain market-structure language. The implementation — the preset-driven engine, the ATR-clustering, the volume-weighted star rating, the ZOI rule (touches + volume share + quiet-period), the dropped-zone reorganisation logic, and the volume-share intensity colouring — is JOAT-original and tuned together as a single system. No third-party code reused. Open source Published open-source under the default Mozilla Public License 2.0. The source is fully documented inline — every helper is sectioned, every input has a tooltip, and the structural layers are separable so you can learn from any specific piece. Forks welcome with credit. Limitations SR is structural context, not a signal generator. Smart SR Zones does not print buy / sell labels — it prints zones, ratings, and a single high-quality ZOI alert. On extremely illiquid instruments the volume-share rankings will be noisy and the ZOI rule will fire less often; that is the right behaviour. Zones beyond the Pivot Memory horizon are dropped to stay under TradingView's 500-object cap. — -made with passion by jackofalltrades
Pine Script® indicator
Multi-Strategy Portfolio Optimizer [LuxAlgo]The Multi-Strategy Portfolio Optimizer indicator is a comprehensive quantitative tool that evaluates 9 distinct trading setups across trend-following, momentum, and mean-reversion categories to construct an optimized, equally-weighted portfolio. 🔶 USAGE This script aims to help users identify which trading methodologies are currently performing best on a specific ticker and timeframe, while simultaneously monitoring how well those strategies diversify each other to create a smoother equity curve. 🔹 Strategy Selection & Evaluation The optimizer evaluates three unique parameter variations for each of the following 9 strategy types: Supertrend & EMA Crossovers: Captures sustained directional trends. MACD & CCI: Focuses on momentum shifts and overextended breakouts. Donchian Channels: Classic breakout logic based on price extremes. RSI Trend: Uses RSI levels to confirm momentum direction. RSI Rev, Bollinger Bands & Stochastic: Targets mean-reversion and overbought/oversold exhaustion. The tool automatically selects the "Best Setting" for each category by comparing the cumulative performance of all three variations across the available chart history. Only the top-performing variation from each category is included in the final portfolio calculation. 🔹 Equity Dashboards The indicator features two primary visual interfaces to monitor performance and risk: Floating Curves Box: Displays a real-time equity curve of the total portfolio (thick white line) against the individual active strategies (faded colored lines). This allows users to see the recent performance stability over a user-defined lookback. Correlation Heatmap: Analyzes the statistical relationship between active strategies. This table uses color-coding to show how similar or different strategy returns are, providing a "Diversification Grade" (e.g., Excellent, Good, Poor) to help users avoid over-exposure to a single market regime. 🔹 Trade Visualization Users can enable "Show Past & Open Trades" to audit the simulated performance directly on the price action. The script plots entry lines and shaded ATR-based Stop Loss (red) and Take Profit (green) zones for both currently active and historical trades. 🔶 DETAILS 🔹 Best Setting Logic For every strategy category, the script runs three parallel simulations with different sensitivity settings. The "Best Setting" displayed in the dashboard is the variation that has achieved the highest cumulative percentage return since the beginning of the chart. 🔹 Portfolio Calculation (Equal Weight) The Portfolio Equity Curve is calculated by averaging the cumulative returns of all active "best" setups on a bar-by-bar basis. This simulates an equally weighted allocation where the capital is distributed evenly across all chosen trading methodologies, aiming to reduce the drawdown typically associated with a single-strategy approach. 🔹 Diversification & Correlation The Heatmap calculates a Pearson correlation coefficient over a rolling 100-bar window for every pair of active strategies. Correlation > 0.7 (Red): Strategies are moving in lockstep, offering little diversification. Correlation near 0 (Yellow): Strategies are independent, providing healthy diversification. Correlation < -0.2 (Green): Strategies are inversely correlated, which can significantly hedge portfolio volatility. 🔹 Auto-Scaling Polylines The floating curves dashboard uses a dynamic normalization algorithm. It captures the highest and lowest equity values within the user-defined lookback (Curves Length) and scales them to fit within the box height. This ensures the curves remain visible and proportional regardless of whether the returns are 1% or 100%. 🔶 SETTINGS 🔹 Strategies Enable : Toggles whether a specific strategy category is evaluated and included in the portfolio math. 🔹 Risk Management Enable Stop Loss & Take Profit: Toggles the ATR-based exit engine. ATR Length: The period used for calculating volatility-based exits. Stop Loss / Take Profit Mult: The multipliers that define the distance of exit targets from the entry price. Show Past & Open Trades: Visualizes the execution zones on the chart. 🔹 Dashboard Main Dashboard / Correlation Heatmap: Toggles the visibility of the tables. Position: Moves the UI elements to different corners of the chart. Curves Length: Determines the lookback for the floating equity chart. Curves Vertical Position: Allows you to pin the curves box to the Top, Middle, or Bottom of the price range. Curves Box Height (%): Adjusts the vertical scale of the equity chart relative to the price action. Size: Controls the scale of the text and tables (Tiny to Huge).
Pine Script® indicator
Strong Pullback Signals | ProjectSyndicateStrong Pullback Signals identifies high-probability trend-continuation entries by waiting for an established trend, a clean breakout, and then a pullback — and instead of chasing the bounce, it places the entry with a limit order into the pullback at a better price. Every setup is given a structural stop beyond the pullback swing and fixed R-based targets, ranked 0–10 with a star score, and tracked live on a full statistics dashboard so you can see how the logic behaves on the exact symbol and timeframe you trade. 🧠 Limit-Into-Pullback Entry Engine — the core idea. The indicator arms only after a real breakout in the direction of the trend, then works a limit order back into the pullback rather than entering at the close of a confirmation candle. You get filled at a better price on the retracement instead of paying up after the move has already resumed. Signals confirm on closed bars and do not repaint historically. 📈 Triple-EMA Trend Regime — a fast, slow, and pullback EMA define the trend and the retracement zone. A setup can only arm when price, the EMAs, and the EMA slope all agree, so entries are taken with the trend, not against it. 🎯 Structural Stop + R-Based Targets — the stop is placed just beyond the pullback's swing extreme with an ATR buffer, then capped and floored so it can never balloon into a "wide stop" or collapse into a meaningless one. TP1, TP2, and TP3 are set at clean R multiples (TP1 defaults to a full 1R — a real first target, not a clipped one). Every signal plots its complete Entry / SL / TP1 / TP2 / TP3 line set, labeled price levels, and filled green TP / red SL zone boxes, with a result label on exit. 🎚️ Adjustable Entry Depth — one input controls how deep into the pullback the limit sits. Deeper fills mean a better entry price and fewer trades; shallower fills mean more frequent entries. This is your main dial for trading conviction versus frequency. 🧭 HTF Trend Alignment Filter — an optional higher-timeframe EMA filter blocks counter-trend setups, keeping you on the dominant side of the market. RSI-direction and session (time-of-day) screens are also available for further filtering. ⭐ 0–10 Setup-Quality Score — every signal is scored and labeled with 1–5 stars and a tier (FORMING → ELITE) across HTF alignment, trend strength, entry depth, momentum, volume, and session. Treat the score as a confluence / cleanliness read for ranking and thinning setups — it describes how textbook a setup is, not a guaranteed outcome. A "Minimum Stars / Only Strong" gate lets you display and alert on stronger setups only while the dashboard keeps tracking every tier in the background. 📊 Live Statistics Dashboard — a non-intrusive panel tracks, in real time on your chart: current trend and setup status, the active trade, the last signal and its score, win rate, total trades, profit factor, average R per trade, best-performing direction, long vs short win rate, current and max win/loss streaks, and a TP1 / TP2 / TP3 / SL hit breakdown. These are computed live from the signals on your current symbol and timeframe — so you can judge the settings yourself rather than trusting a number printed in a description. 🎨 Clean Themed Visuals — four color themes, opaque labels anchored clear of price for unobstructed reading, and a compact level "ticket" that stays attached to each trade and snaps to the exit bar when it closes. 🔔 Detailed Alerts — fires on strong long / short entries, plus partial-TP, TP3, and SL events, including direction and score, formatted for manual or automated use. A minimum-stars setting can restrict alerts to higher-conviction setups. 🔧 Fully Customizable — every component is exposed: the three EMAs and slope, breakout lookback and body filter, cooldown, entry depth, structural-stop buffer with risk cap/floor, the three R targets, the HTF / RSI / session filters, the six score weights, and all dashboard, label, and theme options. 🎯 Why this is different — most pullback and reversal tools enter by chasing a confirmation candle and treat every signal the same. This one fixes the entry mechanics first (a limit into the pullback for a better fill, with a structural stop and honest R targets), then layers an objective 0–10 ranking and a live, on-chart statistics panel on top — so you are tuning and judging the system on real, current data instead of a marketing figure. 🚀 Where to use it — trend-following markets across Forex, Gold (XAUUSD), indices, and crypto, on intraday and swing timeframes (M10/M15/M30/H1 and up). The ATR-based stop and R targets adapt to each asset's volatility automatically. 🎯 How to trade it Apply it to a market that actually trends and let the dashboard populate. Read the live win rate, profit factor, and average R for your symbol and timeframe before committing — if the logic doesn't suit that market, you'll see it. Keep the HTF Trend Alignment filter on so you only take pullbacks in the direction of the larger trend. Wait for a STRONG LONG / STRONG SHORT label — that marks a filled limit entry into a pullback, with Entry, SL, and TP1/2/3 already plotted. Manage the trade with the plotted levels: a common approach is to take partial profit at TP1 (1R), move the stop toward breakeven, and let the rest run to TP2/TP3. The structural SL defines your risk on the trade. Use Entry Depth to set your style — deeper for fewer, higher-quality fills; shallower for more activity — and use the star score and Minimum-Stars gate to focus on the cleaner setups. ⚠️ Important — this is a decision-support tool, not a standalone buy/sell system, and it makes no performance guarantees. Default settings were chosen on historical data and behavior will vary by symbol, timeframe, and configuration; the dashboard's statistics are historical and descriptive, not a forecast. The first target is a genuine 1R and the stop is structural by design (no inflated win-rate geometry), which means reward-to-risk and position sizing matter as much as hit rate. Always combine it with your own analysis and risk management, and test it on your market before trading it live.
Pine Script® indicator
SMC + VSA & OIOverview This is a hardcore institutional-grade indicator built on Pine Script v6, combining Smart Money Concepts (SMC), Volume Spread Analysis (VSA), and real-time Open Interest (OI) tracking to expose market manipulation and liquidity hunts. Core Features: 1. Dynamic Session Liquidity (SMC): Automatically tracks Asian, London, and NY session highs/lows. It alerts you when retail stop-losses are swept (Sweep BSL/SSL) at these key levels. 2. VSA Anomaly Detection (Volume): > * Blue Candles: Ultra-high volume climaxes. Cyan Candles: High volume pushes. 3. The Ultimate Lie Detector (Real-time OI): Yellow Candles (Institutional Push): Price pushes UP accompanied by an Open Interest surge (> 3x average). This validates a true breakout backed by limit orders. Fuchsia/Magenta Candles (Retail Squeeze): Price pushes violently, but Open Interest PLUMMETS. This exposes a fakeout fueled by forced liquidations (Stop Runs). Do not buy the pullback; prepare for a reversal! How to use: Never trade a blind FVG again. Use the Yellow candles to find solid order blocks, and use the Fuchsia candles to hunt for extreme reversals after retail capitulation. (Chinese description can be added below if needed)
Pine Script® indicator
Liquidity Magnet Pro [JOAT]LIQUIDITY MAGNET PRO A probability-ranked liquidity engine. Instead of drawing every old pivot as a "liquidity pool" and asking the trader to guess which one matters, Liquidity Magnet Pro scores each pool on four independent factors, ranks them, and surfaces the single highest-probability pool as the TOP MAGNET — the level the script believes price is most likely to be drawn toward next. Then it watches whether price actually sweeps that level, and tracks the hit rate over time. Liquidity pool detection Pools are spawned from confirmed swing pivots ( ta.pivothigh / ta.pivotlow ) with a configurable lookback. Equal highs / lows within an auto-scaled tolerance (0.15% on minute charts up to 10% on weekly) are clustered into a single equal-liquidity pool and get a configurable bonus multiplier — because three nicely-stacked equal highs are a stronger draw than a lone wick. A minimum-age filter discounts freshly-born pools (no demonstrated significance yet), a maximum-age filter retires ancient ones, and a hard cap on active pools keeps the chart legible. Probability scoring (the headline math) Each active pool receives a probability score from a weighted blend of four factors, each separately tunable: Strength — bar volume at the pivot's formation. High-volume swing pivots are more meaningful liquidity than low-volume ones. Proximity — log-space distance from current price. Symmetric in log space so a 10% move up and a 10% move down score the same. Auto-scales by chart timeframe (0.10 on minute charts, 0.95 on weekly). Age decay — a maturity curve: pools below the minimum age are weak (just-formed, untested), pools at mid-age are strongest, very old pools decay toward zero. Momentum bias — how well current momentum is pointing toward the pool. If price is climbing and the pool is above, score goes up; if price is climbing and the pool is below, score goes down. The output is a 0–100% probability label next to each pool. The pool with the highest score is the TOP MAGNET . TOP MAGNET visualisation The top-scored pool gets its own visual treatment so it does not blend into the rest of the stack: Distinct gold colour reserved exclusively for the top pool. An animated pulse (sin-modulated transparency, configurable period and amplitude) so it visually breathes. A magnet glyph anchored to the level. A field line from current price to the magnet — Diagonal (pointed forward) or Vertical (anchored to current bar), with optional directional arrow on the magnet end. The pulse is a JOAT enhancement and is fully configurable — period, amplitude, base transparency — or it can be turned off entirely. Sweep and Sweep-and-Reverse engine This is the layer that turns a magnet into a tradeable signal. When price touches the TOP MAGNET, the script monitors the next N bars for a sweep candle — defined as a wick longer than ATR × multiplier AND a wick / candle-range ratio above the threshold. If both conditions are met, the touch is flagged as a sweep (price reached the liquidity, but was rejected). If, additionally, price closes back through the touched level after the sweep, the script emits a Sweep-Reverse label — the highest-conviction signal the indicator produces. A signal cooldown prevents back-to-back fires on the same level. Bars that triggered a sweep can be tinted with an optional background highlight. Historical tracking When a pool is the TOP MAGNET and then either gets touched, expires, or gets swept, the outcome is recorded as a small chart marker (off by default). Over time these markers form a visible track record of where the script's top magnets were and whether price actually went there. A rolling Historical Touch % and Sweep Rate % are surfaced in the dashboard so you can see the script's recent hit rate at a glance — institutional accountability instead of a black box. Dashboard A monospaced info panel, positionable to any of nine corners, with togglable rows for: Header with a status dot — green when momentum aligns with the top magnet direction, orange when divergent, gray when neutral. TOP MAGNET price, direction, probability score. Distance to top magnet as a progress bar . Historical touch rate and pending magnet count. Top 3 ranked targets below the headline. Sweep rate row (touches that actually became sweeps). Marker legend. Every row is independently toggleable so the panel scales from a one-line status dot to a full institutional cockpit. Alerts Alert conditions are exposed for top-magnet creation, touches on the top magnet, sweep events, and Sweep-Reverse signal fires. Each alert message names the price level so webhooks can route directly to execution. How to read it The cleanest workflow is three steps: Look at the TOP MAGNET gold level and the field line — that is where the script believes the next liquidity event lives. Look at the dashboard status dot — green means current momentum is pointing toward the magnet, which is the high-conviction case. Trade the Sweep-Reverse label when it fires. The sweep alone is the liquidity event; the close-back-through is the confirmation that the sweep was rejected, which is the actual edge. Suggested settings Defaults are tuned for 1H–4H on liquid markets. Auto-scale tolerance and auto-scale log-distance are ON by default so the engine adapts to chart timeframe without manual tuning. Tune the four scoring weights to bias the read — raise Proximity if you want only nearby targets, raise Momentum Bias if you want the engine to lean into the prevailing direction more aggressively. Originality / what's reused The vocabulary (liquidity pool, sweep, equal highs/lows) is public-domain market-structure language. The implementation — the four-factor probability score, the timeframe-auto-scaled tolerance and log-distance, the animated pulse, the magnet field line, the sweep + close-through Sweep-Reverse rule, the historical hit-rate tracking, and the status-dot momentum alignment — is JOAT-original and tuned together as a single ranked engine. No third-party code reused. Open source Published open-source under the default Mozilla Public License 2.0. Source is sectioned, helper functions documented inline, every input carries a tooltip. Forks welcome with credit. Limitations The probability score ranks pools by features that historically correlate with significance — it is a ranking , not a prediction. The Sweep-Reverse signal is non-repainting (uses confirmed close) but only fires when both the sweep wick and the close-back-through are present, which is intentionally rare. On low-liquidity instruments the equal-H/L clustering tolerance may need to be widened manually. — -made with passion by jackofalltrades
Pine Script® indicator
TA Moving AveragesTA Moving Averages An all-in-one moving average overlay: eight timeframe-anchored MAs (the 20 / 50 / 100 / 200 day and 20 / 50 / 100 / 200 week) plus five fully customizable slots, all on one indicator. The point of difference is that every predefined MA is calculated with request.security, so it shows the correct daily or weekly value no matter what timeframe your chart is on. The 200-day reads the true daily 200-period SMA whether you are viewing a 5-minute, hourly, daily, or weekly chart. No switching timeframes to check where the big averages sit. Daily structure 20-Day (bright pink), short-term reference 50-Day (royal blue), common swing reference 100-Day (deep orange), stronger short-term floor 200-Day (yellow), the most-watched long-term trend line across equities and crypto Weekly structure 20-Week (green), accumulation zone often defended during pullbacks 50-Week (cyan), primary long-term trend filter; above is structural bull, below is structural bear 100-Week (amber), intermediate structural zone for multi-year cycles 200-Week (purple), long-term structural anchor and the classic bull-market floor for crypto Custom slots Five extra slots, each with any length, SMA or EMA type, a Chart / Daily / Weekly anchor, and a color picker. Off by default. Enable a 34 EMA, an 89-day Fibonacci reference, a 300-week anchor, or whatever your method calls for. Built for every style Day traders lean on the 20D / 50D for intraday support and resistance. Swing traders use the 50D / 100D with the 20W / 50W for cycle structure. Position traders watch the 100W / 200W as long-term anchors. Multi-timeframe analysts see all eight at once. Notes All MAs use lookahead off, so there is no repaint risk. Each line has its own toggle and color picker, and values are kept out of the chart legend to keep the title clean (still visible on the price scale and in the Data Window). Works on any timeframe; the weekly MAs reveal structure best on daily and weekly charts.
Pine Script® indicator
Footprint X-Ray [BOSWaves]Footprint X-Ray - Intrabar Delta Decomposition with Stacked Imbalance, Absorption, and Unfinished Business Detection Overview Footprint X-Ray is an intrabar order flow decomposition system that reconstructs the buy and sell volume distribution within each bar by pulling lower timeframe data and mapping participation to price rows, where row coloring, POC identification, stacked imbalance detection, and signal generation are driven by actual delta ratios at each price level rather than bar-level approximations or close-position estimates. Instead of treating each bar as a single undifferentiated unit of buying or selling pressure, the indicator divides each bar's price range into rows sized relative to ATR, assigns lower timeframe bar volume to each row based on price overlap, and derives a per-row delta ratio that reflects whether buying or selling dominated at each specific price level within the bar. This creates a full participation map inside every candle showing not just what direction the bar moved but where within the bar each side was in control. This creates an order flow framework that reveals the internal structure of price action invisible on a standard candlestick chart. The footprint cells expose per-level delta composition, the POC identifies the price row with the greatest participation, stacked imbalances highlight consecutive rows with dominant one-sided flow indicating aggressive institutional activity, absorption signals detect when extreme rows show opposing flow against the bar direction, and unfinished business zones project forward from bars where one side was entirely absent at the extreme, marking locations where price is statistically likely to return to complete the auction. Price is therefore evaluated not at the bar level but at the price row level, exposing order flow dynamics that standard indicators cannot access. Conceptual Framework Footprint X-Ray is founded on the principle that the most actionable order flow information lives inside individual bars rather than across them, and that understanding which specific price levels within a bar attracted aggressive buying or selling reveals institutional positioning fingerprints that bar-level indicators systematically obscure. Standard order flow approaches measure directional commitment at the bar level through delta, volume, or close positioning, but these metrics collapse the internal price distribution into a single reading that loses the structural detail of where within the bar each side dominated. This framework recovers that internal structure by reconstructing per-row participation from lower timeframe data, exposing the distribution of buying and selling pressure across the full price range of every bar. Three core principles guide the design: Each price row within a bar should have its own buy and sell volume measurement derived from lower timeframe participation overlap, providing per-level delta ratios rather than bar-level approximations. Structural patterns within the footprint, specifically stacked consecutive dominant rows and opposing flow at extremes, carry meaningful institutional activity signals that justify dedicated detection and visualization separate from raw row coloring. Unfinished auction levels where one side was entirely absent at a bar extreme should be projected forward as active reference zones until price returns to complete the participation, as incomplete auctions represent the highest-probability reversion targets within the footprint framework. This shifts order flow analysis from bar-level delta measurement into per-row intrabar participation mapping where structural footprint patterns expose institutional activity with precision unavailable at the candlestick level. Theoretical Foundation The indicator combines lower timeframe OHLCV data retrieval, price overlap-weighted volume allocation to ATR-derived price rows, per-row delta ratio calculation, POC identification by maximum row volume, consecutive dominance run detection for stacked imbalances, extreme row opposing flow detection for absorption, and one-sided extreme row detection for unfinished business zone projection. Lower timeframe bars are retrieved using security_lower_tf and each lower timeframe bar's volume is allocated to price rows proportionally based on the overlap between the lower timeframe bar's range and each row's boundaries. Bullish lower timeframe bars contribute their allocated volume to buy volume and bearish bars to sell volume, with doji bars split equally. CVD from TradingView's volume delta library provides the bar-level delta for divergence and exhaustion detection. Row size is automatically derived as a fraction of the 200-bar ATR, scaling the footprint granularity to the instrument's typical volatility. Four internal systems operate in tandem: Row Construction and Delta Allocation Engine : Divides each bar's price range into ATR-scaled rows, iterates through all lower timeframe bars within the current chart bar, allocates volume to overlapping rows by price range fraction, and derives per-row buy volume, sell volume, total volume, and delta ratio. Footprint Analysis System : Identifies the POC as the row with maximum total volume, runs consecutive dominance detection in both bull and bear directions to classify stacked imbalance rows, and evaluates extreme rows for absorption by testing opposing side dominance against the configured threshold. Unfinished Business Zone Engine : Tests the top and bottom rows of each bar for single-sided extreme dominance, creates forward-projecting zone boxes from qualifying rows, extends those zones rightward on each subsequent bar, and removes them when price midpoint is revisited. Signal Detection System : Derives bar delta from the CVD series, tests for delta divergence against recent price highs and lows, and identifies exhaustion bars where volume significantly exceeds the SMA baseline but net delta remains near zero, indicating a contested bar where neither side achieved directional resolution. This design provides a complete intrabar participation map with structural pattern detection across every dimension of order flow that is reconstructable from OHLCV data. How It Works Footprint X-Ray evaluates price through a sequence of intrabar decomposition and pattern detection processes: Lower Timeframe Selection : The indicator automatically selects the most appropriate lower timeframe based on the current chart timeframe, using one-second for seconds charts, one-minute for intraday, five-minute for daily, and sixty-minute for higher timeframes, or the manually configured timeframe when auto selection is disabled. Row Size Calculation : The ATR over 200 bars multiplied by 0.1 and rounded to the minimum tick produces the row height, scaled automatically to the instrument's volatility. Manual row sizing overrides this when auto sizing is disabled. Lower Timeframe Data Retrieval : OHLCV arrays for the lower timeframe are retrieved via security_lower_tf and CVD is calculated using TradingView's volume delta library, providing both intrabar participation data and bar-level delta for signal detection. Row Initialization : The bar's price range is divided into rows of equal height, with the number of rows derived from the range divided by the row size. Volume Allocation per Row : For each row, all lower timeframe bars are iterated. Each lower timeframe bar contributing to a row has its volume allocated proportionally based on the fraction of its range overlapping the row boundary. Bullish lower timeframe bars contribute to buy volume and bearish bars to sell volume. Delta Ratio Calculation : Each row's delta ratio is calculated as buy volume minus sell volume divided by total volume, producing a normalized score from negative one to positive one that drives cell coloring. POC Identification : The row with the maximum total volume is identified as the Point of Control, receiving a distinct highlight color and an optional midpoint line. Stacked Imbalance Detection : Consecutive bullish dominant rows exceeding the configured threshold ratio are identified as bullish stacked imbalances. The same logic in reverse identifies bearish stacks. Qualifying rows receive highlighted border coloring. Absorption Detection : The top rows of green bars are tested for sell dominance and the bottom rows of red bars are tested for buy dominance. When opposing flow exceeds the absorption threshold at an extreme, an absorption signal is generated at the bar's high or low. Unfinished Business Zone Creation : The top row of each bar is tested for buy dominance above the UB threshold and the bottom row for sell dominance above the threshold. Qualifying extreme rows generate forward-projecting zone boxes that extend rightward until price revisits the zone midpoint. Delta Divergence Detection : Price making a new high within the lookback window while bar delta is negative generates a bearish divergence signal. Price making a new low while bar delta is positive generates a bullish divergence signal. Exhaustion Bar Detection : Bars with volume exceeding the SMA baseline multiplied by the volume multiplier and with absolute delta-to-volume ratio below the configured maximum qualify as exhaustion bars, indicating high participation without directional resolution. Candle Overlay Rendering : An optional transparent candle overlay with wicks colored by bar delta direction provides directional context on top of the footprint cell display without obscuring the underlying participation data. Together, these elements form a continuously updating intrabar participation map where cell coloring reveals per-level delta composition, structural pattern detection identifies institutional activity signatures, and forward-projecting zones maintain active auction completion references. Interpretation Footprint X-Ray should be interpreted as an intrabar order flow decomposition system with layered structural pattern detection: Footprint Cells : Each colored box represents a price row within the bar. Green shading indicates buy-dominant flow at that level, red shading indicates sell-dominant flow, and color intensity reflects the magnitude of the imbalance. Neutral rows with balanced participation appear at intermediate opacity. Cell Text (Delta %) : The percentage displayed in each cell represents the net delta ratio for that row, quantifying how one-sided participation was at each specific price level within the bar. Cell Text (Volume) : When volume mode is selected, each cell displays the net volume (buy minus sell) at that price row, providing absolute rather than relative participation data. Accent Lines : A bright horizontal line on the dominant edge of each row highlights the side with greater participation, providing a clean visual boundary that reinforces the directional reading of each cell without requiring the text to be read. POC Row : The row with the highest total volume receives a distinct highlight and optional midpoint line, marking the price level with the greatest participation concentration within the bar and the most significant auction reference point. Stacked Imbalance Borders : Rows identified as part of a consecutive dominant run receive highlighted border coloring in the imbalance direction, signaling aggressive institutional one-sided flow across multiple consecutive price levels within the bar. Absorption Diamonds : Diamond markers below bars indicate bullish absorption where buyers dominated the bottom rows of a red bar, suggesting selling pressure was being absorbed by aggressive buyers. Diamonds above bars indicate bearish absorption where sellers dominated the top rows of a green bar. Unfinished Business Zones : Forward-projecting shaded boxes from extreme rows where one side was entirely absent mark incomplete auctions. Bullish UB zones project from bars where buyers dominated the top row without seller response. Bearish UB zones project from bars where sellers dominated the bottom row without buyer response. Delta Divergence Crosses : Cross markers below price on bullish divergences and above price on bearish divergences identify structural disagreement between price direction and bar delta, flagging hidden weakness at new highs and hidden strength at new lows. Exhaustion Circles : Orange circles on bars with extreme volume but near-zero net delta mark contested bars where neither side achieved resolution despite heavy participation, indicating potential inflection points where the prior directional move may be losing conviction. Delta Wicks : Optional candle overlay wicks colored by bar delta direction provide an immediate visual cue for whether net buying or net selling dominated the bar as a whole, complementing the per-row cell analysis. Per-row delta composition, POC location, stacked imbalance presence, absorption signals, unfinished business zones, and exhaustion bars collectively provide more order flow intelligence than any element in isolation. Signal Logic & Visual Cues Footprint X-Ray presents five distinct signal types derived from intrabar participation analysis: Absorption Signal : Diamond markers generated when extreme rows show opposing flow against the bar direction, identifying institutional absorption of aggressive flow at price extremes. Delta Divergence Signal : Cross markers generated when price makes new highs or lows within the lookback window but bar delta contradicts the directional move, flagging structurally weak breakouts. Exhaustion Bar Signal : Orange circles generated on bars with exceptional volume and near-zero net delta, identifying participation battles where neither side achieved dominance despite heavy activity. Unfinished business zones provide continuous passive signal context by projecting forward from incomplete auction extremes until price returns to complete the participation sequence. Alert generation covers bullish and bearish CVD flips, bullish and bearish absorption events, bullish and bearish delta divergence, and exhaustion bar detection for comprehensive systematic order flow monitoring. Strategy Integration Footprint X-Ray fits within institutional order flow and auction theory-based trading approaches: POC Reaction Trading : Use POC rows as high-probability reference levels within each bar. The highest-volume row represents the price level most accepted by both buyers and sellers and frequently acts as intrabar support, resistance, or reversion anchor on subsequent price interaction. Stacked Imbalance Directional Bias : Use stacked imbalance detection as a directional conviction signal within bars. Consecutive buy-dominant rows from low to high indicate sustained aggressive buying across multiple price levels, suggesting institutional accumulation rather than isolated speculative activity. Absorption Reversal Framing : Use absorption signals as potential reversal triggers where aggressive flow is meeting organized opposing participation at extremes. Bullish absorption at the low of a red bar suggests buyers are defending price levels despite selling pressure, while bearish absorption at the high of a green bar suggests sellers are resisting upside extension. Unfinished Business Zone Targets : Use UB zones as reversion targets for subsequent price action, monitoring whether price returns to complete the auction at levels where one side was previously absent. The completion of an unfinished auction typically involves a return to the zone followed by the missing side finally participating. Divergence-Confirmed Entries : Use delta divergence signals as structural warning indicators rather than standalone entries, weighting them more heavily when they coincide with other confluence factors such as absorption or unfinished business zone proximity. Exhaustion Bar Context : Treat exhaustion bars as inflection point alerts requiring subsequent bar confirmation rather than immediate entry triggers. High volume with near-zero delta indicates a contested equilibrium that will resolve directionally on the following bars. Technical Implementation Details Delta Source : TradingView volume delta library providing CVD series with automatic lower timeframe selection Row Construction : ATR-fraction row sizing with lower timeframe price overlap-weighted volume allocation per row Analysis Engine : Maximum volume POC identification, consecutive dominance run detection for stacked imbalances, and extreme row opposing flow testing for absorption UB System : Array-managed forward-projecting zone boxes with midpoint revisit detection and automatic removal Signal Detection : CVD-based delta divergence against lookback window highs and lows, volume SMA ratio combined with delta ratio for exhaustion classification Visualization : Gradient-colored footprint cells with accent lines, POC highlighting, stacked imbalance borders, absorption and divergence markers, exhaustion circles, UB zones, and optional delta wick candle overlay Performance Profile : Optimized with object count caps and array management for real-time execution across intraday and higher timeframes Optimal Application Parameters Timeframe Guidance: 1 - 5 min : Intrabar microstructure analysis for scalping with automatic one-minute lower timeframe providing high-resolution participation data within each chart bar 15 - 60 min : Session-level order flow decomposition for intraday trading with sufficient lower timeframe bar count per chart bar to produce meaningful row distributions 4H - Daily : Swing-level institutional footprint analysis with five-minute lower timeframe providing detailed participation mapping across larger price ranges Suggested Baseline Configuration: Auto Lower Timeframe : Enabled Auto Row Size : Enabled Cell Text : Delta % Accent Lines : Enabled Highlight POC Row : Enabled Show Stacked Imbalances : Enabled Min Consecutive Rows : 3 Dominance Threshold (SI) : 0.60 Show Absorption : Enabled Show Unfinished Business : Enabled Delta Divergence : Enabled Exhaustion Bars : Enabled Show Candle Overlay : Enabled These suggested parameters should be used as a baseline; their effectiveness depends on the instrument's volume characteristics, typical bar range, and preferred signal sensitivity, so fine-tuning is expected for optimal performance. Parameter Calibration Notes Use the following adjustments to refine behavior without altering the core logic: Too few rows per bar : Disable Auto Row Size and manually reduce the row size value to increase row count, producing a more granular footprint with finer price level resolution for the target instrument and timeframe combination. Too many rows cluttering the display : Increase the manual row size or allow auto sizing to recalibrate. On higher timeframes with large bar ranges the automatic ATR fraction may produce excessive row counts that reduce readability. Stacked imbalance signals too frequent : Increase the Min Consecutive Rows setting to require longer dominance runs before stacking is classified, or increase the Dominance Threshold toward 0.75 to demand stronger per-row directional conviction. Absorption signals too frequent : Increase the Absorption Threshold toward 0.80 to require stronger opposing dominance at extremes before an absorption signal fires, filtering for only the most decisive institutional responses. Too many unfinished business zones : Increase the UB Dominance Threshold toward 0.90 to restrict zone creation to only the most extreme single-sided bar extremes, reducing zone density on the chart. Divergence signals firing too often : Increase the Divergence Lookback to require price to make a more significant new high or low before the divergence condition tests, reducing signal frequency to only the most structurally significant disagreements. Exhaustion signals too frequent : Increase the Volume Multiplier to require a larger volume spike above the baseline before exhaustion classification, or decrease the Max Delta Ratio to require closer to zero net delta for a bar to qualify. Adjustments should be incremental and evaluated across multiple session types rather than isolated market conditions. Performance Characteristics High Effectiveness: Liquid instruments with consistent volume where lower timeframe bar allocation produces meaningful per-row participation distributions and reliable delta measurements Intraday and session-level timeframes where sufficient lower timeframe bars exist within each chart bar to produce statistically representative row-level volume allocation Order flow-based trading approaches where intrabar participation patterns provide entry confirmation or invalidation context that bar-level indicators cannot supply Institutional activity monitoring where stacked imbalances and absorption patterns reveal aggressive positioning that precedes significant directional moves Reduced Effectiveness: Low-liquidity instruments where thin lower timeframe volume produces sparse row distributions with many empty cells and unreliable per-level delta ratios Higher timeframes on instruments without lower timeframe data availability where security_lower_tf returns insufficient bars per chart bar for meaningful decomposition Instruments without volume data, which the indicator detects and blocks with a runtime error Extremely fast markets during news events where lower timeframe bars are so large relative to the chart bar range that overlap allocation produces distorted row distributions Thin or extended-hours sessions where volume is too low to produce statistically meaningful per-row participation differences distinguishable from random distribution Integration Guidelines Confluence : Combine with BOSWaves structural tools, trend indicators, or momentum oscillators to validate footprint-derived signals with broader analytical context before acting on intrabar participation patterns POC Context : Treat POC rows as the most significant intrabar reference levels. Subsequent price returning to a prior bar's POC is returning to its highest-participation level, which frequently acts as support, resistance, or magnetic reversion anchor. Stacked Imbalance Direction : Use stacked imbalance direction as a short-term institutional bias indicator. Consecutive buy-dominant rows from low to high suggest aggressive accumulation that may continue on subsequent bars. Consecutive sell-dominant rows suggest distribution. Unfinished Business Patience : Allow UB zones to be approached naturally rather than anticipating reactions immediately after formation. The auction completion process can take multiple bars and the zone should be monitored for participation behavior on arrival rather than treated as an automatic reversal level. Exhaustion Confirmation Requirement : Never treat exhaustion bars as standalone entry triggers. The exhaustion condition identifies a contested state that requires subsequent directional resolution. Wait for the following bar to confirm which side won the participation battle before acting on the exhaustion signal. Disclaimer Footprint X-Ray is a professional-grade intrabar order flow decomposition and institutional activity detection tool. It uses lower timeframe volume allocation with per-row delta calculation but does not access true exchange-level bid and ask data. All participation measurements are reconstructed from OHLCV data and represent best-approximation estimates rather than actual order book information. Results depend on instrument liquidity, lower timeframe data availability, parameter selection, and disciplined execution. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates price structure, trend context, and comprehensive risk management.
Pine Script® indicator
Volume Profile Support & Resistance Matrix [HexaTrades]Most indicators tell you where the price went. This one shows you where the volume traded and then does the hard part for you: it reads that volume map and draws the support and resistance levels that genuinely matter right now. VRVP Visible Range Support/Resistance Matrix is an all-in-one volume toolkit. It builds a buy/sell Volume Range Visible Profile over the last N candles (or the visible range), locates the heavy high-volume nodes, converts them into ranked support and resistance zones, and surrounds them with everything you need to act: Point of Control, Value Area, Low-Volume-Node levels, optional Fair Value Gaps, a corner dashboard, and breakout/touch/ approach alerts. Everything is configurable, and every level is explained ✨ features ✔️ Buy & Sell Volume Profile - Volume-by-price histogram built from the chosen window, one row per price bin. - Buy vs sell split: each candle’s volume is classified as buying (close ≥ open) or selling (close < open) and stacked per row, so you see the order-flow balance at every level. - Radiant intensity coloring: heavy rows render bright/opaque, light rows fade out, so the significant nodes jump off the chart. - Right-of-price placement: the profile sits in the gap to the right of the last candle (adjustable), so it never covers your price action, and it pans/zooms with the chart. - Gap-free distribution: volume is spread across each candle’s full range, so the profile is solid rather than a sparse set of dots. ✔️ Automatic Support & Resistance Zones - High-volume node detection: the script repeatedly finds the biggest volume peaks and turns them into zones. - Strength % score: every zone is graded by its volume relative to the Point of Control (e.g. “Support 82%”), and the fill opacity scales with that strength. - Retest count: counts how many times price has re-entered the zone (e.g. “x4”), so you can tell fresh levels from heavily-tested ones. - Smart spacing: a minimum distance (in profile rows) and an anti-overlap floor keep zones cleanly separated, never stacked on top of each other. - Per-side cap: limit how many support and resistance zones show, so the chart stays readable. - Auto role flip: a level above the last confirmed close is Resistance, below it is Support; zones recolor only when a candle actually closes through them. - Adjustable thickness: zone band height from ATR or bin size, fully tunable. Anchor options extend zones from the window start or from the last price touch. ✔️ Point of Control & Value Area - POC line: the single highest-volume price (the market’s fair-value magnet). - Value Area (VAH / VAL) : the high/low boundaries that contain your chosen % of total traded volume (default 70%). - Used both as optional on-chart lines and as the engine behind the dashboard’s trend bias. ✔️ Low Volume Nodes (LVNs) - Imbalance detection: finds the thin “valleys” in the profile where little volume traded. - Dashed level lines mark these air pockets: price tends to move quickly through them and react at the thick nodes around them. ✔️ Fair Value Gaps (FVG) - 3-candle imbalance detection: bullish & bearish gaps where price moved so fast it left an unfilled inefficiency. -Unfilled-only boxes: only gaps price hasn’t returned to are shown, as small yellow boxes labeled “FVG”. Capped to keep the chart clean. (Off by default.) ✔️ Stat Dashboard - A compact corner panel showing 📊 POC, 🔼 VAH, 🔽 VAL, 🟥 Nearest Resistance, 🟩 Nearest Support, 🧭 Trend Bias (Bullish / Bearish / Balanced) and 📐 zone counts. - Dark, high-contrast styling that stays readable on light and dark chart themes; placeable in any of the four corners. ✔️ Alerts The tool features a comprehensive, built-in alert system that triggers notifications for a variety of critical price movements, such as breakouts above resistance, breakdowns below support, support touches, resistance rejections, and upcoming zone warnings. Traders can also enable an optional volume confirmation filter to help minimize false signals during low-liquidity periods. ✔️ Window & Customization - Two modes: a fixed candle window (default 360) for consistency, or the visible range so the profile follows whatever you’re looking at. - Adjustable resolution: set the number of profile rows for coarse or fine detail. - Full color control: buy/sell profile, support/resistance fills, POC, value area, LVN and FVG colors are all editable. Find all mentioned features in the chart below. ⚙️ How it works - Range & rows. It takes the high/low of the last N candles (or the visible range) and slices that range into bins (rows). - Volume mapping. Each candle spreads its volume across the rows its range covers, then splits it into buy vs sell, giving a solid, gap-free volume-by-price map. - POC & Value Area. The busiest row is the Point of Control; the script expands outward until it captures your chosen % of total volume → VAH / VAL. - Zone selection. It picks the biggest volume peaks, keeps them spaced apart so they never overlap, scores each by strength, and counts retests. - Role & signals. Levels above the last confirmed close are Resistance; below are Support, and breakout/touch / reject / approach events fire from the nearest live zone. 🚀How to use it- step by step Add the indicator to any symbol that has volume, on any timeframe. The defaults work out of the box. Two decisions set the context: - Timeframe: use your trading timeframe. Higher timeframes (1H/4H/1D) give fewer, stronger zones; lower timeframes give more, faster-moving ones. - Window: keep Use Fixed Candle Count on (default 360) for a stable, repeatable profile, or turn it off to let the profile follow the visible range as you scroll. ⭐️ Read the structure with the dashboard - Trend Bias is your regime filter: Bullish when price is above the Value Area High (favour longs), Bearish below the Value Area Low (favour shorts), Balanced inside the value area (favour fading the edges / mean-reversion). - 🎯 POC / 🔼 VAH / 🔽 VAL give you the fair-value zone where most business was done. - 🟥 Nearest Resistance / 🟩 Nearest Support are your immediate targets and invalidation prices ⭐️ Find the zones that actually matter Not all zones are equal — let the labels rank them for you: - Strength % : higher = more volume traded there = a stronger level. A “Support 95%” is far more significant than a “Support 48%”. Prioritise the high-% zones. - Retest count (x N): a low count means a fresh, untested level (often the cleanest reactions); a high count means it’s been hit many times and may be weakening toward a break. - Profile shape: the long bars are High-Volume Nodes (acceptance/magnets); the thin LVN dashed lines are Low-Volume Nodes (rejection / fast-travel zones). ⭐️ Trade the three core plays Almost every setup is one of these. Use the zone edges for entries and stops: Bounce (long at support) - Price drops into a strong green Support zone with the bias bullish or balanced. - Wait for a reaction candle (rejection wick/engulfing) inside or at the zone. - Entry on the reaction; stop just below the zone; first target = POC or the nearest resistance. Reject (short at resistance) - Price rallies into a strong red Resistance zone with the bias bearish or balanced. - Look for a rejection / the “Resistance Reject” marker. - Entry on the reaction; stop just above the zone; target = POC or nearest support. Breakout / Breakdown (momentum) -A decisive close through a zone (ideally with the BUY/SELL signal and volume confirmation on) flips it from resistance to support (or vice-versa). -Enter on the break or the retest of the flipped zone; target the next zone up/down. - Breaks through a thin LVN tend to run fast to the next High-Volume Node. Stack confluence for the best setups The highest-probability trades are where several things line up: Zone + POC: a level sitting on the Point of Control is a heavy magnet. Zone + Value Area edge: VAH/VAL rejections are classic mean-reversion spots. Zone + Fair Value Gap turn on FVGs: a gap that overlaps a zone is a strong target. Zone + LVN beyond it: if there’s an air pocket just past a zone, a break can accelerate quickly. High Strength % + low retest count: fresh, heavy levels react best. Feel free to explore, learn from, and build upon this indicator. Feedback, suggestions, and ideas for future improvements are always welcome and appreciated. This indicator is provided for educational and analytical purposes only and does not constitute financial, investment, or trading advice. All signals, levels, and zones are based on historical market data and should be used alongside your own analysis and risk management. Trading involves risk, and past performance or historical price reactions do not guarantee future results.
Pine Script® indicator
Pine Script® indicator
Liquidity Magnet ICT Liquidity & Sweeps [LunqFX]Liquidity Magnet is an ICT / Smart Money Concepts (SMC) liquidity indicator that maps buy-side and sell-side liquidity (BSL / SSL) and ranks every liquidity pool by how likely it is to be swept next. Instead of just drawing equal highs, equal lows and swing liquidity, it scores each resting pool of liquidity with a transparent 0–100 "Magnet Score" and highlights the single strongest draw on price as the NEXT TARGET — so you can anticipate the next liquidity sweep, stop hunt or liquidity grab before it happens. If you trade ICT concepts, order flow, smart money, or supply and demand, this tool answers the one question every liquidity-based strategy needs: where is price most likely to go to take liquidity next? WHAT IT DOES • Detects liquidity pools automatically — swing highs / lows and equal highs / equal lows (EQH / EQL) where stop-losses cluster. • Scores each pool 0–100 with the Magnet Score, a transparent weighted formula. • Flags the strongest pool as the NEXT TARGET with a live arrow, price and probability. • Marks pools as swept the moment price closes through them, then fades them. • Shows a clean live dashboard: next target, probability, distance, bias and pool counts. • Recolors the chart with neon gradient candles (turquoise bullish / violet bearish). HOW THE MAGNET SCORE WORKS The Magnet Score is fully transparent — no black box. Each unswept pool is graded on four weighted factors: 1. Proximity — how close the pool sits to current price (closer pulls harder). 2. Momentum — whether current momentum is moving toward the pool. 3. Age — how long the pool has rested untouched (older pools hold more liquidity). 4. Touches — how many times price has tagged the level (more taps = more stops stacked). The four factors are combined into a single 0–100 score. The pool with the highest score, within a maximum distance from price, becomes the NEXT TARGET. If no pool is strong or close enough, the panel honestly reports "No clear magnet" instead of inventing a far-away target. HOW TO USE IT 1. Read the BIAS in the panel — BUY-SIDE PULL means liquidity above is the draw (look for longs into the target); SELL-SIDE PULL means liquidity below is the draw (look for shorts). 2. Find the NEXT TARGET — the highlighted pool is where price is most likely to sweep liquidity next. Use it as a logical take-profit / objective. 3. Check the PROBABILITY bar — higher score = stronger magnet. Weak scores mean price is in a low-liquidity void; be patient. 4. Watch DISTANCE — how far the target is in %. Tight distance = an immediate objective; large distance = a swing objective. 5. Trade the sweep — as price reaches a pool and sweeps it, watch for the reaction. Swept pools fade automatically so the chart always shows live, unmitigated liquidity only. Tip: combine the NEXT TARGET with your own entry model (FVG, order block, market structure). Liquidity Magnet tells you WHERE liquidity sits and which pool is the draw — you choose the entry. THE DASHBOARD • NEXT TARGET — price of the strongest liquidity pool and its probability. • Probability bar — visual 0–100 strength of the current magnet. • Distance — % distance from price to the target. • Touches — how many times the target level was tested. • Bias — overall liquidity pull (buy-side vs sell-side). • Buy-side / Sell-side pools — count of active unmitigated pools on each side. NON-REPAINTING All liquidity pools are built from confirmed pivots (a fixed lookback of closed bars), and every sweep is confirmed on closed bars only — barstate.isconfirmed. Scores and visuals are display-side and never rewrite history. No request.security, no lookahead, no future leak. What you see is what actually happened. SETTINGS Liquidity Engine • Swing length — pivot lookback; higher = only major swings become pools. • Equal-level tolerance — how close two highs/lows must be (in ATR) to merge into one pool and count as a touch. • Max pools per side — cap on active pools above and below. • Max pool age — pools older than this are removed. Magnet Score • Proximity range, Momentum lookback / range — sensitivity of the score factors. • Weights: proximity / age / touches / momentum — fully customizable scoring. • Min score to flag target — hide weak magnets below this score. • Max target distance % — a pool farther than this can never be the NEXT TARGET. Neon Candles • Neon gradient candles on/off, Glow halo on/off. Panel • Show panel, position, background / text / accent colors. BEST USED ON Forex, Gold (XAUUSD), indices, crypto and stocks. Works on all timeframes; intraday (15m–4H) is ideal for liquidity sweeps, higher timeframes for swing objectives. Keywords: liquidity, liquidity sweep, liquidity pools, ICT, SMC, smart money concepts, buy-side liquidity, sell-side liquidity, BSL, SSL, equal highs, equal lows, EQH, EQL, stop hunt, liquidity grab, order flow, smart money, market structure. This indicator is a decision-support tool, not financial advice. Always combine it with your own analysis and risk management.
Pine Script® indicator
OTE Structure Flow//@version=6 indicator("OTE • Structure & Flow Map", overlay=true, max_lines_count=500, max_labels_count=500, max_boxes_count=100) //━━━━━━━━━━━━ INPUTS pivotLen = input.int(5, "Swing Pivot Length", minval=1) maxSwings = input.int(40, "Visible Swing Count", minval=10, maxval=100) extendBars = input.int(120, "Flow Extend Bars", minval=20, maxval=300) showSwings = input.bool(true, "Show Market Structure") showOTE = input.bool(true, "Show OTE 0.886") showTarget = input.bool(true, "Show Target 0.618") showCore = input.bool(true, "Show Regression Gravity Line") showLabels = input.bool(true, "Show HH / HL / LH / LL") regLen = input.int(120, "Regression Length", minval=20, maxval=300) regSmooth = input.int(5, "Regression Smooth", minval=1) bullCol = color.lime bearCol = color.red oteCol = color.yellow tpCol = color.aqua grayCol = color.gray //━━━━━━━━━━━━ PIVOTS ph = ta.pivothigh(high, pivotLen, pivotLen) pl = ta.pivotlow(low, pivotLen, pivotLen) phBar = bar_index - pivotLen plBar = bar_index - pivotLen var float pivPrice = array.new_float() var int pivBar = array.new_int() var int pivType = array.new_int() // 1 high, -1 low addPivot(_price, _bar, _type) => sz = array.size(pivType) if sz == 0 array.push(pivPrice, _price) array.push(pivBar, _bar) array.push(pivType, _type) else lastType = array.get(pivType, sz - 1) lastPrice = array.get(pivPrice, sz - 1) if lastType == _type replaceHigh = _type == 1 and _price > lastPrice replaceLow = _type == -1 and _price < lastPrice if replaceHigh or replaceLow array.set(pivPrice, sz - 1, _price) array.set(pivBar, sz - 1, _bar) else array.push(pivPrice, _price) array.push(pivBar, _bar) array.push(pivType, _type) while array.size(pivType) > maxSwings array.shift(pivPrice) array.shift(pivBar) array.shift(pivType) if not na(ph) addPivot(ph, phBar, 1) if not na(pl) addPivot(pl, plBar, -1) //━━━━━━━━━━━━ REGRESSION FLOW CORE src = hl2 reg0 = ta.linreg(src, regLen, 0) reg1 = ta.linreg(src, regLen, 1) reg2 = ta.linreg(src, regLen, 2) slope = reg0 - reg1 curve = (reg0 - reg1) - (reg1 - reg2) gravityRaw = reg0 + slope * 2.0 + curve * regLen * 0.25 gravity = ta.ema(gravityRaw, regSmooth) gravityBull = gravity > gravity gravityBear = gravity < gravity gravityCol = gravityBull ? bullCol : gravityBear ? bearCol : grayCol plot(showCore ? gravity : na, "Market Gravity Regression Line", color=color.new(gravityCol, 0), linewidth=3) //━━━━━━━━━━━━ OBJECTS var line lines = array.new_line() var label labels = array.new_label() var box boxes = array.new_box() clearObjects() => while array.size(lines) > 0 line.delete(array.pop(lines)) while array.size(labels) > 0 label.delete(array.pop(labels)) while array.size(boxes) > 0 box.delete(array.pop(boxes)) addLine(_x1, _y1, _x2, _y2, _col, _style, _width) => ln = line.new(_x1, _y1, _x2, _y2, xloc=xloc.bar_index, extend=extend.none, color=_col, style=_style, width=_width) array.push(lines, ln) addLabel(_x, _y, _txt, _col, _up) => if showLabels lb = label.new(_x, _y, _txt, xloc=xloc.bar_index, style=_up ? label.style_label_up : label.style_label_down, color=_col, textcolor=color.black, size=size.tiny) array.push(labels, lb) addBox(_left, _top, _right, _bottom, _col) => bx = box.new(_left, _top, _right, _bottom, xloc=xloc.bar_index, bgcolor=color.new(_col, 86), border_color=color.new(_col, 25)) array.push(boxes, bx) prevSamePrice(_idx, _type) => float res = na for j = _idx - 1 to 0 if array.get(pivType, j) == _type and na(res) res := array.get(pivPrice, j) res //━━━━━━━━━━━━ DRAW STRUCTURE + OTE FLOW var string mode = "WAIT" if barstate.islast clearObjects() mode := "STRUCTURE FLOW" sz = array.size(pivType) if showSwings and sz >= 2 for i = 1 to sz - 1 pA = array.get(pivPrice, i - 1) pB = array.get(pivPrice, i) bA = array.get(pivBar, i - 1) bB = array.get(pivBar, i) tB = array.get(pivType, i) prev = prevSamePrice(i, tB) isHH = tB == 1 and not na(prev) and pB > prev isLH = tB == 1 and not na(prev) and pB <= prev isHL = tB == -1 and not na(prev) and pB > prev isLL = tB == -1 and not na(prev) and pB <= prev sCol = isHH or isHL ? bullCol : isLH or isLL ? bearCol : grayCol txt = isHH ? "HH" : isLH ? "LH" : isHL ? "HL" : isLL ? "LL" : tB == 1 ? "H" : "L" addLine(bA, pA, bB, pB, sCol, line.style_solid, 2) addLabel(bB, pB, txt, sCol, tB == -1) if sz >= 4 i1 = sz - 4 i2 = sz - 3 i3 = sz - 2 i4 = sz - 1 t1 = array.get(pivType, i1) t2 = array.get(pivType, i2) t3 = array.get(pivType, i3) t4 = array.get(pivType, i4) p1 = array.get(pivPrice, i1) p2 = array.get(pivPrice, i2) p3 = array.get(pivPrice, i3) p4 = array.get(pivPrice, i4) b4 = array.get(pivBar, i4) bullImpulse = t3 == -1 and t4 == 1 and p4 > p2 and p3 > p1 bearImpulse = t3 == 1 and t4 == -1 and p4 < p2 and p3 < p1 if bullImpulse mode := "BULL STRUCTURE FLOW" ote886 = p4 - (p4 - p3) * 0.886 tp618 = p4 - (p4 - p3) * 0.618 boxSize = math.abs(p4 - p3) * 0.025 if showOTE addLine(b4, ote886, bar_index + extendBars, ote886, oteCol, line.style_dashed, 2) addBox(b4, ote886 + boxSize, bar_index + extendBars, ote886 - boxSize, oteCol) addLabel(bar_index + extendBars, ote886, "OTE 0.886", oteCol, true) if showTarget addLine(b4, tp618, bar_index + extendBars, tp618, tpCol, line.style_dashed, 2) addLabel(bar_index + extendBars, tp618, "TARGET 0.618", tpCol, false) if bearImpulse mode := "BEAR STRUCTURE FLOW" ote886 = p4 + (p3 - p4) * 0.886 tp618 = p4 + (p3 - p4) * 0.618 boxSize = math.abs(p3 - p4) * 0.025 if showOTE addLine(b4, ote886, bar_index + extendBars, ote886, oteCol, line.style_dashed, 2) addBox(b4, ote886 + boxSize, bar_index + extendBars, ote886 - boxSize, oteCol) addLabel(bar_index + extendBars, ote886, "OTE 0.886", oteCol, false) if showTarget addLine(b4, tp618, bar_index + extendBars, tp618, tpCol, line.style_dashed, 2) addLabel(bar_index + extendBars, tp618, "TARGET 0.618", tpCol, true) //━━━━━━━━━━━━ PANEL var table pan = table.new(position.top_right, 2, 3, border_width=1) if barstate.islast table.cell(pan, 0, 0, "OTE", text_color=color.white, bgcolor=color.black) table.cell(pan, 1, 0, "STRUCTURE FLOW", text_color=oteCol, bgcolor=color.black) table.cell(pan, 0, 1, "Mode", text_color=color.white) table.cell(pan, 1, 1, mode, text_color=mode == "BULL STRUCTURE FLOW" ? bullCol : mode == "BEAR STRUCTURE FLOW" ? bearCol : grayCol) table.cell(pan, 0, 2, "Swings", text_color=color.white) table.cell(pan, 1, 2, str.tostring(array.size(pivType)), text_color=color.white) OTE Structure Flow, piyasa yapısını, impulsif hareketleri ve optimal geri çekilme bölgelerini görselleştirmek için tasarlanmış yapısal Fibonacci haritalama aracıdır. İndikatör, grafik üzerinde sürekli olarak Higher High (HH), Higher Low (HL), Lower High (LH) ve Lower Low (LL) yapılarını tespit ederek canlı bir piyasa yapısı haritası oluşturur. Manuel Fibonacci çizimlerinden farklı olarak sistem, en son geçerli impulsif hareketi otomatik olarak takip eder ve buna bağlı geri çekilme ile devam hedeflerini hesaplar. Temel Mantık: • Swing tepe ve diplerden piyasa yapısı oluşturulur. • Yapısal ilerleme doğrulandığında impulsif hareket belirlenir. • Son impulsif hareket üzerinden Fibonacci tabanlı OTE (0.886) bölgeleri hesaplanır. • Gerekli yapısal şartlar oluştuğunda Fibonacci 0.618 devam hedefleri otomatik olarak oluşturulur. • Dinamik regresyon tabanlı Gravity Line piyasanın yönsel akışını görselleştirir. Bu indikatör doğrudan AL veya SAT sinyali üretmez. Bunun yerine, fiyat yapısını, geri çekilmeleri ve potansiyel devam hedeflerini analiz etmek için objektif bir yapısal harita sunar. Ana Bileşenler: • HH / HL / LH / LL Yapı Haritası • İmpuls Tespiti • OTE 0.886 Bölgeleri • Fibonacci 0.618 Hedefleri • Dinamik Gravity Flow • Canlı Yapısal Görselleştirme Gerekli yapısal şartlar oluştuğunda sistem otomatik olarak Fibonacci tabanlı OTE bölgelerini ve hedef seviyelerini hesaplayarak grafik üzerinde gösterir.
Pine Script® indicator
Adaptive ATR Trend BandsAdaptive ATR Trend Bands is a volatility-based trend-state indicator built around a selectable moving average basis and ATR-derived upper/lower bands. The script creates a dynamic channel around the selected basis type: EMA, SMA, or VWMA. Band width is calculated from ATR length and ATR multiplier settings. The area between the bands changes color according to the current trend state, making it easier to read whether price is operating in bullish or bearish conditions. Trend shifts are detected when price breaks above the previous upper band from a bearish state or breaks below the previous lower band from a bullish state. When a bullish shift is confirmed, the script can print a LONG label. When a bearish shift is confirmed, the script can print a SHORT label. Main features: • ATR-based upper and lower volatility bands; • Selectable basis type: EMA, SMA, or VWMA; • Optional basis line with direction-based coloring; • Trend-state fill between the bands; • Bullish and bearish trend shift labels; • Minimum bar distance between repeated labels; • Optional bar-close confirmation; • Adaptive basis slope filter; • Adaptive ATR expansion filter; • Optional multi-timeframe RSI filter; • Optional higher-timeframe EMA trend filter; • Alert conditions for bullish and bearish trend shifts. The adaptive slope filter checks whether the basis line has enough directional movement relative to current ATR conditions. This helps reduce labels when the basis is too flat and price movement is less directional. The adaptive ATR expansion filter compares current ATR with its own average for the active chart timeframe. This helps reduce labels during lower-volatility conditions where band breaks may be less meaningful. The optional multi-timeframe RSI filter uses the previous completed RSI value from the selected higher timeframe. Bullish shifts are allowed when the higher-timeframe RSI is in the lower zone, while bearish shifts are allowed when the higher-timeframe RSI is in the upper zone. The optional higher-timeframe EMA filter uses the previous completed higher-timeframe close and EMA value. Bullish shifts are allowed when the higher-timeframe close is above the EMA. Bearish shifts are allowed when the higher-timeframe close is below the EMA. Practical use: The bands can be used to read volatility-based trend structure. A bullish label marks a confirmed shift from bearish to bullish conditions according to the band break and enabled filters. A bearish label marks a confirmed shift from bullish to bearish conditions according to the band break and enabled filters. This script is intended for chart analysis and educational use.
Pine Script® indicator
Ehlers Dominant Cycle Stochastic RSI v2Ehlers Dominant Cycle Stochastic RSI Summary An adaptive Stochastic RSI whose lengths are set by the market's measured dominant cycle rather than by a fixed input. The indicator continuously estimates the dominant cycle period in price and feeds that period directly into the RSI and Stochastic calculations, so the oscillator's lookback adjusts as the underlying cycle shortens or lengthens across symbols and timeframes. The Inspiration — John Ehlers The indicator is built on the digital signal processing work of John Ehlers, who treated price as a waveform and applied engineering filters to extract its underlying cycle. Rather than rely on a single cycle estimate, it runs three independent measurement methods in parallel: Hilbert Transform homodyne discriminator — Ehlers' classic dominant-cycle estimator Autocorrelation Periodogram — Pearson correlation across lags to identify the repeating period Goertzel / DFT power spectrum — a frequency-domain scan for the strongest cycle Before measurement, price is conditioned with Ehlers' filter set: a Super Smoother filter, a Highpass filter to remove the trend (DC) component, and an optional Bandpass "spectral dilation" pre-filter to isolate the cycle band. The three estimates are then cross-checked. When they agree, their values are blended into a single confirmed period; when they diverge, outliers are down-weighted before the result is smoothed. Features Triple cycle detection with confirmation — Hilbert, Autocorrelation, and DFT run together, with a 0–100% confidence score reflecting how closely they agree Confidence-weighted period blending — each method is weighted by agreement and correlation strength, then smoothed into one cycle period Adaptive RSI & Stochastic lengths — both derive from the detected cycle, with independent multipliers (e.g. 0.5× for half-cycle, 1.0× for full-cycle) Spectral dilation pre-filter — optional bandpass with adjustable bandwidth for tighter cycle isolation Momentum histogram — normalized K−D centered on the midline, with bars that fade as momentum stalls OB/OS zone shading Performance controls — recalc interval and DFT window settings to manage the spectral scans
Pine Script® indicator
CVD [Order Flow]Price tells you what happened. Cumulative Volume Delta tries to tell you who was leaning on it. Delta is buying pressure minus selling pressure on each bar; CVD is that delta accumulated into a running line, so a market can grind sideways in price while the delta quietly stacks in one direction. CVD builds that line, draws it as informative candles instead of a flat curve, and watches it for two order-flow behaviors traders care about: divergence against price and absorption. One honest caveat sits underneath all of it, and the tool is built around it rather than hiding it: TradingView does not know real buy versus sell volume, so this CVD is a lower-timeframe estimate — and on data where that estimate is weak, the tool stays quiet instead of inventing pressure. HOW IT WORKS CVD is reconstructed from a lower timeframe, because the chart timeframe alone cannot tell you how a bar's volume split between buyers and sellers. The tool requests intrabar data from a faster timeframe and classifies each intrabar: an up intrabar adds its volume as positive delta, a down intrabar subtracts it, and a doji counts as zero — on an ambiguous intrabar the tool refuses to guess a side. Delta and CVD — each bar's delta is the sum of its intrabar deltas. The cumulative line is committed only when the bar closes (the live bar is shown separately and is provisional until then). Two accumulation modes: Session resets the running total at each session start; Cumulative carries it across. CVD candles — by default CVD is drawn as candles in its own pane: the open is the previous close, the high and low are the running intrabar extremes of the cumulative within the bar, and the close is the bar's net delta. This shows the path the delta took inside the bar, not just where it ended — more informative than a plain line. Line and Line+Histogram styles are available too. Divergence — drawn on the price chart, between a price pivot and the matching CVD pivot, on confirmed pivots only. Regular divergence (price makes a higher high or lower low while CVD does the opposite — a potential exhaustion read) and Hidden divergence (a continuation read, default off). Several filters gate it: minimum swing size, minimum CVD move, minimum pivot volume, and bar-distance bounds, so trivial wiggles do not get marked. Absorption — a strong delta meeting a weak price result: a lot of one-sided pressure that fails to move price its way, as if the move is being absorbed. It is confirmed on the next candle. This is an order-flow pattern, not a buy or sell instruction. The unreliable-data part is deliberate and silent. Behind the scenes the tool weighs the symbol type against how complete the intrabar measurement is. On a symbol with no real volume it withholds signals; on tick-volume data it stays cautious. There is no confidence panel or badge — the honesty is in the behavior, not in a label on your chart. Intrabar data is pulled from a lower timeframe and classified into per-bar delta (up = +volume, down = -volume, doji = 0) Delta is accumulated into CVD and committed on bar close; the running line is drawn as candles, line, or line+histogram Confirmed price and CVD pivots are compared for divergence; a strong-delta / weak-result bar is flagged as absorption, confirmed next candle HOW TO READ The CVD line rising means net buying pressure is accumulating; falling means net selling pressure. Sideways price with a steadily climbing or dropping CVD is the situation this tool is built to surface. CVD candles show the intrabar path: a long candle that closed near its delta extreme is one-sided flow, while a candle that ran far in delta but closed back near its open is flow that met resistance. A regular divergence is price and CVD disagreeing at a swing — price extends, delta does not. A hidden divergence (off by default) is the continuation-flavored version. Both describe an order-flow condition, not a trade. An absorption mark is heavy delta that did not get its move. It says pressure was met, nothing more. "Bullish" and "Bearish" describe the direction of the pattern, not a buy or sell instruction. Marking a divergence or an absorption says nothing about whether price will turn, continue, or do neither. The tool maps the order flow; the read is yours. INPUTS LTF Source / Manual LTF — Auto picks a lower timeframe targeting enough intrabars per chart bar; Manual lets you set it yourself. Accumulation — Session (reset the running total each session) or Cumulative (carry it across). Show Bullish / Show Bearish Divergence — enable each direction independently. Show Hidden — add the continuation-style hidden divergence (default off). Pivot Left / Right — how many bars define a confirmed pivot (larger = stricter and later, but still no repaint). Pivot Source — Wick or Close: measure pivots from the extremes or from the closes. Min Swing Size / Min CVD Move / Min Pivot Volume / Min & Max Bars Between — the divergence quality filters; raise them for fewer, cleaner marks. CVD Smoothing — smooth the CVD used for pivot detection. Absorption — toggle the absorption pattern; its delta, range, and period thresholds define how strong the delta and how weak the result must be. CVD Style — Candles (default), Line, or Line+Histogram. Zero Line / Dim Live Bar / Up & Down Color — display options; Dim Live Bar visually marks the not-yet-committed bar. ALERTS CVD Bullish Divergence and CVD Bearish Divergence fire when a confirmed, filter-passing divergence is marked. Absorption fires when a confirmed absorption is marked. All fire on confirmed, quality-gated events — set them up with "Once Per Bar Close." NOTES & LIMITS This is an observation tool, not a forecast. The single most important thing to understand: TradingView does not provide real buy versus sell volume, so this CVD is a lower-timeframe estimate built by splitting each bar into faster intrabars and classifying them. That estimate is only as good as the volume data underneath it. On instruments with genuine traded volume — futures and crypto — it is at its most reliable. On forex and CFDs the "volume" is tick volume (number of price updates, not contracts traded), so the delta there is looser, and the tool treats it cautiously through a silent data-quality gate; on a symbol with no usable volume it withholds signals rather than drawing noise. There is no panel telling you this per bar — the caution is built into the behavior. Divergence and absorption are order-flow patterns, not buy or sell instructions, and marking one says nothing about whether price will reverse or continue. No repaint, no lookahead: the cumulative line is committed on confirmed (closed) bars and the live bar is shown separately as provisional; divergences are drawn on confirmed pivots only — they appear a few bars late by nature, but they do not move once printed; absorption is confirmed on the next candle. The lower-timeframe request reads completed intrabars and does not leak the future. No profit, win-rate, or guarantee claim. Open-source under CC BY-NC-SA 4.0 — non-commercial use, attribution to ElisTools required for reuse or derivatives. TradingView (Pine v6) only.
Pine Script® indicator
TA (Miles) Adaptive TrendTA (Miles) Adaptive Trend TA (Miles) Adaptive Trend is a volatility-gated trend follower. At its core is a 21/55 EMA pair, but unlike a plain EMA cross, a flip only counts when the market proves it. What makes it different A raw EMA cross is only the starting point. Before it becomes a trend flip it must clear a stack of gates, and that gating is the whole point of the tool: 1. Volume must run above its 20-bar average (default 1.2x). 2. Volatility must be alive (ATR above a minimum percent of price). 3. The EMAs must be spread far enough apart to mean something (default 0.12 percent). 4. Price must hold the new side for a confirmation period (default 2 bars). 5. A cooldown since the last flip must have passed (default 8 bars). Optional extras: an ADX floor, and a higher-timeframe filter that only allows flips agreeing with the daily 200 MA. The result is a trend follower that sits out the chop that bleeds plain MA-cross systems dry in sideways markets. What you see The 21 and 55 EMAs with a fill colored by the confirmed trend state (blue bull, orange bear, gray neutral). Flip triangles mark confirmed changes. Gray X markers show blocked crosses, the raw EMA crosses the anti-chop engine rejected, which is half the value: you see exactly the whipsaws you were spared. A compact info table reports the current trend, EMA spread, chop status, and ATR percent. Strategy integration Exports trend state and flip events as data-window plots you can wire into companion strategy scripts. Best timeframes Tuned for daily charts; works well on 4H and weekly. On lower timeframes, raise the confirmation bars and cooldown. Alerts Two conditions: Bull trend flip and Bear trend flip, confirmed flips only, never raw crosses.
Pine Script® indicator
HOS Special # HOS Smart Money Pro (SMC + Sessions + SMA) HOS Smart Money Pro is an all-in-one institutional trading toolkit that combines Smart Money Concepts (SMC), major trading sessions, and trend-following moving averages into a single indicator. This indicator is designed for traders who analyze market structure, liquidity, order flow, and institutional price action while keeping track of important session ranges and trend direction. ### Features Included ✅ Internal Market Structure (BOS & CHoCH) ✅ Swing Market Structure (BOS & CHoCH) ✅ Internal & Swing Order Blocks ✅ Fair Value Gaps (FVG) ✅ Equal Highs (EQH) & Equal Lows (EQL) ✅ Premium, Discount & Equilibrium Zones ✅ Daily, Weekly & Monthly High/Low Levels ✅ Tokyo Session Range with High & Low Projection ✅ London Session Range with High & Low Projection ✅ SMA 20 – Short-Term Trend ✅ SMA 50 – Intermediate Trend ✅ SMA 100 – Medium-Term Trend ✅ SMA 200 – Long-Term Trend & Market Bias ### How to Use • Use BOS and CHoCH to identify trend continuation and reversals. • Monitor Order Blocks and Fair Value Gaps for potential institutional reaction zones. • Use Tokyo and London session ranges to identify liquidity accumulation and breakout opportunities. • SMA 20 and SMA 50 help identify short-term momentum. • SMA 100 and SMA 200 help determine overall market direction and dynamic support/resistance. ### Best Markets • Forex • Indices • Stocks • Commodities • Cryptocurrency ### Best Timeframes Works across all timeframes, with particularly strong performance on: • 5 Minute • 15 Minute • 1 Hour • 4 Hour • Daily ### Disclaimer This indicator is provided for educational and informational purposes only. It does not constitute financial or investment advice. Always perform your own analysis and risk management before making trading decisions. Developed by House of Stocks (HOS).
Pine Script® indicator