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.
ICT Premium & Discount ZonesICT Premium & Discount Zones
Visualize key market zones with precision using the ICT Premium / Discount Zones indicator. This tool highlights areas of Premium (overbought), Equilibrium (balanced), and Discount (oversold) based on previous daily, weekly, and monthly price ranges, helping traders identify high-probability zones for entries, exits, and risk management.
Features:
- Premium, Equilibrium, and Discount Zones plotted directly on your chart.
- Flexible timeframe support: Works on intraday, daily, weekly, and monthly charts.
- Customizable colors and transparency: Easily differentiate zones for quick analysis.
- Label options: Highlight each zone with small, normal, or tiny labels.
- Automatically selects daily, weekly, or monthly zones based on your current chart timeframe.
- Zones and labels automatically refresh with new daily, weekly, and monthly data.
- Configurable lookback period: Control the number of bars displayed for zone visualization.
Use Cases:
- Identify overbought and oversold areas in trending or ranging markets.
- Plan entries near discount zones and exits near premium zones.
- Incorporate into ICT-style or price-action strategies for enhanced precision.
- Works for forex, futures, indices, and crypto markets.
How it Works:
The indicator calculates previous high, low, and midpoint levels for the chosen timeframe and draws zones:
Premium Zone: Top portion of the range (overbought).
Equilibrium Zone: Middle portion of the range (balance point).
Discount Zone: Bottom portion of the range (oversold).
Perfect for:
Traders seeking clear visual support/resistance zones and enhanced ICT-style trading precision.
⚠️ Double Printing / Weekend Zones:
On intraday charts (4H, 1H), previous day zones may appear twice depending on the time of day. For stocks or markets closed RTH charts or over the weekend, the indicator may repeat the last available daily zone. Users should verify zone relevance with current price action.
It doesn’t invalidate the zones, but users need to interpret them with context.
⚠️ Disclaimer
This indicator is for educational and analytical purposes only.
Trading carries inherent risks. Past performance does not guarantee future results. By using ICT Confluence Engine you acknowledge that all trading decisions are your own. The creators of this indicator are not responsible for any gains or losses resulting from the use of this tool.
✨ Access:
If you find this ICT tool useful, consider adding it to your favorites and sharing feedback. Check out our other indicators available at our website.
If you'd like access or have any questions, feel free to reach out to me directly via DM.
SLT Market Profile Single PrintsWhat is a "Single Print"?
In a normal trading environment, price moves back and forth, allowing multiple 30-minute bars to trade over the same price levels. This creates "value" because both buyers and sellers agree to trade at those prices.
However, when institutional players enter the market with extreme conviction, price can "rocket" or "plummet" so quickly that only one single 30-minute bar touches certain price levels. These are known as Single Prints. They represent an "unfinished auction" - a gap in the market's structure where price moved too fast to establish a fair value area.
How this Indicator Works?
This script monitors the price action of every 30-minute bar throughout the session to identify these rare moments of extreme imbalance where there is no overlap of multiple bars.
NOTE: As Market Profile uses 30m bars, this script will ONLY work on a a 30m timeframe chart.
Finding the Gaps: The indicator looks for price zones that were visited by only one 30-minute bar during the entire day.
Filtering the Edges (Tails): Often, the very highest or lowest prices of the day are touched by only one bar as the market reverses. These are common "tails." This indicator automatically ignores those edges and focuses only on imbalances that occur in the middle of the day’s range
Origin Tracking: The script identifies the exact 30-minute bar where the move started and begins the visualization from that specific point in time.
Once a "Single Print" is detected, the indicator draws two horizontal lines marking the top and bottom of the imbalance zone (the price range where only a single 30m bar was traded). These lines stay active and extend into the future as a "magnet" for future price action.
Indicator Parameters
The indicator has the following parameters:
Tick Grouping - It determines how much "room" we give a price level to be considered the same. A value of 1 means that every tick is unique, a value of 4 means that every 4 ticks are grouped together and so on. For instruments with low tick value (like stocks or forex) it is recommended to use a value greater than 1, otherwise the performance of the indicator may suffer.
Single Print Color - Sets the color for the horizontal "single" dashed lines.
Max Active Singles - Limits the total number of "unfilled" zones tracked on the chart at one time.






















