SuperTrend Weighted by Divergence█ OVERVIEW
SuperTrend Weighted by Divergence is a trend-following indicator based on the classic SuperTrend, enhanced with dynamic ATR weighting driven by divergences. Its key feature is adaptive behavior: when a divergence appears, the indicator temporarily reduces the ATR multiplier, allowing the trend line to react faster to potential market reversals.
The indicator remains clean, visually clear, and well suited for traders who want to combine trend-following with early detection of weakening momentum.
█ CONCEPT
One of the biggest drawbacks of trend indicators is their lagging nature, caused by the characteristics of source data. Classic SuperTrends react only after the trend has already developed, which often leads to late entries or exits.
The idea behind SuperTrend Weighted by Divergence is to introduce dynamic adjustment of the trend line in response to the first signs of trend weakening.
Instead of treating ATR as a constant volatility buffer, the indicator temporarily modifies its impact when the market sends warning signals in the form of price–oscillator divergences.
For divergence detection, a hidden auxiliary oscillator called “MPO4 Lines – Modal Engine” (default settings) is used. This oscillator is not displayed on the chart – only the points where divergences are detected are shown as markers on price bars.
Divergences do not generate direct entry signals; they are used solely to temporarily adjust the behavior of the SuperTrend.
If, after detecting a divergence against the current trend, a divergence in line with the trend appears, the previous divergence is invalidated and the SuperTrend returns to its standard behavior (base ATR multiplier).
█ FEATURES
Data sources:
- ATR (Average True Range)
- Reference point: HL2 (high/low average)
- MPO4 Lines – Modal Engine oscillator (hidden, used only for divergence detection)
Divergence logic:
- Bullish divergence: lower low in price + higher low in the oscillator
- Bearish divergence: higher high in price + lower high in the oscillator
- Divergences are detected using pivots (left/right)
- Divergence detection is delayed by the pivot length, as confirmation requires a fixed number of bars on the right side
Divergence impact:
- After a divergence is detected, the ATR multiplier is reduced
- The reduction strength is controlled by Divergence Sensitivity
- The effect is active only for a limited number of bars – 200 bars by default (divBars)
- The effect is canceled on trend change or when a trend-aligned divergence appears
Trend change logic:
- Trend changes only after a confirmed close beyond the trailing line
- No repainting
- Trend lines break at reversal points
Visual signals:
- “Buy” and “Sell” labels only on confirmed trend changes
- Optional bar coloring based on current trend (Color bars by trend)
- Soft fill between price and the trend line
- Divergence markers (dots above/below bars) shown at the point of divergence detection, not across the entire divergence structure
Alerts:
- Buy Signal – trend change to bullish
- Sell Signal – trend change to bearish
- Bullish Divergence
- Bearish Divergence
█ HOW TO USE
Adding the indicator:
Paste the code into Pine Editor or search for “SuperTrend Weighted by Divergence” on TradingView
Main settings:
- ATR Length – ATR period
- Base ATR Multiplier – base SuperTrend width
- Pivot Length – divergence sensitivity and detection delay
- Divergence Sensitivity – strength of divergence impact (0.0–1.0)
- Color bars by trend – enable / disable bar coloring
- Line and fill colors – fully customizable
Interpretation:
- Green line and bars = uptrend
- Red line and bars = downtrend
- Divergence against the trend = possible weakening and faster SuperTrend reaction
- Trend-aligned divergence = return to standard SuperTrend behavior
- No divergence = classic, stable SuperTrend behavior
█ APPLICATIONS
Ideal for:
- Trend-following
Entering positions only in the direction of the current trend, using the SuperTrend as a directional filter.
- Early detection of trend weakness
Repeated divergences against the trend may indicate decreasing momentum and a potential upcoming reversal.
- Markets with variable dynamics (crypto, indices, forex)
Entries based on trend changes, preferably confirmed by other tools such as Fibonacci levels, RSI, support/resistance, or market structure.
- Scalping, day trading, and swing trading (with parameter adjustments)
Increasing Divergence Sensitivity to around 0.4–0.5 produces many more signals on small, often short-lived moves.
These settings work well for scalping and day trading, but are not ideal for swing trading, as they tend to generate more false signals and frequent trend changes.
█ NOTES
- Works on all markets and timeframes
- Divergences are used to adapt SuperTrend behavior, not as standalone entry signals
- Higher Divergence Sensitivity = faster reaction and more signals
- Lower Divergence Sensitivity = smoother trend and fewer changes
- Best results are achieved by tuning parameters to the instrument and trading style
樞軸點和水平
Open Interest Bubbles [BackQuant]Open Interest Bubbles
A visual OI positioning overlay that aggregates futures open interest across major venues, normalizes it into a consistent “signal strength” scale, then plots extreme events as bubbles, labels, and optional horizontal levels directly on price.
What this is for
Open interest is one of the cleanest ways to track when positioning is building, unwinding, or aggressively shifting. The problem is raw OI is noisy, exchange-specific, and hard to compare across time. This script solves that by:
- Aggregating OI across multiple exchanges.
- Letting you choose what “OI signal” you care about (raw, delta, percent versions).
- Normalizing the signal so “big events” are easy to spot.
- Plotting those events as bubbles and levels at the exact price they occurred.
You end up with a clean, fast visual map of where large positioning changes occurred, and where those events may later matter as reaction points.
────────────────────────────────────────────────────────────
Plotting types (what you can display)
Bubbles
This mode plots OI events as size-bucketed circles on the chart. Bigger bubbles represent stronger normalized events. You can tune:
- Bubble sizing by bucket (Tiny → Huge).
- Heatmap vs solid color styling.
- Signed vs unsigned coloring (positive/negative separation or magnitude-only).
Best use:
- Spotting “where something changed” at a glance.
- Identifying clusters of positioning events around key price zones.
- Seeing whether the market is repeatedly building/closing positions at similar levels.
Levels
Levels mode draws a horizontal line at the anchor price when an extreme OI event triggers. These act like “positioning memory” levels:
- They do not claim to be support/resistance by themselves.
- They highlight prices where the derivatives market clearly did something meaningful.
Best use:
- Marking potential reaction zones.
- Combining with your price action tools (structure, OBs, FVGs) to confirm whether an OI level aligns with a technical level.
- Building a “map” of where leverage likely entered or exited.
Modes available in the script:
- Off
- Bubbles
- Bubbles + Labels
- Labels Only
- Levels + Labels
────────────────────────────────────────────────────────────
Aggregated Open Interest source (multi-exchange)
This indicator builds a single aggregated OI series by requesting OI data from multiple exchanges and summing it. You can toggle exchanges on/off:
- Binance, Bybit, OKX, Bitget, Kraken, HTX, Deribit
You can also choose OI units:
- COIN , OI in base units (native sizing)
- USD , converted for a dollar-value representation
Important note:
Not every symbol has OI data on every venue. If the script cannot build an aggregated series for the symbol, it will throw an error rather than quietly plotting garbage.
────────────────────────────────────────────────────────────
OI Source, what the bubbles are measuring
You control what “signal” is normalized and plotted:
- Delta , change in aggregated OI from the prior bar.
Use when you want to highlight bursts of new positioning or sudden unwind events.
- Raw OI , the aggregated open interest level itself.
Use when you want to highlight absolute positioning build-up periods.
- Delta % , percent change in OI.
Use when you want moves normalized to the current OI regime, useful across different market eras.
- Raw OI % , percent change form of the raw series.
Use when you want relative changes rather than absolute size.
Practical guidance:
- Delta modes are best for “event detection”.
- Raw modes are better for “regime context” and whether positioning is structurally rising or fading.
────────────────────────────────────────────────────────────
Normalization (the key to making it readable)
Because OI varies massively across assets and time, the script includes multiple normalization modes to convert your chosen OI source into a comparable “strength” value.
Options:
- ZScore , deviation from a rolling mean in standard deviation units.
- StdNorm , scaled by rolling standard deviation.
- AbsZScore , absolute value version for magnitude-only mapping.
- AbsStdNorm , absolute value version for magnitude-only mapping.
- None , plots raw values (advanced users only, often too noisy visually).
Why this matters:
Normalization makes a “1.5” or “3.0” threshold mean something across different assets and timeframes, instead of being stuck to raw OI units.
────────────────────────────────────────────────────────────
Threshold system (when bubbles/levels trigger)
The plot is driven by two user thresholds:
- Base Threshold
Controls where “meaningful” events start. Raising this reduces noise and focuses on larger deviations.
- Extreme Threshold
Controls what qualifies as a top-tier event. Extreme events are what you typically want to convert into labels and levels.
You also control side filtering:
- Both , show positive and negative events.
- Positive Only , show only increases (or positive signal side depending on source).
- Negative Only , show only decreases (or negative signal side).
In practice:
- Use Base Threshold to tune chart cleanliness.
- Use Extreme Threshold to mark only the “big stuff” that tends to matter later.
────────────────────────────────────────────────────────────
Anchor Source (where the bubble/level is placed)
The indicator places bubbles, labels, and levels at a price anchor you choose:
- HL2, Close, Open, High, Low, VWAP
This is important because “where you pin the event” changes how it reads:
- Close is clean and consistent for backtesting and candle-close logic.
- High/Low can better represent where the fight occurred intrabar.
- VWAP can be useful for “fair price” anchoring in active markets.
────────────────────────────────────────────────────────────
Style system (theme, palette, signed logic)
This script is built to look good and stay readable on busy charts.
Themes
- BackQuant, Classic, Ice, Fire, Mono, Custom
Palette Mode
- Solid , one consistent color
- Heatmap , intensity increases with magnitude
- Single Color Adaptive , adapts to chart background for clarity
Side Coloring
- Signed , positive and negative events can use different ramps
- Unsigned , magnitude-only coloring
Negative theme handling:
- Auto (mirrors your chosen theme),
- Invert (flips the ramp),
- Custom (fully user-defined negative palette).
What this gives you:
- You can run a clean “mono” look for professional charts.
- Or a high-contrast heatmap for fast scanning.
- Or fully custom branding colors for BackQuant-style presentation.
────────────────────────────────────────────────────────────
Labels (what’s inside the label)
When labels are enabled, the script can display:
- OI , the aggregated OI value
- OI + Norm , OI plus normalized strength
- Norm Only , just the normalized strength
- Src + Norm , the selected source value (Delta, Raw, %) plus normalized strength
You can also control:
- Left/Center/Right label alignment
- Number formatting style (Raw, Compact, Volume format)
Best practice:
- Use “Src + Norm” when you want both the raw event size and its rarity.
- Use “Norm Only” when you want a clean, minimal chart.
────────────────────────────────────────────────────────────
Levels and object limits (performance and cleanliness)
Because this script draws objects, it includes a hard cleanup system:
- You set Max Levels / Labels to control chart clutter.
- The script deletes older lines/labels when the limit is exceeded.
This is critical if you trade lower timeframes, where OI events can trigger frequently.
────────────────────────────────────────────────────────────
How to interpret the signals
What a large bubble usually means:
- A statistically large positioning change relative to recent history.
- This can represent fresh leverage entering, forced liquidations, or aggressive de-risking, depending on direction and context.
How to use levels:
- Treat them as “attention levels”, not automatic entries.
- Combine them with structure and liquidity tools:
- If price revisits an OI level and shows rejection, it often confirms that level mattered.
- If price slices through with no reaction, it often indicates the OI event was transitional, not defended.
Common setups:
- Clustered extreme bubbles near a breakout zone, then retest later.
- Extreme negative event at capitulation low, followed by structure flip.
- Extreme positive build into resistance, then unwind and mean reversion.
Also, please check out @NoveltyTrade for the OI Aggregation logic & pulling the data source!
Here is the original script:
Structure Lite - Automatic Major Trend LinesStructure Lite – Pivot-Based Market Structure Visualization
OVERVIEW
Structure Lite is an open-source charting tool designed to assist traders in visualizing higher-timeframe market structure. The script identifies major swing points using high-period pivot analysis and projects structural support and resistance lines directly on the chart. Its purpose is to highlight persistent market structure while minimizing visual noise.
CORE CONCEPTS & CALCULATIONS
Pivot Identification
The script uses Pine Script’s built-in ta.pivothigh() and ta.pivotlow() functions to identify confirmed swing highs and lows. A pivot is only validated after a user-defined number of bars (Major Pivot Lookback) have formed on both sides of the price extreme, ensuring that only structurally significant pivots are selected.
Structural Pairing
Each structural line is created only after two consecutive pivots of the same type are confirmed (high-to-high or low-to-low). The script stores the price and bar index of these pivots and uses them as fixed anchor points.
Line Projection
Once a valid pivot pair is formed, the script draws a line between the two points using line.new() and extends it forward using extend.right. These lines represent projected structural boundaries rather than trade signals.
Object Management
To maintain chart clarity and performance, the script manages all drawn objects through a line array. A FIFO (First-In, First-Out) method is applied so that only the three most recent structural lines remain visible. Older lines are automatically deleted as new ones are created.
DESIGN PHILOSOPHY & ORIGINALITY
While many indicators plot frequent swing points or short-term pivots, Structure Lite focuses on structural persistence. By filtering for higher-period pivots and limiting the number of displayed projections, the script emphasizes dominant market structure rather than short-term fluctuations. This approach is intended to support discretionary analysis, not replace it.
HOW TO USE
Major Pivot Lookback
Increase the value to focus on higher-timeframe structure (e.g., swing or position trading).
Decrease the value to visualize intraday structural levels.
Visual Encoding
Green lines represent projected structural support
Red lines represent projected structural resistance
Visibility Control
A boolean input allows all structure lines to be hidden instantly to restore a clean price chart.
LIMITATIONS & DISCLAIMER
This script is a visualization tool only. It does not generate trade signals, entry or exit points, alerts, or directional forecasts. All plotted levels are derived from historical price action and may change as new pivots form. The script is provided for educational and analytical purposes and should be used in conjunction with other forms of market analysis
ICT Unicorn Model [Kodexius]ICT Unicorn Model is a market structure and imbalance confluence tool that automatically detects high probability “Unicorn” setups by combining three key elements into a single, clean script:
-A first, clean break of that swing level (displacement style break)
-A Fair Value Gap that overlaps a breaker candle body range
Instead of plotting every pivot or every imbalance independently, the script waits for a specific sequence: price establishes a valid swing, breaks that swing for the first time, and prints a setup only when the resulting context aligns with a valid, volatility filtered FVG and a clearly defined breaker range.
Each detected setup is drawn directly on the chart with labeled zones (Breaker and FVG) and is then actively monitored. If price violates the breaker boundary based on your chosen invalidation basis (Close or Wick), the setup is marked inactive and can optionally be removed to keep the chart clean.
This indicator is designed for traders who work with ICT style concepts such as liquidity runs, displacement, breaker blocks, and imbalance reversion, and who want a structured, rules based visualization rather than discretionary drawing.
🔹 Features
🔸 Fair Value Gap Detection With Volatility Filtering
Bullish and bearish FVGs are detected using classic three candle imbalance logic. To avoid low quality gaps during compression, the script applies an ATR based minimum size filter using the “FVG Min Size (ATR Multiplier)” input. Only gaps larger than ATR * threshold are considered valid.
🔸 First Break Validation (Clean Break Logic)
A key part of the model is identifying a “first break” of a swing level. The script checks whether the swing price has already been invalidated between the swing bar and the current bar. If it has, the swing is ignored. This helps reduce repeated signals and focuses on fresh structural breaks.
🔸 Breaker and FVG Confluence With Overlap Requirement
After a valid break occurs, the script defines a breaker range using the body of the swing candle (open and close). A setup is only created if this breaker body range overlaps the detected FVG price range. This overlap requirement is what filters many “almost” conditions and keeps signals more selective.
Bullish Unicorn:
Bearish Unicorn:
🔸 Configurable Invalidation Basis (Close or Wick)
You can choose how a setup fails:
-Close: invalidation requires a candle close beyond the breaker boundary
-Wick: invalidation occurs as soon as any wick crosses beyond the breaker boundary
This allows the tool to adapt to different trading styles, from conservative confirmation to more sensitive risk control.
🔸 Automatic Cleanup of Failed Setups
If “Delete Invalidated Setups” is enabled, the script removes the breaker box, FVG box, and label as soon as the setup is invalidated. If disabled, the zones remain visible for review while the setup is marked inactive internally.
🔸 Clear Chart Visuals
Each setup plots:
-A labeled Breaker zone box
-A labeled FVG zone box
-A directional Unicorn label (Bull or Bear) that updates position as the chart advances
Colors for bullish and bearish structures are fully configurable.
🔸 Alert Conditions
Two alert conditions are provided:
-Bullish Unicorn Setup Detected
-Bearish Unicorn Setup Detected
Alerts trigger only on the bar a new setup is created.
🔹 Calculations
This section summarizes the main computations used internally. The goal here is to explain the model mechanics rather than reproduce every implementation detail.
1. Swing Detection (Pivot High / Pivot Low)
Swing levels are detected using a symmetric pivot definition with “Swing Length” bars on both sides:
float ph = ta.pivothigh(high, swingLength, swingLength)
float pl = ta.pivotlow(low, swingLength, swingLength)
When a pivot is confirmed, its price and originating bar index are stored:
-Swing High: price = pivot high, isHigh = true
-Swing Low: price = pivot low, isHigh = false
The script keeps a limited history (most recent swings) to stay efficient.
2. Fair Value Gap Detection
FVGs use the classic three candle displacement imbalance:
Bullish FVG condition
bool isBullFVG = high < low
Bullish gap range is defined as:
-Top = low
-Bottom = high
Bearish FVG condition
bool isBearFVG = low > high
Bearish gap range is defined as:
-Top = low
-Bottom = high
3. ATR Based Minimum Gap Filter
ATR is computed (length 14), then the gap size is compared against a user threshold:
float atr = ta.atr(14)
bool validBullFVG = isBullFVG and (bullFvgTop - bullFvgBot) > (atr * fvgThreshold)
bool validBearFVG = isBearFVG and (bearFvgTop - bearFvgBot) > (atr * fvgThreshold)
This prevents very small imbalances from generating setups in low volatility conditions.
4. “First Break” Check Using Level Invalidation Scan
Before accepting a swing break, the script scans forward from the swing bar to the current bar to confirm the level has not already been breached. The scan can be based on wick or close:
-Wick mode: uses high or low
-Close mode: uses close
Conceptually:
priceToCheck = mode == "Wick" ? (checkBelow ? low : high) : close
If a prior breach is found, the swing is treated as already invalidated and is ignored for setup creation.
5. Break Of Structure Condition
Bullish break requirement
A bullish setup requires breaking a stored swing high with bullish body intent:
-close > swingHighPrice
-open < close
Bearish break requirement
A bearish setup requires breaking a stored swing low with bearish body intent:
-close < swingLowPrice
-open > close
An additional proximity filter is applied in the bearish branch to reduce weak or overly extended breaks by requiring the prior close to be reasonably near the swing level.
6. Breaker Range Construction
Once a qualifying swing is found, the breaker range is derived from the body of the swing candle (the candle at the swing bar index). The body boundaries are:
float breakerTop = math.max(bOpen, bClose)
float breakerBot = math.min(bOpen, bClose)
This models the breaker as the candle body range rather than full wick range, which typically produces more practical invalidation boundaries.
7. Overlap Test Between Breaker and FVG
A setup is only created if the breaker body overlaps the FVG zone. Conceptually the script rejects cases where one range is fully above or fully below the other:
-If there is no overlap, no setup is created
-If overlap exists, the Unicorn setup is valid
8. Active Monitoring and Invalidation
Each setup remains active until invalidated. Invalidation is evaluated every bar using your selected basis:
-Close basis: compares close to breaker boundary
-Wick basis: compares high or low to breaker boundary
Bullish invalidation
Setup fails if price crosses below breaker bottom.
Bearish invalidation
Setup fails if price crosses above breaker top.
If deletion is enabled, all drawings related to that setup are removed immediately on invalidation.
9. Drawing Updates and Object Lifecycle
Breaker and FVG boxes are extended to the right while the setup is active to keep zones visible into the near future. The Unicorn label is also repositioned as new bars print so the most recent context stays readable.
SMT Divergence [Kodexius]SMT Divergence is a correlation-based divergence detector built around the Smart Money Technique concept: when two normally correlated instruments should be making similar swing progress, but one prints a new extreme while the other fails to confirm it. This “disagreement” can be a valuable contextual signal around liquidity runs, distribution phases, and potential reversal or continuation points.
The script compares the chart symbol (primary) with a user-selected comparison symbol (for example BTC vs ETH, ES vs NQ, EUR/USD vs GBP/USD) and automatically scans both instruments for confirmed swing highs and swing lows using pivot logic. Once swings are established, it checks for classic SMT conditions:
Primary makes a new swing extreme while the comparison symbol forms a non-confirming swing .
To support a wider range of markets, the indicator includes an Inverse Correlation option for pairs that typically move opposite to each other (for example DXY vs EUR/USD). With this enabled, the divergence rules are logically flipped so that the script still detects “non-confirmation” in a way that is consistent with the pair’s relationship.
The indicator is designed to be readable and actionable. It can draw divergence labels directly on the main chart, connect the relevant swing points with lines, show a compact information table with the last signal and settings, and optionally render the comparison symbol as a mini candle chart in the indicator pane for quick visual validation.
🔹 Features
🔸 Two-Symbol SMT Analysis (Primary vs Compare)
Select any comparison symbol to evaluate correlation structure and divergence. The script fetches the comparison OHLC data using the current chart timeframe to keep both series aligned for analysis.
🔸 Inverse Correlation Mode
For inversely correlated pairs, enable “Inverse Correlation” so the script interprets confirmation appropriately (for example, a higher low on the comparison instrument might be expected to correspond to a lower low on the primary, depending on the relationship). This helps avoid false conclusions when the pair naturally moves opposite.
🔸 Pivot-Based Swing with Adjustable Sensitivity
Swings are detected using confirmed pivots (left bars and right bars). This provides cleaner structural swing points compared with raw candle-to-candle comparisons, and it lets you control sensitivity for different market conditions and timeframes. The script also limits stored swing history to keep performance stable.
🔸 Flexible Detection Mode: Time Matched or Independent Swings
You can choose how swings are paired across instruments:
Time Matched searches for a comparison swing that occurred at the same pivot time as the primary swing.
Independent Swings compares each symbol’s own last two swings without requiring an exact time match.
🔸 Range Control and Noise Filtering
To reduce weak or irrelevant signals:
“Max Bars Between Swings” ensures the two swings being compared are close enough in structure to be meaningful.
“Min Price Diff (%)” can require a minimum percentage change between the primary’s last two swing prices to confirm the move is significant.
🔸 Clear Visual Output with Tooltips
When a divergence is detected, the script can print a label (“SMT”) with bullish or bearish styling and a tooltip that includes the symbol pair and the primary swing price for quick context.
🔸 Divergence Lines for Context
Optional lines connect the relevant swing points, making it easier to see the exact structure that triggered the signal. One line can be drawn on the main chart and another in the indicator pane for the comparison series.
🔸 Info Table (At a Glance)
A compact table can display the active symbols, correlation mode, total divergences stored, and the most recent signal type.
🔸 Alerts Included
Built-in alert conditions are provided for bullish SMT, bearish SMT, and any SMT event so you can automate notifications without editing the code.
🔸 Optional Comparison Candle Panel
If enabled, the indicator can plot the comparison symbol as candles in the indicator pane. This is useful for confirming whether the divergence is happening around major levels, consolidations, or impulsive legs on the secondary instrument.
🔹 Calculations
This section summarizes the core logic used by the script.
1. Data Synchronization (Comparison Symbol)
The comparison instrument is requested on the chart’s current timeframe so swing calculations are performed consistently:
=
request.security(compareSymbolInput, timeframe.period, )
This ensures pivots and swing times are derived from the same bar cadence as the primary chart.
2. Swing Detection via Confirmed Pivots
Swings are detected using pivot logic with user-defined left and right bars:
primaryPivotHigh = ta.pivothigh(high, pivotLeftBars, pivotRightBars)
primaryPivotLow = ta.pivotlow(low, pivotLeftBars, pivotRightBars)
Because pivots are confirmed only after the “right bars” have closed, the script stores each swing using an offset so the swing’s bar index and time reflect where the pivot actually occurred, not where it was confirmed.
3. Swing Storage and Retrieval
Both symbols maintain arrays of SwingPoint objects. Each new swing is pushed into the array, and older swings are dropped once the array exceeds the configured maximum. This makes the divergence engine predictable and prevents uncontrolled memory growth.
The script then retrieves the last and previous swing highs and lows (per symbol) to evaluate structure.
4. Matching Logic (Time Matched vs Independent)
When “Time Matched” is selected, the script searches the comparison swing array for a pivot that occurred at the exact same timestamp as the primary swing. When “Independent Swings” is selected, it simply uses the comparison symbol’s last two swings of the same type.
5. Bullish SMT Condition (LL vs HL)
A bullish SMT event is defined as:
Primary forms a lower low (last low < previous low)
Comparison forms a higher low (last low > previous low)
If inverse correlation is enabled, the comparison condition flips to maintain logical confirmation rules
The two primary swings must be within the configured bar distance window
Optional minimum percentage difference must be satisfied
A simple anti duplication rule prevents repeated triggers on the same structure
These checks are implemented directly in the bullish detection block.
6. Bearish SMT Condition (HH vs LH)
A bearish SMT event is defined as:
Primary forms a higher high (last high > previous high)
Comparison forms a lower high (last high < previous high)
Inverse correlation flips the comparison rule
Range checks, minimum difference filtering, and duplicate protection apply similarly
These checks are implemented in the bearish detection block.
7. Percentage Difference Filter
The optional “Min Price Diff (%)” filter measures the relative distance between the last two primary swing prices. This prevents very small structural changes from being treated as valid SMT signals.
priceDiffPerc = math.abs(lastSwing.price - prevSwing.price) / prevSwing.price * 100.0
The divergence condition is only allowed to trigger if this value exceeds the user defined threshold.
priceOk = priceDiffPerc >= minPriceDiff
This filter is especially useful on higher timeframes or during low volatility conditions, where micro structure noise can otherwise produce misleading signals.
8. Visualization and Output
When a divergence is confirmed, the script:
Stores the event in a divergence array (limited by “Max Divergences to Display”)
Draws a directional SMT label with a tooltip (optional)
Draws connecting lines using time based coordinates for clean alignment (optional)
It also updates an information table on the last bar only, and exposes alertconditions for automation workflows.
Support and ResistanceSupport & Resistance Zones
This indicator automatically identifies support and resistance zones by clustering confirmed pivot highs and lows into statistically valid price areas.
Instead of drawing single horizontal lines, it creates price zones whose width is dynamically controlled using ATR (Average True Range), allowing the zones to adapt to market volatility.
Core Logic
The indicator scans a user-defined number of historical bars and detects pivot highs and pivot lows using a configurable pivot strength.
Each new pivot is evaluated against previously detected zones:
A zone becomes visible only after receiving sufficient confirmation (minimum number of pivot touches).
This ensures that only structurally meaningful levels are drawn.
Zone Construction Rules
Zones are formed by grouping pivot points whose total price range remains within ATR range
Each zone expands dynamically as new pivots confirm it
Zones are drawn as rectangular areas, not lines
Zones extend to the right, remaining active until price structure changes
This approach avoids over-plotting and reduces noise commonly seen in traditional support/resistance tools.
Dynamic Zone Coloring
Zones automatically change color based on current price position:
Support Color → Price is above the zone
Resistance Color → Price is below the zone
Neutral (In-Zone) Color → Price is trading inside the zone
This makes it easy to visually assess market context without additional indicators.
Inputs Explained
Logic Settings
Bars to Apply
Number of historical bars scanned to detect pivots and construct zones.
Pivot Strength
Number of candles required on both sides of a pivot high/low for confirmation.
Min Pivot Confirmation
Minimum number of aligned pivots required before a zone is drawn.
Styling
Support, resistance, and in-zone colors
Zone fill transparency
Why This Approach
Uses price structure, not arbitrary levels
Adapts to market volatility via ATR
Filters out weak, single-touch levels
Works across all markets and timeframes
This indicator is designed to highlight areas of interest, not generate buy or sell signals.
It is best used in combination with trend, momentum, or volume-based tools.
Auto-Anchored Fibonacci Volume Profile [Custom Array Engine]Description:
1. The Theoretical Foundation: Structure vs. Participation In professional technical analysis, traders often struggle to reconcile two distinct datasets: Price Geometry (where price should go) and Market Participation (where money actually went).
Why Fibonacci? (The Structure) Fibonacci Retracements map the mathematical structure of a trend. They identify psychological and algorithmic "interest zones" (0.382, 0.5, 0.618) where a correction is statistically likely to terminate. However, Fibonacci levels are theoretical—they are "lines in the sand" that do not guarantee liquidity or reaction.
Why Volume Profile? (The Verification) Volume Profile maps the historical exchange of shares at specific price levels. It reveals "fair value" (High Volume Nodes) and "market imbalance" (Low Volume Nodes). It is the only tool that verifies if a specific price level was actually accepted by institutional participants.
2. Underlying Calculations (The Custom Engine) This script operates on a custom-built calculation engine that bypasses standard built-in functions entirely. It uses Pine Script Arrays to build a Volume Profile from scratch. Here is the breakdown of the proprietary code logic:
A. The "Smart-Fill" Distribution Algorithm (Solves Gapping)
The Problem: Standard volume scripts often assign a candle's entire volume to a single price row. In volatile markets or steep trends, this creates visual "gaps" or a "barcode" effect because price moved too fast to register on every row.
My Solution: I wrote a custom loop that calculates the vertical overlap of every candle against the profile grid.
The Math: Volume Per Bin = Total Candle Volume / Bins Touched.
The Result: If a single volatile candle spans 10 price rows (bins), the script mathematically divides that volume and distributes it equally into all 10 array indices. This generates a solid, continuous distribution curve that accurately reflects price action through the entire candle range, not just the close.
B. Dynamic Arrays & Split-Volume Logic The script initializes two separate floating-point arrays (buyVolArray and sellVolArray) sized to the user's resolution (up to 300 rows). It iterates through the specific time-window of the swing:
If Close >= Open, the calculated volume slice is injected into the Buy Array.
If Close < Open, it is injected into the Sell Array.
These arrays are then visually stacked to render the dual-color profile, allowing traders to see the "Delta" (Buyer vs. Seller aggression) at key structural levels.
C. Custom Garbage Collection (Performance) To enable the "Auto-Anchoring" feature without causing chart lag or visual artifacts ("ghosting"), the script includes a Garbage Collection System. Before drawing a new profile, the script iterates through a tracking array of all existing objects (box.delete, line.delete) and clears them from memory. This ensures the indicator remains lightweight and responsive even when dragging chart margins or switching timeframes.
3. The Synthesis: Why Combine Them? The core philosophy of this script is Confluence . A Fibonacci level without volume is merely a suggestion; a Fibonacci level backed by volume is a defensive wall. By algorithmically anchoring a Volume Profile to the exact coordinates of a Fibonacci swing, this tool allows traders to instantly answer critical questions:
"Is the Golden Pocket (0.618) supported by a High Volume Node (HVN), or is it a Low Volume Node (LVN) that price might slice through?"
"Is the Shallow Retracement (0.382) holding because of structural support, or just a lack of selling pressure?"
4. How to Read the Indicator
The Geometry: The script automatically detects the trend and draws standard Fib levels (0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0).
The Confluence Check: Look for the Point of Control (Red Line). If this High Volume Node aligns with a key Fib level (e.g., the 0.618), the probability of a reversal increases significantly.
The Imbalance Check: Look for "Valleys" in the profile (Low Volume Nodes). These gaps often act as "slippage zones" where price travels quickly between structural levels.
Buy/Sell Splits: The dual-color bars (Teal/Red) reveal the composition of the volume. A 0.618 level held up by dominant Buy Volume is a stronger bullish signal than one with mixed volume.
5. Settings & Customization
Lookback Length: Sensitivity of the swing detection (Default: 200 bars).
Resolution: Granularity of the profile rows (Default: 100). Higher values provide smoother definition.
Width (%): Responsive sizing that scales the profile relative to the trend's duration.
Extend Lines: Option to project structural levels infinitely to the right.
Disclaimer This script is an analytical tool for visualizing historical market data. It does not provide trade signals or financial advice.
Custom Session ORB - Extending Past Current CandleCustom Session ORB - Extending Past Current Candle
This indicator plots Opening Range Breakout (ORB) levels for one or two customizable trading sessions directly on your chart. It dynamically tracks the high, low, and midpoint of the defined session(s) and extends these levels beyond the session using a configurable offset.
Features:
Supports two custom sessions.
New York and Asia pre-saved.
Automatically tracks session High, Low, and Mid.
Option to extend ORB levels past the live candle.
Option to display only the most recent ORB for a clean chart.
Configurable line thickness, style, and label size.
Works in Eastern Standard Time (EST) without manual adjustment.
Settings:
Show Labels: Toggle to display ORB values on chart.
Label Font Size: Small, Normal, Large.
Mid Line Style: Solid, Dashed, or Dotted.
ORB Line Thickness: Set line thickness of ORB levels.
Extend Past Current Candle by N Bars: Controls how far the ORB extends visually.
Show Only Current ORB: Cleans chart by removing previous session ORB levels.
Enable Session 1 / 2: Toggle individual sessions on/off.
Session Time: Set the start and end times for each session (automatically in EST).
How It Works:
The indicator monitors the defined session time, records the high, low, and midpoint, and draws lines at those levels. When the session ends, the lines are extended by the specified offset for easy breakout visualization. Labels can optionally show the exact price levels.
AperonFx Pivot Points 1.1This indicator plots ATR-based pivot levels with a clean, institutional layout.
The central pivot (P) is calculated from the selected timeframe and price formula, while support and resistance levels are placed at equal distance steps above and below the pivot.
Users can choose between an automatic step based on ATR or a fixed price step for fully controlled, symmetric levels.
All levels are drawn as continuous segments that align precisely with the active pivot period.
Price annotations are displayed in a minimal, unobtrusive style and always match the exact level values.
The indicator is designed to remain consistent across chart timeframes without recalculation drift.
It is intended for traders who want clear, structured reference levels rather than reactive signals.
AperonFx Pivot Points ATRThis indicator builds on classic pivot point methodology and enhances it with volatility-based ATR offsets to define adaptive support and resistance zones.
The pivot level is derived from the prior period’s price data, while the surrounding levels are calculated using the current day’s ATR to reflect prevailing market conditions.
Support and resistance are placed at incremental distances of 0.5, 1, 1.5 and 2 ATR away from the pivot, creating a structured price framework.
Users can adjust the pivot calculation method, reference timeframe, and visual presentation to suit their workflow.
ATR High and Low Offset from PriceAverage True Range based on last X time periods. Learned this from the master Trader Dante, but wanted to code my own ATR indicator for practice and I noticed his keeps moving throughout the day on BTC, so testing my own.
HMA Pivot Buy/Sell (only) + AlertsThis Pine Script is a lightweight indicator that plots only HMA-based pivot Buy/Sell signals and provides alert conditions for them.
What it does
Calculates a Hull Moving Average (HMA) using either:
a dynamic length based on the chart timeframe, or
a custom user-defined length.
Detects HMA pivot points (local turning points):
Buy signal when the HMA forms a local minimum (trend turns up).
Sell signal when the HMA forms a local maximum (trend turns down).
Optionally plots the HMA line and prints only the Buy/Sell markers on the chart (no extra arrows/emoji/labels from other systems).
Adds TradingView alerts for Buy, Sell, and combined Buy/Sell events.
Signal logic
Buy (HMA Pivot Low) triggers when:
HMA > HMA and HMA < HMA
Meaning: the HMA was falling, formed a bottom, and has started rising.
Sell (HMA Pivot High) triggers when:
HMA < HMA and HMA > HMA
Meaning: the HMA was rising, formed a top, and has started falling.
Inputs
Source: price source used to compute HMA (default: close).
Use Custom HMA Length: enables manual override.
Custom HMA Length: manual HMA period (default: 55).
Alerts: only on bar close:
If enabled, alerts fire only after the bar closes (confirmed signals).
If disabled, alerts can fire intrabar (faster but less stable).
Draw signal on pivot bar (offset -1):
If enabled, markers are drawn on the pivot bar (one bar back) using offset = -1.
If disabled, markers are drawn on the confirmation bar (no offset).
Show HMA line: toggles display of the HMA line.
Alerts available
BUY (HMA Pivot) — triggers on Buy signal.
SELL (HMA Pivot) — triggers on Sell signal.
BUY/SELL (HMA Pivot) — triggers on either Buy or Sell.
Each alert message includes ticker, timeframe, and close price via placeholders:
{{ticker}}, {{interval}}, {{close}}.
Smart Money Concept Change of Character Break of StructureSMC Structure
Visualizes Change of Character (CHoCH) and Break of Structure (BoS) - two fundamental Smart Money Concepts for identifying trend reversals and continuations.
This is the 1st version of an implementation of this concept.
It is NOT supposed to be used as a signal but a confirmation. Best use during NYSE hours.
Full Description
Overview
This indicator automatically detects and displays two core Smart Money Concepts (SMC) directly on your chart:
CHoCH (Change of Character) – The first structural break against the prevailing trend, signaling a potential reversal
BoS (Break of Structure) – A structural break in the direction of the current trend, confirming continuation
These concepts are essential building blocks of SMC trading methodology, helping traders identify where institutional players may be entering or exiting positions.
How It Works
The indicator uses pivot-based swing detection to identify significant highs and lows. When price breaks through these levels, it classifies the move as either a CHoCH or BoS based on the current trend context.
CHoCH (Change of Character)
Occurs when price breaks structure AGAINST the current trend
First warning sign that the trend may be reversing
Displayed as a solid horizontal line with "CHoCH" label
Green = Bullish reversal | Red = Bearish reversal
BoS (Break of Structure)
Occurs when price breaks structure IN THE DIRECTION of the current trend
Confirms that the existing trend remains intact
Displayed as a dashed horizontal line with "BoS" label
Teal = Bullish continuation | Maroon = Bearish continuation
Visual Example
Uptrend with BoS (continuation):
HH ◄── BoS (trend continues)
/
HL
/
HH
/
HL
Uptrend → CHoCH → Downtrend (reversal):
HH
/ \
HL \
LL ◄── CHoCH (trend reversal!)
Settings
Pivot Settings
Pivot Lookback: Number of bars used to identify swing highs/lows (default: 5). Higher values = fewer but more significant structure points.
Display Options
Show CHoCH: Toggle CHoCH visualization
Show BoS: Toggle BoS visualization
Show Swing Points: Display SH/SL labels at detected pivots
Extend Lines to Right: Extend structure lines into future bars
Show Info Table: Display current trend and last swing levels
Show Trend Background: Color the chart background based on trend direction
Colors
Fully customizable colors for all elements
How to Use
Identify the trend: Look at the sequence of CHoCH and BoS signals to understand market structure
Watch for CHoCH: A CHoCH signals potential reversal – wait for confirmation before trading against the previous trend
Trade with BoS: BoS confirms trend continuation – look for entries on pullbacks in the direction of the trend
Combine with other SMC concepts: Works great alongside Order Blocks, Fair Value Gaps, and liquidity concepts
Tips
Use higher pivot lookback values on higher timeframes for cleaner signals
A CHoCH doesn't guarantee reversal – it's the first warning sign, not confirmation
Multiple BoS signals in a row indicate a strong, healthy trend
Look for CHoCH occurring at key levels (support/resistance, order blocks) for higher probability setups
Feedback Welcome!
This is an open-source indicator and I'd love to hear your thoughts!
Please comment below if you have:
Feature requests or ideas for improvements
Bug reports or issues
Suggestions for additional SMC concepts to add
Your feedback helps make this indicator better for everyone. Happy trading! 🚀
Wiz ATRAverage True Range for given day based off past X amount of time periods. Best used by Trader Dante who is a ledge
Global J-1 & W-1 Levels (Fixed Lines / Lignes Fixes)Description
This indicator automatically plots key price levels from the previous day (D-1) and the previous week (W-1). It is designed for Day Traders and Scalpers who need clear visual references without cluttering their chart with past history.
Unlike standard indicators that use plot() and create "step-like" lines, this script uses graphic objects (line.new) to display fixed, infinite horizontal lines, just as if you had drawn them manually.
Key Features:
D-1 Levels (Blue): Previous Day High (DR-1) and Low (DS-1).
W-1 Levels (Red): Previous Week High (WR-1) and Low (WS-1).
Clean Chart: Lines are displayed only for the current session. No historical clutter.
Readability: Dashed lines with level names and exact prices displayed on the right.
How to use it? These levels often act as institutional support and resistance. Watch for price reactions (bounces or breakouts) near these zones to confirm your trade entries.
Elite Monday Range V3- ProfessionalElite Monday Range V3 - Advanced Institutional Bias & Analysis
Overview
The Elite Monday Range V3 is a high-performance decision-support tool designed for traders who utilize the "Weekly Open" and "Monday's Range" as their primary benchmark for the trading week. Unlike standard range indicators, this script employs an advanced Multi-Asset Analysis Engine to determine the weekly bias with institutional-grade precision.
It doesn't just draw lines; it analyzes Previous Week's Close (PWC), Monday's Candle Structures (Price Action), and Internal Liquidity to provide a definitive "Directional Bias" and "Confidence Score."
Key Features
Smart Multi-Asset Detection: Automatically detects if you are trading Forex, Crypto, or Indices and adjusts its internal logic and strategy suggestions accordingly.
Institutional Bias Engine: Calculates a Confidence Score (from -4 to +4) based on 4 critical criteria:
Price vs. Previous Week Close: Checks if the bulls or bears are maintaining momentum from the prior week.
Monday Candle Analysis: Automatically identifies Pin Bars (Liquidity Grabs) or Strong Engulfing movements.
Price vs. Monday Midpoint (Equilibrium): The ultimate pivot point for weekly trend direction.
Price vs. Weekly Open: Tracks the "true" opening sentiment.
Liquidity Hunt Signals (Judas Swing): Visual alerts for LIQ BUY and LIQ SELL when price sweeps Monday's extremes and returns inside the range—a classic sign of institutional manipulation before a trend.
Symmetric Expansion Levels: Projects +50%, +100%, -50%, and -100% extensions of the Monday range to identify high-probability Take Profit (TP) and reversal zones.
Dynamic Professional Dashboard: A sleek, real-time table on your chart that summarizes Asset Type, Weekly Bias, Candle Info, and the Confidence Score.
Force Overlay Technology: Ensures all lines and labels remain visible and crisp on the top layer, above candles and other indicators.
How to Trade with the Elite Dashboard
Check the "Net Weekly Bias": Look for STRONG BULL or STRONG BEAR.
Verify Confidence Score: A score of 3 or 4 (or -3/-4 for shorts) indicates high-probability conditions.
Identify Entry: If the Bias is "STRONG BULL," wait for a retest of the Monday Mid (MID) or Monday High (MON H).
Confirm with Liquidity: Look for a LIQ BUY signal near the Monday Low for the highest-quality "A+ Setup."
Target: Use the Expansion Levels (+50% / +100%) as your primary targets for the week.
Technical Settings
Lookback Weeks: Choose exactly how many historical weeks to display to keep your chart clean.
Customizable Colors: Fully adjustable colors for Monday ranges and expansion projections.
Line Width: User-defined thickness for professional visual clarity.
Monday Range - User Defined LookbackEnglish Description
Monday Range Expansion & Multi-Week Projections
This indicator identifies the Monday Range (the price action from Monday's open at 00:00) and projects symmetric expansion levels across the entire trading week. It is designed for traders who use the weekly open and Monday's volatility as a benchmark for the week's price action.
Key Features:
Exact Monday 00:00 Start: Using advanced logic, the indicator pins the starting point precisely to the weekly open (Monday 00:00), ensuring no lag or offset regardless of your timeframe.
Symmetric Expansion Levels: It calculates the Monday High-Low range and projects a +100%, +50%, -50%, and -100% expansion, providing clear support and resistance targets.
User-Defined Lookback: You can choose exactly how many past weeks to display on your chart, keeping your workspace clean and focused.
Force Overlay Technology: All lines and labels use force_overlay, ensuring they always stay on the top layer, above candles and other indicators.
Weekly Freeze: Historical weeks stay "frozen" at their Friday closing points, allowing for clear backtesting of previous weekly levels.
Round NumbersRound Numbers
This indicator is a high-precision tool designed to automatically visualize psychological price marks and "round numbers" on your chart. It helps traders identify key areas where institutional orders and market sentiment often cluster, providing a clear map of potential support and resistance zones based on mathematical multiples.
Key Features:
11 Fully Configurable Level Groups: The indicator provides 11 independent level groups, pre-set to psychologically significant intervals (10, 50, 100, 500, 1,000, 5,000, 10,000, 50,000, 100,000, 500,000, and 1,000,000).
Complete Customization: Every level can be individually toggled. Users can define the specific multiple, line color, thickness, and line style (Solid, Dashed, or Dotted) to distinguish between major and minor levels.
Dynamic Range Adaptation: The script calculates and draws lines based on the recent price action, ensuring the chart remains relevant to the current trading range without manual adjustment.
Performance Optimized: Utilizing an efficient line-pooling system, the indicator maintains high performance and ensures smooth chart scrolling while staying within platform drawing limits.
Use Cases:
Psychological Levels: Quickly identify major price magnets (e.g., Gold at $2500, $2600).
Grid Trading & Visualization: Create a clean visual grid for systematic entry and exit strategies.
Market Structure Analysis: Assist in recognizing "Big Round Numbers" where liquidity usually resides and where reversals are more likely to occur.
Settings:
For each of the 11 levels, you can configure:
Show Level: Enable or disable the specific group.
Multiple Value: The price interval for the lines (e.g., "100" creates a line every 100 points).
Color: Choose any color and transparency for the lines.
Width: Set the line thickness from 1 to 5.
Line Style: Select between Solid, Dashed, or Dotted appearances.
Advanced custom multi MA signals (EMA/SMA/VWMA/VWAP) Features of Multi Moving Averages
The biggest enemy in trading is "Noise." If you get swayed by minute fluctuations on the chart, you end up missing the forest for the trees.
This indicator (Advanced Custom Multi MA Signals) is not just a simple line. By combining the three core elements of Price, Time, and Volume, it acts as a navigation system that visualizes the market's "true trend." In particular, the ability to analyze 5 moving averages simultaneously across various timeframes is akin to viewing a 3D map of the battlefield.
Understanding Core Concepts
This indicator supports 4 types of moving averages. It is crucial to clearly understand the nature of each tool.
SMA (Simple Moving Average): The most basic average value. Since it produces fewer whipsaws (false signals), it is used as a baseline to judge the "long-term trend."
EMA (Exponential Moving Average): Places more weight on recent prices. It reacts sensitively to market changes, making it advantageous for identifying "entry points."
VWMA (Volume Weighted Moving Average): Incorporates "volume" into the price calculation. It acts as a "false signal filter," weeding out price moves that aren't backed by trading volume.
VWAP (Volume Weighted Average Price): The benchmark price used by institutional investors for daily trading. It is calculated based on the session, regardless of the period settings. It is considered the "lifeline" of day trading.
Indicator Settings Guide
Open the settings window and tune it to fit your trading style.
MA 01 ~ 05 (Moving Average Settings)
MA Type: Select according to your purpose. (Generally, EMA is recommended for short-term analysis, SMA/VWMA for long-term).
Length: Enter the period you wish to analyze (e.g., 20, 60, 120, 200).
Timeframe: This is the core feature. It allows you to overlay moving averages from a higher timeframe (e.g., 4-hour, Daily) onto the chart you are currently viewing (e.g., 15-minute).
Signal Option (Trading Signals)
Golden Cross (GC) / Death Cross (DC): Captures the moment the short-term line breaks through the long-term line. You can run up to 3 strategies simultaneously.
Ribbon Gradient (Trend Visualization)
Represents the gap between two moving averages with color. As the color deepens and the width expands, it indicates a powerful trend; if the width narrows, it suggests a high probability of a trend reversal.
5 Usage Strategies
The highlight of this indicator is the cross strategy utilizing the "Multi-Timeframe (MTF)" feature. Familiarize yourself with the 5 example strategies below and set up your own strategy based on your expertise.
💡 Tip 1. Do not go against the "Major Trend" (The Authority of the Weekly Candle)
Settings: Set MA5 to .
Interpretation: The Weekly 50 line is the "major trend line" managed by institutions and market makers. If the current price is above this line, maintain only a "Buy (Long)" bias; if below, maintain only a "Sell (Short)" bias. Adhering to this rule alone can help you avoid massive losses.
💡 Tip 2. Highly Reliable "Swing Signal" (Daily Golden Cross)
Settings: In Signal 1, configure the Short MA to and the Long MA to .
Interpretation: A Golden Cross where the 4-Hour 50 EMA breaks above the Daily 50 EMA often signifies a major "trend reversal" rather than a temporary rebound. This provides an ideal entry signal for office workers or swing traders who need high reliability.
💡 Tip 3. 4-Hour Candle as the Standard for "Precision Entry"
Situation: When the Daily trend is rising (Bullish alignment).
Strategy: While watching the 15-minute or 1-hour chart, set the indicator's Signal 2 to the cross of and .
Interpretation: When the Daily chart is in an uptrend, a Golden Cross occurring on the 4-Hour chart marks "the point where a correction (pullback) ends and the rise resumes." This is the entry point with the best risk-to-reward ratio.
💡 Tip 4. Filtering Out "Fake Signals" (The Secret of Volume)
Strategy: When creating a cross signal, try using VWMA (Volume Weighted) for the Long MA, even if you use EMA for the Short MA.
Reason: A Golden Cross caused simply by a rise in price can be a trap. However, if it breaks through the heavy VWMA line accompanied by volume, it is strong evidence that "genuine liquidity" has entered.
💡 Tip 5. Remember the "Hierarchy" (Higher Timeframe Priority Rule)
Principle: If a Golden Cross (Buy Signal) appears on the 4-Hour chart, but the Daily chart is in a Death Cross (Sell Signal) state, do not enter.
Interpretation: A signal from a lower timeframe cannot overcome the power of a higher timeframe. The professional approach is to trade with significant volume only when signals align (Sync) in the order of Weekly > Daily > 4-Hour. Keep this indicator's dashboard feature on and always check the status of higher timeframes.
Signal Generation Principle (Operating Mechanism)
Signals are generated when the set short-term moving average and long-term moving average cross each other.
📈 1. Golden Cross (BUY = Buy Signal)
Situation: The moment the short-term MA crosses upward from below the long-term MA.
Principle: It implies that recent buying pressure has broken through the resistance level accumulated over a long period.
📉 2. Death Cross (SELL = Sell Signal)
Situation: The moment the short-term MA crosses downward from above the long-term MA.
Principle: It implies that recent selling pressure has collapsed the long-term support line.
※ If the candles are not displaying correctly or are flickering, please set the indicator's 'Visual order' to 'Bring to front' as shown in the image below.
Investment Caution and Disclaimer
Before using this indicator for actual trading, please strictly read the contents below.
① Auxiliary indicators are a "Compass," not a "Book of Prophecy."
This indicator is merely a tool that mathematically calculates and visualizes past price data. A "magic indicator" that predicts future price fluctuations 100% accurately or guarantees profit does not exist. The signals provided are for reference only and must never be the sole basis for entry/exit decisions.
② The responsibility for all investments lies with "Yourself."
Financial investment (Cryptocurrencies, Stocks, Futures, etc.) involves high volatility and is a risky activity that can result in the loss of some or all of the principal. The final responsibility for all trading results (profits and losses) incurred by utilizing this indicator lies entirely with the investor. The distributor and developer accept no legal responsibility for investment results under any circumstances.
③ Past data does not guarantee the future.
Even a Golden Cross that fit perfectly in backtesting or past charts may operate differently in tomorrow's market situation (News, Macroeconomics, Unexpected Variables, etc.). Do not rely solely on technical analysis; you must conduct fundamental analysis and risk management in parallel.
④ Risk management is the top priority.
No matter how promising a signal appears, "all-in trading" (investing all assets in a single trade) is a shortcut to bankruptcy. More important than the indicator itself is adhering to the principles of strict scaling in (split buying) and Stop-Loss.
Goldbach Timing Model This indicator is designed as a simple visual framework rather than a rigid signal system. It highlights time-based structure and key alignment zones to help identify when price behavior is more likely to be active or responsive. The logic is intentionally flexible, allowing the user to apply their own discretion instead of relying on strict conditions. Its primary value is visual clarity and context, not automatic entries or exits.
Quasimodo (QML) Pattern [Kodexius]Quasimodo (QML) Pattern is a market structure indicator that automatically detects Bullish and Bearish Quasimodo formations using confirmed swing pivots, then visualizes the full structure directly on the chart. The script focuses on the classic liquidity-grab narrative of the QML: a sweep beyond a prior swing (the Head) followed by a decisive market structure break (MSB), leaving behind a clearly defined reaction zone between the Left Shoulder and the Head.
Detection is built on pivot highs and lows, so patterns are evaluated only after swing points are validated. Once a valid 4 pivot sequence is identified, the indicator draws the pattern legs, highlights the internal triangle area to emphasize the grab, marks the MSB leg, and projects a QML zone that can be used as a potential area of interest for retests.
This tool is designed for traders who work with structure, liquidity concepts, and reversal/continuation triggers, and who want a clean, repeatable QML visualization without manually marking swings.
🔹 Features
🔸 Confirmed Pivot Based Structure Mapping
The script uses classic built-in pivot logic to detect swing highs and swing lows.
🔸 Automatic Bullish and Bearish QML Detection
The indicator evaluates the most recent 4 pivots and checks for a valid alternating sequence (High-Low-High-Low or Low-High-Low-High). When the sequence matches QML requirements, the script classifies the setup as bullish or bearish:
Bullish logic (structure reversal up):
- Left Shoulder is a pivot Low
- Head is a lower Low than the Left Shoulder (liquidity sweep)
- MSB pivot exceeds the Reaction pivot
Bearish logic (structure reversal down):
- Left Shoulder is a pivot High
- Head is a higher High than the Left Shoulder (liquidity sweep)
- MSB pivot breaks below the Reaction pivot
🔸 Full Pattern Visualization (Legs + Highlighted Core)
When a pattern triggers, the script draws:
Three main legs: Left Shoulder to Reaction, Reaction to Head, Head to MSB
A shaded triangular highlight over the internal structure to make the liquidity-grab shape easy to spot at a glance
🔸 QML Zone Projection
A QML Zone box is drawn using the price range defined between the Left Shoulder and the Head, then extended to the right to remain visible as price develops. This zone is intended to act as a practical reference area for potential retests and reaction planning after MSB confirmation.
🔸 MSB Emphasis
A dotted MSB line is drawn between the Reaction point and the MSB point to visually emphasize the confirmation leg that completes the pattern logic.
🔸 Clean Point Tagging and Directional Labeling
Key points are labeled directly on the chart:
- “LS” at the Left Shoulder
- “Head” at the sweep pivot
- “MSB” at the break pivot
A directional label (“Bullish QML” or “Bearish QML”) is also printed to quickly identify the detected bias.
🔸 Configurable Visual Style
All main visual components are user configurable:
- Bullish and bearish colors
- Line width
- Label size
🔸 Efficient Update Logic
Pattern checks are only performed when a new pivot is confirmed, avoiding unnecessary repeated calculations on every bar. The most recent pattern’s projected elements (zone and label positioning) are updated as new bars print to keep the latest setup readable.
🔹 Calculations
This section summarizes the core logic used for detection and plotting.
1. Pivot Detection (Swing Highs and Lows)
The script relies on confirmed pivots using the user inputs:
Left Bars: how many bars must exist to the left of the pivot
Right Bars: how many bars must exist to the right to confirm it
float ph = ta.pivothigh(leftLen, rightLen)
float pl = ta.pivotlow(leftLen, rightLen)
When a pivot is confirmed, its true bar index is the pivot bar, not the current bar, so the script stores:
bar_index
2. Pivot Storage and History Window
Each pivot is stored as a structured object containing:
- price
- index
- isHigh (true for pivot high, false for pivot low)
A rolling history is maintained (up to 50 pivots) to keep processing stable and memory usage controlled.
3. Sequence Validation (Alternation Check)
The pattern evaluation always uses the latest 4 pivots:
p0: Left Shoulder candidate
p1: Reaction candidate
p2: Head candidate
p3: MSB candidate
Before checking bullish/bearish rules, the script enforces alternating pivot types:
bool correctSequence =
(p0.isHigh != p1.isHigh) and
(p1.isHigh != p2.isHigh) and
(p2.isHigh != p3.isHigh)
This prevents invalid structures like consecutive highs or consecutive lows from being interpreted as QML.
4. Bullish QML Conditions
A bullish QML is evaluated when the Left Shoulder is a Low:
Head must be lower than Left Shoulder (sweep)
MSB must be higher than Reaction (break)
if not p0.isHigh
if p2.price < p0.price and p3.price > p1.price
// Bullish QML confirmed
Interpretation:
p2 < p0 represents the liquidity grab below the prior swing low
p3 > p1 represents the market structure break above the reaction high
5. Bearish QML Conditions
A bearish QML is evaluated when the Left Shoulder is a High:
Head must be higher than Left Shoulder (sweep)
MSB must be lower than Reaction (break)
if p0.isHigh
if p2.price > p0.price and p3.price < p1.price
// Bearish QML confirmed
Interpretation:
p2 > p0 represents the liquidity grab above the prior swing high
p3 < p1 represents the market structure break below the reaction low
6. Drawing Logic (Structure, Highlight, Zone, Labels)
When confirmed, the script draws:
Three connecting legs (LS to Reaction, Reaction to Head, Head to MSB)
A shaded triangle using a transparent “ghost” line to enable filling
A dotted MSB emphasis line between Reaction and MSB
A QML Zone box spanning the LS to Head price range and projecting to the right
Point labels: LS, Head, MSB
A direction label: “Bullish QML” or “Bearish QML”
7. Latest Pattern Extension
To keep the newest setup readable, the script updates the most recently detected pattern by extending its projected elements as new bars print:
QML zone right edge is pushed forward
The main label x position is pushed forward
This keeps the last identified QML zone visible as price evolves, without having to redraw historical patterns on every bar.
Liquidity Sell Signal V2 [StrategyLAB_]Liquidity Sell Signal V2
Liquidity Sell Signal V2 is a TradingView indicator designed to help you spot high-probability Sell setups (reversal / pullback entries) using liquidity concepts around Buy-Side Liquidity (BSL) , combined with a bearish confirmation candle pattern.
OANDA:XAUUSD
This script will:
Automatically detect and plot BSL (Swing High) levels based on your selected Swing Strength.
Visually “fade” levels once price has broken above them.
Print a down triangle when a valid Bearish Liquidity Triangle forms at a qualified BSL area.
How it works
1) Identify Buy-Side Liquidity (BSL)
The indicator detects pivot highs using Swing Strength.
Each pivot high is drawn as a horizontal BSL level, keeping up to Max Buy Side Liquidity (BSL) Levels.
2) Bearish confirmation (Liquidity reaction)
A Sell signal triggers only when a bearish candle structure appears, suggesting strong selling pressure and a potential reversal after a liquidity sweep near/above BSL.
3) Noise filter (Avoid “body-cut” levels)
The script checks whether the BSL level has been repeatedly cut through candle bodies in prior bars.
If the level is considered “dirty” based on olderBodyLookback, it is filtered out to reduce false signals.
How to use
Suggested settings
Swing Strength
Lower (5–8): more levels, faster signals, but more noise.
Higher (12–20): fewer levels, cleaner zones, better for swing.
Max BSL Levels: increase if you want to keep more historical liquidity levels.
Filter lookback older bodies: increase to filter more aggressively (fewer signals, cleaner quality).
Entry idea (example)
Wait for a Sell triangle to appear (signal prints on candle close).
Prefer signals that align with:
a major swing high / key resistance,
clear rejection (wick / bearish reaction),
confluence with HTF supply, trendline, session, etc.
SL/TP idea (example)
SL: above the most recent swing high / above the BSL zone with a safety buffer.
TP: toward imbalance fill, previous lows (SSL), or a fixed RR such as 1:2 / 1:3.
Important notes
This is a probability tool, not a guaranteed signal.
Best results come from combining with market structure (BOS/CHOCH), supply/demand, HTF levels, and session context.
The script uses barstate.isconfirmed, so signals appear only after the candle closes (non-repainting signals).
OANDA:EURUSD
Hicham XAUUSD Key Levels PRO (Custom Series) V2🔑 XAUUSD Key Levels PRO | 1H / 4H Structure + Psychological Levels v2
This indicator is designed specifically for Gold (XAUUSD) traders who want clean, institutional-grade key levels without chart clutter.
It combines market structure levels with true psychological price levels used by institutions, making it ideal for scalping, intraday, and swing trading.
📌 Features
🔹 Market Structure Key Levels
Automatic 1H & 4H High / Low detection
Based on swing pivots (configurable strength)
Solid lines for clear structure visibility
🔹 Gold Psychological Levels (XAUUSD)
Major levels: every 500$ (strong institutional zones)
Medium levels: every 250$
Minor levels: every 10$
Dynamic levels around current price
No line spam, optimized performance
🔹 Visual Clarity
Solid / dashed / dotted line styles
Custom colors & line thickness
Optional price labels
Works perfectly on M1 → H4
🎯 Best Use Cases
Liquidity sweeps & reactions
Premium / discount zones
Stop-loss & take-profit placement
Confluence with BOS / CHoCH
London & New York sessions
⚙️ Fully Customizable
Toggle 1H / 4H levels
Adjust psychological level spacing
Enable / disable labels
Clean & lightweight (no lag)
⚠️ Notes
Optimized for XAUUSD (Gold)
Best results when combined with price action & structure
Not a trading signal indicator
If you want:
Session-based levels
Alerts on key levels
Smart Money Concepts integration
Feel free to comment or DM 👊
Happy trading 💛📈
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
hichamfata
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.






















