Titan Wick Zone IndicatorThe Titan Wick Zone Indicator visually highlights the upper and lower wick regions of each candlestick on your chart, helping traders instantly identify areas where price was aggressively rejected (top wick) or absorbed (bottom wick). The indicator fills the area above the candle body to the wick high in red (sell zone), and the area below the candle body to the wick low in green (buy zone), both with adjustable opacity for clear visibility.
How to Use:
Spot Rejection and Absorption:
The red-filled upper wick zone marks where upward price moves were sharply rejected by sellers, often indicating supply, resistance, or “stop hunt” zones.
The green-filled lower wick zone marks where downward price moves were absorbed by buyers, pointing to potential demand, support, or accumulation zones.
Enhance Price Action Analysis:
Use these zones to avoid entering trades at price extremes, spot potential reversals, and find areas of confluence with support/resistance, Fibonacci levels, or order blocks.
Risk Management:
The indicator helps visualize where liquidity hunts or false breakouts may occur, so you can better place stop losses outside of volatile wick zones.
Ideal For:
Price action traders, scalpers, and swing traders seeking a visual edge in spotting supply/demand dynamics, liquidity zones, and wick-driven traps.
Cari dalam skrip untuk "demand"
Impulse Alert - Supply (Sell) [Fixed]🟥 Supply Zone (Sell) – Institutional Order Block Detector
This custom indicator automatically detects valid Supply Zones (Sell Zones) based on Smart Money Concepts and institutional trading behavior.
🔍 How It Works:
Identifies strong bearish impulsive moves after price forms a potential Order Block
Valid supply zones are plotted after:
A valid rally–base–drop or drop–base–drop structure
A shift in structure or clear imbalance is detected
The zone is created from the last bullish candle before a strong bearish engulfing move
Zones remain on chart until price revisits and reacts
📊 Use Case:
Ideal for traders using Smart Money Concepts (SMC), Supply & Demand, or ICT-inspired strategies
Perfect for scalping, day trading, or swing setups
Designed for confluence with HTF bias and LTF execution
⚙️ Features:
Supply Zone auto-plotting
Customizable zone color and opacity
Alerts when price returns to the zone (retest entry opportunity)
🧠 Tip for Best Use:
Use in confluence with:
HTF Supply zones (manual or other indicator)
Market Structure breaks
Fair Value Gaps or Imbalance zones
Strong impulsive moves from HTF to LTF
🔁 Future Additions (Coming Soon):
Demand Zone detection
Zone strength rating system
Refined zone filters (volume, candle size, etc.)
Alerts for mitigation or invalidation
📌 Created by: Rohit Jadhav | Real-time market trader | YT/Insta - @GrowthByTrading
💬 Feedback? Drop a comment or connect via profile for updates and tutorials!
Binance Spot vs Perpetual Price index by BIGTAKER📌 Overview
This indicator calculates the premium (%) between Binance Perpetual Futures and Spot prices in real time and visualizes it as a column-style chart.
It automatically detects numeric prefixes in futures symbols—such as `1000PEPE`, `1MFLUX`, etc.—and applies the appropriate scaling factor to ensure accurate 1:1 price comparisons with corresponding spot pairs, without requiring manual configuration.
Rather than simply showing raw price differences, this tool highlights potential imbalances in supply and demand, helping to identify phases of market overheating or panic selling.
🔧 Component Breakdown
1. ✅ Auto Symbol Mapping & Prefix Scaling
Automatically identifies and processes common numeric prefixes (`1000`, `1M`, etc.) used in Binance perpetual futures symbols.
Example:
`1000PEPEUSDT.P` → Spot symbol: `PEPEUSDT`, Scaling factor: `1000`
This ensures precise alignment between futures and spot prices by adjusting the scale appropriately.
2. 📈 Premium Calculation Logic
Formula:
(Scaled Futures Price − Spot Price) / Spot Price × 100
Interpretation:
* Positive (+) → Futures are priced higher than spot: indicates possible long-side euphoria
* Negative (−) → Futures are priced lower than spot: indicates possible panic selling or oversold conditions
* Zero → Equilibrium between futures and spot pricing
3. 🎨 Visualization Style
* Rendered as column plots (bar chart) on each candle
* Color-coded based on premium polarity:
* 🟩 Positive premium: Light green (`#52ff7d`)
* 🟥 Negative premium: Light red (`#f56464`)
* ⬜ Neutral / NA: Gray
* A dashed horizontal line at 0% is included to indicate the neutral zone for quick visual reference
💡 Strategic Use Cases
| Market Behavior | Strategy / Interpretation |
| ----------------------------------------- | ------------------------------------------------------------------------ |
| 📈 Premium surging | Strong futures demand → Overheated longs (short setup) |
| 📉 Premium dropping | Aggressive selling in futures → Oversold signal (long setup) |
| 🔄 Near-zero premium | Balanced market → Wait and observe or reassess |
| 🧩 Combined with funding rate or OI delta | Enables multi-factor confirmation for short-term or mid-term signals |
🧠 Technical Advantages
* Fully automated scaling for prefixes like `1000`, `1M`, etc.
* Built-in error handling for inactive or missing symbols (`ignore_invalid_symbol=true`)
* Broad compatibility with Binance USDT Spot & Perpetual Futures markets
🔍 Target Use Cases & Examples
Compatible symbols:
`1000PEPEUSDT.P`, `DOGEUSDT.P`, `1MFLUXUSDT.P`, `ETHUSDT.P`, and most other Binance USDT-margined perpetual futures
Works seamlessly with:
* Binance Spot Market
* Binance Perpetual Futures Market
Ralph Indicator - ZaraTrust Smart MoneyThe Ralph Indicator – ZaraTrust Smart Money is a powerful yet simple Smart Money Concepts (SMC) based tool designed for traders who want to trade like institutions. It auto-detects high-probability Buy/Sell zones, Support/Resistance levels, and Demand/Supply areas on the chart — giving you clear, visual, and actionable signals without the clutter.
⸻
🔍 Key Features:
✅ Smart Money Structure
• Uses pivot-based logic to identify potential structure points
• Helps you understand market flow (e.g., BOS, CHoCH simplified logic)
✅ Automatic Support & Resistance
• Plots major levels based on significant highs and lows
• Helps catch key reversal or breakout zones
✅ Demand & Supply Zones
• Visually shows areas where price may react strongly
• Based on smart pivot detection from recent swings
✅ Buy/Sell Trade Signals
• Highlights buy when price breaks resistance (possible bullish shift)
• Highlights sell when price breaks support (possible bearish shift)
✅ Clean & Easy UI
• Toggle features on/off from settings panel
• Labels and shapes are plotted clearly on the chart for instant reading
⸻
🛠️ Recommended Use:
• Use on 15min to 4H timeframe for intraday or swing trading
• Combine with price action (e.g., confirmation candles, liquidity grab)
• Works best when paired with institutional logic (OBs, FVG, liquidity)
⸻
⚠️ Disclaimer:
This indicator is a tool, not a signal service.
It does not guarantee 98% accuracy, but it’s designed to highlight smart money zones and high-probability areas. Always do your own risk management and backtest before using on a live account.
Cobra Hedge Dashboard – V1.0 Final Master🧠 Cobra Hedge Dashboard – V1.0 Final Master
V1.0 | Smart Risk Filter for Open Hedge Positions
📝 (Description):
Cobra Hedge Dashboard is built specifically for traders managing open hedge positions. It provides a real-time view of directional pressure, smart zones, and price behavior to help make informed decisions such as:
When to partially close hedge orders
When to reverse positions based on flow & exhaustion
Which side (Buy or Sell) currently has momentum
Detecting price reaching critical zones (Supply/Demand)
Measuring volume strength to avoid fake exits
🔍 Ideal for traders already in the market — this dashboard is not an entry signal system, but a tool to manage hedge exits and exposure.
Built-in calculations include:
VWAP and EMA cross-pressure
Directional flow meter
Auto Supply & Demand Zones
Volume spikes and breakout strength
Best used on 1m–15m charts.
Open-source for transparency and improvement.
Math by Thomas Liquidity PoolDescription
Math by Thomas Liquidity Pool is a TradingView indicator designed to visually identify potential liquidity pools on the chart by detecting areas where price forms clusters of equal highs or equal lows.
Bullish Liquidity Pools (Green Boxes): Marked below price where two adjacent candles have similar lows within a specified difference, indicating potential demand zones or stop loss clusters below support.
Bearish Liquidity Pools (Red Boxes): Marked above price where two adjacent candles have similar highs within the difference threshold, indicating potential supply zones or stop loss clusters above resistance.
This tool helps traders spot areas where smart money might hunt stop losses or where price is likely to react, providing valuable insight for trade entries, exits, and risk management.
Features:
Adjustable box height (vertical range) in points.
Adjustable maximum difference threshold between candle highs/lows to consider them equal.
Boxes automatically extend forward for visibility and delete when price sweeps through or after a defined lifetime.
Separate visual zones for bullish and bearish liquidity with customizable colors.
How to Use
Add the Indicator to your chart (preferably on instruments like Nifty where point-based thresholds are meaningful).
Adjust Inputs:
Box Height: Set the vertical size of the liquidity zones (default 15 points).
Max Difference Between Highs/Lows: Set the max price difference to consider two candle highs or lows as “equal” (default 10 points).
Box Lifetime: How many bars the box stays visible if not swept (default 120 bars).
Interpret Boxes:
Green Boxes (Bullish Liquidity Pools): Areas of potential demand and stop loss clusters below price. Watch for price bounces or accumulation near these zones.
Red Boxes (Bearish Liquidity Pools): Areas of potential supply and stop loss clusters above price. Watch for price rejections or distribution near these zones.
Trading Strategy Tips:
Use these zones to anticipate where stop loss hunting or liquidity sweeps may occur.
Combine with your Order Block, Fair Value Gap, and Market Structure tools for higher probability setups.
Manage risk by avoiding entries into price regions just before large liquidity pools get swept.
Automatic Cleanup:
Boxes delete automatically once price breaks above (for bearish zones) or below (for bullish zones) the zone or after the set lifetime.
Sessions [Plug&Play]This indicator automatically highlights the three major FX trading sessions—Asia, London, and New York—on your chart and, at the close of each session, draws right-extended horizontal rays at that session’s high and low. It’s designed to help you visually identify when price is trading within each session’s range and to quickly see where the highest and lowest prices occurred before the next major session begins.
Key Features:
Session Boxes
Draws a semi-transparent box around each session’s timeframe (Asia, London, New York) based on your local UTC offset.
Each box dynamically expands in real time: as new candles form during the session, the box’s top and bottom edges update to match the highest high and lowest low seen so far in that session.
When the session ends, the box remains on your chart, anchored to the exact candles that formed its boundaries.
High/Low Rays
As soon as a session closes (e.g., London session ends at 17:00 UTC+0 by default), two horizontal rays are drawn at that session’s final high and low.
These rays are “pinned” to the exact candles where the high/low occurred, so they stay in place when you scroll or zoom.
Each ray extends indefinitely to the right, providing a clear reference of the key supply/demand levels created during that session.
Session Labels
Optionally places a small “London,” “New York,” or “Asia” label at the top edge of each completed session’s box.
Labels are horizontally centered within the session’s box and use a contrasting, easy-to-read font color.
Customizable Appearance
Show/Hide Each Session: Toggle display of London, New York, and Asia sessions separately.
Time Ranges: By default, London is 08:00–17:00 (UTC), New York is 13:00–22:00 (UTC), and Asia is 00:00–07:00 (UTC). You can override each session’s start/end times using the “Time Range” picker.
Color & Opacity: Assign custom colors to each session. Choose a global “Dark,” “Medium,” or “Light” opacity preset to adjust box fill transparency and border shading.
Show/Hide Labels & Outlines: Turn the text labels and the box borders on or off independently.
UTC Offset Support
If your local broker feed or price data is not in UTC, simply adjust the “UTC Offset (+/–)” input. The indicator will recalculate session start/end times relative to your chosen offset.
How to Use:
Add the Indicator:
Open TradingView’s Pine Editor, paste in this script, and click “Add to Chart.”
By default, you’ll see three translucent boxes appear once each session begins (Asia, London, New York).
Watch in Real Time:
As soon as a session starts, its box will appear anchored to the first candle. The top and bottom of the box expand if new extremes occur.
When the session closes, the final box remains visible and two horizontal rays mark that session’s high and low.
Analyze Key Levels:
Use the high- and low-level rays to gauge session liquidity zones—areas where stop orders, breakouts, or reversals often occur.
For example, if London’s high is significantly above current price, it may act as resistance in the New York session.
Customize to Your Needs:
Toggle specific sessions on/off (e.g., if you only care about London and New York).
Change each session’s color to match your chart theme.
Adjust the “UTC Offset” so sessions align with your local time.
Disable labels or box borders if you prefer a cleaner look.
Inputs Overview:
Show London/New York/Asia Session (bool): Show or hide each session’s box and its high/low rays.
Time Range (session): Defines the start/end of each session in “HHMM–HHMM” (24h) format.
Colour (color): Custom color for each session’s box fill, border, and high/low rays.
Show Session Labels (bool): Toggle the “London,” “New York,” “Asia” text that appears at the top of each completed box.
Show Range Outline (bool): Toggle the box border (if off, only a translucent fill is drawn).
Opacity Preset (Dark/Medium/Light): Controls transparency of box fill and border.
UTC Offset (+/–) (int): Adjusts session times for different time zones (e.g., +1 for UTC+1).
Why It’s Useful:
Quickly Identify Session Activity: Visually distinguish when each major trading session is active, then compare price action across sessions.
Pinpoint High/Low Liquidity Levels: Drawn rays highlight where the market hit its extremes—critical zones for stop orders or breakout entries.
Multi-Timeframe Context: By seeing historical session boxes and rays, you can locate recurring supply/demand areas, overlap zones, or session re-tests.
Fully Automated Workflow: Once added to your chart, the script does all the work of tracking session boundaries and drawing high/low lines—no manual box or line drawing necessary.
Example Use Cases:
London Breakout Traders: See where London’s high/low formed, then wait for price to revisit those levels during the New York session.
Range Breakout Strategies: If price consolidates inside the London box, use the boxed extremes as immediate targets for breakout entries.
Intraday Liquidity Swings: During quieter hours, watch Asia’s high/low to identify potential support/resistance before London’s opening.
Overlap Zones: Compare London’s range with Asia’s range to find areas of confluence—high-probability reversal or continuation zones.
A.K Dynamic EMA/SMA / MTF S&R Zones Toolkit with AlertsThe A.K Dynamic EMA/SMA / MTF Support & Resistance Zones Toolkit is a powerful all-in-one technical analysis tool designed for traders who want a clean yet comprehensive market view. Whether you're scalping lower timeframes or swing trading higher timeframes, this indicator gives you both the structure and signals to take action with confidence.
Key Features:
✅ Customizable EMA/SMA Suite
Display key Exponential and Simple Moving Averages including 5, 9, 20, 50, 100, and 200 EMAs, plus optional 50 SMA for trend filtering. Each line can be toggled individually and color-customized.
✅ Multi-Timeframe Support & Resistance Zones
Automatically detects dynamic S/R zones on key timeframes (5min, 15min, 30min, 1H, 4H, 1D) using swing highs/lows. Zones are color-coded by strength and whether they're broken or active, providing a clear visual roadmap for price reaction levels.
✅ Zone Strength & Break Detection
Distinguishes between strong and weak zones based on price proximity and reaction depth, with visual shading and automatic label updates when a level is broken.
✅ Price Action-Based Buy/Sell Signals
Generates BUY signals when bullish candles react to strong support (supply) zones, and SELL signals when bearish candles react to strong resistance (demand) zones. All logic is adjustable — including candle body vs wick detection, tolerance range, and strength thresholds.
✅ Alerts Engine
Built-in TradingView alerts for price touching support/resistance or triggering buy/sell signals. Perfect for automation or hands-free monitoring.
✅ Optional Candle & Trend Filters
Highlight bullish/bearish candles visually for additional confirmation.
Optional RSI display and 50-period SMA trend filter to guide directional bias.
🧠 Use Case Scenarios:
Identify dynamic supply & demand zones across multiple timeframes.
Confirm trend direction with EMAs and SMA filters.
React quickly to clean BUY/SELL signals based on actual price interaction with strong zones.
Customize it fully to suit scalping, day trading, or swing trading strategies.
📌 Recommended Settings:
Use default zone transparency (65%) and offset (250 bars) for optimal visual clarity.
Enable alerts to get notified when price enters key S/R levels or when a trade signal occurs.
Combine this tool with your entry/exit plan for better decision-making under pressure.
💡 Pro Tip: Add this indicator to a clean chart and let the zones + EMAs guide your directional bias. Use alerts to avoid screen-watching and improve discipline.
Created by:
Version: Pine Script v6
Platform: TradingView
Reversal Strength Meter – Adib NooraniThe Reversal Strength Meter is an oscillator designed to identify potential reversal zones based on supply and demand dynamics. It uses smoothed stochastic logic to reduce noise and highlight areas where momentum may be weakening, signaling possible market turning points.
🔹 Smooth, noise-reduced stochastic oscillator
🔹 Custom zones to highlight potential supply and demand imbalances
🔹 Non-repainting, compatible across all timeframes and assets
🔹 Visual-only tool — intended to support discretionary trading decisions
This oscillator assists scalpers and intraday traders in tracking subtle shifts in momentum, helping them identify when a market may be preparing to reverse — always keeping in mind that trading is based on probabilities, not certainties.
📘 How to Use the Indicator Efficiently
For Reversal Trading:
Buy Setup
– When the blue line dips below the 20 level, wait for it to re-enter above 20.
– Look for reversal candlestick patterns (e.g., bullish engulfing, hammer, or morning star).
– Enter above the pattern’s high, with a stop loss below its low.
Sell Setup
– When the blue line rises above the 80 level, wait for it to re-enter below 80.
– Look for bearish candlestick patterns (e.g., bearish engulfing, inverted hammer, or evening star).
– Enter below the pattern’s low, with a stop loss above its high.
🛡 Risk Management Guidelines
Risk only 0.5% of your capital per trade
Book 50% profits at a 1:1 risk-reward ratio
Trail the remaining 50% using price action or other supporting indicators
OverUnder Yield Spread🗺️ OverUnder is a structural regime visualizer , engineered to diagnose the shape, tone, and trajectory of the yield curve. Rather than signaling trades directly, it informs traders of the world they’re operating in. Yield curve steepening or flattening, normalizing or inverting — each regime reflects a macro pressure zone that impacts duration demand, liquidity conditions, and systemic risk appetite. OverUnder abstracts that complexity into a color-coded compression map, helping traders orient themselves before making risk decisions. Whether you’re in bonds, currencies, crypto, or equities, the regime matters — and OverUnder makes it visible.
🧠 Core Logic
Built to show the slope and intent of a selected rate pair, the OverUnder Yield Spread defaults to 🇺🇸US10Y-US2Y, but can just as easily compare global sovereign curves or even dislocated monetary systems. This value is continuously monitored and passed through a debounce filter to determine whether the curve is:
• Inverted, or
• Steepening
If the curve is flattening below zero: the world is bracing for contraction. Policy lags. Risk appetite deteriorates. Duration gets bid, but only as protection. Stocks and speculative assets suffer, regardless of positioning.
📍 Curve Regimes in Bull and Bear Contexts
• Flattening occurs when the short and long ends compress . In a bull regime, flattening may reflect long-end demand or fading growth expectations. In a bear regime, flattening often precedes or confirms central bank tightening.
• Steepening indicates expanding spread . In a bull context, this may signal healthy risk appetite or early expansion. In a bear or crisis context, it may reflect aggressive front-end cuts and dislocation between short- and long-term expectations.
• If the curve is steepening above zero: the world is rotating into early expansion. Risk assets behave constructively. Bond traders position for normalization. Equities and crypto begin trending higher on rising forward expectations.
🖐️ Dynamically Colored Spread Line Reflects 1 of 4 Regime States
• 🟢 Normal / Steepening — early expansion or reflation
• 🔵 Normal / Flattening — late-cycle or neutral slowdown
• 🟠 Inverted / Steepening — policy reversal or soft landing attempt
• 🔴 Inverted / Flattening — hard contraction, credit stress, policy lag
🍋 The Lemon Label
At every bar, an anchored label floats directly on the spread line. It displays the active regime (in plain English) and the precise spread in percent (or basis points, depending on resolution). Colored lemon yellow, neither green nor red, the label is always legible — a design choice to de-emphasize bias and center the data .
🎨 Fill Zones
These bands offer spatial, persistent views of macro compression or inversion depth.
• Blue fill appears above the zero line in normal (non-inverted) conditions
• Red fill appears below the zero line during inversion
🧪 Sample Reading: 1W chart of TLT
OverUnder reveals a multi-year arc of structural inversion and regime transition. From mid-2021 through late 2023, the spread remains decisively inverted, signaling persistent flattening and credit stress as bond prices trended sharply lower. This prolonged inversion aligns with a high-volatility phase in TLT, marked by lower highs and an accelerating downtrend, confirming policy lag and macro tightening conditions.
As of early 2025, the spread has crossed back above the zero baseline into a “Normal / Steepening” regime (annotated at +0.56%), suggesting a macro inflection point. Price action remains subdued, but the shift in yield structure may foreshadow a change in trend context — particularly if follow-through in steepening persists.
🎭 Different Traders Respond Differently:
• Bond traders monitor slope change to anticipate policy pivots or recession signals.
• Equity traders use regime shifts to time rotations, from growth into defense, or from contraction into reflation.
• Currency traders interpret curve steepening as yield compression or divergence depending on region.
• Crypto traders treat inversion as a liquidity vacuum — and steepening as an early-phase risk unlock.
🛡️ Can It Compare Different Bond Markets?
Yes — with caveats. The indicator can be used to compare distinct sovereign yield instruments, for example:
• 🇫🇷FR10Y vs 🇩🇪DE10Y - France vs Germany
• 🇯🇵JP10Y vs 🇺🇸US10Y - BoJ vs Fed policy curves
However:
🙈 This no longer visualizes the domestic yield curve, but rather the differential between rate expectations across regions
🙉 The interpretation of “inversion” changes — it reflects spread compression across nations , not within a domestic yield structure
🙊 Color regimes should then be viewed as relative rate positioning , not absolute curve health
🙋🏻 Example: OverUnder compares French vs German 10Y yields
1. 🇫🇷 Change the long-duration ticker to FR10Y
2. 🇩🇪 Set the short-duration ticker to DE10Y
3. 🤔 Interpret the result as: “How much higher is France’s long-term borrowing cost vs Germany’s?”
You’ll see steepening when the spread rises (France decoupling), flattening when the spread compresses (convergence), and inversions when Germany yields rise above France’s — historically rare and meaningful.
🧐 Suggested Use
OverUnder is not a signal engine — it’s a context map. Its value comes from situating any trade idea within the prevailing yield regime. Use it before entries, not after them.
• On the 1W timeframe, OverUnder excels as a macro overlay. Yield regime shifts unfold over quarters, not days. Weekly structure smooths out rate volatility and reveals the true curvature of policy response and liquidity pressure. Use this view to orient your portfolio, define directional bias, or confirm long-duration trend turns in assets like TLT, SPX, or BTC.
• On the 1D timeframe, the indicator becomes tactically useful — especially when aligning breakout setups or trend continuations with steepening or flattening transitions. Daily views can also identify early-stage regime cracks that may not yet be visible on the weekly.
• Avoid sub-daily use unless you’re anchoring a thesis already built on higher timeframe structure. The yield curve is a macro construct — it doesn’t oscillate cleanly at intraday speeds. Shorter views may offer clarity during event-driven spikes (like FOMC reactions), but they do not replace weekly context.
Ultimately, OverUnder helps you decide: What kind of world am I trading in? Use it to confirm macro context, avoid fighting the curve, and lean into trades aligned with the broader pressure regime.
D3m4h GIFVGDescription
D3m4h GIFVG is an indicator designed to automatically detect market imbalances—often referred to as FVGs (Fair Value Gaps)—and potential pivot-based shifts in market structure. It offers a dynamic approach to visualizing supply/demand inefficiencies and pivot-based trend changes. Key features include:
1. Pivot-Based Bullish/Bearish Detection
The indicator identifies higher-high/lower-low pivot logic as well as “outside bar” pivots.
It tracks when the market transitions from bullish to bearish ranges, or vice versa, by using multiple checks:
Pivot low/high detection
Break-of-structure (when price crosses the last pivot)
Opposing FVG detection to confirm an intraday pivot shift
2. FVG (Fair Value Gap) Detection
The script automatically scans for bullish or bearish FVG conditions:
Bullish FVG: Candle at position (bar_index - 2) has a high below the current candle’s low.
Bearish FVG: Candle at position (bar_index - 2) has a low above the current candle’s high.
When it detects an FVG, it draws a box on the chart to highlight the price gap (yellow boxes by default).
3. Pivot Range FVG
If an FVG forms while the market is in a bullish pivot range, the script can paint a special “blue” FVG to underscore its significance. The same logic applies if a newly formed FVG appears in a bearish pivot range.
4. Filled Gap Cleanup
You can optionally hide standard FVG boxes once they’re filled. For example, if the candle’s body (or candle range) covers that gap, the box is removed to keep your chart clean.
5. Pivot-Range FVG “Raided” Cleanup
If the pivot-based FVG is later filled from the opposing direction, it turns green and can optionally remove itself after a set number of bars.
6. Informative Table
A small table on the chart optionally displays whether or not the pivot-based FVG has been “raided”. You can toggle this table on/off in the settings.
How It Works
1. Pivot Shifts
The script tracks the last pivot high/low using a combination of candle-based pivot detection and break-of-structure checks (when price crosses the last pivot in the opposite direction).
When a shift is detected, the pivot range ID increments—this helps the script know when to remove old pivot-based FVGs or draw new ones.
2. FVG Formation
Each new bar checks if a bullish or bearish FVG formed (comparing the high of bar two bars ago to the current low, or the low of bar two bars ago to the current high).
If one is found, a box is drawn to highlight the imbalance. Its color and extension depend on script settings.
3. Imbalance or Pivot FVG
Standard imbalance boxes appear in yellow.
If the new imbalance coincides with a bullish or bearish pivot range, a special “pivot imbalance” box in blue is drawn.
3. Hide Filled
If a newly formed candle’s body fully covers the FVG, the box is considered filled. If Hide Filled Gaps is enabled, the box is deleted once it’s covered.
4. Raid Status
For the pivot-based (blue) FVG, once price invalidates it from the opposite side, it changes color to green and gets removed after a user-defined number of bars.
How to Use
1. Look for FVGs
Observe yellow boxes to identify potential intraday imbalances. Watch for price returning to fill these zones.
If you see a “blue” box, it signifies a pivot-based FVG in line with a recognized shift in structure—arguably a higher-probability zone.
2. “Hide Filled Gaps”
Turn this on if you only want to see currently active or partially filled imbalances. The script cleans up old, fully covered boxes to keep your chart neat.
3. Pivot Shifts
Note the script’s internal pivot logic. Each new pivot re-defines bullish or bearish states. Use these states to gauge the short-term trend shifts.
4. Toggle the Table
You can show or hide the chart table by enabling/disabling “Show Table” from the inputs. This table indicates if the pivot-based “GIFVG” has been “raided” or not.
5. Extend Count
Adjust the extendCount in the code if you want FVG boxes to extend further or shorter in time.
Underlying Concepts
Fair Value Gaps
Market inefficiencies that occur when price jumps, leaving a “gap” from the candle 2 bars ago to the current candle. They can act like mini supply/demand zones where price may revisit for balance.
Pivot Ranges
The script tries to maintain an internal sense of whether the market is in a bullish or bearish pivot range. When it sees a contrary FVG or break-of-structure, it flips the pivot state.
Outside Bars
A candle that has both a higher high and a lower low than the previous bar. The script uses these to mark significant pivot shifts.
By combining pivot-based logic with FVG detection, the D3m4h GIFVG indicator helps highlight potential areas of liquidity or unfilled value. Traders can use these zones to plan entries/exits or to confirm short-term trend shifts.
ICT & RTM Price Action IndicatorICT & RTM Price Action Indicator
Unlock the power of precision trading with this cutting-edge indicator blending ICT (Inner Circle Trader) concepts and RTM (Reversal Trend Momentum) strategies. Designed for traders who demand clarity in chaotic markets, this tool pinpoints high-probability buy and sell signals with surgical accuracy.
What It Offers:
Smart Supply & Demand Zones: Instantly spot key levels where the market is likely to reverse or consolidate, derived from a 50-period high/low analysis.
Filtered Reversal Signals: Say goodbye to fakeouts! Signals are confirmed with volume spikes (1.5x average) and a follow-through candle, ensuring you trade only the strongest moves.
Trend-Aware Logic: Built on a customizable SMA (default 14), it aligns reversals with momentum for trades that stick.
One-Signal Discipline: No clutter—only the first valid signal appears until an opposing setup triggers, keeping your chart clean and your focus sharp.
Combined Power: A unique "TRADE" signal merges ICT zones with RTM reversals for setups with double the conviction.
Why You’ll Love It:
Whether you’re scalping intraday or hunting swing trades, this indicator adapts to your style. It’s not just another tool—it’s your edge in decoding price action like a pro. Test it, tweak it, and watch your trading transform.
One Trading Setup for Life ICT [TradingFinder] Sweep Session FVG🔵 Introduction
ICT One Trading Setup for Life is a trading strategy based on liquidity and market structure shifts, utilizing the PM Session Sweep to determine price direction. In this strategy, the market first forms a price range during the PM Session (from 13:30 to 16:00 EST), which includes the highest high (PM Session High) and lowest low (PM Session Low).
In the next session, the price first touches one of these levels to trigger a Liquidity Hunt before confirming its trend by breaking the Change in State of Delivery (CISD) Level. After this confirmation, the price retraces toward a Fair Value Gap (FVG) or Order Block (OB), which serve as the best entry points in alignment with liquidity.
In financial markets, liquidity is the primary driver of price movement, and major market participants such as institutional investors and banks are constantly seeking liquidity at key levels. This process, known as Liquidity Hunt or Liquidity Sweep, occurs when the price reaches an area with a high concentration of orders, absorbs liquidity, and then reverses direction.
In this setup, the PM Session range acts as a trading framework, where its highs and lows function as key liquidity zones that influence the next session’s price movement. After the New York market opens at 9:30 EST, the price initially breaks one of these levels to capture liquidity.
However, for a trend shift to be confirmed, the CISD Level must be broken.
Once the CISD Level is breached, the price retraces toward an FVG or OB, which serve as optimal trade entry points.
Bullish Setup :
Bearish Setup :
🔵 How to Use
In this strategy, the PM Session range is first identified, which includes the highest high (PM Session High) and lowest low (PM Session Low) between 13:30 and 16:00 EST. In the following session, the price touches one of these levels for a Liquidity Hunt, followed by a break of the Change in State of Delivery (CISD) Level. The price then retraces toward a Fair Value Gap (FVG) or Order Block (OB), creating a trading opportunity.
This process can occur in two scenarios : bearish and bullish setups.
🟣 Bullish Setup
In a bullish scenario, the PM Session High and PM Session Low are identified. In the following session, the price first breaks the PM Session Low, absorbing liquidity. This process results in a Fake Breakout to the downside, misleading retail traders into taking short positions.
After the Liquidity Hunt, the CISD Level is broken, confirming a trend reversal. The price then retraces toward an FVG or OB, offering an optimal long entry opportunity.
The initial take-profit target is the PM Session High, but if higher timeframe liquidity levels exist, extended targets can be set.
The stop-loss should be placed below the Fake Breakout low or the first candle of the FVG.
🟣 Bearish Setup
In a bearish scenario, the market first defines its PM Session High and PM Session Low. In the next session, the price initially breaks the PM Session High, triggering a Liquidity Hunt. This movement often causes a Fake Breakout, misleading retail traders into taking incorrect positions.
After absorbing liquidity, the CISD Level breaks, indicating a shift in market structure. The price then retraces toward an FVG or OB, offering the best short entry opportunity.
The initial take-profit target is the PM Session Low, but if additional liquidity exists on higher timeframes, lower targets can be considered.
The stop-loss should be placed above the Fake Breakout high or the first candle of the FVG.
🔵 Setting
CISD Bar Back Check : The Bar Back Check option enables traders to specify the number of past candles checked for identifying the CISD Level, enhancing CISD Level accuracy on the chart.
Order Block Validity : The number of candles that determine the validity of an Order Block.
FVG Validity : The duration for which a Fair Value Gap remains valid.
CISD Level Validity : The duration for which a CISD Level remains valid after being broken.
New York PM Session : Defines the PM Session range from 13:30 to 16:00 EST.
New York AM Session : Defines the AM Session range from 9:30 to 16:00 EST.
Refine Order Block : Enables finer adjustments to Order Block levels for more accurate price responses.
Mitigation Level OB : Allows users to set specific reaction points within an Order Block, including: Proximal: Closest level to the current price. 50% OB: Midpoint of the Order Block. Distal: Farthest level from the current price.
FVG Filter : The Judas Swing indicator includes a filter for Fair Value Gap (FVG), allowing different filtering based on FVG width: FVG Filter Type: Can be set to "Very Aggressive," "Aggressive," "Defensive," or "Very Defensive." Higher defensiveness narrows the FVG width, focusing on narrower gaps.
Mitigation Level FVG : Like the Order Block, you can set price reaction levels for FVG with options such as Proximal, 50% OB, and Distal.
Demand Order Block : Enables or disables bullish Order Block.
Supply Order Block : Enables or disables bearish Order Blocks.
Demand FVG : Enables or disables bullish FVG.
Supply FVG : Enables or disables bearish FVGs.
Show All CISD : Enables or disables the display of all CISD Levels.
Show High CISD : Enables or disables high CISD levels.
Show Low CISD : Enables or disables low CISD levels.
🔵 Conclusion
The ICT One Trading Setup for Life is a liquidity-based strategy that leverages market structure shifts and precise entry points to identify high-probability trade opportunities. By focusing on PM Session High and PM Session Low, this setup first captures liquidity at these levels and then confirms trend shifts with a break of the Change in State of Delivery (CISD) Level.
Entering a trade after a retracement to an FVG or OB allows traders to position themselves at optimal liquidity levels, ensuring high reward-to-risk trades. When used in conjunction with higher timeframe bias, order flow, and liquidity analysis, this strategy can become one of the most effective trading methods within the ICT Concept framework.
Successful execution of this setup requires risk management, patience, and a deep understanding of liquidity dynamics. Traders can enhance their confidence in this strategy by conducting extensive backtesting and analyzing past market data to optimize their approach for different assets.
Volatility IndicatorThe volatility indicator presented here is based on multiple volatility indices that reflect the market’s expectation of future price fluctuations across different asset classes, including equities, commodities, and currencies. These indices serve as valuable tools for traders and analysts seeking to anticipate potential market movements, as volatility is a key factor influencing asset prices and market dynamics (Bollerslev, 1986).
Volatility, defined as the magnitude of price changes, is often regarded as a measure of market uncertainty or risk. Financial markets exhibit periods of heightened volatility that may precede significant price movements, whether upward or downward (Christoffersen, 1998). The indicator presented in this script tracks several key volatility indices, including the VIX (S&P 500), GVZ (Gold), OVX (Crude Oil), and others, to help identify periods of increased uncertainty that could signal potential market turning points.
Volatility Indices and Their Relevance
Volatility indices like the VIX are considered “fear gauges” as they reflect the market’s expectation of future volatility derived from the pricing of options. A rising VIX typically signals increasing investor uncertainty and fear, which often precedes market corrections or significant price movements. In contrast, a falling VIX may suggest complacency or confidence in continued market stability (Whaley, 2000).
The other volatility indices incorporated in the indicator script, such as the GVZ (Gold Volatility Index) and OVX (Oil Volatility Index), capture the market’s perception of volatility in specific asset classes. For instance, GVZ reflects market expectations for volatility in the gold market, which can be influenced by factors such as geopolitical instability, inflation expectations, and changes in investor sentiment toward safe-haven assets. Similarly, OVX tracks the implied volatility of crude oil options, which is a crucial factor for predicting price movements in energy markets, often driven by geopolitical events, OPEC decisions, and supply-demand imbalances (Pindyck, 2004).
Using the Indicator to Identify Market Movements
The volatility indicator alerts traders when specific volatility indices exceed a defined threshold, which may signal a change in market sentiment or an upcoming price movement. These thresholds, set by the user, are typically based on historical levels of volatility that have preceded significant market changes. When a volatility index exceeds this threshold, it suggests that market participants expect greater uncertainty, which often correlates with increased price volatility and the possibility of a trend reversal.
For example, if the VIX exceeds a pre-determined level (e.g., 30), it could indicate that investors are anticipating heightened volatility in the equity markets, potentially signaling a downturn or correction in the broader market. On the other hand, if the OVX rises significantly, it could point to an upcoming sharp movement in crude oil prices, driven by changing market expectations about supply, demand, or geopolitical risks (Geman, 2005).
Practical Application
To effectively use this volatility indicator in market analysis, traders should monitor the alert signals generated when any of the volatility indices surpass their thresholds. This can be used to identify periods of market uncertainty or potential market turning points across different sectors, including equities, commodities, and currencies. The indicator can help traders prepare for increased price movements, adjust their risk management strategies, or even take advantage of anticipated price swings through options trading or volatility-based strategies (Black & Scholes, 1973).
Traders may also use this indicator in conjunction with other technical analysis tools to validate the potential for significant market movements. For example, if the VIX exceeds its threshold and the market is simultaneously approaching a critical technical support or resistance level, the trader might consider entering a position that capitalizes on the anticipated price breakout or reversal.
Conclusion
This volatility indicator is a robust tool for identifying market conditions that are conducive to significant price movements. By tracking the behavior of key volatility indices, traders can gain insights into the market’s expectations of future price fluctuations, enabling them to make more informed decisions regarding market entries and exits. Understanding and monitoring volatility can be particularly valuable during times of heightened uncertainty, as changes in volatility often precede substantial shifts in market direction (French et al., 1987).
References
• Bollerslev, T. (1986). Generalized Autoregressive Conditional Heteroskedasticity. Journal of Econometrics, 31(3), 307-327.
• Christoffersen, P. F. (1998). Evaluating Interval Forecasts. International Economic Review, 39(4), 841-862.
• Whaley, R. E. (2000). Derivatives on Market Volatility. Journal of Derivatives, 7(4), 71-82.
• Pindyck, R. S. (2004). Volatility and the Pricing of Commodity Derivatives. Journal of Futures Markets, 24(11), 973-987.
• Geman, H. (2005). Commodities and Commodity Derivatives: Modeling and Pricing for Agriculturals, Metals and Energy. John Wiley & Sons.
• Black, F., & Scholes, M. (1973). The Pricing of Options and Corporate Liabilities. Journal of Political Economy, 81(3), 637-654.
• French, K. R., Schwert, G. W., & Stambaugh, R. F. (1987). Expected Stock Returns and Volatility. Journal of Financial Economics, 19(1), 3-29.
Payday Anomaly StrategyThe "Payday Effect" refers to a predictable anomaly in financial markets where stock returns exhibit significant fluctuations around specific pay periods. Typically, these are associated with the beginning, middle, or end of the month when many investors receive wages and salaries. This influx of funds, often directed automatically into retirement accounts or investment portfolios (such as 401(k) plans in the United States), temporarily increases the demand for equities. This phenomenon has been linked to a cycle where stock prices rise disproportionately on and around payday periods due to increased buy-side liquidity.
Academic research on the payday effect suggests that this pattern is tied to systematic cash flows into financial markets, primarily driven by employee retirement and savings plans. The regularity of these cash infusions creates a calendar-based pattern that can be exploited in trading strategies. Studies show that returns on days around typical payroll dates tend to be above average, and this pattern remains observable across various time periods and regions.
The rationale behind the payday effect is rooted in the behavioral tendencies of investors, specifically the automatic reinvestment mechanisms used in retirement funds, which align with monthly or semi-monthly salary payments. This regular injection of funds can cause market microstructure effects where stock prices temporarily increase, only to stabilize or reverse after the funds have been invested. Consequently, the payday effect provides traders with a potentially profitable opportunity by predicting these inflows.
Scientific Bibliography on the Payday Effect
Ma, A., & Pratt, W. R. (2017). Payday Anomaly: The Market Impact of Semi-Monthly Pay Periods. Social Science Research Network (SSRN).
This study provides a comprehensive analysis of the payday effect, exploring how returns tend to peak around payroll periods due to semi-monthly cash flows. The paper discusses how systematic inflows impact returns, leading to predictable stock performance patterns on specific days of the month.
Lakonishok, J., & Smidt, S. (1988). Are Seasonal Anomalies Real? A Ninety-Year Perspective. The Review of Financial Studies, 1(4), 403-425.
This foundational study explores calendar anomalies, including the payday effect. By examining data over nearly a century, the authors establish a framework for understanding seasonal and monthly patterns in stock returns, which provides historical support for the payday effect.
Owen, S., & Rabinovitch, R. (1983). On the Predictability of Common Stock Returns: A Step Beyond the Random Walk Hypothesis. Journal of Business Finance & Accounting, 10(3), 379-396.
This paper investigates predictability in stock returns beyond random fluctuations. It considers payday effects among various calendar anomalies, arguing that certain dates yield predictable returns due to regular cash inflows.
Loughran, T., & Schultz, P. (2005). Liquidity: Urban versus Rural Firms. Journal of Financial Economics, 78(2), 341-374.
While primarily focused on liquidity, this study provides insight into how cash flows, such as those from semi-monthly paychecks, influence liquidity levels and consequently impact stock prices around predictable pay dates.
Ariel, R. A. (1990). High Stock Returns Before Holidays: Existence and Evidence on Possible Causes. The Journal of Finance, 45(5), 1611-1626.
Ariel’s work highlights stock return patterns tied to certain dates, including paydays. Although the study focuses on pre-holiday returns, it suggests broader implications of predictable investment timing, reinforcing the calendar-based effects seen with payday anomalies.
Summary
Research on the payday effect highlights a repeating pattern in stock market returns driven by scheduled payroll investments. This cyclical increase in stock demand aligns with behavioral finance insights and market microstructure theories, offering a valuable basis for trading strategies focused on the beginning, middle, and end of each month.
VSA Impulse with JOC and SC Forecast BoxesEnglish Description
**Script Title:** VSA Impulse with JOC and SC Forecast Boxes
**Description:**
This Pine Script™ indicator integrates Volume Spread Analysis (VSA) with impulse signals and forecast boxes to help traders visualize key market conditions and potential price movements.
**Features:**
1. **Impulse Movements**: Identifies bullish and bearish impulse movements based on price and volume changes.
- **Impulse Up**: Price is higher and volume is greater than the previous bar.
- **Impulse Down**: Price is lower and volume is greater than the previous bar.
2. **VSA Signals**: Detects specific VSA signals for analysis:
- **Stopping Action (SA)**: Bullish impulse with higher volume and price increase.
- **Spring (SP)**: Bullish impulse with lower volume and price drop.
- **No Demand (ND)**: Bearish impulse with lower volume and price increase.
- **Last Point of Support (LPS)**: Bullish impulse with higher volume and price drop.
- **Jump Over Creek (JOC)**: Bullish impulse with higher volume and price increase.
- **Selling Climax (SC)**: Bearish impulse with higher volume and price drop.
3. **Forecast Boxes**:
- **Jump Over Creek (JOC) Forecast Box**: Displays a green forecast box when a JOC signal is detected, projecting potential bullish movement.
- **Selling Climax (SC) Forecast Box**: Displays a red forecast box when an SC signal is detected, projecting potential bearish movement.
4. **Anomalous Volume Detection**: Highlights significant volume spikes above a set multiplier of the average volume with colored boxes and labels.
**Settings:**
- **Length**: Defines the period for calculating the average volume.
- **Anomalous Volume Multiplier**: Sets the threshold for identifying anomalous volumes.
- **Forecast Period**: Determines the duration for the forecast boxes.
**Visuals:**
- Colored forecast boxes for JOC (green) and SC (red) with corresponding labels.
- Signals for VSA with colored shapes and labels.
- Highlighted anomalous volumes with colored boxes and labels.
Русское описание
**Название скрипта:** Импульс VSA с прогнозными боксами JOC и SC
**Описание:**
Этот Pine Script™ индикатор интегрирует анализ объема и спреда (VSA) с импульсными сигналами и прогнозными боксами, чтобы помочь трейдерам визуализировать ключевые рыночные условия и потенциальные движения цен.
**Функции:**
1. **Импульсные движения**: Определяет бычьи и медвежьи импульсные движения на основе изменений цены и объема.
- **Импульс вверх**: Цена выше и объем больше предыдущего бара.
- **Импульс вниз**: Цена ниже и объем больше предыдущего бара.
2. **Сигналы VSA**: Обнаруживает специфические сигналы VSA для анализа:
- **Stopping Action (SA)**: Бычий импульс с увеличением объема и цены.
- **Spring (SP)**: Бычий импульс с уменьшением объема и падением цены.
- **No Demand (ND)**: Медвежий импульс с уменьшением объема и ростом цены.
- **Last Point of Support (LPS)**: Бычий импульс с увеличением объема и падением цены.
- **Jump Over Creek (JOC)**: Бычий импульс с увеличением объема и ростом цены.
- **Selling Climax (SC)**: Медвежий импульс с увеличением объема и падением цены.
3. **Прогнозные боксы**:
- **Прогнозный бокс Jump Over Creek (JOC)**: Показывает зеленый прогнозный бокс при обнаружении сигнала JOC, проецируя потенциальное бычье движение.
- **Прогнозный бокс Selling Climax (SC)**: Показывает красный прогнозный бокс при обнаружении сигнала SC, проецируя потенциальное медвежье движение.
4. **Обнаружение аномального объема**: Подчеркивает значительные всплески объема выше заданного множителя среднего объема с помощью цветных боксов и меток.
**Настройки:**
- **Length**: Определяет период для расчета среднего объема.
- **Множитель аномального объема**: Устанавливает порог для идентификации аномального объема.
- **Период прогноза**: Определяет продолжительность прогнозных боксов.
**Визуализация:**
- Цветные прогнозные боксы для JOC (зеленые) и SC (красные) с соответствующими метками.
- Сигналы VSA с цветными фигурами и метками.
- Подсвеченные аномальные объемы с цветными боксами и метками.
ICT Balanced Price Range [TradingFinder] BPR | FVG + IFVG🔵 Introduction
The ICT Balanced Price Range (BPR) indicator is a valuable tool that helps traders identify key areas on price charts where a balance between buyers and sellers is established. These zones can serve as critical points for potential price reversals or continuations.
🟣 Bullish Balanced Price Range
A Bullish BPR forms when a buying pressure zone (Bullish FVG) overlaps with a Bullish Inversion FVG. This overlap indicates a high probability of price moving upwards, making it a crucial area for traders to consider.
🟣 Bearish Balanced Price Range
Similarly, a Bearish BPR is created when a selling pressure zone (Bearish FVG) overlaps with a Bearish Inversion FVG. This zone is often seen as a key area where the price is likely to move downward.
🔵 How to Use
🟣 Identifying the Balanced Price Range (BPR)
To identify the Balanced Price Range (BPR), you must first locate two Fair Value Gaps (FVGs) on the price chart. One FVG should be on the sell side, and the other on the buy side. When these two FVGs horizontally oppose each other, the area where they overlap is recognized as the Balanced Price Range (BPR).
This BPR zone is highly sensitive to price movements due to the combination of two FVGs, often leading to strong market reactions. As the price approaches this area, the likelihood of a significant market move increases, making it a prime target for professional traders.
🟣 Bullish Balanced Price Range (Bullish BPR)
To effectively trade using a Bullish BPR, begin by identifying a bullish market structure and searching for bullish Price Delivery Arrays (PD Arrays). Once the market structure shifts to bullish in a lower time frame, locate a Bullish FVG within the Discount Zone that overlaps with a Bearish FVG.
Mark this overlapping zone and wait for the price to test it before executing a buy trade. Alternatively, you can set a Buy Limit order with a stop loss below the recent swing low and target profits based on higher time frame liquidity draws.
🟣 Bearish Balanced Price Range (Bearish BPR)
For bearish trades, start by identifying a bearish market structure and look for bearish PD Arrays. After the market structure shifts to bearish in a lower time frame, identify a Bearish FVG within the Discount Zone that overlaps with a Bullish FVG. Mark this overlapping zone and execute a sell trade when the price tests it.
You can also use a Sell Limit order with a stop loss above the recent swing high and target profits according to higher time frame liquidity draws.
🔵 Settings
🟣 Global Settings
Show All Inversion FVG & IFVG : If disabled, only the most recent FVG & IFVG will be displayed.
FVG & IFVG Validity Period (Bar) : Determines the maximum duration (in number of candles) that the FVG and IFVG remain valid.
Switching Colors Theme Mode : Includes three modes: "Off", "Light", and "Dark". "Light" mode adjusts colors for light mode use, "Dark" mode adjusts colors for dark mode use, and "Off" disables color adjustments.
🟣 Display Settings
Show Bullish BPR : Toggles the display of demand-related boxes.
Show Bearish BPR : Toggles the display of supply-related boxes.
Mitigation Level BPR : Options include "Proximal", "Distal", or "50 % OB" modes, which you can choose based on your needs. The "50 % OB" line is the midpoint between distal and proximal.
Show Bullish IFVG : Toggles the display of demand-related boxes.
Show Bearish IFV G: Toggles the display of supply-related boxes.
Mitigation Level FVG and IFVG : Options include "Proximal", "Distal", or "50 % OB" modes, which you can choose based on your needs. The "50 % OB" line is the midpoint between distal and proximal.
🟣 Logic Settings
FVG Filter : This refines the number of identified FVG areas based on a specified algorithm to focus on higher quality signals and reduce noise.
Types of FVG filters :
Very Aggressive Filter : Adds a condition where, for an upward FVG, the last candle's highest price must exceed the middle candle's highest price, and for a downward FVG, the last candle's lowest price must be lower than the middle candle's lowest price. This minimally filters out FVGs.
Aggressive Filter : Builds on the Very Aggressive mode by ensuring the middle candle is not too small, filtering out more FVGs.
Defensive Filter : Adds criteria regarding the size and structure of the middle candle, requiring it to have a substantial body and specific polarity conditions, filtering out a significant number of FVGs.
Very Defensive Filte r: Further refines filtering by ensuring the first and third candles are not small-bodied doji candles, retaining only the highest quality signals.
🟣 Alert Settings
Alert Inversion FVG Mitigation : Enables alerts for Inversion FVG mitigation.
Message Frequency : Determines the frequency of alerts. Options include 'All' (every function call), 'Once Per Bar' (first call within the bar), and 'Once Per Bar Close' (final script execution of the real-time bar). Default is 'Once per Bar'.
Show Alert Time by Time Zone : Configures the time zone for alert messages. Default is 'UTC'.
Display More Info : Provides additional details in alert messages, including price range, date, hour, and minute. Set to 'Off' to exclude this information.
🔵 Conclusion
The ICT Balanced Price Range is a powerful and reliable tool for identifying key points on price charts. This strategy can be applied across various time frames and serves as a complementary tool alongside other indicators and technical analysis methods.
The most crucial aspect of utilizing this strategy effectively is correctly identifying FVGs and their overlapping areas, which comes with practice and experience.
Jobinsabu014This Pine Script code is for an advanced trading indicator that displays enhanced moving averages with buy and sell labels, trend probability, and support/resistance levels. Here’s a detailed description of its components and functionality:
### Description:
1. **Indicator Initialization**:
- The indicator is named "Enhanced Moving Averages with Buy/Sell Labels and Trend Probability" and is set to overlay on the chart.
2. **Input Parameters**:
- **Moving Averages**: Four different moving averages (short and long periods for default and enhanced) with customizable periods.
- **Probability Threshold**: Determines the threshold for trend probability.
- **Support/Resistance Lookback**: Number of bars to look back for calculating support and resistance levels.
- **Signals Valid From**: Timestamp from which the signals are considered valid.
3. **Moving Averages Calculation**:
- **Default Moving Averages**: Calculated using simple moving averages (SMA) for the specified periods.
- **Enhanced Moving Averages**: Calculated using SMAs for different specified periods.
4. **Plotting Moving Averages**:
- Plots the default and enhanced moving averages with different colors for distinction.
5. **Crossover Detection**:
- Detects when the short moving average crosses above or below the long moving average for default moving averages.
6. **Buy/Sell Signal Labels**:
- Adds "BUY" and "SELL" labels on the chart when crossovers are detected after the specified valid timestamp.
- Tracks entry prices for buy/sell signals and adds labels when the price moves +100 points.
7. **Trend Detection for Enhanced Indicator**:
- Detects uptrend or downtrend based on the enhanced moving averages.
- Calculates a simple probability of trend based on price movement and EMA.
- Determines buy and sell signals based on trend conditions and volume-based buy/sell pressure.
8. **Plot Buy/Sell Signals for Enhanced Indicator**:
- Plots buy/sell signals based on the enhanced conditions.
9. **Background Color for Trends**:
- Changes the background color to green for uptrend and red for downtrend.
10. **Trend Lines**:
- Draws imaginary trend lines for uptrend and downtrend based on enhanced moving averages.
11. **Support and Resistance Levels**:
- Calculates and plots support and resistance levels using the specified lookback period.
- Stores and plots previous support and resistance levels with dashed lines.
12. **Expected Trend Labels**:
- Adds labels indicating expected uptrend or downtrend based on buy/sell signals.
13. **Alerts**:
- Sets alert conditions for buy and sell signals, triggering alerts when these conditions are met.
14. **Demand and Supply Zones**:
- Draws and extends horizontal lines for demand (support) and supply (resistance) zones.
### Summary:
This script enhances traditional moving average crossovers by adding trend probability calculations, volume-based pressure, and support/resistance levels. It visualizes expected trends and provides comprehensive buy/sell signals with corresponding labels, background color changes, and alerts to help traders make informed decisions.
FVG & IFVG ICT [TradingFinder] Inversion Fair Value Gap Signal🔵 Introduction
🟣 Fair Value Gap (FVG)
To spot a Fair Value Gap (FVG) on a chart, you need to perform a detailed candle-by-candle analysis.
Here’s the process :
Focus on Candles with Large Bodies : Identify a candle with a substantial body and examine it alongside the preceding candle.
Check Surrounding Candles : The candles immediately before and after the central candle should have long shadows.
Ensure No Overlap : The bodies of the candles before and after the central candle should not overlap with the body of the central candle.
Determine the FVG Range : The gap between the shadows of the first and third candles forms the FVG range.
🟣 ICT Inversion Fair Value Gap (IFVG)
An ICT Inversion Fair Value Gap, also known as a reverse FVG, is a failed fair value gap where the price does not respect the gap. An IFVG forms when a fair value gap fails to hold the price and the price moves beyond it, breaking the fair value gap.
This marks the initial shift in price momentum. Typically, when the price moves in one direction, it respects the fair value gaps and continues its trend.
However, if a fair value gap is violated, it acts as an inversion fair value gap, indicating the first change in price momentum, potentially leading to a short-term reversal or a subsequent change in direction.
🟣 Bullish Inversion Fair Value Gap (Bullish IFVG)
🟣 Bearish Inversion Fair Value Gap (Bearish IFVG)
🔵 How to Use
🟣 Identify an Inversion Fair Value Gap
To identify an IFVG, you first need to recognize a fair value gap. Just as fair value gaps come in two types, inversion fair value gaps also fall into two categories:
🟣 Bullish Inversion Fair Value Gap
A bullish IFVG is essentially a bearish fair value gap that is invalidated by the price closing above it.
Here’s how to identify it :
Identify a bearish fair value gap.
When the price closes above this bearish fair value gap, it transforms into a bullish inversion fair value gap.
This gap acts as support for the price and drives it upwards, indicating a reduction in sellers' strength and an initial shift in momentum towards buyers.
🟣 Bearish Inversion Fair Value Gap
A bearish IFVG is primarily a bullish fair value gap that fails to hold the price, with the price closing below it.
Here’s how to identify it :
Identify a bullish fair value gap.
When the price closes below this gap, it becomes a bearish inversion fair value gap.
This gap acts as resistance for the price, pushing it downwards. A bearish inversion fair value gap signifies a decrease in buyers' momentum and an increase in sellers' strength.
🔵 Setting
🟣 Global Setting
Show All FVG : If it is turned off, only the last FVG will be displayed.
S how All Inversion FVG : If it is turned off, only the last FVG will be displayed.
FVG and IFVG Validity Period (Bar) : You can specify the maximum time the FVG and the IFVG remains valid based on the number of candles from the origin.
Switching Colors Theme Mode : Three modes "Off", "Light" and "Dark" are included in this parameter. "Light" mode is for color adjustment for use in "Light Mode".
"Dark" mode is for color adjustment for use in "Dark Mode" and "Off" mode turns off the color adjustment function and the input color to the function is the same as the output color.
🟣 Logic Setting
FVG Filter
When utilizing FVG filtering, the number of identified FVG areas undergoes refinement based on a specified algorithm. This process helps to focus on higher quality signals and eliminate noise.
Here are the types of FVG filters available :
Very Aggressive Filter : Introduces an additional condition to the initial criteria. For an upward FVG, the highest price of the last candle must exceed the highest price of the middle candle. Similarly, for a downward FVG, the lowest price of the last candle should be lower than the lowest price of the middle candle. This mode minimally filters out FVGs.
Aggressive Filter : Builds upon the Very Aggressive mode by considering the size of the middle candle. It ensures the middle candle is not too small, thereby eliminating more FVGs compared to the Very Aggressive mode.
Defensive Filter : In addition to the conditions of the Very Aggressive mode, the Defensive mode incorporates criteria regarding the size and structure of the middle candle. It requires the middle candle to have a substantial body, with specific polarity conditions for the second and third candles relative to the first candle's direction. This mode filters out a significant number of FVGs, focusing on higher-quality signals.
Very Defensive Filter : Further refines filtering by adding conditions that the first and third candles should not be small-bodied doji candles. This stringent mode eliminates the majority of FVGs, retaining only the highest quality signals.
Mitigation Level FVG and IFVG : Its inputs are one of "Proximal", "Distal" or "50 % OB" modes, which you can enter according to your needs. The "50 % OB" line is the middle line between distal and proximal.
🟣 Display Setting
Show Bullish FVG : Enables the display of demand-related boxes, which can be toggled on or off.
Show Bearish FVG : Enables the display of supply-related boxes along the path, which can also be toggled on or off.
Show Bullish IFVG : Enables the display of demand-related boxes, which can be toggled on or off.
Show Bearish IFVG : Enables the display of supply-related boxes along the path, which can also be toggled on or off.
🟣 Alert Setting
Alert FVG Mitigation : If you want to receive the alert about FVG's mitigation after setting the alerts, leave this tick on. Otherwise, turn it off.
Alert Inversion FVG Mitigation : If you want to receive the alert about Inversion FVG's mitigation after setting the alerts, leave this tick on. Otherwise, turn it off.
Message Frequency : This parameter, represented as a string, determines the frequency of announcements. Options include: 'All' (triggers the alert every time the function is called), 'Once Per Bar' (triggers the alert only on the first call within the bar), and 'Once Per Bar Close' (activates the alert only during the final script execution of the real-time bar upon closure). The default setting is 'Once per Bar'.
Show Alert time by Time Zone : The date, hour, and minute displayed in alert messages can be configured to reflect any chosen time zone. For instance, if you prefer London time, you should input 'UTC+1'. By default, this input is configured to the 'UTC' time zone.
Display More Info : The 'Display More Info' option provides details regarding the price range of the order blocks (Zone Price), along with the date, hour, and minute. If you prefer not to include this information in the alert message, you should set it to 'Off'.
Depth of Market (DOM) [LuxAlgo]The Depth Of Market (DOM) tool allows traders to look under the hood of any market, taking price and volume analysis to the next level. The following features are included: DOM, Time & Sales, Volume Profile, Depth of Market, Imbalances, Buying Pressure, and up to 24 key intraday levels (it really packs a punch).
As a disclaimer, this tool does not use tick data, it is a DOM reconstruction from the provided real-time time series data (price and volume). So the volume you see is from filled orders only, this tool does not show unfilled limit orders.
Traders can enable or disable any of the features at will to avoid being overwhelmed with too much information and to make the tool perform faster.
The features that have the biggest impact on performance are Historical Data Collection, Key Levels (POC & VWAP), Time & Sales, Profile, and Imbalances. Disable these features to improve the indicator computational performance.
🔶 DOM
This is the simplest form of the tool, a simple DOM or ladder that displays the following columns:
PRICE: Price level
BID: Total number of market sell orders filled or limit buy orders filled.
SELL: Sell market orders
BUY: Buy market orders
ASK: Total number of market buy orders filled or limit sell orders filled.
The DOM only collects historical data from the last 24 hours and real-time data.
Traders can select a reset period for the DOM with two options:
DAILY: Resets at the beginning of each trading day
SESSIONS: Resets twice, as DAILY and 15.5 hours later, to coincide with the start of the RTH session for US tickers.
The DOM has two main modes, it can display price levels as ticks or points. The default is automatic based on the current daily volatility, but traders can manually force one mode or the other if they wish.
For convenience, traders have the option to set the number of lines (price levels), and the size of the text and to display only real-time data.
By default, the top price is set to 0 so that the DOM automatically adjusts the price levels to be displayed, but traders can set the top price manually so that the tool displays only the desired price levels in a fixed manner.
🔹 Volume Profile
As additional features to the basic DOM, traders have access to the volume profile histogram and the total volume per price level.
This helps traders identify at a glance key price areas where volume is accumulating (high volume nodes) or areas where volume is lacking (low volume nodes) - these areas are important to some traders who base their decision-making process on them.
🔹 Imbalances
Other added features are imbalances and buying pressure:
Interlevel Imbalance: volume delta between two different price levels
Intralevel Imbalance: delta between buy and sell volume at the same price level
Buying Pressure Percent: percentage of buy volume compared to total volume
Imbalances can help traders identify areas of interest in the price for possible support or resistance.
🔹 Depth
Depth allows traders to see at a glance how much supply is above the current price level or how much demand is below the current price level.
Above the current price level shows the cumulative ask volume (filled sell limit orders) and below the current price level shows the cumulative bid volume (filled buy limit orders).
🔶 KEY LEVELS
The tool includes up to 24 different key intraday levels of particular relevance:
Previous Week Levels
PWH: Previous week high
PWL: Previous week low
PWM: Previous week middle
PWS: Previous week settlement (close)
Previous Day Levels
PDH: Previous day high
PDL: Previous day low
PDM: Previous day middle
PDS: Previous day settlement (close)
Current Day Levels
OPEN: Open of day (or session)
HOD: High of day (or session)
LOD: Low of day (or session)
MOD: Middle of day (or session)
Opening Range
ORH: Open range high
ORL: Open range low
Initial Balance
IBH: Initial balance high
IBL: Initial balance low
VWAP
+3SD: Volume weighted average price plus 3 standard deviations
+2SD: Volume weighted average price plus 2 standard deviations
+1SD: Volume weighted average price plus 1 standard deviation
VWAP: Volume weighted average price
-1SD: Volume weighted average price minus 1 standard deviation
-2SD: Volume weighted average price minus 2 standard deviations
-3SD: Volume weighted average price minus 3 standard deviations
POC: Point of control
Different traders look at different levels, the key levels shown here are objective and specific areas of interest that traders can act on, providing us with potential areas of support or resistance in the price.
🔶 TIME & SALES
The tool also features a full-time and sales panel with time, price, and size columns, a size filter, and the ability to set the timezone to display time in the trader's local time.
The information shown here is what feeds the DOM and it can be useful in several ways, for example in detecting absorption. If a large number of orders are coming into the market but the price is barely moving, this indicates that there is enough liquidity at these levels to absorb all these orders, so if these orders stop coming into the market, the price may turn around.
🔶 SETTINGS
Period: Select the anchoring period to start data collection, DAILY will anchor at the start of the trading day, and SESSIONS will start as DAILY and 15.5 hours later (RTH for US tickers).
Mode: Select between AUTO and MANUAL modes for displaying TICKS or POINTS, in AUTO mode the tool will automatically select TICKS for tickers with a daily average volatility below 5000 ticks and POINTS for the rest of the tickers.
Rows: Select the number of price levels to display
Text Size: Select the text size
🔹 DOM
DOM: Enable/Disable DOM display
Realtime only: Enable/Disable real-time data only, historical data will be collected if disabled
Top Price: Specify the price to be displayed on the top row, set to 0 to enable dynamic DOM
Max updates: Specify how many times the values on the SELL and BUY columns are accumulated until reset.
Profile/Depth size: Maximum size of the histograms on the PROFILE and DEPTH columns.
Profile: Enable/Disable Profile column. High impact on performance.
Volume: Enable/Disable Volume column. Total volume traded at price level.
Interlevel Imbalance: Enable/Disable Interlevel Imbalance column. Total volume delta between the current price level and the price level above. High impact on performance.
Depth: Enable/Disable Depth, showing the cumulative supply above the current price and the cumulative demand below. Impact on performance.
Intralevel Imbalance: Enable/Disable Intralevel Imbalance column. Delta between total buy volume and total sell volume. High impact on performance.
Buying Pressure Percent: Enable/Disable Buy Percent column. Percentage of total buy volume compared to total volume.
Imbalance Threshold %: Threshold for highlighting imbalances. Set to 90 to highlight the top 10% of interlevel imbalances and the top and bottom 10% of intra-level imbalances.
Crypto volume precision: Specify the number of decimals to display on the volume of crypto assets
🔹 Key Levels
Key Levels: Enable/Disable KEY column. Very high performance impact.
Previous Week: Enable/Disable High, Low, Middle, and Close of the previous trading week.
Previous Day: Enable/Disable High, Low, Middle, and Settlement of the previous trading day.
Current Day/Session: Enable/Disable Open, High, Low and Middle of the current period.
Open Range: Enable/Disable High and Low of the first candle of the period.
Initial Balance: Enable/Disable High and Low of the first hour of the period.
VWAP: Enable/Disable Volume-weighted average price of the period with 1, 2, and 3 standard deviations.
POC: Enable/Disable Point of Control (price level with the highest volume traded) of the period.
🔹 Time & Sales
Time & Sales: Enable/Disable time and sales panel.
Timezone offset (hours): Enter your time zone\'s offset (+ or −), including a decimal fraction if needed.
Order Size: Set order size filter. Orders smaller than the value are not displayed.
🔶 THANKS
Hi, I'm makit0 coder of this tool and proud member of the LuxAlgo Opensource team, it's an honor to be part of the LuxAlgo family doing something I love as it's writing opensource code and sharing it with the world. I'd like to thank all of you who use, comment on, and vote for all of our open-source tools, and all of you who give us your support.
And of course thanks to the PineCoders family for all the work in front of and behind the scenes that makes the PineScript community what it is, simply the best.
Peace, Love & PineScript!
VolumeSpreadAnalysisLibrary "VolumeSpreadAnalysis"
A library for Volume Spread Analysis (VSA).
spread(_barIndex)
Calculates the spread of a bar.
Parameters:
_barIndex (int) : (int) The index of the bar.
Returns: (float) The spread of the bar.
volume(_barIndex)
Retrieves the volume of a bar.
Parameters:
_barIndex (int) : (int) The index of the bar.
Returns: (float) The volume of the bar.
body(_barIndex)
Calculates the body of a bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The body size of the bar.
wickUpper(_barIndex)
Calculates the upper wick of a bar (upper shadow).
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The upper wick size of the bar.
wickLower(_barIndex)
Calculates the lower wick of a bar (lower shadow).
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (float) The lower wick size of the bar.
calcForecastedSMA(_source, _length, _forecastedLevel)
Calculates the forecasted Simple Moving Average (SMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the SMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted SMA value.
calcForecastedEMA(_source, _length, _forecastedLevel)
Calculates the forecasted Exponential Moving Average (EMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the EMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted EMA value.
calcForecastedRMA(_source, _length, _forecastedLevel)
Calculates the forecasted Relative Moving Average (RMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the RMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted RMA value.
calcForecastedWMA(_source, _length, _forecastedLevel)
Calculates the forecasted Weighted Moving Average (WMA).
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the WMA.
_forecastedLevel (float) : (float) The forecasted level to include in the calculation.
Returns: (float) The forecasted WMA value.
calcElapsedTimePercent()
Calculates the elapsed time percent of the current bar.
Returns: (float) The elapsed time percent.
calcForecastedSpread(multiplierAtMidpoints, multiplierAtPeaks)
Calculates the forecasted spread using elapsed time and dynamic multipliers, handling spread's non-linear nature.
Parameters:
multiplierAtMidpoints (float) : (float) The multiplier value at midpoints.
multiplierAtPeaks (float) : (float) The multiplier value at peaks.
Returns: (float) The forecasted spread value.
calcForecastedVolume()
Calculates the forecasted volume using elapsed time, satisfying volume's linear nature.
Returns: (float) The forecasted volume value.
calcForecastedMA(_source, _length, _forecastedSource, _type)
Calculates the forecasted Moving Average (MA) based on the specified type.
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the MA.
_forecastedSource (float) : (float) The forecasted level to include in the calculation.
_type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
Returns: (float) The forecasted MA value.
calcMA(_source, _length, _type)
Calculates the Moving Average (MA) based on the specified type.
Parameters:
_source (float) : (series float) Source data for calculation.
_length (simple int) : (int) The length of the MA.
_type (simple string) : (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
Returns: (float) The MA value.
bullBar(_barIndex)
Determines if the bar is bullish.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if the bar is bullish, otherwise false.
bearBar(_barIndex)
Determines if the bar is bearish.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if the bar is bearish, otherwise false.
breakout(_barIndex)
Determines if there is a breakout above the previous bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if there is a breakout, otherwise false.
breakdown(_barIndex)
Determines if there is a breakdown below the previous bar.
Parameters:
_barIndex (simple int) : (int) The index of the bar.
Returns: (bool) True if there is a breakdown, otherwise false.
rejectionWickUpper(_rejectionWick)
Determines if the upper wick is a rejection wick.
Parameters:
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if the upper wick is a rejection wick, otherwise false.
rejectionWickLower(_rejectionWick)
Determines if the lower wick is a rejection wick.
Parameters:
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if the lower wick is a rejection wick, otherwise false.
setupDataVolume(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _maTypeVolume)
Sets up data for volume levels.
Parameters:
_data (map) : (map) The map to store the levels.
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthVolume (simple int) : (int) The length for MA.
_maTypeVolume (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataSpread(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _maTypeSpread)
Sets up data for spread levels.
Parameters:
_data (map) : (map) The map to store the levels.
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthSpread (simple int) : (int) The length for MA.
_maTypeSpread (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataForecastVolume(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _predictedLevelVolume, _maTypeVolume)
Sets up data for volume and spread levels for forecast.
Parameters:
_dataForecast (map)
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthVolume (simple int) : (int) The length for MA.
_predictedLevelVolume (float) : (float) The predicted level for MA.
_maTypeVolume (simple string) : (string) The type for MA.
Returns: (void) Nothing.
setupDataForecastSpread(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _predictedLevelSpread, _maTypeSpread)
Sets up data for spread levels for forecast.
Parameters:
_dataForecast (map)
_mult_Low (simple float) : (float) The multiplier for low level.
_mult_High (simple float) : (float) The multiplier for high level.
_mult_Ultra (simple float) : (float) The multiplier for ultra level.
_maLengthSpread (simple int) : (int) The length for MA.
_predictedLevelSpread (float) : (float) The predicted level for MA.
_maTypeSpread (simple string) : (string) The type for MA.
Returns: (void) Nothing.
isVolumeLow(_data, _barIndex)
Determines if the volume is low.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is low, otherwise false.
isVolumeNormal(_data, _barIndex)
Determines if the volume is normal.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is normal, otherwise false.
isVolumeHigh(_data, _barIndex)
Determines if the volume is high.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is high, otherwise false.
isVolumeUltra(_data, _barIndex)
Determines if the volume is ultra.
Parameters:
_data (map) : (map) The data map with volume levels.
_barIndex (int)
Returns: (bool) True if the volume is ultra, otherwise false.
isSpreadLow(_data, _barIndex)
Determines if the spread is low.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is low, otherwise false.
isSpreadNormal(_data, _barIndex)
Determines if the spread is normal.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is normal, otherwise false.
isSpreadHigh(_data, _barIndex)
Determines if the spread is high.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is high, otherwise false.
isSpreadUltra(_data, _barIndex)
Determines if the spread is ultra.
Parameters:
_data (map) : (map) The data map with spread levels.
_barIndex (int)
Returns: (bool) True if the spread is ultra, otherwise false.
isVolumeText(_data)
Determines text string representing the volume area level.
Parameters:
_data (map) : (map) The data map with volume levels.
Returns: (string) Text string of Low, Normal, High, or Ultra.
isSpreadText(_data)
Determines text string representing the spread area level.
Parameters:
_data (map) : (map) The data map with spread levels.
Returns: (string) Text string of Low, Normal, High, or Ultra.
calcBarColor(_value, _level)
Calculates the color based level.
Parameters:
_value (float) : (float) The value to check.
_level (float) : (float) The value level for comparison.
Returns: (color) The color for the bar.
bullPinBar(_maxBodyPercent, _minWickPercent)
Determines if the bar is a bull pin bar.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
Returns: (bool) True if the bar is a bull pin bar, otherwise false.
bearPinBar(_maxBodyPercent, _minWickPercent)
Determines if the bar is a bear pin bar.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
Returns: (bool) True if the bar is a bear pin bar, otherwise false.
dojiBar(_maxBodyPercent)
Determines if the bar is a doji.
Parameters:
_maxBodyPercent (simple float) : (float) The maximum body percentage.
Returns: (bool) True if the bar is a doji, otherwise false.
spinningTopBar(_minWicksPercent, _emaLength)
Determines if the bar is a spinning top.
Parameters:
_minWicksPercent (simple float) : (float) The minimum wicks percentage.
_emaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if the bar is a spinning top, otherwise false.
highWaveBar(_minBodyPercent, _minWickPercent, _bars)
Determines if the bar is a high wave bar.
Parameters:
_minBodyPercent (simple float) : (float) The minimum body percentage.
_minWickPercent (simple float) : (float) The minimum wick percentage.
_bars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if the bar is a high wave bar, otherwise false.
consolidationBar(_data, _spread, _bars)
Determines if the bars are in consolidation.
Parameters:
_data (map) : (map) The data map with spread levels.
_spread (simple float) : (float) The spread percentage for comparison.
_bars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if the bars are in consolidation, otherwise false.
S_DownThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (DownThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (DownThrust), otherwise false.
S_SellingClimax(_data, _rejectionWick)
Determines if there is a sign of strength (Selling Climax).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if there is a sign of strength (Selling Climax), otherwise false.
S_NoEffortBearishResult()
Determines if there is a sign of strength (No Effort Bearish Result).
Returns: (bool) True if there is a sign of strength (No Effort Bearish Result), otherwise false.
S_BearishEffortNoResult()
Determines if there is a sign of strength (Bearish Effort No Result).
Returns: (bool) True if there is a sign of strength (Bearish Effort No Result), otherwise false.
S_InverseDownThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of strength (Inverse DownThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of strength (Inverse DownThrust), otherwise false.
S_FailedSellingClimax()
Determines if there is a sign of strength (Failed Selling Climax).
Returns: (bool) True if there is a sign of strength (Failed Selling Climax), otherwise false.
S_BullOutsideReversal(_data)
Determines if there is a sign of strength (Bull Outside Reversal).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of strength (Bull Outside Reversal), otherwise false.
S_EndOfFallingMarket(_data)
Determines if there is a sign of strength (End of Falling Market).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of strength (End of Falling Market), otherwise false.
S_PseudoDownThrust(_bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (Pseudo DownThrust).
Parameters:
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (Pseudo DownThrust), otherwise false.
S_NoSupply(_bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of strength (No Supply).
Parameters:
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of strength (No Supply), otherwise false.
W_UpThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (UpThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (UpThrust), otherwise false.
W_BuyingClimax(_data, _rejectionWick)
Determines if there is a sign of weakness (Buying Climax).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_rejectionWick (simple float) : (float) The rejection wick percentage.
Returns: (bool) True if there is a sign of weakness (Buying Climax), otherwise false.
W_NoEffortBullishResult()
Determines if there is a sign of weakness (No Effort Bullish Result).
Returns: (bool) True if there is a sign of weakness (No Effort Bullish Result), otherwise false.
W_BullishEffortNoResult()
Determines if there is a sign of weakness (Bullish Effort No Result).
Returns: (bool) True if there is a sign of weakness (Bullish Effort No Result), otherwise false.
W_InverseUpThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
Determines if there is a sign of weakness (Inverse UpThrust).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_bullPinBarMaxBody (simple float) : (float) The maximum body percentage for bull pin bar.
_bullPinBarMinWick (simple float) : (float) The minimum wick percentage for bull pin bar.
Returns: (bool) True if there is a sign of weakness (Inverse UpThrust), otherwise false.
W_FailedBuyingClimax()
Determines if there is a sign of weakness (Failed Buying Climax).
Returns: (bool) True if there is a sign of weakness (Failed Buying Climax), otherwise false.
W_BearOutsideReversal(_data)
Determines if there is a sign of weakness (Bear Outside Reversal).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of weakness (Bear Outside Reversal), otherwise false.
W_EndOfRisingMarket(_data)
Determines if there is a sign of weakness (End of Rising Market).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
Returns: (bool) True if there is a sign of weakness (End of Rising Market), otherwise false.
W_PseudoUpThrust(_bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (Pseudo UpThrust).
Parameters:
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (Pseudo UpThrust), otherwise false.
W_NoDemand(_bearPinBarMaxBody, _bearPinBarMinWick)
Determines if there is a sign of weakness (No Demand).
Parameters:
_bearPinBarMaxBody (simple float) : (float) The maximum body percentage for bear pin bar.
_bearPinBarMinWick (simple float) : (float) The minimum wick percentage for bear pin bar.
Returns: (bool) True if there is a sign of weakness (No Demand), otherwise false.
N_QuietDoji(_dojiBarMaxBody)
Determines if there is a neutral signal (Quiet Doji).
Parameters:
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Quiet Doji), otherwise false.
N_BalancedDoji(_data, _dojiBarMaxBody)
Determines if there is a neutral signal (Balanced Doji).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Balanced Doji), otherwise false.
N_StrongDoji(_dojiBarMaxBody)
Determines if there is a neutral signal (Strong Doji).
Parameters:
_dojiBarMaxBody (simple float) : (float) The maximum body percentage for doji bar.
Returns: (bool) True if there is a neutral signal (Strong Doji), otherwise false.
N_QuietSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Quiet Spinning Top).
Parameters:
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Quiet Spinning Top), otherwise false.
N_BalancedSpinningTop(_data, _spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Balanced Spinning Top).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Balanced Spinning Top), otherwise false.
N_StrongSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
Determines if there is a neutral signal (Strong Spinning Top).
Parameters:
_spinningTopBarMinWicks (simple float) : (float) The minimum wicks percentage for spinning top bar.
_spinningTopBarEmaLength (simple int) : (int) The length for EMA calculation.
Returns: (bool) True if there is a neutral signal (Strong Spinning Top), otherwise false.
N_QuietHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Quiet High Wave).
Parameters:
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Quiet High Wave), otherwise false.
N_BalancedHighWave(_data, _highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Balanced High Wave).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Balanced High Wave), otherwise false.
N_StrongHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
Determines if there is a neutral signal (Strong High Wave).
Parameters:
_highWaveBarMinBody (simple float) : (float) The minimum body percentage for high wave bar.
_highWaveBarMinWick (simple float) : (float) The minimum wick percentage for high wave bar.
_highWaveBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Strong High Wave), otherwise false.
N_Consolidation(_data, _consolidationBarSpread, _consolidationBarBars)
Determines if there is a neutral signal (Consolidation).
Parameters:
_data (map) : (map) The data map with volume and spread levels.
_consolidationBarSpread (simple float) : (float) The spread percentage for consolidation bar.
_consolidationBarBars (simple int) : (int) The number of bars for comparison.
Returns: (bool) True if there is a neutral signal (Consolidation), otherwise false.
Concretum BandsDefinition
The Concretum Bands indicator recreates the Upper and Lower Bound of the Noise Area described in the paper "Beat the Market: An Effective Intraday Momentum Strategy for S&P500 ETF (SPY)" published by Concretum founder Zarattini, along with Barbon and Aziz, in May 2024.
Below we provide all the information required to understand how the indicator is calculated, the rationale behind it and how people can use it.
Idea Behind
The indicator aims to outline an intraday price region where the stock is expected to move without indicating any demand/supply imbalance. When the price crosses the boundaries of the Noise Area, it suggests a significant imbalance that may trigger an intraday trend.
How the Indicator is Calculated
The bands at time HH:MM are computed by taking the open price of day t and then adding/subtracting the average absolute move over the last n days from market open to minute HH:MM . The bands are also adjusted to account for overnight gaps. A volatility multiplier can be used to increase/decrease the width of the bands, similar to other well-known technical bands. The bands described in the paper were computed using a lookback period (length) of 14 days and a Volatility Multiplier of 1. Users can easily adjust these settings.
How to use the indicator
A trader may use this indicator to identify intraday moves that exceed the average move over the most recent period. A break outside the bands could be used as a signal of significant demand/supply imbalance.
Volume Profile with Node Detection [LuxAlgo]The Volume Profile with Node Detection is a charting tool that allows visualizing the distribution of traded volume across specific price levels and highlights significant volume nodes or clusters of volume nodes that traders may find relevant in utilizing in their trading strategies.
🔶 USAGE
The volume profile component of the script serves as the foundation for node detection while encompassing all the essential features expected from a volume profile. See the sub-sections below for more detailed information about the indicator components and their usage.
🔹 Peak Volume Node Detection
A volume peak node is identified when the volume profile nodes for the N preceding and N succeeding nodes are lower than that of the evaluated one.
Displaying peak volume nodes along with their surrounding N nodes (Zones or Clusters) helps visualize the range, typically representing consolidation zones in the market. This feature enables traders to identify areas where trading activity has intensified, potentially signaling periods of price consolidation or indecision among market participants.
🔹 Trough Volume Node Detection
A volume trough node is identified when the volume profile nodes for the N preceding and N succeeding nodes are higher than that of the evaluated one.
🔹 Highest and Lowest Volume Nodes
Both the highest and lowest volume areas play significant roles in trading. The highest volume areas typically represent zones of strong price acceptance, where a significant amount of trading activity has occurred. On the other hand, the lowest volume areas signify price levels with minimal trading activity, often indicating zones of price rejection or areas where market participants have shown less interest.
🔹 Volume profile
Volume profile is calculated based on the volume of trades that occur at various price levels within a specified timeframe. It divides the price range into discrete price intervals, typically known as "price buckets" or "price bars," and then calculates the total volume of trades that occur at each price level within those intervals. This information is then presented graphically as a histogram or profile, where the height of each bar represents the volume of trades that occurred at that particular price level.
🔶 SETTINGS
🔹 Volume Nodes
Volume Peaks: Toggles the visibility of either the "Peaks" or "Clusters" on the chart, depending on the specified percentage for detection.
Node Detection Percent %: Specifies the percentage for the Volume Peaks calculation.
Volume Troughs: Toggles the visibility of either the "Troughs" or "Clusters" on the chart, depending on the specified percentage for detection.
Node Detection Percent %: Specifies the percentage for the Volume Troughs calculation.
Volume Node Threshold %: A threshold value specified as a percentage is utilized to detect peak/trough volume nodes. If a value is set, the detection will disregard volume node values lower than the specified threshold.
Highest Volume Nodes: Toggles the visibility of the highest nodes for the specified count.
Lowest Volume Nodes: Toggles the visibility of the lowest nodes for the specified count.
🔹 Volume Profile - Components
Volume Profile: Toggles the visibility of the volume profile with either classical display or gradient display.
Value Area Up / Down: Color customization option for the volume nodes within the value area of the profile.
Profile Up / Down Volume: Color customization option for the volume nodes outside of the value area of the profile.
Point of Control: Toggles the visibility of the point of control, allowing selection between "developing" or "regular" modes. Sets the color and width of the point of control line accordingly.
Value Area High (VAH): Toggles the visibility of the value area high level and allows customization of the line color.
Value Area Low (VAL): Toggles the visibility of the value area low level and allows customization of the line color.
Profile Price Labels: Toggles the visibility of the Profile Price Levels and allows customization of the text size of the levels.
🔹 Volume Profile - Display Settings
Profile Lookback Length: Specifies the length of the profile lookback period.
Value Area (%): Specifies the percentage for calculating the value area.
Profile Placement: Specify where to display the profile.
Profile Number of Rows: Specify the number of rows the profile will have.
Profile Width %: Adjusts the width of the rows in the profile relative to the profile range.
Profile Horizontal Offset: Adjusts the horizontal offset of the profile when it is selected to be displayed on the right side of the chart.
Value Area Background: Toggles the visibility of the value area background and allows customization of the fill color.
Profile Background: Toggles the visibility of the profile background and allows customization of the fill color.
🔶 RELATED SCRIPTS
Supply-Demand-Profiles
Liquidity-Sentiment-Profile
Thanks to our community for recommending this script. For more conceptual scripts and related content, we welcome you to explore by visiting >>> LuxAlgo-Scripts .