Prismatic Liquidity Engine [JOAT]Prismatic Liquidity Engine v6 - SMC Structure, Liquidity & Confluence Suite
IMPORTANT NOTES (READ FIRST)
This is a strategy script with automated entry/exit logic for backtesting and forward-testing purposes. It does not place live trades without your broker integration.
This script is written in Pine Script® v6 and is intended to be used on standard candlestick charts (not Heikin Ashi, Renko, etc.).
Source code visibility: This script is published as Protected Source (closed-source) to prevent unauthorized copies and maintain versioning integrity. This description documents what the strategy does, how it works, and how to use it.
All backtesting results shown use the default settings documented below. Adjust parameters for your specific instrument and risk tolerance.
Protected Source / Closed-Source Clarification
Protected source means the internal implementation is not publicly viewable.
The operational behavior is documented here: what is detected, what each module does, what each input controls, and how to interpret the output.
If you see unauthorized copies elsewhere, report them via TradingView's plagiarism reporting system.
Overview
Prismatic Liquidity Engine v6 is a Smart Money Concepts (SMC) strategy that combines market structure analysis, liquidity zone detection, and price imbalance identification into a unified decision framework. The strategy identifies trading opportunities by analyzing:
Market structure shifts (Break of Structure / Change of Character)
Liquidity pools (equal highs/lows where stops accumulate)
Price imbalances (Fair Value Gaps created by aggressive institutional participation)
Order blocks (accumulation/distribution zones)
The strategy requires confluence across multiple factors before generating entries, filtering out noise and focusing on setups where structure, liquidity, and momentum align.
What Makes This Strategy Original (Originality & Usefulness)
This is not a simple mashup of standard indicators. The strategy implements a coordinated SMC workflow:
Structure defines the directional bias (BOS confirms trend, CHoCH signals potential reversal).
Liquidity zones identify where stop-hunts are likely to occur before major moves.
FVGs and Order Blocks provide objective entry zones with defined invalidation levels.
Session filtering restricts trading to high-liquidity periods (London/NY overlap).
ATR-based risk management adapts stop/target placement to current volatility.
Confluence scoring requires multiple conditions to align before entry.
The purpose is to systematize SMC concepts into a testable, repeatable framework rather than relying on discretionary interpretation.
1) Chart Visuals — What You See
A) Fair Value Gap (FVG) Zones
The strategy detects three-candle formations that create price imbalances:
Bullish FVGs : Gap between candle 1's high and candle 3's low after aggressive upward movement.
Bearish FVGs : Gap between candle 1's low and candle 3's high after aggressive downward movement.
Zones are drawn as boxes with size labels showing the gap in price terms.
Mitigation tracking marks zones as "used" when price trades back through them.
How to use:
FVGs represent areas where price moved too fast for balanced trading.
Price often returns to these zones before continuing in the original direction.
The strategy uses FVGs as potential entry zones when other confluence factors align.
B) Order Block (OB) Zones
Bullish OBs : Last down-candle before a strong upward move (institutional absorption).
Bearish OBs : Last up-candle before a strong downward move (institutional distribution).
Volume-weighted analysis distinguishes significant blocks from noise.
Breach detection invalidates spent order blocks.
C) Market Structure Labels
BOS (Break of Structure) : Price breaks beyond previous swing high/low, confirming trend continuation.
CHoCH (Change of Character) : Price breaks structure against the prevailing trend, signaling potential reversal.
Swing highs/lows are marked and connected for visual structure tracking.
D) Liquidity Zone Markers
Equal highs : Buy-side liquidity pools (stop losses from shorts).
Equal lows : Sell-side liquidity pools (stop losses from longs).
Sweep detection identifies when liquidity is taken.
E) Session Background Shading
Asian session: 0000-0900 UTC
London session: 0700-1600 UTC
New York session: 1300-2200 UTC
Background tint indicates active session for context.
F) Trend EMAs (Optional)
EMA 20 / 50 / 200 for trend direction context.
Used internally for trend alignment requirements.
2) Strategy Execution Logic (How Entries Work)
Long Entry Conditions (all must be true):
Market bias is bullish (confirmed by BOS or CHoCH analysis).
Price is within a valid bullish FVG or Order Block zone.
EMAs show bullish alignment or recovery.
Volume exceeds 20-period moving average (participation confirmation).
Trade window is active (session filter).
A BOS or CHoCH signal is present.
Short Entry Conditions (all must be true):
Market bias is bearish (confirmed by BOS or CHoCH analysis).
Price is within a valid bearish FVG or Order Block zone.
EMAs show bearish alignment or recovery.
Volume exceeds 20-period moving average.
Trade window is active.
A BOS or CHoCH signal is present.
Exit Logic:
Primary stop loss: ATR-based (default 1.5x ATR).
Fallback stop: Recent swing point if ATR stop is too wide.
Take profit: ATR-based (default 2.5x ATR).
Trailing stop available for locking in profits.
3) Strategy Properties & Backtesting Documentation
Default Strategy Properties (Properties Tab):
Initial Capital : $10,000 USD — realistic for average retail trader
Base Currency : USD
Order Size : 10% of equity per trade
Pyramiding : 1 order (no pyramiding for conservative risk)
Commission : 0.05% per order (realistic for CFD/forex brokers)
Slippage : 2 ticks per order (accounts for market impact)
Risk Per Trade:
With ATR Stop Multiplier at 1.5x and 10% position sizing, typical risk per trade is approximately 1-3% of equity depending on volatility. This is within the sustainable 5-10% maximum recommended by TradingView guidelines.
Published Backtest Results (GOLD 5m, Sep 28, 2025 – Jan 12, 2026):
Total Trades : 37
Profitable Trades : 56.76% (21 of 37)
Profit Factor : 2.067
Net Profit : +$40.90 USD (+0.04%)
Max Drawdown : $98.62 USD (0.10%)
Sample Size Justification:
This strategy intentionally generates fewer trades (37 in this sample) because it requires multi-factor confluence before entry:
Market structure confirmation (BOS or CHoCH)
EMA trend alignment
Valid SMC zone proximity when zone filter is enabled
The confluence requirement filters out low-probability setups, resulting in a positive profit factor (2.07) and controlled drawdown (0.10%) at the cost of trade frequency. This is a deliberate design choice — the strategy prioritizes quality over quantity .
To increase sample size for your own testing:
Test across multiple instruments (EURUSD, BTCUSD, indices)
Extend the historical date range
Reduce Swing Length parameter from 5 to 3
Strategy Input Defaults:
Swing Length : 5 bars
ATR Period : 14 bars
ATR Stop Multiplier : 1.5x ATR
ATR Take Profit Multiplier : 2.5x ATR (1.67:1 reward-to-risk)
Risk % of Equity : 1.0%
Trading Session : 0000-2359 (all sessions)
Require FVG/OB Zone Entry : OFF
Require Volume Confirmation : OFF
Require EMA Alignment : ON
Backtest Limitations & Realistic Expectations:
Backtesting assumes perfect fills at the close price — live execution will differ.
Commission and slippage significantly impact net results. Always test with your broker's actual fees.
Past performance does not guarantee future results.
Results vary across instruments, timeframes, and market regimes.
This strategy performs best in trending markets with clear structure — ranging/choppy conditions will produce more false signals.
Always forward-test on paper before risking real capital.
4) Real-Time Dashboard
The dashboard provides market context at a glance:
Market Bias : BULLISH / BEARISH / NEUTRAL based on structure.
Trend Strength : STRONG / WEAK based on EMA alignment.
ATR : Current volatility level with HIGH / MEDIUM / LOW classification.
Volume : Current volume ratio vs 20-period average (SPIKE / HIGH / NORMAL / LOW).
Session : Active trading session.
Key Levels : Dynamic resistance and support from recent structure.
Signal Count : Active SMC signals with strength indicator.
Trade Window : OPEN / CLOSED based on session filter.
5) Inputs & Settings Reference
Structure Detection
Swing Length : Lookback for swing high/low detection (default: 5). Lower = more signals, Higher = major structure only.
FVG Settings
Show FVGs : Toggle FVG box display.
FVG Extension : How long FVG boxes extend forward (default: 20 bars).
Order Block Settings
Show Order Blocks : Toggle OB display.
OB Extension : How long OB boxes extend forward (default: 20 bars).
Liquidity Settings
Liquidity Range % : ATR percentage for "equal high/low" classification (default: 0.5%).
Show Liquidity Zones : Toggle liquidity pool markers.
Strategy Controls
Enable Long Trades : Allow long entries (default: ON).
Enable Short Trades : Allow short entries (default: ON).
Risk % of Equity : Maximum risk per trade (default: 1.0%).
ATR Period : Length for ATR calculation (default: 14).
ATR Stop Multiplier : Stop distance in ATR units (default: 1.5).
ATR TP Multiplier : Take profit distance in ATR units (default: 2.5).
Trading Session Filter : Restrict entries to specific time windows (default: 0000-2359 = all day).
Require FVG/OB Zone Entry : When ON, price must be inside an FVG or OB zone. When OFF, trades trigger on structure signals alone (default: OFF).
Require Volume Confirmation : When ON, volume must exceed 20-period average (default: OFF).
Require EMA Alignment : When ON, price must be above/below EMAs for direction (default: ON).
Visual Settings
Show Dashboard : Toggle dashboard display.
Show Sessions : Toggle session background shading.
Show Fibonacci : Toggle Fibonacci level display.
Color Customization : Full control over all visual elements.
6) Recommended Workflow
Step 1 — Configure Risk Parameters
Set risk % appropriate for your account (1-2% recommended).
Adjust ATR multipliers based on your instrument's volatility.
Set commission/slippage to match your broker.
Step 2 — Select Appropriate Timeframe
M15-H1 : Best balance of signal frequency and reliability.
H4-D1 : Higher quality signals, fewer false positives.
M1-M5 : Scalping possible but requires tighter risk management.
Step 3 — Backtest on Your Instrument
Run strategy tester with realistic commission/slippage.
Review trade list for entry quality.
Adjust parameters if needed for your specific market.
Step 4 — Forward Test Before Live Trading
Paper trade or use small size to validate real-time behavior.
Monitor for any discrepancies between backtest and live conditions.
7) Suitable Markets
Forex majors (EURUSD, GBPUSD, USDJPY) — 24/5 liquidity, clear structure.
Major indices (SPX, NASDAQ, DAX) — trending behavior, respects levels.
Gold (XAUUSD) — respects structure and liquidity concepts.
Crypto (BTCUSD, ETHUSD) — high volatility, adjust ATR multipliers.
8) Limitations & Best-Use Guidance
This strategy is a decision-support and backtesting tool, not a guaranteed profit system.
Performance varies across market conditions (trending vs ranging).
Low liquidity periods may produce false signals.
News events can override technical analysis.
Overnight gaps may affect stop placement.
Always validate with forward testing before live capital.
9) Alerts
Bullish / Bearish Regime Start
FVG Formation (Bull / Bear)
Order Block Detection
BOS / CHoCH Structure Shift
Liquidity Sweep
High-Volume Confirmation
Recommended: Use "Once Per Bar Close" for most reliable alerts.
Disclaimer
This strategy is for educational and backtesting purposes only. It does not constitute financial advice. Trading involves substantial risk of loss. Past performance does not guarantee future results. Always test configurations on historical data and paper trading before applying them to live capital. You are solely responsible for your trading decisions and risk management.
-Made with passion by officialjackofalltrades
枢轴点和水平
Institutional Frontrunner w/ PCR & VIX - Fixed Distance LabelsUse this script to evaluate if buying or selling is indicated based on a variety of metrics surrounding momentum and volume or institutional traders.
Pivot, Breakout, Candle Patterns & Trading Session by JohnPowerful trading indicator showing 15-minute pivot highs and lows, breakout levels, and key candlestick patterns including Bullish/Bearish Engulfing and Morning/Evening Stars. Highlights strong and weak market conditions and tracks trading sessions in real-time. Ideal for scalping and day trading, helping traders spot entry and exit points with precision and confidence.
Perfect EQHs + EQLsPerfect EQHs + EQLs: High-Precision Liquidity Mapping
Identifying Equal Highs (EQH) and Equal Lows (EQL) is critical for traders who focus on liquidity, Internal Range Liquidity (IRL), and stop-hunts. This indicator is built for surgical precision, ensuring that only "mathematically perfect" levels are identified and projected until they are actually mitigated by price.
Key Features
Real-Time Mitigation: Lines are not static. As soon as price crosses a detected level (invalidating the liquidity), the line and label are instantly removed from the chart.
Dual Extension Modes: * Full Right Edge: Projects levels across the entire chart background for a clean, institutional look.
Bar Count: Extends lines a specific number of bars into the future (customizable).
Dynamic Sensitivity: Choose between a Dropdown Mode (pre-set for High, Medium, or Low sensitivity, including time-based filters for 1H and 4H+) or a Manual Bar Lookback to define exactly how many bars must separate the two points.
Smart Labels: Features "EQH" and "EQL" labels that anchor perfectly to the right edge of your lines, regardless of your zoom level or extension settings.
How to Use
Spot Liquidity Pools: Use the projected lines to identify where retail buy-side or sell-side liquidity is "resting."
Targeting: Use EQHs and EQLs as high-probability targets for your take-profits.
Entry Confirmation: Watch for price to sweep these levels (liquidity grab) before looking for a Market Structure Shift (MSS) in the opposite direction.
Customization Settings
Appearance: Full control over line colors (default Green for Highs, Red for Lows), thickness, and styles (Solid, Dash, Dotted).
Lookback Length: Define how far back the script scans for matches (supports up to 5,000 bars for deep historical analysis).
Label Visibility: Toggle labels on/off and adjust text size to fit your screen resolution.
Technical Note
Unlike basic fractal-based indicators, this script uses array-based state management to track every individual level. This ensures that the chart remains uncluttered by deleting old levels that are no longer relevant to current price action.
15m Pivot, Breakouts & Candle Patterns by JohnPowerful trading indicator showing 15-minute pivot highs and lows, breakout levels, and key candlestick patterns including Bullish/Bearish Engulfing and Morning/Evening Stars. Highlights strong and weak market conditions and tracks trading sessions in real-time. Ideal for scalping and day trading, helping traders spot entry and exit points with precision and confidence.
Pinks333 Level Pro Confirmation (ODTE) v1
Pinks333 Level Pro Confirmation (ODTE) is a discretionary confirmation tool designed for index traders, especially SPX / ES / NQ ODTE setups.
This script combines two complementary systems:
🔸 Algorithmic Volume Rejection Zones (AVRZ)
Detects institutional rejection and absorption zones using:
Large wick geometry
Statistical volume Z-scores
Structural swing confirmation
Automatically draws support & resistance zones where price previously rejected with conviction.
Includes a climax bypass for exhaustion events, allowing immediate zone validation.
🔸 Pinks333 Level Pro Confirmation Engine
Works off predefined key levels
Uses multi-timeframe acceptance logic (3m / 5m)
Tracks each level through a WATCHING → ON DECK → EXECUTED lifecycle
Confirms trades only on controlled retests with directional price confirmation
Includes cooldowns to prevent over-trading the same level
🔸 Visual Enhancements
Auto-drawn bold horizontal levels
Dynamic coloring:
🟢 Green = price accepted above
🔴 Red = price accepted below
Volume-based candle coloring to highlight institutional activity
Optional dashboard showing the real-time status of every level
⚠️ This script is a confirmation and context tool, not a buy/sell signal generator. It is designed to be used alongside price action, execution discipline, and risk management.
Range Indicator Golden Pocket, Liquidity, FairValueGapOverview
This indicator is a comprehensive institutional market structure toolkit. It is designed to identify high-probability reversal zones by merging three powerful technical analysis concepts: Fibonacci Golden Pockets (61.8% - 65%), Liquidity Pool Analysis (Swing Failure Patterns), and Fair Value Gaps (FVG). By automating the detection of price inefficiencies and "stop runs," it helps traders navigate complex price action with objective, rule-based confirmation.
What the Script Does
The script continuously monitors a user-defined lookback period to define a trading range. Within this range, it dynamically plots:
Golden Pockets: High-confluence retracement zones (calculated as 0.35 - 0.382 internal range levels).
Liquidity Zones: Highlighted regions at the absolute high and low (Top/Bottom 5%) where institutional orders and retail stops are typically concentrated.
Swing Failure Patterns (SFP): Real-time detection of liquidity grabs where price breaches a range extreme but fails to close outside, signaling a potential trap.
Fair Value Gaps (FVG): Visualizes 3-candle price imbalances, showing areas of aggressive buying or selling that often act as future magnets or support/resistance.
2-Candle Confirmation: A momentum-based filter requiring a candle-close confirmation before a reversal signal is generated.
For Whom is it?
Smart Money Concepts (SMC) & ICT Students: Traders looking for automated liquidity sweeps and market inefficiencies.
Fibonacci & Mean Reversion Traders: Those seeking a clean, professional visualization of the Golden Pocket across multiple timeframes.
Systematic Day Traders: Who require strict price-action confirmation (SFP and 2-candle rules) to remove emotional bias from their entries.
Functions and Input Options
1. Market Structure & Visuals
Lookback Period (Default: 100): Defines the window for calculating the range extremes.
Box Offset Right (Default: 50): Extends all zones into the future for better anticipatory trading.
Show Price Lines & Labels: Displays the exact price for every zone boundary on the right axis for precise execution.
2. Fair Value Gap (FVG) Settings
Show Fair Value Gaps: A toggle to enable/disable the plotting of price imbalances.
FVG Extension (Default: 10): Determines how many bars into the future the FVG box remains visible.
Custom Colors: Separate color inputs for Bullish (Gap Up) and Bearish (Gap Down) inefficiencies.
3. Professional Alert System
The script includes five specific alert conditions:
GP Touch: Early warning when price enters a Golden Pocket.
2-Candle Pattern: Confirmed momentum shift within a Golden Pocket.
SFP Long/Short: Alerts when a Liquidity Grab (Swing Failure) is confirmed at the range high or low.
Transparency and Compliance (Moderator Info)
Non-Repainting Logic: All signals (SFP, 2-Candle, and FVG) are calculated and triggered based on confirmed candle closes. Drawings use barstate.islast purely for visual efficiency without altering historical data integrity.
Educational Context: The script visualizes well-known market principles (Fibonacci, SFPs, and FVGs) to aid traders in their analysis; it does not provide automated financial advice or "black-box" buy/sell signals.
Resource Management: Optimized for Pine Script v5, using efficient array and box handling to ensure smooth performance even on lower timeframes.
Hyperfork Matrix🔱 Hyperfork Matrix 🔱 A manual Andrews Pitchfork tool with action/reaction propagation lines and lattice matrix functionality. This indicator extends Dr. Alan Andrews' and Patrick Mikula's median line methodology by automating the projection of reaction and action lines at equidistant intervals, creating a time-price grid that highlights where pivot levels intersect the matrix.
Three pitchfork variants are supported: Original, Schiff, and Modified Schiff. Each variant adjusts the anchor point position to accommodate different trend angles.
═══════════════════════════════════════════════════════════════
█ THE METHOD
Andrews Pitchfork
Dr. Alan Andrews developed the pitchfork as a trend channel tool. The core principle: price tends to return to the median line roughly 80% of the time. When it fails to reach the median, a reversal may be developing.
A pitchfork requires three pivot points:
• Point A — The anchor (starting pivot)
• Point B — First swing in the opposite direction
• Point C — Second swing, same direction as A
The median line runs from Point A through the midpoint of B-C. Parallel lines through B and C form the channel boundaries.
Action/Reaction Principle
Based on Newton's third law ("action and reaction are equal and opposite"), this principle suggests that price movements elicit proportional reactions in the future. By projecting lines at equal intervals along the pitchfork's slope, we anticipate where these reactions may occur.
Lattice Matrix
The lattice squares pivot price levels to the matrix structure. A horizontal from your selected pivot intersects the pitchfork and propagation lines, with verticals drawn at each intersection. These verticals mark time points where price-time geometry converges—potential areas to watch for trend changes.
═══════════════════════════════════════════════════════════════
█ HOW THE INDICATOR WORKS
This section explains the calculation flow from your inputs to the final drawing.
Step 1 — Pivot Selection
You click on the chart to select three timestamps. The indicator retrieves the high or low price at each timestamp based on your starting pivot type selection:
• Starting with "Low" creates a Low-High-Low pattern
• Starting with "High" creates a High-Low-High pattern
Step 2 — Anchor Calculation
The anchor position depends on your pitchfork variant:
• Original — Anchor stays at Point A
• Schiff — Anchor shifts 50% toward B in price (Y-axis only)
• Modified Schiff — Anchor shifts 50% toward B in both time and price
Step 3 — Median Line
A line is drawn from the anchor through the midpoint of the B-C segment. This median line defines the channel's slope and center.
Step 4 — Parallel Tines
Parallel lines are drawn through Points B and C, maintaining the median line's slope. These form the upper and lower channel boundaries.
Step 5 — Extra Parallels
If configured, additional parallel lines are drawn at equal spacing beyond B and C. The spacing equals the distance from the median to each tine.
Step 6 — Handle Length
The "handle" is the segment from the anchor to the B-C midpoint. This length becomes the unit of measurement for propagation.
Step 7 — Propagation Points
Points are placed along the median line at handle-length intervals:
• Forward points extend into the future
• Backward points extend into the past
Step 8 — Reaction Lines
Through each propagation point, a line is drawn parallel to B-C (the transversal slope). These reaction lines mark time-price zones based on the original swing rhythm, where trend changes may occur.
Step 9 — Action Lines
Through each propagation point, a line is drawn parallel to A-B (the initial move slope). These action lines project the original momentum into future price zones.
Step 10 — Lattice Grid
If enabled, a horizontal line is drawn at the price level of your selected pivot. Vertical lines are then drawn at every intersection between this horizontal and the selected line type (pitchfork, reaction, or action lines).
Step 11 — Alert Monitoring
On each bar, the indicator checks if the price has crossed any of the drawn lines. Crossings trigger alerts based on your configuration.
═══════════════════════════════════════════════════════════════
█ PITCHFORK VARIANTS
Original (Andrews)
The classic pitchfork. The anchor remains at Point A. Best suited for strong trending markets where price respects steep channels.
Schiff
Named after Jerome Schiff, a student of Andrews. The anchor shifts halfway toward Point B in price only—same time position as A, but price is the midpoint of A and B.
This produces a less steep channel, better suited for:
• Shallow trends
• Corrective phases
• Markets where the original pitchfork angle is too aggressive
Modified Schiff
The anchor shifts halfway toward Point B in both time and price—positioned at the midpoint of the A-B segment.
This creates an even gentler slope than the standard Schiff variant. Use when:
• Trends are weak or ranging
• Price doesn't respect steeper channel angles
• You need a middle ground between Original and Schiff
═══════════════════════════════════════════════════════════════
█ ACTION & REACTION LINES
Reaction Lines
These run parallel to the B-C segment (the "transversal"). They represent the market's response rhythm—the swing from B to C sets a pattern that may repeat at predictable intervals.
Action Lines
These run parallel to the A-B segment (the initial impulse). They project the original momentum forward, suggesting where similar price movements may begin or end.
Forward vs Backward
• Forward Lines — Project into the future beyond the B-C midpoint
• Backward Lines — Project into the past before Point A
Most analysis focuses on forward lines, but backward lines can reveal historical confluence with past pivots.
Propagation Spacing
Lines are spaced at equal intervals defined by the handle length (anchor to B-C midpoint). This creates a rhythmic structure where each segment equals the original pitchfork's core measurement.
Action Lines
Reaction Lines
Extra Parallels with/ both Action & Reactions Line extended within the grid
═══════════════════════════════════════════════════════════════
█ LATTICE MATRIX
The lattice creates a grid overlay within the pitchfork structure.
Horizontal Line
A horizontal line is drawn at the price level of your selected pivot (A, B, or C). This squares the pivot's price level to find where it aligns with the matrix structure. These confluences may represent higher-probability reaction points in time.
Vertical Lines
Vertical lines are drawn at every point where the horizontal intersects your selected line source. These verticals mark time points—potential areas to watch for trend changes.
• Pitchfork & Parallels — Intersections with median and all parallel tines
• Action Lines — Intersections with action transversals
• Reaction Lines — Intersections with reaction transversals
• Action & Reaction — Both types combined
Envelope Clamping
Lattice lines are automatically clamped to stay within the pitchfork's channel envelope (bounded by the outermost parallels). This keeps the grid visually clean and focused on relevant areas.
═══════════════════════════════════════════════════════════════
█ ALERTS
The indicator monitors price crossings and triggers alerts when the price moves through any drawn line type.
Available Alert Types
• Pitchfork Lines — Crossing the median or any parallel
• Action Lines — Crossing any action transversal (when action lines are drawn)
• Reaction Lines — Crossing any reaction transversal (when reaction lines are drawn)
• Lattice Horizontal — Crossing the horizontal price level (when lattice is enabled)
• Any Line Crossing — Combined alert for all of the above
Setting Up Alerts
1. Right-click on the indicator or use the alert menu
2. Select "Create Alert."
3. Choose the desired condition from the dropdown
4. Configure notification preferences (pop-up, email, webhook, etc.)
Alert Timing
Alerts trigger once per bar close when a crossing is detected between the previous and current bar's close prices.
═══════════════════════════════════════════════════════════════
█ HOW TO USE
Basic Setup
1. Add the indicator to your chart
2. When prompted, click on three pivot points in sequence: A, B, C
3. Choose starting pivot type: Auto (detects pattern), Low (LHL), or High (HLH)
4. The pitchfork draws automatically
Adjusting the Pitchfork
• Change the variant (Original/Schiff/Modified Schiff) if the angle doesn't suit your trend
• Add extra parallel levels to see where price might react beyond the main channel
• Disable or Adjust price range min/max to hide parallels outside your focus area
Adding Propagation Lines
• Adjust forward offset to add/remove lines beyond auto-extend (0 = to current bar)
• Choose which line types to display: Reaction Only, Action Only, or Both
• Customize colors to distinguish line types visually
Using the Lattice
• Enable "Draw Lattice" in the Lattice settings group
• Select which pivot's price level to use for the horizontal
• Choose the intersection source that matches your analysis style
• Look for time zones where verticals cluster—these may be significant dates
Log Scale Charts
If your chart uses logarithmic scale, enable "Logarithmic Scale" in Pitchfork Settings. This ensures all calculations transform correctly for log price axes.
═══════════════════════════════════════════════════════════════
█ SETTINGS REFERENCE
1. Pivot Points
• Starting Pivot Type — Auto (detect pattern), Low (force LHL), or High (force HLH)
• Pivot A/B/C Time — Timestamps for your three pivots (click to select)
• Show Pivot Labels — Display A, B, C labels at pivot locations
• Pivot Colors — Customize high/low label colors
• Label Size — Tiny, Small, Normal, or Large
2. Pitchfork Settings
• Logarithmic Scale — Enable for log charts
• Pitchfork Type — Original, Schiff, or Modified Schiff
• Extra Parallel Levels — Additional parallels beyond B and C
• Line styling (color, width, style)
• Extend Direction — Right only or Both directions
• Enable Price Range Filter — Toggle filtering of extra parallels
• Price Range Min/Max — Hide extra parallels outside this range
3. Action / Reaction Lines
• Draw Type — None, Reaction Only, Action Only, or Both
• Forward Lines Offset — Adjust from auto-extend (0 = to current bar, positive adds more)
• Backward Lines Count — Number of lines projected before Point A
• Separate styling for reaction and action lines
4. Lattice
• Draw Lattice — Master toggle
• Select Pivot for Horizontal — A, B, or C price level
• Intersection Source — Which lines to use for vertical placement
• Lattice styling
═══════════════════════════════════════════════════════════════
█ LIMITATIONS
• Maximum 500 lines — TradingView limits line objects; complex setups with many parallels and propagation lines may approach this limit
• Manual pivot selection — Pivots must be selected manually via timestamp inputs; no auto-detection
• Log scale requires toggle — You must enable "Logarithmic Scale" manually if your chart uses log axes
• Minor visual drift — Action/Reaction lines may shift slightly when toggling between odd and even extra parallel counts (cosmetic only)
• Backward lines visibility — When adding backward propagation lines, you may need to scroll the chart left for them to render
═══════════════════════════════════════════════════════════════
█ FURTHER READING
For deeper study of pitchfork analysis and action/reaction methodology:
• Patrick Mikula's "The Best Trendline Methods of Alan Andrews and Five New Trendline Techniques"
No affiliation implied. Referenced for educational context only.
═══════════════════════════════════════════════════════════════
█ RELATED
For a video walkthrough of the Super Pitchfork methodology that inspired this indicator:
How to Build a Super Pitchfork with Reaction & Trigger Lines
This tutorial covers manual pitchfork construction, reaction line projection, and timing techniques.
SVE Pivot Points v5//@version=6
indicator(title="SVE Pivot Points", overlay=true, max_lines_count=500)
// Input Parameters
agg_period = input.timeframe("D", title="Aggregation period")
show_labels = input.bool(true, title="Show Labels")
line_width = input.int(1, title="Line Width", minval=1, maxval=4)
// Detect new aggregation period
bool new_agg_bar = bool(ta.change(time(agg_period)))
// Calculate how many chart bars fit in one aggregation period
get_bars_in_period(string tf) =>
tf_secs = timeframe.in_seconds(tf)
chart_secs = timeframe.in_seconds(timeframe.period)
// If aggregation period is smaller than or equal to chart timeframe, use 1 bar
// Otherwise calculate how many chart bars fit
math.max(1, int(math.ceil(tf_secs / chart_secs)))
bars_in_period = get_bars_in_period(agg_period)
// Fetch previous period's high, low, close
ph = request.security(syminfo.tickerid, agg_period, high , barmerge.gaps_off, barmerge.lookahead_on)
pl = request.security(syminfo.tickerid, agg_period, low , barmerge.gaps_off, barmerge.lookahead_on)
pc = request.security(syminfo.tickerid, agg_period, close , barmerge.gaps_off, barmerge.lookahead_on)
// Calculate pivot points
pp = (ph + pl + pc) / 3
r1 = 2 * pp - pl
r2 = pp + (ph - pl)
r3 = 2 * pp + (ph - 2 * pl)
s1 = 2 * pp - ph
s2 = pp - (ph - pl)
s3 = 2 * pp - (2 * ph - pl)
// Calculate mean levels
r1m = (pp + r1) / 2
r2m = (r1 + r2) / 2
r3m = (r2 + r3) / 2
s1m = (pp + s1) / 2
s2m = (s1 + s2) / 2
s3m = (s2 + s3) / 2
// Previous high and low
hh = ph
ll = pl
// Colors
color_r = color.red
color_s = color.green
color_pp = color.blue
color_hl = color.gray
// Arrays to store historical lines (for showing past periods)
var line lines_r3 = array.new_line()
var line lines_r3m = array.new_line()
var line lines_r2 = array.new_line()
var line lines_r2m = array.new_line()
var line lines_r1 = array.new_line()
var line lines_r1m = array.new_line()
var line lines_hh = array.new_line()
var line lines_pp = array.new_line()
var line lines_ll = array.new_line()
var line lines_s1m = array.new_line()
var line lines_s1 = array.new_line()
var line lines_s2m = array.new_line()
var line lines_s2 = array.new_line()
var line lines_s3m = array.new_line()
var line lines_s3 = array.new_line()
// Current period labels (only show for current period)
var label lbl_r3 = na
var label lbl_r3m = na
var label lbl_r2 = na
var label lbl_r2m = na
var label lbl_r1 = na
var label lbl_r1m = na
var label lbl_hh = na
var label lbl_pp = na
var label lbl_ll = na
var label lbl_s1m = na
var label lbl_s1 = na
var label lbl_s2m = na
var label lbl_s2 = na
var label lbl_s3m = na
var label lbl_s3 = na
// Track current period start
var int current_period_start = 0
// On new aggregation period, create new lines
if new_agg_bar
current_period_start := bar_index
// Create lines for this period - they start here and will be extended
array.push(lines_r3, line.new(bar_index, r3, bar_index + bars_in_period, r3, color=color_r, width=line_width))
array.push(lines_r3m, line.new(bar_index, r3m, bar_index + bars_in_period, r3m, color=color_r, width=line_width))
array.push(lines_r2, line.new(bar_index, r2, bar_index + bars_in_period, r2, color=color_r, width=line_width))
array.push(lines_r2m, line.new(bar_index, r2m, bar_index + bars_in_period, r2m, color=color_r, width=line_width))
array.push(lines_r1, line.new(bar_index, r1, bar_index + bars_in_period, r1, color=color_r, width=line_width))
array.push(lines_r1m, line.new(bar_index, r1m, bar_index + bars_in_period, r1m, color=color_r, width=line_width))
array.push(lines_hh, line.new(bar_index, hh, bar_index + bars_in_period, hh, color=color_hl, width=line_width))
array.push(lines_pp, line.new(bar_index, pp, bar_index + bars_in_period, pp, color=color_pp, width=line_width))
array.push(lines_ll, line.new(bar_index, ll, bar_index + bars_in_period, ll, color=color_hl, width=line_width))
array.push(lines_s1m, line.new(bar_index, s1m, bar_index + bars_in_period, s1m, color=color_s, width=line_width))
array.push(lines_s1, line.new(bar_index, s1, bar_index + bars_in_period, s1, color=color_s, width=line_width))
array.push(lines_s2m, line.new(bar_index, s2m, bar_index + bars_in_period, s2m, color=color_s, width=line_width))
array.push(lines_s2, line.new(bar_index, s2, bar_index + bars_in_period, s2, color=color_s, width=line_width))
array.push(lines_s3m, line.new(bar_index, s3m, bar_index + bars_in_period, s3m, color=color_s, width=line_width))
array.push(lines_s3, line.new(bar_index, s3, bar_index + bars_in_period, s3, color=color_s, width=line_width))
// Delete old labels and create new ones
if show_labels
label.delete(lbl_r3)
label.delete(lbl_r3m)
label.delete(lbl_r2)
label.delete(lbl_r2m)
label.delete(lbl_r1)
label.delete(lbl_r1m)
label.delete(lbl_hh)
label.delete(lbl_pp)
label.delete(lbl_ll)
label.delete(lbl_s1m)
label.delete(lbl_s1)
label.delete(lbl_s2m)
label.delete(lbl_s2)
label.delete(lbl_s3m)
label.delete(lbl_s3)
lbl_r3 := label.new(bar_index + bars_in_period, r3, "R3", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r3m := label.new(bar_index + bars_in_period, r3m, "R3M", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r2 := label.new(bar_index + bars_in_period, r2, "R2", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r2m := label.new(bar_index + bars_in_period, r2m, "R2M", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r1 := label.new(bar_index + bars_in_period, r1, "R1", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_r1m := label.new(bar_index + bars_in_period, r1m, "R1M", style=label.style_label_left, color=color.new(color_r, 100), textcolor=color_r, size=size.small)
lbl_hh := label.new(bar_index + bars_in_period, hh, "HH", style=label.style_label_left, color=color.new(color_hl, 100), textcolor=color_hl, size=size.small)
lbl_pp := label.new(bar_index + bars_in_period, pp, "PP", style=label.style_label_left, color=color.new(color_pp, 100), textcolor=color_pp, size=size.small)
lbl_ll := label.new(bar_index + bars_in_period, ll, "LL", style=label.style_label_left, color=color.new(color_hl, 100), textcolor=color_hl, size=size.small)
lbl_s1m := label.new(bar_index + bars_in_period, s1m, "S1M", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s1 := label.new(bar_index + bars_in_period, s1, "S1", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s2m := label.new(bar_index + bars_in_period, s2m, "S2M", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s2 := label.new(bar_index + bars_in_period, s2, "S2", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s3m := label.new(bar_index + bars_in_period, s3m, "S3M", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
lbl_s3 := label.new(bar_index + bars_in_period, s3, "S3", style=label.style_label_left, color=color.new(color_s, 100), textcolor=color_s, size=size.small)
// On the last bar, update the current period's lines to extend properly into the future
if barstate.islast and array.size(lines_pp) > 0
// Get the most recent lines
line last_r3 = array.get(lines_r3, array.size(lines_r3) - 1)
line last_r3m = array.get(lines_r3m, array.size(lines_r3m) - 1)
line last_r2 = array.get(lines_r2, array.size(lines_r2) - 1)
line last_r2m = array.get(lines_r2m, array.size(lines_r2m) - 1)
line last_r1 = array.get(lines_r1, array.size(lines_r1) - 1)
line last_r1m = array.get(lines_r1m, array.size(lines_r1m) - 1)
line last_hh = array.get(lines_hh, array.size(lines_hh) - 1)
line last_pp = array.get(lines_pp, array.size(lines_pp) - 1)
line last_ll = array.get(lines_ll, array.size(lines_ll) - 1)
line last_s1m = array.get(lines_s1m, array.size(lines_s1m) - 1)
line last_s1 = array.get(lines_s1, array.size(lines_s1) - 1)
line last_s2m = array.get(lines_s2m, array.size(lines_s2m) - 1)
line last_s2 = array.get(lines_s2, array.size(lines_s2) - 1)
line last_s3m = array.get(lines_s3m, array.size(lines_s3m) - 1)
line last_s3 = array.get(lines_s3, array.size(lines_s3) - 1)
// Calculate end point: period start + bars in period
int end_bar = current_period_start + bars_in_period
// Update line endpoints
line.set_x2(last_r3, end_bar)
line.set_x2(last_r3m, end_bar)
line.set_x2(last_r2, end_bar)
line.set_x2(last_r2m, end_bar)
line.set_x2(last_r1, end_bar)
line.set_x2(last_r1m, end_bar)
line.set_x2(last_hh, end_bar)
line.set_x2(last_pp, end_bar)
line.set_x2(last_ll, end_bar)
line.set_x2(last_s1m, end_bar)
line.set_x2(last_s1, end_bar)
line.set_x2(last_s2m, end_bar)
line.set_x2(last_s2, end_bar)
line.set_x2(last_s3m, end_bar)
line.set_x2(last_s3, end_bar)
// Update label positions
if show_labels
label.set_x(lbl_r3, end_bar)
label.set_x(lbl_r3m, end_bar)
label.set_x(lbl_r2, end_bar)
label.set_x(lbl_r2m, end_bar)
label.set_x(lbl_r1, end_bar)
label.set_x(lbl_r1m, end_bar)
label.set_x(lbl_hh, end_bar)
label.set_x(lbl_pp, end_bar)
label.set_x(lbl_ll, end_bar)
label.set_x(lbl_s1m, end_bar)
label.set_x(lbl_s1, end_bar)
label.set_x(lbl_s2m, end_bar)
label.set_x(lbl_s2, end_bar)
label.set_x(lbl_s3m, end_bar)
label.set_x(lbl_s3, end_bar)
// Limit array sizes to prevent memory issues (keep last 100 periods)
max_lines = 100
if array.size(lines_pp) > max_lines
line.delete(array.shift(lines_r3))
line.delete(array.shift(lines_r3m))
line.delete(array.shift(lines_r2))
line.delete(array.shift(lines_r2m))
line.delete(array.shift(lines_r1))
line.delete(array.shift(lines_r1m))
line.delete(array.shift(lines_hh))
line.delete(array.shift(lines_pp))
line.delete(array.shift(lines_ll))
line.delete(array.shift(lines_s1m))
line.delete(array.shift(lines_s1))
line.delete(array.shift(lines_s2m))
line.delete(array.shift(lines_s2))
line.delete(array.shift(lines_s3m))
line.delete(array.shift(lines_s3))
Pinks333 Level Confirmation ODTEJust the beta test. This script was created to help me determine when specific levels are being accepted on a short term basis for the purpose of trading ODTE SPX contracts
SVE Pivot Points (v2) //@version=6
indicator(title="SVE Pivot Points", overlay=true, max_lines_count=500)
// Input Parameters
agg_period = input.timeframe("D", title="Aggregation period")
extend_bars = input.int(50, title="Bars to extend into future", minval=1, maxval=500)
show_labels = input.bool(true, title="Show Labels")
// Line width
line_width = input.int(1, title="Line Width", minval=1, maxval=4)
// Detect new aggregation period
bool new_agg_bar = bool(ta.change(time(agg_period)))
// Fetch previous period's high, low, close
ph = request.security(syminfo.tickerid, agg_period, high , barmerge.gaps_off, barmerge.lookahead_on)
pl = request.security(syminfo.tickerid, agg_period, low , barmerge.gaps_off, barmerge.lookahead_on)
pc = request.security(syminfo.tickerid, agg_period, close , barmerge.gaps_off, barmerge.lookahead_on)
// Calculate pivot points
pp = (ph + pl + pc) / 3
r1 = 2 * pp - pl
r2 = pp + (ph - pl)
r3 = 2 * pp + (ph - 2 * pl)
s1 = 2 * pp - ph
s2 = pp - (ph - pl)
s3 = 2 * pp - (2 * ph - pl)
// Calculate mean levels
r1m = (pp + r1) / 2
r2m = (r1 + r2) / 2
r3m = (r2 + r3) / 2
s1m = (pp + s1) / 2
s2m = (s1 + s2) / 2
s3m = (s2 + s3) / 2
// Previous high and low
hh = ph
ll = pl
// Colors
color_r = color.red
color_s = color.green
color_pp = color.blue
color_hl = color.gray
// Persistent line variables
var line line_r3 = na
var line line_r3m = na
var line line_r2 = na
var line line_r2m = na
var line line_r1 = na
var line line_r1m = na
var line line_hh = na
var line line_pp = na
var line line_ll = na
var line line_s1m = na
var line line_s1 = na
var line line_s2m = na
var line line_s2 = na
var line line_s3m = na
var line line_s3 = na
// Persistent label variables
var label lbl_r3 = na
var label lbl_r3m = na
var label lbl_r2 = na
var label lbl_r2m = na
var label lbl_r1 = na
var label lbl_r1m = na
var label lbl_hh = na
var label lbl_pp = na
var label lbl_ll = na
var label lbl_s1m = na
var label lbl_s1 = na
var label lbl_s2m = na
var label lbl_s2 = na
var label lbl_s3m = na
var label lbl_s3 = na
// Function to create or update line
create_line(line ln, float price, color col) =>
line.new(bar_index, price, bar_index + extend_bars, price, color=col, width=line_width)
// Function to create label
create_label(float price, string txt, color col) =>
label.new(bar_index + extend_bars, price, txt, style=label.style_label_left, color=color.new(col, 90), textcolor=col, size=size.small)
// On new aggregation period, delete old lines and create new ones
if new_agg_bar
// Delete old lines
line.delete(line_r3)
line.delete(line_r3m)
line.delete(line_r2)
line.delete(line_r2m)
line.delete(line_r1)
line.delete(line_r1m)
line.delete(line_hh)
line.delete(line_pp)
line.delete(line_ll)
line.delete(line_s1m)
line.delete(line_s1)
line.delete(line_s2m)
line.delete(line_s2)
line.delete(line_s3m)
line.delete(line_s3)
// Delete old labels
if show_labels
label.delete(lbl_r3)
label.delete(lbl_r3m)
label.delete(lbl_r2)
label.delete(lbl_r2m)
label.delete(lbl_r1)
label.delete(lbl_r1m)
label.delete(lbl_hh)
l
1337 v1.4 [Abrhm]In the center of the circle, there lies a small, perfectly smooth stone, unlike any natural rock. It's as if it's been shaped by hands long ago, though no one can recall who might have carved it. Every time you try to focus on it, the stone seems to shimmer and shift, just out of the corner of your eye. Some say it's an artifact from a lost civilization, others believe it’s a relic from another world entirely. {0}
Holy Grail - Value Zone Reversion ModelThis indicator is currently in BETA and is designed to highlight one of the most important intraday reference levels: the New York Midnight Open.
The yellow horizontal lines mark the exact 00:00 (NY time) opening price, giving traders a clear institutional benchmark that price frequently reacts to during the London and New York sessions. This level can be used as a directional bias, mean reversion reference, or key reaction zone.
At this stage, the script is focused solely on the Midnight Open logic to ensure accuracy, consistency, and correct New York time handling across all timeframes.
🚧 Roadmap / Future Updates
Once development is complete, additional features will be added, such as:
More session-based opening levels
Expanded market structure references
Optional confluence tools and filters
Customization and visual enhancements
This script is actively being improved, and updates will be rolled out as features are finalized.
⚠️ Risk Disclaimer
This indicator is provided for educational and informational purposes only and does not constitute financial advice, investment recommendations, or trade signals. Trading financial markets involves significant risk and may result in the loss of all invested capital. Past performance is not indicative of future results.
Users are solely responsible for their trading decisions and risk management. Always test strategies thoroughly and consult a licensed financial professional before making live trading decisions.
Support & Resistance with MA Ribbons LITE Support & Resistance with MA Ribbon LITE
Overview
Support & Resistance with MA Ribbon LITE is a technical analysis indicator for TradingView that combines a flexible Moving Average (MA) Ribbon with a dynamic Support & Resistance (S/R) system.
The indicator is designed as a visual decision-support tool, allowing traders to evaluate trend structure, momentum context, and key price reaction zones within a single, uncluttered chart overlay.
This script is published as open source under the Mozilla Public License 2.0 , encouraging transparency, learning, and community-driven development.
Core Components
1. Moving Average Ribbon System
The MA Ribbon consists of two configurable moving averages (Fast and Slow) with multiple calculation and smoothing options, including:
EMA, SMA, WMA, VWMA
DEMA, TEMA, Zero-Lag EMA
Hull MA, Linear Regression MA
Super Smoother, Smoothed MA, Laguerre MA
Key features include:
Trend-aware ribbon fill (bullish / bearish)
Optional candle coloring aligned with ribbon state
Minute-based anchor timeframe logic for consistent trend structure
Optional MA cross, swing, and continuation markers
Alert support for MA-related events
The MA Ribbon is intended to provide trend context , not standalone trade signals.
2. Support & Resistance Engine
The Support & Resistance system is based on pivot structure analysis and dynamically adapts to new price data.
Features include:
Main and strong support/resistance levels
Up to 12 active levels displayed on the chart
Preset sensitivities (Scalp, Intraday, Swing) and custom configuration
Optional multi-timeframe (MTF) level detection
Adaptive labels with automatic contrast handling
Optional strength filtering based on historical interactions
Optional heat map visualization reflecting level interaction frequency
All levels are plotted directly on the price chart for immediate contextual reference.
Alert System
The script includes a configurable alert framework covering:
Main and strong level touches
Breakouts and breakdowns
Retests of broken levels
Optional rejection detection (wick beyond a level with close back inside)
Cooldown logic to limit repeated alerts in consolidation phases
Alerts are informational only and should always be confirmed visually.
Customization & Performance
Unified color presets (Classic, Aqua, Cosmic, Ember, Neon, Custom)
Independent opacity control for MA Ribbon and candles
Modular on/off controls for MA Ribbon and S/R components
Optimized plotting to remain within TradingView limits
Designed for stable performance across lower and higher timeframes
Intended Use
This indicator is designed to assist with chart interpretation and market structure analysis. It may help users:
Identify prevailing trend conditions
Observe price behavior around structurally relevant levels
Combine trend context with horizontal market structure
Reduce chart clutter by consolidating multiple concepts into one script
This indicator is not a trading strategy, does not provide financial advice, and should be used alongside independent analysis and appropriate risk management.
How to Use
1. Chart Setup
Add the indicator to any chart and timeframe.
Both the MA Ribbon and Support & Resistance systems are enabled by default and can be managed independently via the Master Controls section.
General guidance:
Higher timeframes for structural context
Lower timeframes for execution and refinement
Applicable across different markets and instruments
2. Using the MA Ribbon
The MA Ribbon visualizes trend direction and momentum context.
General interpretation:
Price above both MAs → bullish bias
Price below both MAs → bearish bias
Ribbon color reflects trend alignment
Ribbon compression may indicate consolidation or transition
Optional features include candle coloring, MA cross markers, and filtered continuation arrows.
Best practice:
Use the MA Ribbon to identify the market regime before reacting to support or resistance levels.
MA Ribbon – Minute-Based Timeframe Logic
Anchor Timeframe (Minutes)
Anchors MA calculations to a fixed timeframe expressed in minutes.
Examples:
60 = 1 hour
240 = 4 hours
0 = use current chart timeframe
How It Works
The anchor automatically scales MA lengths so that the same trend structure is preserved across different chart timeframes.
Example (Anchor = 60):
5-minute chart → follows 1-hour structure
15-minute chart → follows the same 1-hour structure
1-hour chart → standard calculation
Show Ribbon Only If Chart TF > Anchor
Optionally hides the MA Ribbon on chart timeframes lower than the anchor to reduce visual noise.
3. Using Support & Resistance Levels
Support and resistance levels are derived from pivot structures and update dynamically.
Level types:
Main Support / Resistance (most recent and relevant)
Strong Support / Resistance (confirmed pivots)
Additional historical levels (up to 12 total)
Usage guidelines:
Focus on price behavior around levels rather than exact prices
Combine level reactions with MA Ribbon trend context
Use strength filtering to reduce weaker levels
Heat map mode highlights frequently interacted zones
4. Combining Trend and Structure
The indicator is most effective when both systems are used together:
In uptrends, focus on reactions near support
In downtrends, focus on reactions near resistance
Breakouts are more relevant when aligned with trend context
Retests gain importance when structure and trend agree
Customization Tips
Use preset sensitivities (Scalp / Intraday / Swing) for quick setup
Enable MTF S/R to reference higher-timeframe structure
Adjust label size, offset, and precision for readability
Disable unused components to improve performance on lower-end systems
This combined view helps improve contextual clarity and reduce noise.
5. Alerts Usage
Alerts are optional and fully configurable.
Cooldown settings can be used to limit repeated notifications during ranging conditions.
All alerts are informational and should be visually validated.
Open Source & Credits
This script is released as open source under the Mozilla Public License 2.0.
Parts of the MA Ribbon logic and conceptual inspiration are derived from publicly shared work by JustUncleL on TradingView.
Respect and thanks are extended for these contributions.
You are free to:
Study the code
Modify it for personal use
Share improvements under the same license terms
Disclaimer
This indicator is provided for educational and informational purposes only.
No guarantees are made regarding accuracy, performance, or outcomes.
Use at your own discretion.
Fibonacci Sequence Grid [BigBeluga]🔵 OVERVIEW
A geometric price mapping tool that projects Fibonacci sequence levels and grid structures from recent price swings to help traders visualize natural expansion and reversion zones.
This indicator overlays Fibonacci-based structures directly on the chart, utilizing both grid projections and horizontal levels based on the classic Fibonacci integer sequence (0, 1, 1, 2, 3, 5, 8, ...). It identifies recent swing highs or lows and builds precision-aligned levels based on the trend direction.
🔵 CONCEPTS
Uses the Fibonacci integer sequence (not ratios) to define distances from the most recent swing point.
Identifies a trend based on EMA cross of fast and slow periods.
Projects two types of Fibonacci tools:
A grid projection from the swing point, displaying multiple sloped levels based on the sequence.
A set of horizontal Fibonacci levels for clean structural references.
Levels can be plotted from either swing low or high depending on the current trend direction.
Adjustable “Size” inputs control spacing between levels for better price alignment.
Lookback period defines how far the script searches for recent swing extremes.
🔵 FEATURES
Fibonacci Grid Projection:
Draws two mirrored Fibonacci grids—one expanding away from the swing high/low, the other converging toward price.
Swing-Based Trend Detection:
Uses a fast/slow EMA crossover to determine trend direction and reference swing points for projections.
Fibonacci Sequence Levels:
Displays horizontal levels based on the Fibonacci number sequence (0, 1, 2, 3, 5, 8, 13, 21...) for natural price targets.
Dynamic Labels and Coloring:
Each level is labeled with its sequence value and colored based on trend direction (e.g., red = downtrend, green = uptrend).
Both grids and levels can be toggled on/off independently.
Sizing controls allow tighter or looser clustering of levels depending on chart scale.
🔵 HOW TO USE
Enable Fibonacci Grid to visualize price expansion zones during impulsive trends.
Use Fibonacci Levels as horizontal support/resistance or target zones.
A label below price means the current trend is up and levels are projected from swing low.
A label above price means trend is down and levels are projected from swing high.
Adjust “Size” input to fit grid/level projection to your preferred chart scale or instrument volatility.
Use in confluence with price action, trend indicators, or volume tools for layered trading decisions.
🔵 CONCLUSION
Fibonacci Sequence Grid reimagines Fibonacci analysis using whole-number spacing from natural math progressions. Whether used for projecting grid-based expansions or horizontal support/resistance zones, it provides a powerful and intuitive structure to trade within. Perfect for traders who rely on symmetry, market geometry, and mathematically consistent levels.
Volume Dynamic Liquidity BandsThis indicator visualizes liquidity zones on the chart by detecting areas where high-volume trading occurred. It combines volume analysis with price action to identify significant liquidity levels that traders and market makers are likely watching.
15M Swing Structure & Retracement Algo (RB Trading)This script is an intraday structure analysis tool designed to map swing behavior retracement zones and projected extensions on the fifteen minute chart. It is purpose built for EUR/USD GBP/CAD and USD/CAD and is not intended for other markets or timeframes.
The tool highlights mathematically derived retracement areas after confirmed swing formations to help traders evaluate structure rather than predict direction.
Intended Use
✓ Timeframe fifteen minute only
✓ Markets EUR/USD GBP/CAD USD/CAD
✓ Style intraday swing structure analysis
✓ Best during London and New York sessions
✓ Not designed for Asia session conditions
Core Logic
✓ Swing highs and lows detected using a configurable lookback
✓ Trend context defined by 50 and 200 EMA relationship
✓ Swing range measured between most recent confirmed pivots
✓ Key retracement zone calculated between 50 and 61.8 percent
✓ Extension reference levels projected beyond the swing range
Visual Output
✓ Swing connection line marking the measured range
✓ Retracement zone shading when price enters the 50 to 61.8 area
✓ Extension reference levels at 161.8 200 and 261.8
✓ Color coding reflects structural context
• Green for bullish structure
• Red for bearish structure
Using RB Trading DeM Bars for Confirmation
For additional confirmation users can combine this script with the free RB Trading DeM Bars indicator.
✓ The DeM Bars appear as a histogram at the bottom of the chart
✓ Best used to assess pullback quality into the retracement zone
✓ Ideal confirmation occurs when momentum fades during the pullback
✓ Expansion in momentum as price exits the zone supports continuation
The DeM Bars are not a signal tool on their own. They are designed to confirm exhaustion or reacceleration as price interacts with the structural retracement area.
Why Fifteen Minute
The calculations are calibrated for intraday behavior on the fifteen minute chart. Higher timeframes develop structure too slowly for active evaluation. Lower timeframes introduce excess noise and reduce swing reliability.
Structure Interpretation
Bullish structure
✓ 50 EMA above 200 EMA
✓ Retracements measured from swing high
✓ Extensions projected higher
Bearish structure
✓ 50 EMA below 200 EMA
✓ Retracements measured from swing low
✓ Extensions projected lower
The script reflects current structure only. It does not determine trade direction or outcome.
Inputs
✓ EMA lengths adjustable
✓ Swing lookback sensitivity
✓ Optional display toggles for zones lines and labels
✓ Reference level buffer for spread or volatility awareness
Important Notes
This tool analyzes historical price structure only. It does not provide entry signals predictions or guarantees. All levels are mathematical projections based on past price action and may or may not be respected in future movement.
Educational use only. Proper risk management is required. Test thoroughly before live application.
RB Trading
Opening Range {basic}Introduction
Opening range {basic} is a clean and reliable indicator designed to help traders visualize the opening range of a trading session with minimal setup and visual clutter.
This version focuses on the core components of opening range analysis, making it ideal for traders who want a simple, effective framework for identifying early-session structure across futures, forex and crypto markets.
Description
The indicator automatically calculates the opening range high, low and midpoint over a user-defined opening window (5m, 15m, 30m or 60m) within a selected trading session (default: NY session).
During the opening range window, the indicator dynamically tracks price to form the range. Once the opening range is complete, the high, low and midpoint are extended forward for the remainder of the session, providing clear reference levels that can be used for bias, mean reversion or breakout-based decision making.
A shaded fill highlights the opening range area, with an optional size display showing the total range in price units. Styling and logic are intentionally simplified to keep the chart clean and easy to interpret.
Features
Configurable opening range length
Choose between 5m, 15m, 30m or 60m opening ranges.
Session-based calculation
Opening range is calculated only within the selected trading session.
Opening range levels
Opening range high, low and midpoint.
Range fill & size display
Shaded fill between the opening range high and low.
Text showing total opening range size.
Clean, minimal design
Fixed line styles and thickness for clarity.
Dark and light theme support.
Minimal settings for fast, intuitive use.
Optimized performance
Designed for intraday timeframes compatible with the selected opening range length.
Terms & Conditions
This indicator is provided for educational and informational purposes only and does not constitute financial advice.
Trading involves risk and past performance is not indicative of future results.
The user assumes full responsibility for any trading decisions made using this indicator.
Sessions & Key Levels {basic}Introduction
Sessions & Key Levels {basic} is a streamlined key level indicator designed to provide traders with clear visual structure around intraday trading sessions and essential higher timeframe reference levels.
The {basic} version focuses on the most commonly used session and price levels, helping traders identify important areas of interest without overwhelming the chart. It is ideal for traders who want a clean, reliable framework for session-based and timeframe-based analysis.
Description
The indicator plots the Asia, London and New York trading sessions directly on the chart, including session boxes and key session levels. Session highs and lows update dynamically while the session is active, providing real-time context as price develops.
In addition to session levels, the indicator includes current and previous period levels from a single configurable timeframe. These levels highlight important open, high, low and midpoint references that are frequently respected by price and commonly used for intraday bias, structure and trade planning.
The {basic} version is designed to remain visually minimal, with fixed styling and simplified settings, making it easy to use straight out of the box.
Features
Global session windows
Asia, London and New York sessions.
Custom session times.
Session boxes with adaptive highs and lows.
Session levels
Open, high, low and midpoint per session.
Automatically updates during active sessions.
Clean, consistent labelling.
Previous period levels
One configurable timeframe.
Open, high, low and midpoint of the prior period.
Useful for daily or intraday reference levels.
Current period levels
Tracks live open, high, low and midpoint of the selected timeframe.
Updates dynamically as the timeframe progresses.
Simplified design
Fixed line styles and colors for clarity.
Dark and light theme support.
Minimal settings for ease of use.
Terms & Conditions
This indicator is provided for educational and informational purposes only and does not constitute financial advice.
Trading involves risk and past performance is not indicative of future results.
The user assumes full responsibility for any trading decisions made using this indicator.
MADD Monkey Pro MKDx Generation 1 Leg & Zone Mapping EngineMADD Monkey Pro MKDx G1
Function: Generation 1 Leg & Zone Mapping Engine
MKDx is a market-structure driven projection tool that maps a tradable “leg” and converts it into a high-probability entry zone, then builds a complete trade projection with Entry (Blue), Stop Loss (Orange), and Take Profit (Green). It is designed to help you see clean trade locations based on trend alignment, price action confirmation, and internal scoring filters—without forcing you to trade blindly.
MKDx QUICK START
Begin by opening MKDx and checking the Status Panel. If it says SCANNING, the engine is actively searching for a valid setup. As it scans, watch for the standby triangles (approach markers): a triangle up indicates an Incoming Long Position, while a triangle down indicates an Incoming Short Position, and the Status Panel will also display Incoming Long Position or Incoming Short Position to match what’s detected on the chart. When an incoming setup appears, you can prepare your MT5 order levels for manual execution using the indicated price markings: the Blue label is the Entry (EN) level, Green is the Take Profit (TP) level, and Orange is the Stop Loss (SL) level. Wait for confirmation of entry, because a position is only considered active once price actually touches EN—at that point, the Status Panel will switch to Long Position or Short Position. From there, MKDx maintains the position status until TP Hit or SL Hit appears. If the setup never enters, you may see No Trade (unfilled/pending) and/or EX (setup expired). Optionally, you can use MKDx alerts (subscription feature) to get notified when these key state changes occur.
BEST PRACTICES AND EXPECTATIONS
Use demo first and calibrate MKDx based on your symbol’s typical spread and volatility, your lot sizing, and your personal risk appetite. MKDx is not a guaranteed signal machine—treat it as a high-structure trade mapper that provides repeatable zones and consistent EN/SL/TP logic. For best results, combine it with session awareness (Asia/London/NY), your higher-timeframe directional bias, and your own execution rules such as spread filtering and volatility controls.
NOTES AND LIMITATIONS
Closed bars are not repainted, but leg and zone definitions can change as structure develops. This is expected behavior for any structure-based approach. All arrows, zones and counts are context tools only. They are not trade recommendations or performance guarantees. Past behavior of any configuration does not imply similar results in the future.
RISK DISCLAIMER
This script is provided for informational and educational purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instrument. Trading and investing involve significant risk, and you can lose more than your initial investment. Past performance and historical behavior do not guarantee future results. By using Madd Monkey Pro MKDx G1, you accept full responsibility for your own trading decisions and outcomes. The author is not liable for any loss or damage arising from the use of this script.
[ShoshiTrades] HTF Levels HTF Levels is a clean, lightweight multi-timeframe HTF level marker that automatically plots key “reaction” levels from 4H / Daily / Weekly / Monthly candles directly on your chart.
> What is an “HTF Level” in this script?
In this indicator, an HTF Level is created on a direction flip (pivot) between two consecutive higher-timeframe candles:
If an HTF candle is bullish and the next HTF candle turns bearish, the level is marked at the pivot boundary where the bullish candle’s Close meets the next candle’s Open (these two prices are effectively the same boundary in that flip).
If an HTF candle is bearish and the next HTF candle turns bullish, the level is marked at the pivot boundary where the bearish candle’s Close meets the next candle’s Open.
So practically: the script draws a level at the HTF Open of the “new” candle right when the
HTF flip happens — which corresponds to the Close/Open pivot boundary between the two candles.
> What it does
Plots 4H, Daily, Weekly, Monthly levels on any timeframe chart
Levels extend to the right until they get tapped, then stop extending
Optional Tapped Levels styling (separate style/color/width for tapped levels)
Optional Multilevel merge: when multiple HTF levels are close to each other, they can be stacked into one “cluster” with a combined label (helps reduce clutter)
> Why it’s useful
HTF open-based levels often act like “magnets” where price reacts, rejects, or re-tests. This indicator helps you quickly see where higher timeframe structure is sitting without drawing levels manually.
> Key settings
4H / Daily / Weekly / Monthly: enable/disable + style controls
Tapped Levels: toggle + “Use Original Line Style” option
Multilevel:
- Minimum Count (how many merged items are required for “strong” cluster styling)
- Range % (merge distance threshold)
- Offset (how far labels are pushed to the right)
> Notes
Designed to be fast and minimal, with a focus on readability. Areas where multiple HTF levels merge into a single cluster often behave like “magnets” and can attract price reactions, re-tests, or rejections. Works best when used as a context tool (structure + reaction zones), not as a standalone trading system.
© ShoshiTrades
Sultan Gold Levels (SMC, Sessions & Structure)This indicator is a comprehensive "Smart Money Concepts" (SMC) and Market Structure suite designed to declutter charts by combining multiple technical analysis tools into a single, cohesive overlay.
Instead of using separate indicators for Sessions, Market Structure, and Fibonacci levels, this script integrates them to help traders identify "Confluence" areas—specifically where structural levels align with session opens or psychological price points.
█ HOW IT WORKS & CALCULATIONS
1. Market Structure (BOS / CHoCH):
The script utilizes a Pivot High/Low algorithm (user-defined length, default 5) to identify structural points (HH, LL, LH, HL).
- Break of Structure (BOS): Triggered when price closes beyond a previous pivot. The script includes a "Real vs. Fake" validation filter.
- Validation Logic: A "Real" BOS requires the candle body to close past the level with specific volume and displacement thresholds (ATR based). Wicks piercing a level are marked as "Fake" or weak breaks.
2. Order Blocks (OB) & FVG:
- Order Blocks are identified by analyzing the last opposing candle before a significant move that breaks structure. The script filters these based on a volume/ATR strength multiplier to ensure only significant institutional candles are highlighted.
- Mitigation: The script automatically removes Order Blocks once price has revisited (mitigated) them, keeping the chart clean.
3. Session Ranges:
The script tracks and plots the Highs and Lows of major trading sessions (Asian, London, New York).
- Logic: It uses `time()` functions to capture the highest and lowest points during specific UTC hours. These levels often act as liquidity pools for the subsequent session.
4. Fibonacci & Liquidity:
- Auto-Fibonacci: Automatically anchors to the most recent significant swing high/low sequence to project retracement levels (specifically the 50% and 61.8% "Golden Pocket").
- Liquidity: Detects "Equal Highs" (EQH) and "Equal Lows" (EQL) by comparing adjacent pivot points within a percentage threshold (0.15% default), highlighting areas where stop-losses may reside.
█ FEATURES
- Multi-Timeframe Dashboard: Displays trend bias (D1, H4, H1) and current session status.
- Previous Day/Week/Month Levels: Auto-plots PDH/PDL, PWH/PWL as static support/resistance lines.
- Psychological Levels: Auto-plots round numbers (e.g., xx00, xx50).
- Customizable Alerts: Alerts for BOS, OB formation, and level touches.
█ SETTINGS
- Structure Length: Adjusts the sensitivity of the pivot detection.
- Session Times: Fully customizable time inputs for Asia/London/NY.
- Styling: Toggle specific elements (like Sessions or FVGs) on/off to suit your trading style.
█ CREDITS
This script utilizes standard Smart Money Concept theories widely discussed in the technical analysis community. The pivot detection logic is based on standard high/low comparisons common in Pine Script open-source libraries.
Camarilla Pivots with signalsThis script plots camarilla levels, S5,S4,S3, P, R3, R4, R5. This script looks for reversals off of all support/resistance levels. A signal is generated on the 5 minute if we tap the level and get a close back below.






















