Wedge Pattern [Kodexius]Wedge Pattern is a chart-overlay indicator designed to detect and manage classic Rising Wedge (bearish) and Falling Wedge (bullish) structures using strict, rules-based validation. The script focuses on producing clean, tradable wedge prints by building both boundaries from confirmed pivot swings, enforcing a mandatory “no closes outside the wedge” condition during formation, and requiring the wedge apex to be projected into the future to avoid premature or distorted patterns.
This implementation is built for practical execution charts. It continuously updates the active wedge boundaries in real time, clearly labels the pattern type, and reacts decisively when price confirms a valid breakout. When enabled, it also projects a measured-move target derived from the wedge geometry, so the trader can quickly evaluate reward potential without manual projection.
The detection logic is intentionally conservative. Rather than printing every possible converging structure, it aims to identify wedges that respect structural integrity: multiple touches on each boundary, controlled price action inside the converging range, and a valid convergence point (apex) ahead of the current bar. The result is a wedge tool that prioritizes quality, readability, and consistent behavior across symbols and timeframes.
🔹 Features
🔸 Rising and Falling Wedge Detection (Trendline Based)
The indicator detects two wedge types by constructing an upper trendline from pivot highs and a lower trendline from pivot lows:
Rising Wedge (Bearish): both lines slope upward, and the lower line rises faster than the upper line, creating a tightening upward channel that typically resolves with a downside break.
Falling Wedge (Bullish): both lines slope downward, and the upper line falls faster than the lower line, producing a tightening downward channel that typically resolves with an upside break.
This slope relationship is the core wedge classifier. It ensures the script is not just drawing random converging lines, but explicitly requires the characteristic “compression” geometry that defines wedges.
🔸 Pivot-Confirmed Structure with User Control
Wedges are built from confirmed pivots using:
Pivot Left and Pivot Right inputs to control how “strict” a pivot must be.
Min. Touches per Line to enforce multiple confirmations on each boundary.
Standard technical analysis commonly requires at least three touches to validate a trendline. This script supports that workflow by requiring a minimum number of pivot points before a wedge is eligible for drawing.
🔸 Mandatory Integrity Rule: No Closes Outside the Boundaries
A key quality filter is applied before a wedge can be accepted:
During formation, no candle close is allowed outside the upper or lower boundary.
If any close is detected above the upper line or below the lower line (with tick tolerance), the candidate wedge is rejected. This prevents patterns that already “broke” before they were formally detected and reduces false positives caused by messy price action.
🔸 Apex Validation to Avoid Distorted Prints
The wedge apex (the projected intersection point of the two trendlines) must be in the future. This avoids degenerate cases where lines intersect behind current price, which often indicates the structure is not a valid wedge or is already past its useful phase.
🔸 Live Updating Boundaries for Active Patterns
Once a wedge becomes active, its upper and lower lines are extended forward bar by bar. The script recalculates the boundary price at the current bar index using the stored slope, then updates the line endpoints so the wedge remains visually accurate as time advances.
🔸 Breakout Engine with Directional Confirmation
The script differentiates between:
Correct breakout: the wedge breaks in the expected direction.
Rising wedge breaks downward (close below the lower boundary).
Falling wedge breaks upward (close above the upper boundary).
When this happens, the wedge is marked as broken and labeled as BREAKOUT on the chart.
🔸 Invalidation and Failure Handling
If price violates the wedge in the wrong direction, or if the wedge collapses into an impossible structure (upper boundary falls below or equals the lower boundary), the wedge is flagged as FAILED. This keeps signals honest and prevents lingering drawings that no longer represent a valid pattern.
🔸 Optional Target Projection (Measured Move)
When Show Target Projection is enabled, the script plots a dashed target line and a target label after a valid breakout. The target is computed as a measured move using the wedge height, projected from the breakout boundary in the breakout direction. This provides an immediate objective reference for potential continuation.
🔸 Clean Object Management and Chart Readability
To maintain clarity, the script manages the “active” wedge per type:
If a new wedge is detected while an older one is still active and not broken or failed, the old drawings are removed and replaced with the newer valid pattern.
This prevents chart clutter and keeps the display focused on the most relevant wedge structures.
🔹 Calculations
1) Pivot Collection
The script uses pivot functions to confirm swing points:
float ph = ta.pivothigh(high, INPUT_PIVOT_LEFT, INPUT_PIVOT_RIGHT)
float pl = ta.pivotlow(low, INPUT_PIVOT_LEFT, INPUT_PIVOT_RIGHT)
if not na(ph)
pivot_highs.push(Coordinate.new(bar_index - INPUT_PIVOT_RIGHT, ph))
if not na(pl)
pivot_lows.push(Coordinate.new(bar_index - INPUT_PIVOT_RIGHT, pl))
Each pivot is stored as a Coordinate containing:
index: the bar index where the pivot is confirmed
price: the pivot high or pivot low value
The arrays are capped (for example, last 20 pivots) to control memory and keep selection relevant.
2) Trendline Construction and Slope
A wedge candidate uses the earliest and latest required pivot points for each line. For each boundary, slope is computed as:
method calc_slope(Trendline this) =>
(this.end.price - this.start.price) / (this.end.index - this.start.index)
With slope known, the trendline value at any bar index is:
method get_price_at(Trendline this, int bar_idx) =>
this.start.price + this.slope * (bar_idx - this.start.index)
This approach allows the script to update wedge boundaries consistently without re-fitting lines on every bar.
3) Wedge Type Classification (Geometry Rules)
After both slopes are calculated, wedge type is determined by slope direction and relative steepness:
Rising wedge requires both slopes positive and lower slope greater than upper slope.
Falling wedge requires both slopes negative and upper slope more negative than lower slope (upper line falls faster).
In code logic:
if tl_up.slope > 0 and tl_lo.slope > 0 and tl_lo.slope > tl_up.slope
w_type := 1 // Rising
if tl_up.slope < 0 and tl_lo.slope < 0 and tl_up.slope < tl_lo.slope
w_type := 2 // Falling
This enforces converging boundaries and avoids simple parallel channels.
4) Apex Projection (Trendline Intersection)
The apex is the projected intersection x-coordinate of the two trendlines:
method get_apex_index(Wedge this) =>
float m1 = this.upper.slope
float m2 = this.lower.slope
float y1 = this.upper.start.price
float y2 = this.lower.start.price
int x1 = this.upper.start.index
int x2 = this.lower.start.index
float apex_x = (y2 - y1 + m1 * x1 - m2 * x2) / (m1 - m2)
math.round(apex_x)
Validation requires:
apex_idx > bar_index (apex must be in the future)
This prevents late or structurally invalid wedges from being activated.
5) Mandatory “No Close Outside” Validation
Before activation, the script verifies the pattern has not been violated by candle closes:
method check_violation(Wedge this, int from_idx, int to_idx) =>
bool violated = false
for i = from_idx to to_idx
float up_p = this.upper.get_price_at(i)
float lo_p = this.lower.get_price_at(i)
float c_p = close
if c_p > up_p + syminfo.mintick or c_p < lo_p - syminfo.mintick
violated := true
break
violated
Interpretation:
For every bar from wedge start to current bar, the close must remain between the projected upper and lower boundary prices.
A tick tolerance (syminfo.mintick) is used to reduce micro false violations.
6) Live Update and Breakout Detection
Once active, lines are extended to the current bar and boundary prices are computed:
float u_p = w.upper.get_price_at(bar_index)
float l_p = w.lower.get_price_at(bar_index)
bool b_up = close > u_p
bool b_dn = close < l_p
Correct breakout conditions:
Rising wedge breakout: close below lower boundary.
Falling wedge breakout: close above upper boundary.
if (w.is_rising and b_dn) or (not w.is_rising and b_up)
w.is_broken := true
Invalidation rules include:
wrong-direction break
boundary crossover (upper <= lower)
7) Target Projection (Measured Move)
If target display is enabled, the script calculates wedge height and projects a target from the breakout side:
float m = math.abs(w.upper.start.price - w.lower.get_price_at(w.upper.start.index))
float t = w.is_rising ? l_p - m : u_p + m
Interpretation:
m represents the wedge height near the start of the formation.
t is the target price, projected in the breakout direction.
Rising wedge: target below the lower boundary.
Falling wedge: target above the upper boundary.
A dashed target line and label are then placed forward in time for readability.
Trend Analysis
Opening Path Selector (EMA200 Context Tool)📝 Description
Opening Path Selector is a context-based indicator designed to help traders quickly identify which asset may offer the cleanest directional path at the market open.
This tool does not generate entry or exit signals.
Its purpose is to reduce decision fatigue during the first minutes of the session by ranking a small set of high-liquidity assets based on higher-timeframe EMA200 structure.
🔍 What this indicator evaluates
The dashboard compares a predefined group of major symbols and ranks them according to:
• Proximity to the nearest EMA200
• Relative position versus higher-timeframe EMA200 levels
• Directional context inferred from EMA structure
The result is a priority-based list that highlights which asset may present:
• Less immediate EMA resistance
• Clearer directional context
• Lower probability of early-session chop
📊 How to read the dashboard
• Priority – Ranking based on opening context
• Symbol – Evaluated instrument
• Nearest EMA200 – Distance and side relative to price
• Possible Path – Direction with less immediate EMA resistance
• Bias – Strength of the higher-timeframe context
Colored markers are used to provide fast visual identification of the highest-priority assets.
⚠️ Important notes
• This is a context and selection tool, NOT a trading system
• No buy/sell signals, alerts, TP, or SL logic are included
• Designed to be used alongside your own execution methodology
🔧 Compatibility
Due to Pine Script multi-symbol and multi-timeframe constraints, this public version is intentionally limited to a small set of symbols.
TradingView Pro / Premium or higher is recommended for consistent performance.
🔗 Complementary tools
This indicator can be complemented with Multi-Tool VWAP + EMAs (Multi-Timeframe) + Key Levels , which provides detailed visibility of multiple EMA levels, VWAP structure, and higher-timeframe reference zones directly on the chart.
While Opening Path Selector helps decide which asset to focus on at the open, the complementary tool can assist with in-chart context and confirmation once an asset has been selected.
Both tools are designed to serve different stages of the decision process and can be used independently.
Dimensional Support ResistanceDimensional Support Resistance
Overview
Dimensional Support Resistance is an open-source overlay indicator that automatically detects and displays clean, non-overlapping support and resistance levels using pivot-based analysis with intelligent filtering. It identifies significant swing highs and lows, filters them by minimum distance to prevent visual clutter, and provides volume-confirmed bounce signals.
What This Indicator Does
The indicator calculates and displays:
Dynamic Pivot Levels - Automatically detected swing highs and lows based on configurable pivot strength
Distance Filtering - Ensures levels are spaced apart by a minimum percentage to prevent overlap
S/R Zones - Visual zones around each level showing the price area of significance
Bounce Detection - Identifies when price reverses at support or resistance levels
Volume Confirmation - Strong signals require above-average volume for confirmation
How It Works
Pivot detection scans for swing highs and lows using a configurable strength parameter. A pivot low requires the low to be lower than all surrounding bars within the strength period.
Signal Generation
The indicator generates bounce signals using TradingView's built-in pivot detection combined with candle reversal confirmation:
Support Bounce: Pivot low forms with bullish close (close > open)
Resistance Bounce: Pivot high forms with bearish close (close < open)
Strong Bounce: Bounce occurs with volume 1.5x above 20-period average
A cooldown period of 15 bars prevents signal spam.
Dashboard Panel
A compact dashboard displays:
Support - Count of active support levels
Resistance - Count of active resistance levels
Dashboard position is configurable (Top Left, Top Right, Bottom Left, Bottom Right).
Visual Elements
Support Lines - Green horizontal lines at support levels
Resistance Lines - Red horizontal lines at resistance levels
S/R Zones - Semi-transparent boxes around levels showing zone width
Price Labels - S: and R: labels showing exact price of nearest levels
BOUNCE Markers - Triangle shapes with text when price bounces at a level
STRONG Markers - Label shapes when bounce occurs with high volume
Input Parameters
Lookback Period (default: 100) - Historical bars to scan for pivots
Pivot Strength (default: 8) - Bars on each side required for valid pivot (higher = fewer but stronger levels)
Max Levels Each Side (default: 2) - Maximum support and resistance levels displayed
Zone Width % (default: 0.15) - Width of zones around each level as percentage of price
Min Distance Between Levels % (default: 1.0) - Minimum spacing between levels to prevent overlap
Show S/R Zones (default: true) - Toggle zone visualization
Show Bounce Signals (default: true) - Toggle signal markers
Support Color (default: #00ff88) - Color for support elements
Resistance Color (default: #ff3366) - Color for resistance elements
Suggested Use Cases
Identify key support and resistance levels for entry and exit planning
Use bounce signals as potential reversal confirmation
Combine with other indicators for confluence-based trading decisions
Monitor strong signals for high-probability setups with volume confirmation
Timeframe Recommendations
Works on all timeframes. Higher timeframes (4H, Daily) provide more significant levels with fewer signals. Lower timeframes show more granular structure but may produce more noise.
Limitations
Pivot detection requires lookback bars, so very recent pivots may not be immediately visible
Bounce signals are based on pivot formation and may lag by the pivot strength period
Levels are recalculated on each bar, so they may shift as new pivots form
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always use proper risk management and conduct your own analysis before trading.
- Made with passion by officialjackofalltrades
MTF MomentumThis script identifies momentum for the following three timeframes: 1 minute, 5 minutes, and 15 minutes.
The cantillon terminal [Lite] - Visual SuiteThe ultimate discretionary toolkit. Visualizes Institutional Value (VP), Trend (AVWAP), and Structure (Fibs). For automated signals, see the Pro Strategy."
Institutional Bias [Lite] - Visual SuiteThe ultimate discretionary toolkit. Visualizes Institutional Value (VP), Trend (AVWAP), and Structure (Fibs). For automated signals, see the Pro Strategy."
Institutional Bias [Lite] - Visual SuiteThe ultimate discretionary toolkit. Visualizes Institutional Value (VP), Trend (AVWAP), and Structure (Fibs). For automated signals, see the Pro Strategy."
Liquidity Strain Detector [MarkitTick]💡 This indicator provides a specialized method for detecting market anomalies where price movement becomes disconnected from typical volume profiles, signaling potential exhaustion events. By combining statistical analysis of liquidity (price impact) with a directional trend filter, the tool aims to highlight moments of extreme market stress, such as panic selling or euphoric buying, that often precede mean reversions or trend pauses.
● Originality and Utility
Standard volume indicators often look at raw volume levels, which can be misleading during different times of the day or across different assets. This script calculates the efficiency of moving price (Illiquidity) and normalizes it statistically. This allows the trader to see when the market is becoming thin or stressed relative to recent history. It is particularly useful for contrarian traders looking for capitulation points within established trends, offering a unique perspective beyond standard RSI or MACD divergence.
● Methodology
The core mechanism drives a custom Liquidity Engine that performs the following steps:
Price Impact Calculation: It computes the ratio of the True Range to Volume. High values indicate that price is moving significant distances on relatively low volume or that volatility is extreme relative to participation.
Normalization: The raw impact data is smoothed using a logarithmic scale to handle the wide variance in volume data.
Statistical Scoring (Z-Score): The script calculates the Z-Score of this normalized data over a user-defined lookback period. This determines how many standard deviations the current liquidity stress is away from the mean.
Trend Filtering: A standard Exponential Moving Average (EMA) determines the dominant market direction to contextualize the stress signal.
● How to Use
The indicator plots labels on the chart when specific High Stress conditions are met during a trend:
SE (Seller Exhaustion - Green Label): Appears when the market is in a downtrend (price below EMA), the current candle is bearish, and the liquidity stress Z-Score breaches the upper threshold. This suggests panic selling or a liquidity gap down, often marking a temporary bottom or reversal point.
BE (Buyer Exhaustion - Red Label): Appears when the market is in an uptrend (price above EMA), the current candle is bullish, and the liquidity stress Z-Score breaches the upper threshold. This suggests a melt-up or buying climax into thin liquidity, often preceding a pullback.
● Inputs
Trend Filter Length: The period for the EMA used to determine the baseline trend direction.
Statistical Lookback: The number of bars used to calculate the mean and standard deviation for the Z-Score.
Stress Threshold (Sigma): The Z-Score value required to trigger a high-stress signal. Higher values result in fewer, more extreme signals.
● Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion.
Golden Vector Trend Orchestrator (GVTO)Golden Vector Trend Orchestrator (GVTO) is a composite trend-following strategy specifically engineered for XAUUSD (Gold) and volatile assets on H4 (4-Hour) and Daily timeframes.
This script aims to solve a common problem in trend trading: "Whipsaws in Sideways Markets." Instead of relying on a single indicator, GVTO employs a Multi-Factor Confluence System that filters out low-probability trades by requiring alignment across Trend Structure, Momentum, and Volatility.
🛠 Methodology & Logic
The strategy executes trades only when four distinct technical conditions overlap (Confluence). If any single condition is not met, the trade is filtered out to preserve capital.
1. Market Structure Filter (200 EMA)
Indicator: Exponential Moving Average (Length 200).
Logic: The 200 EMA acts as the baseline for the long-term trend regime.
Bullish Regime: Price must close above the 200 EMA.
Bearish Regime: Price must close below the 200 EMA.
Purpose: Prevents counter-trend trading against the macro direction.
2. Signal Trigger & Trailing Stop (Supertrend)
Indicator: Supertrend (ATR Length 14, Factor 3.5).
Logic: Uses Average True Range (ATR) to detect trend reversals while accounting for volatility.
Purpose: Provides the specific entry signal and acts as a dynamic trailing stop-loss to let profits run while cutting losses when the trend invalidates.
3. Volatility Gatekeeper (ADX Filter)
Indicator: Average Directional Index (Length 14).
Threshold: > 25.
Logic: A high ADX value indicates a strong trend presence, regardless of direction.
Purpose: This is the most critical filter. It prevents the strategy from entering trades during "choppy" or ranging markets (consolidation zones) where trend-following systems typically fail.
4. Momentum Confirmation (DMI)
Indicator: Directional Movement Index (DI+ and DI-).
Logic: Checks if the buying pressure (DI+) is physically stronger than selling pressure (DI-), or vice versa.
Purpose: Ensures that the price movement is backed by genuine momentum, not just a momentary price spike.
📋 How to Use This Strategy
🟢 LONG (BUY) Setup
A Buy signal is generated only when ALL of the following occur simultaneously:
Price Action: Price closes ABOVE the 200 EMA (Orange Line).
Trigger: Supertrend flips to GREEN (Bullish).
Strength: ADX is greater than 25 (Strong Trend).
Momentum: DI+ (Plus Directional Indicator) is greater than DI- (Minus).
🔴 SHORT (SELL) Setup
A Sell signal is generated only when ALL of the following occur simultaneously:
Price Action: Price closes BELOW the 200 EMA (Orange Line).
Trigger: Supertrend flips to RED (Bearish).
Strength: ADX is greater than 25 (Strong Trend).
Momentum: DI- (Minus Directional Indicator) is greater than DI+ (Plus).
🛡 Exit Strategy
Stop Loss / Take Profit: The strategy utilizes the Supertrend Line as a dynamic Trailing Stop.
Exit Long: When Supertrend turns Red.
Exit Short: When Supertrend turns Green.
Note: Traders can also use the real-time P/L Dashboard included in the script to manually secure profits based on their personal Risk:Reward ratio.
📊 Included Features
Real-Time P/L Dashboard: A table in the top-right corner displays the current trend status, ADX strength, and the Unrealized Profit/Loss % of the current active position.
Smart Labeling: Buy/Sell labels are coded to appear only on the initial entry trigger. They do not repaint and do not spam the chart if the trend continues (no pyramiding visualization).
Visual Aids: Background color changes (Green/Red) to visually represent the active trend based on the Supertrend status.
⚠️ Risk Warning & Best Practices
Asset Class: Optimized for XAUUSD (Gold) due to its high volatility nature. It also works well on Crypto (BTC, ETH) and Major Forex Pairs.
Timeframe: Highly recommended for H4 (4 Hours) or D1 (Daily). Using this on lower timeframes (M5, M15) may result in false signals due to market noise.
News Events: Automated strategies cannot predict economic news (CPI, NFP). Exercise caution or pause trading during high-impact economic releases.
Liquidity Trap Detector Pro [PyraTime]The Problem: Why You Get Stopped Out
90% of retail traders place their stop-losses at obvious swing highs and lows. Institutional algorithms ("Smart Money") are programmed to push price through these levels to trigger liquidity, fill their heavy orders, and then immediately reverse the market.
If you have ever had your stop hit right before the market moves exactly where you predicted—you were the victim of a Liquidity Trap.
The Solution: Visualizing the "Stop Hunt"
Liquidity Trap Detector Pro is not just a support/resistance indicator. It is a comprehensive Reversal Scoring Engine.
Unlike standard indicators that spam signals on every wick, this tool uses a proprietary 5-Star Scoring System to analyze the quality of the trap. It validates every signal using Wick Symmetry, RSI Divergence, and Volume Analysis to separate a true reversal from a trend continuation.
Key Features (USP)
- 5-Star Scoring Engine: Every signal is rated from 1 to 5 stars. Stop guessing if a signal is valid; let the algorithm check the confluence for you.
- Glassmorphism Visuals: Gone are the messy lines. We use modern, semi-transparent "Liquidity Zones" that keep your chart clean and professional.
- Smart Terminology: Automatically identifies Bull Traps (Buyers trapped at highs) and Bear Traps (Sellers trapped at lows).
- Heads-Up Display (HUD): A professional dashboard monitors the market state, active filters, and recent trap statistics in real-time.
- Strict Non-Repainting: (Technical Note) This script uses strict non-repainting logic. All Higher Timeframe (HTF) data is confirmed and closed before a signal is generated, ensuring historical accuracy.
---
Tutorial: How to Trade This Indicator
1. Understanding the Signals
We use correct institutional terminology to describe the market mechanics:
GREEN Signal (BEAR TRAP):
- What happened: Price swept a Swing Low, enticing sellers (Bears) to enter. The candle then reversed and closed back inside the range, trapping those sellers.
- The Trade: This is a Bullish Reversal setup (Long).
RED Signal (BULL TRAP):
- What happened: Price swept a Swing High, enticing buyers (Bulls) to breakout. The candle reversed and closed lower, trapping the buyers.
- The Trade: This is a Bearish Reversal setup (Short).
2. The 5-Star Scoring System
Not all traps are created equal. The stars tell you how much "Confluence" exists:
- 1 Star: A basic structure sweep. Risky.
- 3 Stars: A solid setup backed by either Volume or Divergence.
- 5 Stars: The "Perfect" Trap. Structure Sweep + RSI Divergence + Volume Spike + Wick Symmetry. High Probability.
3. The Strategy
- Wait for the Zone: Watch price approach a coloured Liquidity Zone.
- Observe the Reaction: Do not trade blindly. Wait for the candle to close.
- Check the Stars: Look for at least 3 Stars before considering an entry.
- Confirm with HUD: Glance at the Dashboard to ensure the "RSI Filter" and "Vol Filter" agree with your analysis.
---
Settings Guide
Structure Settings:
- Pivot Lookback: Adjusts how sensitive the zones are (Default: 10/5).
- HTF Confirmation: Optional filter to only show traps that align with Higher Timeframe structure (e.g., 1H or 4H).
Quality Filters:
- RSI Divergence: Requires momentum to disagree with price (classic reversal sign).
- Volume Spike: Requires volume to be higher than average (Smart Money footprint).
Visuals:
- Clean Mode: A presenter-favorite feature. Hides all historical zones and leaves only the active setup—perfect for taking screenshots or sharing analysis.
Disclaimer
This tool is designed to assist with technical analysis and identifying potential areas of interest. It does not guarantee profits. Trading involves significant risk; always use proper risk management.
Turki alghamdiThis indicator is an advanced Pivot-based SuperTrend designed to provide maximum clarity for traders. It visually displays: - Exact entry candle - Dynamic stop loss - Up to 3 R-based profit targets - Clear trend direction
ICT 1m FVG - Universal ToggleThis indicator is designed for ICT (Inner Circle Trader) style traders who prioritise displacement and Fair Value Gaps (FVG) on the 1-minute timeframe but execute or analyse on higher timeframes like the 15-minute. FVGs are create after a swing point is created on the 15m time frame.
i am struggling to get the FVGs to remain visible on the higher time frames
Liquidity Retest Strategy (Apicode) - TP/SL Lines FixedTechnical Documentation:
1. Purpose and underlying concept
This strategy targets a common behavior in liquid markets: liquidity sweeps around meaningful support/resistance levels, followed by a retest and rejection (reversal) with confirmation.
The core thesis is that many initial “breaks” are not continuation moves, but rather stop-runs and order harvesting. After the sweep, price reclaims the level and closes back on the opposite side, offering a structured entry with defined risk.
The strategy includes:
Support/Resistance detection via pivots
Dynamic selection of the “working” level using an ATR-based proximity window
Rejection validation via candle structure (wick + close)
Optional filters: volume, VWAP-like bias, and EMA trend
Risk management with static TP/SL (ATR-based or %), plus trailing stop (ATR-based or %), with per-trade lines plotted
2. Main components
2.1. Volatility metric: ATR
atr = ta.atr(atrLength) is used in two essential places:
Level selection (proximity to S/R): prevents trading levels that are too far from current price.
Sweep validation (minimum wick size): requires the wick to extend beyond the level by a volatility-relative amount.
Optionally, ATR can also be used for:
Static TP/SL (when usePercent = false)
Trailing stop (when useTrailPercent = false)
2.2. Building S/R levels with pivots
Pivots are detected using:
pivotHigh = ta.pivothigh(pivotLookback, rightBars)
pivotLow = ta.pivotlow(pivotLookback, rightBars)
Each confirmed pivot is stored in arrays:
resistanceLevels for resistance
supportLevels for support
The array size is capped by maxLevels, which reduces noise and manages chart resource usage (lines).
2.3. Selecting the “best” level each bar
On each bar, a single support S and/or resistance R candidate is chosen:
Support: nearest level below price (L < price)
Resistance: nearest level above price (L > price)
Only levels within atr * maxDistATR are considered
This produces dynamic “working levels” that adapt to price location and volatility.
2.4. Rejection pattern (retest + sweep)
After selecting the working level:
Support rejection (long setup)
Conditions:
Low touches/crosses support: low <= S
Close reclaims above: close > S
Bullish candle: close > open
Sufficient wick below the level (liquidity sweep): (S - low) >= atr * minWickATR
This aims to capture a stop sweep below support followed by immediate recovery.
Resistance rejection (short setup)
Symmetric conditions:
High touches/crosses resistance: high >= R
Close rejects back below: close < R
Bearish candle: close < open
Sufficient wick above the level: (high - R) >= atr * minWickATR
2.5. Optional filters
Final signals are the rejection pattern AND enabled filters:
1.- Volume filter
High volume is defined as: volume > SMA(volume, 20) * volMult
When useVolFilter = true, setups require relatively elevated participation
2.- VWAP-like bias filter
A VWAP-like series is computed over vwapLength (typical price weighted by volume)
When useVWAPFilter = true:
- Longs only if close > vwap
- Shorts only if close < vwap
3.- EMA trend filter
Uptrend if EMA(fast) > EMA(slow)
When useTrendFilter = true:
- Longs only in uptrend
- Shorts only in downtrend
2.6. Backtest time window (time filter)
To keep testing focused and reduce long-history noise:
useMaxLookbackDays enables the filter
maxLookbackDays defines how many days back from timenow entries are allowed
Entries are permitted only when time >= startTime.
3. Entry rules and position control
3.1. Entries
strategy.entry('Long', strategy.long) when longSetup and no long position is open
strategy.entry('Short', strategy.short) when shortSetup and no short position is open
No pyramiding is allowed (pyramiding = 0). Position gating is handled by:
Long allowed if strategy.position_size <= 0
Short allowed if strategy.position_size >= 0
4. Risk management: TP/SL and trailing (with plotted lines)
4.1. Detecting entry/exit events
Events are identified via changes in strategy.position_size:
LongEntry: transition into a long
shortEntry: transition into a short
flatExit: transition back to flat
This drives per-trade line creation, updates, and cleanup of state variables.
4.2. Static TP/SL
On entry, entryPrice := strategy.position_avg_price is stored.
Percent mode (usePercent = true)
Long:
staticSL = entryPrice*(1 - slPerc/100)
staticTP = entryPrice*(1 + tpPerc/100)
Short:
staticSL = entryPrice*(1 + slPerc/100)
staticTP = entryPrice*(1 - tpPerc/100)
ATR mode (usePercent = false)
Long:
staticSL = entryPrice - atrAtEntry*slATR
staticTP = entryPrice + atrAtEntry*tpATR
Short:
staticSL = entryPrice + atrAtEntry*slATR
staticTP = entryPrice - atrAtEntry*tpATR
4.3. Trailing stop (custom)
While a position is open, the script tracks the most favorable excursion:
Long: hhSinceEntry = highest high since entry
Short: llSinceEntry = lowest low since entry
A trailing candidate is computed:
Percent trailing (useTrailPercent = true)
Long: trailCandidate = hhSinceEntry*(1 - trailPerc/100)
Short: trailCandidate = llSinceEntry*(1 + trailPerc/100)
ATR trailing (useTrailPercent = false)
Long: trailCandidate = hhSinceEntry - atr*trailATR
Short: trailCandidate = llSinceEntry + atr*trailATR
Then the effective stop is selected:
Long: slUsed = max(staticSL, trailCandidate) when useTrail is enabled
Short: slUsed = min(staticSL, trailCandidate) when useTrail is enabled
If useTrail is disabled, slUsed remains the static stop.
Take profit remains static:
tpUsed = staticTP
Exit orders are issued via:
strategy.exit(..., stop=slUsed, limit=tpUsed)
4.4. Per-trade TP/SL lines
On each entry, two lines are created (SL and TP) via f_createLines().
During the trade, the SL line updates when trailing moves the stop; TP remains fixed.
On exit (flatExit), both lines are finalized on the exit bar and left on the chart as historical references.
This makes it straightforward to visually audit each trade: entry context, intended TP, and trailing evolution until exit.
5. Visualization and debugging
BUY/SELL labels with configurable size (xsize)
Debug mode (showDebug) plots the chosen working support/resistance level each bar
Stored pivot levels are drawn using reusable line slots, projected a fixed 20 bars to the right to keep the chart readable and efficient
6. Parameter guidance and practical notes
pivotLookback / rightBars: controls pivot significance vs responsiveness. Lower rightBars confirms pivots earlier but can increase noise.
maxDistATR: too low may reject valid levels; too high may select distant, less relevant levels.
minWickATR: key quality gate for “real” sweeps. Higher values reduce frequency but often improve signal quality.
Filters:
Volume filter tends to help in ranges and active sessions.
VWAP bias is useful intraday to align trades with session positioning.
EMA trend filter is helpful in directional markets but may remove good mean-reversion setups.
Percent TP/SL: provides consistent behavior across assets with variable volatility, but is less adaptive to sudden regime shifts.
Percent trailing: can capture extensions well; calibrate trailPerc per asset/timeframe (too tight = premature exits).
7. Known limitations
Pivot-derived levels are a heuristic; in strong trends, valid retests may be limited.
The time filter uses timenow; behavior may vary depending on historical context and how the platform evaluates “current time.”
TP/SL and trailing are computed from bar OHLC; in live trading, intrabar sequencing and fills may differ from bar-close simulation.
ADX + DI **ADX + DI (Final)** is a clean trend-strength and direction tool built on the classic Wilder **Average Directional Index (ADX)** with optional **+DI / -DI** lines.
* Plots **ADX (red)** to show *trend strength* (not direction).
* Optionally plots **+DI (green)** and **-DI (blue)** to show *directional bias* (bullish when +DI > -DI, bearish when -DI > +DI).
* Includes toggleable horizontal reference levels at **20** and **25** to quickly spot range vs trend regimes.
* Optional background highlighting when **ADX exceeds a user-defined threshold** (default 25) to visually mark “strong trend” conditions.
* Includes alert conditions for:
* **+DI crossing above -DI** (bullish directional shift)
* **-DI crossing above +DI** (bearish directional shift)
* Both crosses **with ADX above the trend threshold** (higher-confidence signals)
**Best use:** filter trades by regime—avoid trend strategies when ADX is low (chop), and focus on pullbacks/breakouts when ADX is rising and above your threshold.
SCOTTGO - Liquidity Zones (Sweeps + Tethers)
SCOTTGO - Liquidity Zones is a high-performance technical analysis tool designed to identify and track Institutional Liquidity Zones, Price Sweeps, and Pivot Levels with a clean, professional-grade interface.
Key Features
Dynamic Liquidity Zones: Automatically identifies Bullish and Bearish zones based on customizable pivot lookbacks.
Identify Liquidity Sweeps: Detects when price "pokes" through a zone but fails to close beyond it, marking the event with a distinct label and a visual tether line.
Active Tracking: Zones and LIQ lines track price in real-time until they are mitigated (broken by a candle close), at which point they visually "deactivate" to reduce clutter.
Professional UI: Features a compact, single-row styling menu (Color, Thickness, and Line Style) that mirrors TradingView’s native design.
Visual Elements
LIQ Lines: Solid or dashed lines tracking the exact pivot price within active zones.
Sweep Tethers: Vertical lines connecting the candle extreme to the "SWEEP" label for precise visual confirmation.
Detailed Tooltips: Hover over LIQ labels or Sweep tags to view specific price data and zone context.
Zone Titles: Clearly labeled "BULL ZONE" and "BEAR ZONE" tags with independent font size controls.
How to Use
Core Logic: Adjust the Pivot Lookback to define the strength of the levels you want to track.
Styling: Use the Inputs Tab for compact, specialized styling of Lines, Borders, and Sweeps.
Analysis: Look for "Sweeps" at zone boundaries as potential signs of reversal or stop-running.
Yearly Projection ExplorerThis indicator helps you understand how the current market period has behaved historically by overlaying the same date window from previous years and projecting it forward from today’s price.
The script works the following way:
Aligns past years to today’s calendar date
Normalizes all paths to the last close at the start
Projects historical performance X bars forward
Displays each year as a separate performance path
Calculates and plots the mean (average) projection for quick reference
🔧 How It Works
Number of Years: choose how many past years to include (e.g. last 10, 20, or 25 years)
Projection Length: choose how many bars (days) ahead to project
Each line shows how the market moved during the same period in a specific year
Labels show the year and total return at the projection end
The mean line highlights the average historical outcome
🧠 Why This Is Useful
Identify seasonal tendencies
Compare current price action to historical analogs
Visualize best / worst historical outcomes
Set realistic expectations for short-term moves
Add context to discretionary or systematic decisions
This tool does not predict the future, but it provides a powerful historical framework to assess what has been typical, rare, or extreme for the current market window.
⚠️ Notes
Script works on timenow variable for now, and you might see unexpected periods if today is a day off.
Results depend on the selected timeframe and instrument
Past performance is not a guarantee of future results
Designed for analysis and context, not standalone signals
4H Previous Candle + FibonacciIndicator Description: 4H Previous Candle + Fibonacci
This Pine Script (v5) indicator is a technical analysis tool designed for traders using the
TradingView platform. It allows for the visualization of key levels from the previous 4-
hour candle directly on any lower time frame.
1. Primary Objective
The indicator aims to provide a Higher Time Frame (HTF) perspective automatically.
By plotting the high, low, and Fibonacci retracement levels of the last closed 4H
candle, it helps identify institutional support and resistance zones without the need to
constantly switch time frames.
2. Key Features
Feature Description
Automatic 4H Levels
Automatically plots horizontal lines for the High and Low of the
previous 4H candle.
Dynamic Adaptation
Line colors and styles adapt based on whether the candle was
bullish (green) or bearish (red).
Fibonacci
Retracements
Calculates and displays customizable Fibonacci levels (e.g., 23.6%,
38.2%, 50%, 61.8%, 78.6%).
Dashboard (HUD)
A summary table in the top-right corner displays exact values and
the candle type.
3. Technical Functionality
Data Retrieval (Multi-Timeframe)
The script uses the request.security function to extract data from the 4-hour time
frame (“240”). Using the index ensures the indicator is based on a closed candle,
eliminating any risk of “repainting” (levels changing during formation).
Fibonacci Calculation Logic
The calculation of Fibonacci levels is intelligent and directional:
Bullish Candle: The retracement is calculated from bottom to top (0% is at the
bottom).
Bearish Candle: The retracement is calculated from top to bottom (0% is at the
top).
4. Configuration Parameters
Users can customize the indicator via the settings menu:
Visual Settings: Toggle lines, adjust thickness, price labels, and decimal
precision.
Fibonacci Settings: Enable levels, choose colors, line thickness, and enter
custom retracement percentages.
5. Trading Use Cases
Bounce Zones: The 50% and 61.8% levels of the previous 4H candle are often
considered “Premium” or “Discount” zones where price tends to react.
Confluence: Use these levels alongside other indicators (RSI, moving averages)
to confirm entry points.
Risk Management: Place Stop Losses just beyond the previous 4H High or Low.
Document generated for the analysis of the “4H Previous Candle + Fibonacci” Pine
Script.
CUSUM Volatility BreakoutCUSUM Volatility Breakout A statistical trend-detection and volatility-breakout indicator that identifies subtle momentum shifts earlier than traditional tools.
OVERVIEW
The CUSUM control chart is a statistical tool designed to detect small, gradual shifts from a target value. In trading, it helps identify the early stages of a trend, giving traders a heads-up before momentum becomes obvious on standard price charts. By spotting these subtle movements, the CUSUM Volatility Breakout indicator (CUSUM VB) can highlight potential breakout opportunities earlier than traditional indicators. In other words, a statistical trend detection & breakout indicator.
Copyright © 2025 CoinOperator
HOW IT WORKS
CUSUM VB uses a combination of differenced price series, volume normalization, and dynamic control limits:
CUSUM Principle: Tracks cumulative deviations of price from a zero reference. Signals occur when cumulative deviations exceed a control limit shown on the chart and clears any enabled filters.
Adaptive Volatility: H adjusts automatically based on short- vs long-term ATR ratios, allowing faster detection during volatile periods and reduced false signals in calm markets.
Volume Weighting (optional): Amplifies price CUSUM values during high-volume bars to prioritize market participation strength.
ATR Confirmation (optional): Ensures breakouts are accompanied by expanded volatility.
Bollinger Band Squeeze Integration (optional): Confirms trend breakouts by detecting volatility contraction and release shown on the chart as triangles.
Signals:
Arrows on the price chart mark the bars where trades are actually filled, based on conditions detected on the prior signal bar.
Long Entry: Confirmed positive CUSUM breach (price & volume) with BB breakout (signal bar).
Short Entry: Confirmed negative CUSUM breach (price & volume) with BB breakout (signal bar).
Exit Signals: Triggered automatically by opposite-side signals.
Alerts, when created, fire on the bars where fills occur.
CHART COMPONENTS
CUSUM Upper Price (CU Price) and CUSUM Lower Price (CL Price) are green/red circles for confirmed signals.
● Rapid upward accumulation of CU Price indicates a developing bullish trend.
● Rapid downward accumulation of CL Price indicates a developing bearish trend.
Decision/Control limits (UCL/LCL, red)
Zero line (reference for the differenced price series baseline)
Optional BB triangles and volume CUSUM
SETUP AND CONFIGURATION
Differenced Price Series
Differenced Price Length and Lag
Increase differencing lag or window length → Increases variance of residuals → Wider control limits (UCL/LCL) → Slower to trigger.
Decrease lag or window → Tighter limits, more responsive to short-term regime shifts.
CUSUM Parameters
Volume-Weighted CUSUM
NOTE : Uses price length if 'Confirm Price with Volume' is disabled, otherwise will use volume length.
Amplifies CUSUM price responses during high-volume bars and reduces them during low-volume bars. This links trend detection to market participation strength.
Volume-Weighted CUSUM doesn’t replace price confirmation with volume; it modulates it by volume intensity, amplifying price signals when participation is strong and suppressing them when weak.
Recommended when analyzing assets with consistent volume patterns (e.g., stocks, major futures).
Disable for low-liquidity or irregular-volume instruments (e.g., crypto pairs, small-cap stocks).
ATR Confirmation
Enable this feature to confirm CUSUM signals only when price deviations are accompanied by higher-than-normal volatility. The indicator compares current ATR to a smoothed ATR to detect volatility expansion. This helps distinguish true breakouts from low-volatility noise and reduces false signals during quiet periods.
Adjust the ATR lookback length, smoothing length, and expansion factor to control sensitivity. Rule of thumb:
ATR Length ≈ 0.5 × differenced price length to 1.5 × differenced price length gives balanced sensitivity.
ATR Smoothing 5–10 bars.
ATR Expansion 5% to 50%.
CUSUM Input Mode
Select how CUSUM processes differenced price and log-normalized volume — either directly (Txfrm Data) or as deviations from a short-term EMA baseline (Residuals):
Txfrm Data = transformed input: differenced price & log-normalized volume as input for CUSUM (larger swings, more frequent control limit breaches)
Residuals = deviation from short-term EMA baseline (smaller swings, fewer control limit breaches, but higher signal quality).
Residual EMA Length: Defines how quickly the residual baseline adapts to recent differenced price moves. Shorter = more reactive; longer = smoother baseline. Keep EMA length moderate; over-smoothing can distort timing.
Control Sensitivity (K)
Increase K → Less sensitive → CUSUM accumulates slower → Fewer signals, captures only major trends.
Decrease K → More sensitive → CUSUM accumulates faster → More signals, captures minor swings too.
Reset Mode : Method of resetting CUSUM values.
Immediate Reset: Reset both immediately after any signal breach. Traditional SPC.
Opposite-Side Reset: Reset only the opposite side when a valid signal fires. Best for ongoing trend tracking.
Decay Reset: Gradually reduce CUSUM values toward zero with a decay factor each bar. Maintains trend memory but allows slow “forgetting.”
Threshold Reset: Reset only if CUSUM returns below a small threshold (10 % of H). Filters noise without full wipe.
No Reset / Continuous: Never reset; instead track running totals. Long-term cumulative bias measurement.
Conflict Handling : Method of handling conflicting signals.
Ignore Both: Discards both when overlap occurs.
Prioritize Latest: Chooses the direction implied by the most recent close.
Prioritize Stronger: Compares absolute magnitudes of CU Price vs CL Price.
Average Resolve: Looks at the difference; small overlap → ignore, otherwise pick direction by sign.
Sequential Confirm: Requires N consecutive same-direction signals before confirmation.
Volume Parameters (Optional)
Amplification Factor
Adjusts volume sensitivity and effectively rescales the log series of volume to a comparable magnitude with price changes.
Since price and volume are normalized in a compatible way, the amplification factor is used instead of independent K and H values for volume.
Bollinger Bands (Optional)
Lookback Synchronization
BB Lookback (for CUSUM): Number of bars that define a window for the BB signal to look back for the CUSUM signal.
CUSUM Lookback (for BB): Number of bars that define a window for the CUSUM signal to look back for the BB signal.
Both can be enabled for stricter alignment.
Relationship Between K, H, ARL₀ and ARL₁
H (max) is usually the only H you need to adjust. With everything else being constant, increasing either K or H (max) generally increases both ARL₀ and ARL₁ : higher thresholds reduce false alarms but slow detection, and lower thresholds do the opposite.
Increase Min Target ARL ratio →
ARL₀ increases (safer, fewer false alarms)
ARL₁ decreases or stays small (faster detection)
Control limits slightly expand to achieve separation
Strategy becomes more selective and stable
Decrease Min Target ARL ratio →
ARL₀ decreases (more false alarms tolerated)
ARL₁ increases (slower detection tolerated)
Control limits tighten
Strategy becomes more sensitive but lower quality
The ARL Ratio of ARL₀ / ARL₁ is typically between 3 and 8. This implies you want your ARL₀ (false-alarm interval) ≈ 'Min Target ARL ratio' × differenced price length window.
Example:
"Min Target ARL ratio = 4.0"
⇒ implies you want your ARL₀ (false-alarm interval) ≈ 4 × differenced price length.
Assume price length = 50 (typical differencing window).
ARL ratio = 4.0 → target ARL = 4 × 50 = 200 bars.
● On a 6-hour chart (≈4 bars/day) → ~50 days between expected false alarms (on average).
● On a daily chart → ~200 trading days between false alarms (very conservative).
ARL ratio = 8.0 → target ARL = 400 bars → twice as infrequent signals vs ratio=4.
ARL ratio = 2.0 → target ARL = 100 bars → about half the inter-signal interval.
Another way to think about it: probability of a false alarm on any bar ≈ 1 / target ARL. If you want ~1% of bars producing alarms, target ARL ≈ 100.
QUICK START
Start with the defaults.
Set price series → length/order/lag
Configure CUSUM thresholds → K, H min/max
1. Adjust the price differencing lag/window.
2. Verify that it captures real price inflection points without overreacting to bar noise.
Enable optional filters → Volume, ATR, BB
The optional Bollinger Bands squeeze usually works best if used with CUSUM Input Mode = Txfrm Data.
Monitor CUSUM chart → CU Price, CL Price, thresholds, zero line
Act on signals → data window / chart triangles
Adjust sensitivity → H (max), K, lengths
Monitor ARL ratio and CUSUM behavior for fine-tuning
Note : When you’ve finalized the length, lag, and order of the Price Difference, as well as the Ln(Vol) Series of “Confirm Price with Volume” if enabled, then pass both through the Augmented Dickey–Fuller (ADF) mean reversion test to ensure they are stationary, i.e., mean reverting. You can find a ready-made indicator for such use at . Many thanks to tbtkg for this indicator.
SUMMARY
CUSUM VB combines CUSUM statistical control, volatility-adaptive thresholds, volume weighting, and optional BB breakout confirmation to provide robust, actionable signals across a wide variety of trading instruments.
Why traders use it : Fast detection of shifts, reduced false alarms, versatile across markets.
Ideal for : Futures (continuous contracts), forex, crypto, stocks, ETFs, and commodity/index CFDs, especially where:
● Price and volume data exist
● Breakouts and volatility shifts are tradable
● There’s enough liquidity for meaningful signals
Visualization : Upper/lower CUSUM circles, UCL/LCL thresholds, optional highlight traded background, optional volume and BB overlays on the chart, optional entry/exit labels on the price chart, as well as entry/exit signals in the data window.
Alerts : For entry/exit labels when trades are actually filled.
CUSUM VB is designed for traders who want statistically grounded trend detection with configurable sensitivity, visual clarity, and multi-market versatility.
DISCLAIMER
This software and documentation are provided “as is” without any warranties of any kind, express or implied. CoinOperator assumes no responsibility or liability for any errors, omissions, or losses arising from the use or interpretation of this software or its outputs. Trading and investing carry inherent risks, and users are solely responsible for their own decisions and results.
LockPoint TrackerLockPoint Tracker is a simple yet powerful tool for visually tracking price movement from a locked reference point.
Key Features:
• Lock any bar’s closing price with a single click.
• Reference line drawn at the locked price for clear visual context.
• “L” label marks the locked bar.
• Live percentage change label shows how far the current price has moved from the locked level.
• Green above the bar for gains, red below for losses.
• Automatically disappears on the next bar — always shows only the live value.
• Configurable label padding for optimal visibility on any chart or timeframe.
LockPoint Tracker is perfect for traders who want to monitor key levels, measure intrabar moves, or visually track performance from specific price points without cluttering the chart.
Yivgeny Decision ScoreYivgeny Decision Score is a technical indicator that provides two objective scores (0–10) to support trading decisions:
ENTRY Score – evaluates the quality of a potential entry
HOLD Score – evaluates whether to hold or exit an existing position
The score is based on trend direction (SMA150), EMA20 behavior, volume confirmation, MACD momentum, breakout or bounce signals, and price action structure.
Designed for discretionary traders who want a clear, rule-based decision aid without automatic buy/sell signals.
Candle Boxes (Border + Midline + Open level)📦 Candle Boxes (Border + Midline + Open Level)
Candle Boxes is a visual multi-timeframe (HTF) tool designed to display higher-timeframe candle structure directly on a lower-timeframe chart.
It helps traders understand HTF context without constantly switching between timeframes.
🔍 What this indicator displays
For each HTF candle, the indicator draws:
HTF Box
Top = HTF High
Bottom = HTF Low
Horizontal span = full HTF candle duration
Border color
Bullish HTF candle → bullish color
Bearish HTF candle → bearish color
Midline (50%) – optional
Exact midpoint of the HTF range: (High + Low) / 2
HTF Open level – optional
Horizontal line at the HTF candle open price
All elements are drawn without background fill to keep the chart clean and readable.
⏱ Multi-Timeframe logic
HTF is selected using the HTF (box timeframe) input
Data is retrieved via request.security() with no repainting
Levels update only while the HTF candle is forming
Once the HTF candle closes, its box and lines remain fixed
🧠 Intended use
This indicator is designed for:
visualizing higher-timeframe context on lower charts
analyzing HTF structure without changing timeframe
supporting:
support & resistance analysis
price action studies
intraday and swing trading context
This tool does not generate buy/sell signals and is not a trading strategy.
⚙️ Settings
HTF & history
HTF (box timeframe) – higher timeframe used to build boxes
Keep last HTF boxes – number of most recent HTF boxes to keep
used to comply with TradingView object limits
the script automatically removes the oldest boxes and lines
Visual options
Border (on/off, width, transparency, colors)
Midline (on/off, colors, transparency)
HTF Open line (on/off, color, width, transparency)
⚠️ Important notes
TradingView enforces strict limits on drawn objects (boxes and lines)
This indicator is optimized to:
display as much historical data as technically possible
automatically manage and delete older objects
Higher HTF → fewer boxes visible in history
Lower HTF → more boxes, faster object-limit usage
🔁 Suggested Timeframe Combinations
This indicator is designed to work best when the selected HTF is significantly higher than the chart timeframe.
Below are practical, commonly used combinations:
Intraday trading
Chart: 5m → HTF: 1H
Chart: 15m → HTF: 4H
Useful for identifying higher-timeframe structure during active trading sessions.
Swing trading
Chart: 30m → HTF: 4H
Chart: 1H → HTF: Daily
Helps visualize major HTF ranges and key levels while managing trades over multiple days.
Higher-timeframe analysis
Chart: 1H → HTF: Weekly
Chart: 4H → HTF: Weekly
Best suited for understanding broader market context, range behavior, and HTF price positioning.
General guideline
A 4× to 8× ratio between chart timeframe and HTF is usually a good starting point
Larger ratios provide cleaner structure but fewer visible boxes
Smaller ratios provide more detail but consume object limits faster
These combinations are guidelines only and can be adjusted based on personal trading style and market conditions.
📌 Disclaimer
This indicator is a visual analysis tool only.
It does not provide financial advice or guarantee any trading outcome.
All trading decisions are made at your own risk.
Always combine this tool with your own analysis and risk management rules.
Open Interest Weighted Average Price [Arjo]Open Interest Weighted Average Price , or OIWAP , is a simple visual indicator that shows the average price of an asset based on changes in open interest .
Instead of using trading volume like VWAP, this indicator gives more weight to prices where new futures contracts are being added or removed . This helps highlight the price levels where traders are actively building or closing positions.
The indicator shows:
A main line that represents the average price weighted by open interest changes.
Upper and lower bands (standard deviation bands) that show how far the price moves away from this average.
OIWAP is mainly useful for NSE futures markets , where open interest data is available. It helps traders visually understand where most market participation and positioning are taking place relative to price .
Concepts:
Applies statistical concepts, including weighted averaging and standard deviation, to open interest data
Uses the absolute change in open interest as a weighting factor for each price point
Creates a dynamic average that reflects where significant open interest activity has occurred during a given period
Standard deviation bands are computed from this weighted average to show the statistical spread of prices around the OIWAP line
Resets calculations based on user-selected time periods (daily, weekly, monthly, or session-based)
Allows for fresh analysis at regular intervals
Similar concept to volume-weighted average price (VWAP) indicators, but uses open interest changes as the weighting component
Features:
Weighted Average: Calculates a central line based on contract activity.
Flexible Anchors: Allows users to choose the reset period for the calculation.
Volatility Bands: Displays outer and mid-bands to visualize price stretches.
Data Check: Built-in alerts notify you if Open Interest data is missing for a symbol.
Visual Zones: Color-coded areas help identify price location at a glance.
How To Use
When you add the indicator to your chart, you will see:
A main OIWAP line — the open-interest-weighted price level
Mid-bands around the line (±0.5 standard deviations)
Outer bands farther away (±2.0 standard deviations)
Shaded background zones between these lines
You can:
Change the reset period to see how the average behaves over different time ranges
Adjust the timeframe for open-interest data
Turn mid-bands on or off
Adjust colors and styles to improve readability
Conclusion
The OIWAP indicator serves as an educational tool for visualizing the relationship between price movements and open interest activity in futures markets
Presents a weighted average price line along with statistical deviation bands
Offers a structured framework for chart analysis
Customizable settings allow users to adapt the display to their analytical preferences
Maintains focus on visual interpretation rather than directional predictions
Functions as a supplementary charting overlay that may complement other forms of technical and fundamental analysis
Disclaimer
This indicator is for educational and visual-analysis purposes only. It does not provide trading signals, financial advice, or guaranteed outcomes . You should perform your own research and consult a licensed financial professional when needed. All trading decisions are solely the responsibility of the user.






















