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))
Punkty Pivota i Poziomy
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
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.
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.
Liquidity Zones (Pivot-based) Buyside/SellsideDescription
This indicator highlights potential liquidity zones based on confirmed swing highs and swing lows (pivot-based logic).
Buyside liquidity zones are drawn above swing highs, where short stops and breakout liquidity are likely to rest.
Sellside liquidity zones are drawn below swing lows, where long stops are typically clustered.
Zones are sized dynamically using ATR-based thickness, extended forward in time, and automatically removed once price trades through them (wick-based or close-based, configurable).
The script is designed to help traders:
Visualize areas where liquidity is likely to be targeted
Anticipate stop hunts and liquidity grabs
Improve timing around reversals, continuations, and range extremes
This tool is not a liquidation heatmap and does not rely on exchange or order book data.
Instead, it provides a price-action–based proxy for liquidity, fully compatible with ICT / SMC-style market structure analysis.
Key features :
-Pivot-based buyside & sellside liquidity zones
-ATR-adjusted zone thickness
-Automatic extension and cleanup of zones
-Adjustable sensitivity and zone limits
-Works on any market and timeframe
Smart S&D v1.0 [Breaker Blocks]Automatically marks off supply and demand zones based on previous and consequent candles.
Previous and consequent candles can be changed.
Recommend 5:3 for 15m, or 7:5 for 10m
ATR default 1
Volume confirmation off by default but there as an option
The number on bars is the number of times price has bounced off the zone. After 3 bounces (this can be changed/personalized in settings) the zone is exhausted and removed.
If price breaks through a zone, it becomes a breaker zone, flipping supply to demand, or demand to supply. Ideal for a break and retest setup.
Old Glory Exhaustion Detector / In Chart Oscillator SignalsThis custom oscillator-based indicator detects potential trend exhaustion and reversal points through overextension thresholds. It highlights overextended candle bodies in gold and plots diamonds for buy/sell signals (red/blue), regular divergences (yellow), and hidden divergences (silver). Customize lengths, thresholds, and all colors via inputs for flexible analysis across timeframes.
Market Structure Buy and Sells This indicator is based on these two indicators:
- Next Candle Predictor with Auto Hedging by HackWarrior
- Market Structure by odnac
How It Works
The Entry (Breakout): The script tracks the most recent Swing Highs and Lows. When price closes above a Swing High, it triggers a Buy Signal. When it closes below a Swing Low, it triggers a Sell Signal.
The Stop Loss (Signal #1): Unlike standard indicators that use a fixed pip amount, this uses "Signal #1"—a volatility-based calculation that finds the recent wave bottom (for buys) or wave top (for sells) to set a logical, market-based stop loss.
The Take Profit: Once the risk is defined by Signal #1, the indicator automatically projects a target based on your desired Risk:Reward Ratio (default is 1:1).
Key Features
Visual Trade Boxes: Instantly see your Profit (Green) and Loss (Red) zones on the chart the moment a signal triggers.
RSI "C" Exit (Optional): A toggleable safety switch that allows you to exit trades early if the RSI becomes overbought or oversold, protecting your gains before a reversal.
Live Backtest Table: A real-time dashboard in the corner of your chart that tracks Total Trades, Wins, Losses, and Win Rate so you can see how the strategy performs on any timeframe.
Integrated Alerts: Full support for alerts on both Buy and Sell signals.
MA Zone Candle Color 8.0This indicator plots a selected moving average (any type: EMA, VWAP, HMA, ALMA, custom composites, RVWAP, etc.) and creates a symmetrical grid of horizontal levels/bands spaced at precise, predefined increments around it. The spacing between levels can be set in two modes:
Percent (%) of the current MA value
Points (fixed price units)
The available increment sizes follow a specific geometric-like sequence (very similar to Gann square-of-9 derived steps), giving you clean, repeatable distance choices such as 0.61, 1.22, 2.44, 4.88, 9.77 points (or their percentage equivalents).
Core purpose
It visually marks exactly how far price has moved away from your chosen moving average — in multiples of the increment you selected.
Main practical use cases -
1. Measuring distance from key reference level
VWAP or EMA(20–89), Points mode, 1.22–4.88 incr.
"Price is currently 3.5 increments above VWAP" → quick context for context
2. Identifying structured price levels
Points mode + 2.44 or 4.88 increment
Treat every band as potential support/resistance or target zone
3. Comparing extension size across instruments
Percent mode, same increment value across symbols
Makes extensions visually comparable (BTC vs ETH vs SPX vs NQ)
4. Session / intraday structure mapping
RVWAP or session VWAP + Points mode
See how many "steps" price has made since session open / reset
5. Setting objective take-profit / scale-out levels
Any MA + medium increment (4.88–19.53 points)
"I'll take partials at +2×, +4×, +6× increment" — very mechanical
6. Volatility-adjusted grid (crypto/forex)
Points mode with larger increments
Prevents bands from becoming too wide/narrow during huge volatility swings
Most common combo
MA: VWAP or RVWAP (session/day reset)
Mode: Points
Increment: 1.220704 or 2.441408 or 4.8828125
Bands per side: 30–60
→ Creates a clean, evenly-spaced ladder of levels around the daily/intraday average that traders can use purely for distance measurement and objective level marking.
In short:
It's a very precise, repeatable distance ruler built around any moving average you choose — nothing more, nothing less.
SMC + Dual UT Bot buy and sell AlertsThis script is a composite indicator for TradingView (Pine Script v5) that merges Smart Money Concepts (SMC) with a Dual-instance UT Bot. It has been styled with a high-contrast "Neon Cyberpunk" theme (Cyan/Pink) and is fully compliant with the CC BY-NC-SA 4.0 license.
Here is a breakdown of its two main components:
1. Smart Money Concepts (SMC)
This portion, originally by LuxAlgo, is designed to identify institutional price levels and structural market shifts. It provides a detailed map of market structure rather than simple entry/exit signals.
Market Structure (BOS & CHoCH):
BOS (Break of Structure): Marks trend continuation (e.g., breaking a higher high in an uptrend).
CHoCH (Change of Character): Marks potential trend reversals (e.g., the first time a higher low is broken in an uptrend).
Order Blocks (OB):
Highlights specific candles where institutional buying or selling likely occurred. These act as high-probability support/resistance zones.
Neon Blue/Cyan for Bullish OBs.
Neon Pink for Bearish OBs.
Fair Value Gaps (FVG):
Identifies imbalances (gaps) in price action where the market often returns to "fill" orders.
Neon Mint for Bullish FVGs.
Neon Red for Bearish FVGs.
Premium/Discount Zones: Automatically plots the range equilibrium (50% level) to help you buy in "Discount" (low) and sell in "Premium" (high) areas.
Liquidity (EQH/EQL): Automatically detects "Equal Highs" and "Equal Lows," which are magnets for price as they represent liquidity pools (stop losses).
2. Dual UT Bot Alerts
This portion provides the actual Entry Signals. It runs two separate instances of the "UT Bot" strategy simultaneously with different sensitivity settings to filter noise.
Instance 1 (Buy Only):
Settings: Key Value = 4, ATR Period = 10 (Faster, more sensitive).
Visual: Plots a Neon Cyan "Buy" label.
Function: Looks for bullish reversals earlier to catch the start of a move.
Instance 2 (Sell Only):
Settings: Key Value = 7, ATR Period = 20 (Slower, smoother).
Visual: Plots a Neon Pink "Sell" label.
Function: Uses a wider ATR band to avoid getting shaken out of shorts too early, focusing on major downtrends.
How to Use It
The strength of this script is confluence.
Wait for a Signal: Look for a UT Bot "Buy" or "Sell" tag.
Confirm with SMC: Check if the signal aligns with SMC concepts.
Example Buy: Did the UT Bot give a "Buy" signal while price was bouncing off a Bullish Order Block?
Example Buy: Did price just sweep Liquidity (EQL) before the Buy signal?
Example Sell: Is the "Sell" signal happening inside a Premium Zone or a Bearish Fair Value Gap?
Ultimate Futures Daytrade Suite v1 - The Strategy GuideHere is the complete **Strategy Guide** translated into English.
---
# 📘 Ultimate Futures Daytrade Suite – The Strategy Guide
### 1. The Visual Legend (What is what?)
Before you trade, you need to understand the hierarchy of your lines. Not every line has the same importance.
* **🟣 Daily EMA 50 (Neon Violet):** The **"Big Boss"**. It determines the **Macro Trend**.
* *Price above:* We are primarily looking for Longs.
* *Price below:* We are primarily looking for Shorts.
* **🟢 4h EMA 50 (Neon Green):** The **"Swing Trend"**. Your most important level for **Pullback Entries** (Re-entries).
* **🟡 POC (Gold) & TPO:** The **"Magnet"**. Price often returns here.
* *Rule:* Never open a trade directly *on* the POC (Risk of "Chop"). Use it as a **Target** (Take Profit).
* **🟠 IB High/Low (Orange Lines):** The **"Daily Structure"**.
* A breakout from the IB (Initial Balance) often indicates the trend direction for the day.
* **🟥/🟩 Boxes (Supply/Demand):** Resistance and Support zones from the 1h timeframe.
* **⬜ FVG Boxes:** "Gaps" in the market that are often filled.
---
### 2. The Trading Workflow (Top-Down Method)
Go through this mental checklist before every trade:
#### Step 1: Trend Check (The Traffic Light)
Look at the **Violet Line (Daily)** and the **Green Line (4h)**.
* **Bullish:** Price is above Violet AND above Green. -> *Focus: Buy dips.*
* **Bearish:** Price is below Violet AND below Green. -> *Focus: Sell rallies.*
* **Mixed:** Price is between Violet and Green. -> *Caution! Market is undecided (Range Trading).*
#### Step 2: Location (The Context)
Where is the price currently located?
* Are we at a **Green Demand Zone**?
* Are we testing the **4h EMA 50 (Green)** from above?
* Are we at the **VWAP**?
* *Never trade in "No Man's Land"!* Wait until the price touches one of your lines.
#### Step 3: Trigger (The Execution)
Now zoom into your lower timeframe (e.g., 5min or 15min).
* Wait for a reaction at the zone.
* Use the **EMA 9 (Yellow)** as a momentum trigger. If price breaks the EMA 9 and closes above/below it, that is your "Go".
---
### 3. The Setup Blueprints
Here are the two most profitable scenarios you can trade with this script:
#### A) The "Golden Trend" Setup (Long)
* **Context:** Price > **Daily EMA (Violet)**.
* **Preparation:** Price corrects (drops) back to the **4h EMA 50 (Green)** or to the **VWAP**.
* **Confluence:** Ideally, there is also a **Demand Zone (Green Box)** or an **FVG** at that level.
* **Entry:** As soon as a candle touches the zone and closes bullish again (or reclaims the EMA 9).
* **Stop-Loss:** Below the 4h EMA 50.
* **Take-Profit:** Next **Supply Zone (Red)** or the **IB High (Orange)**.
#### B) The "Daytrade Breakout" (Intraday)
* **Context:** Price opens inside yesterday's Value Area.
* **Signal:** Price breaks through the **IB High (Orange)** with momentum.
* **Filter:** Price must be above the **VWAP**.
* **Entry:** On the retest of the IB High or directly on the breakout.
* **Target:** Price often trends in that direction for the rest of the day.
---
### 4. Warning Signals (When NOT to trade)
1. **The "Concrete Ceiling":** If you want to go Long, but the **Violet Daily EMA 50** is running directly above you. This is massive resistance. Better wait until it is broken.
2. **The "POC Dance":** If price is dancing sideways around the **Gold Line (POC)**. This is a "No-Trade Zone". Day traders lose the most money here due to fees and whipsaws.
3. **Overextension:** If price is extremely far away from the **4h EMA 50 (Green)** (Rubber Band Effect). Do not enter in the trend direction here; wait for a pullback to the line.
### Summary
Your chart is now telling you a story:
* **Violet** tells you the Direction.
* **Green** gives you the Entry.
* **Red/Green Boxes** show you the Obstacles.
* **Yellow (EMA 9)** gives you the Timing.
Good luck with the Suite! This is a setup similar to what institutional traders use.
4H Session High/Low4H Asia Session Anchor Range Description: This indicator identifies and plots the price range of the specific 4-hour candle starting at 04:00 (local time). By utilizing Multi-Timeframe (MTF) logic, the high and low boundaries (wick-to-wick) remain fixed and accurate even when scaling down to lower timeframes like the 1-minute or 5-minute charts. The levels extend horizontally to the right, providing clear institutional support and resistance zones based on the early morning volatility.
8:00 to 8:15 ORB BOXNY 8:00–8:15 Opening Box + Midpoint (Today Only)
This indicator highlights the New York 8:00–8:15 AM (ET) opening range by automatically drawing a price box and midpoint for the current trading day only.
During the 8:00–8:15 window, the indicator tracks the highest high and lowest low. Once the window ends, it plots:
A horizontal opening range box extending to the right
A midpoint line representing the equilibrium of the range
At the start of each new New York trading day, the previous day’s box and midpoint are automatically removed, keeping the chart clean and focused on the current session.
Key Features
Fixed New York time (ET) session handling
Automatically updates every trading day
Displays range high, range low, and midpoint
Box and midpoint extend forward for intraday reference
Customizable color and transparency
Designed for intraday trading and market structure analysis
Common Use Cases
Identifying early-session balance and bias
Measuring volatility expansion after the NY open
Acting as support/resistance reference levels
Combining with ORB, liquidity, or momentum strategies
This tool is especially useful for index futures, forex, and metals, where the New York session plays a major role in daily price discovery.
If you want, I can also:
Shorten this for a TradingView publish page
Rewrite it more “technical” or more beginner‑friendly
Add a disclaimer or school‑project version
GoldenZoneORBTOS Draws High/Low of Opening 15 Minutes of the day and then adds in Key Fib levels off that range with a middle golden zone for retracement/support/resistance based on ORB. Works well combined with other indicators like Anchored VWAP
Daily/Weekly FVG by KrisThis indicator is a Multi-Timeframe (MTF) tool designed to automatically identify and project Fair Value Gaps (Imbalances) from Daily and Weekly timeframes onto your current chart. It helps traders locate higher-timeframe Areas of Interest (POI) and liquidity voids without manually switching charts.
How it works:
The script utilizes `request.security` to fetch High and Low data from Daily and Weekly timeframes. It identifies a Fair Value Gap (FVG) based on the 3-candle formation logic where price moves inefficiently, leaving a gap between the wicks.
- Bullish FVG: Identified when the current Daily/Weekly Low is greater than the High of the candle from 2 periods ago.
- Bearish FVG: Identified when the current Daily/Weekly High is lower than the Low of the candle from 2 periods ago.
The indicator draws a box extending to the right to visualize the zone, along with a dotted midline which often acts as a sensitive support/resistance level.
Unique Feature: Smart Mitigation (Auto-Hide)
To keep your chart clean and focused on relevant data, the script includes a "Full Fill" logic. It continuously monitors price action relative to existing FVG boxes.
- If price completely crosses through a box (fully fills the gap), the indicator considers it "mitigated" and automatically hides the box and its midline (sets transparency to 100%).
- This ensures you only see "fresh" or unfilled gaps that are still relevant for trading.
Settings:
- TF Checkboxes (Daily/Weekly FVG): Toggle the visibility of Daily or Weekly gaps independently based on your analysis needs.
- Design Mode:
Colored: Uses classic Green (Bullish) and Red (Bearish) colors for easy trend identification.
Monochrome: Uses Gray tones for a minimalist look that reduces visual noise on the chart.
Usage:
Use these zones to identify potential reversal points or liquidity targets. Since these are higher-timeframe levels, they often carry more weight than intraday imbalances.
[RoyalNeuron] RSI-SMA-PIVOT [WidowMaker v2.0]Hey guys 👋
Spent a bit of time tinkering with the original WidowMaker and figured the next logical step was adding price pivot, and honestly, it’s made a decent difference when you use it right.
Thinking out of the box here, and it looks good.
The core is still the same clean, zero-lag smoothed RSI (pick SMA or EMA) with green/red momentum histogram that helps you see real strength or weakness without all the usual rubbish.
What’s new in v2.0:
- Price pivots (high/low) now show up, but only when RSI is in the right zone
- Pivot High only appears when RSI > 65 (overbought area)
- Pivot Low only when RSI < 35 (oversold area)
- This filters out a ton of fake pivots and keeps things useful
Quick way I’ve been using it:
Look for overbought/oversold areas first (faint red/green shading helps spot them fast).
Then wait for the pivot to print in that zone.
If you time it correctly (with price action or structure), the combo works really nicely – especially on 1H and above.
It’s still 100% free, open-source, colours fully customisable, and I’m using it myself every day.
Would love your honest take: does the pivot filter help you? Any pairs/timeframes it shines on? Anything you’d change?
Cheers for checking it out – more updates coming soon!
© RoyalNeuron 2025 | Open Source (CC BY-NC-SA 4.0)
Auto Fibo Pivot [Ultimate MTF]Stocks: Locks lines during market hours (09:00-15:30) and switches to "Preview Mode" (Next Day) after market close.
Forex/Crypto: Always Fixed Mode (24h).
Multi-Timeframe (MTF): Select between Auto Daily, Weekly, Monthly, or Yearly pivots.
Fully Customizable: Easily change Fibonacci ratios and colors in the settings.
No Repaint: Stable lines on 1-minute charts.
自動判別・マルチタイムフレーム対応のフィボナッチピボット
株・為替を自動判別し、最適なモードで動作する実戦向けインジケーターです。
主な機能:
自動判別機能:
日本株: ザラ場中はラインを完全固定。15:30以降は自動で「明日の予習モード」に切り替わります。
為替・仮想通貨: 24時間常時固定モードで動作します。
Basic Key Levels | Feng FuturesKey Levels | Feng Futures (Basic) automatically plots the most essential daily reference levels used by futures traders to establish intraday context and structure.
This lightweight version focuses on the three levels that matter most for session bias and liquidity reference:
Previous Day High (PDH)
Previous Day Low (PDL)
Session Open (18:00 NY for futures)
These levels are commonly used by professional and institutional participants as decision points for:
directional bias
continuation vs. reversal context
risk definition and invalidation
Features:
• Auto-plotted PDH and PDL
• Futures session open (18:00 NY)
• Clean, non-repainting levels
• Lines extend forward for intraday use
• Optional price labels pinned to the right edge
• Minimal design to reduce chart clutter
• Full color, width, and label customization
• Optimized for intraday futures trading
This indicator does not provide trade signals or alerts.
It is designed to support planning, execution, and review within your own trading framework.
Best used on:
ES, NQ, RTY, YM (intraday timeframes)
PDH / PDL levels can be used as take profit targets or to help form bias. For example, if we break out of PDH, we may look for longs.
Disclaimer:
This indicator is for educational purposes only and does not constitute financial advice. Trading futures involves significant risk and may not be suitable for all investors. Always do your own research and use proper risk management.
ICT Levels PDH/PDL/IB/JP/WH/WL/PDCA lightweight reference-level indicator designed for ICT-style execution and prop-evaluation trading.
This script plots only the core, high-signal levels used intraday:
Prior Day High / Low (PDH / PDL)
Initial Balance High / Low (IBH / IBL)
Job Pivot (previous day pivot)
Weekly High / Low
PDC
Right-anchored labels for quick price reference
No signals, no bias — levels only






















