Pivot Points - Market Structure with percent changeRULES:
1) Inputs that control pivots
• leftBars: how many bars to the left of the pivot must be lower (for a high pivot) or higher (for a low pivot).
• rightBars: how many bars to the right of the pivot must be lower (for a high pivot) or higher (for a low pivot).
These two values define the “strictness” of a swing.
2) Pivot High logic (ta.pivothigh)
A pivot high is confirmed at bar t when:
• The high at t is the maximum within the window:
○ from t - leftBars through t + rightBars
• In practical terms:
○ the prior leftBars bars have highs below that high
○ the next rightBars bars have highs below that high
In code:
• ph = ta.pivothigh(high, leftBars, rightBars)
Behavior:
• ph returns the pivot high price, but only after rightBars future bars have printed.
• Until then it returns na.
Where it is plotted:
• When ph is confirmed on the current bar, the actual pivot occurred rightBars bars ago, so we place the label at:
○ pivotBar = bar_index - rightBars
○ price = ph
3) Pivot Low logic (ta.pivotlow)
A pivot low is confirmed at bar t when:
• The low at t is the minimum within the window:
○ from t - leftBars through t + rightBars
• In practical terms:
○ the prior leftBars bars have lows above that low
○ the next rightBars bars have lows above that low
In code:
• pl = ta.pivotlow(low, leftBars, rightBars)
Same confirmation behavior:
• pl only becomes non-na after rightBars bars have passed.
• The label is plotted at bar_index - rightBars.
4) Confirmation delay (important)
Because pivots need “future” bars to confirm, every pivot is lagged by rightBars bars. This is expected and correct: it prevents repainting of the pivot point once confirmed.
5) The alternation rule (your added constraint)
On top of the raw pivot detection above, the script enforces:
• You cannot accept another pivot high until a pivot low has been accepted.
• You cannot accept another pivot low until a pivot high has been accepted.
Implementation:
• Track lastAccepted = "high" or "low".
• Only process pivotHigh when lastAccepted != "high".
• Only process pivotLow when lastAccepted != "low".
This is what prevents consecutive HHs (or LHs) printing without an intervening HL/LL pivot, and vice versa.
REALTIME BARS THAT ARE NOT REPAINTED BUT HAVE A 3 BAR DELAY ON THE CHART TIMEFRAME:
The confirmation delay is exactly rightBars bars.
• A pivot is only confirmed after rightBars future bars have printed.
• So the signal arrives rightBars × your chart timeframe after the actual turning point.
Examples:
• If rightBars = 3:
○ On a Daily chart: ~3 trading days after the pivot bar.
○ On a 65-minute chart: 3 × 65 = 195 minutes (about 3h 15m) after the pivot bar.
○ On a 10-minute chart: 30 minutes after the pivot bar.
Note: the pivot label is plotted back on the pivot bar (bar_index - rightBars), but you only learn it rightBars bars later.
チャートパターン
Consolidation zones + BreakoutThis Pine Script v6 indicator is designed to detect consolidation zones and mark breakout entries (long or short) when price exits those zones.
Indicator purpose
Identify periods where price moves in a tight range for several consecutive bars (consolidation).
Highlight those zones on the chart with a yellow shaded area between the local high and low.
Mark potential LONG and SHORT entries when price breaks out of a consolidation zone.
Core consolidation logic
The indicator measures whether the market is “compressed” by comparing the price range of recent bars with volatility measured via ATR:
It computes the highest high and lowest low of the last lookback bars:
rangeHigh = ta.highest(high, lookback)
rangeLow = ta.lowest(low, lookback)
It calculates the current range:
rng = rangeHigh - rangeLow
It calculates ATR over atrLen bars as a volatility benchmark:
atrVal = ta.atr(atrLen)
It defines a compressed range (base consolidation) when the range is smaller than a multiple of ATR:
baseConso = rng < atrVal * atrMult
Here, atrMult controls how tight the range must be. Lower values (0.8–1.0) require strong compression; higher values (1.5–2.0) are more permissive.
Minimum bars in consolidation
To avoid calling a very short pause a consolidation, the script enforces a minimum duration:
It uses ta.barssince(not baseConso) to count how many bars have passed since the last time the consolidation condition was false.
If that count is greater than or equal to minBars, the market is considered to be in consolidation:
text
isConsolidating = ta.barssince(not baseConso) >= minBars
This prevents 2–3 sideways bars from being treated as a full consolidation zone. The minBars input lets you adapt the duration to your timeframe and trading style.
Plotting the consolidation zone
When isConsolidating is true, the script shades the consolidation area:
It plots two invisible series for the zone’s high and low:
text
pHigh = plot(rangeHigh, display = display.none)
pLow = plot(rangeLow, display = display.none)
It creates a yellow semi‑transparent fill between those lines only while in consolidation:
text
fillColor = isConsolidating ? color.new(#ffeb3b, 80) : color.new(#ffeb3b, 100)
fill(pHigh, pLow, color = fillColor, title = "Consolidation Zone")
Outside consolidation, the color becomes almost fully transparent so the shaded zone disappears. This keeps the chart clean and focuses attention on the actual ranges.
Breakout detection (LONG / SHORT)
The script then looks for breakouts when price leaves a consolidation zone:
It checks if the previous bar was inside consolidation:
wasConso = isConsolidating
A bullish breakout (LONG) occurs when:
The current bar is no longer in consolidation (not isConsolidating).
The previous bar was in consolidation (wasConso).
The close breaks above the previous consolidation high (close > rangeHigh ):
text
breakLong = not isConsolidating and wasConso and close > rangeHigh
A bearish breakout (SHORT) occurs when:
The current bar is no longer in consolidation.
The previous bar was in consolidation.
The close breaks below the previous consolidation low (close < rangeLow ):
text
breakShort = not isConsolidating and wasConso and close < rangeLow
On each breakout, a label is drawn at the breakout bar:
text
if breakLong
label.new(bar_index, low, "LONG",
style = label.style_label_up,
textcolor = color.white,
color = color.new(color.teal, 0),
size = size.tiny)
if breakShort
label.new(bar_index, high, "SHORT",
style = label.style_label_down,
textcolor = color.white,
color = color.new(color.red, 0),
size = size.tiny)
These labels highlight where price transitions from sideways action to a potential directional move.
User inputs and tuning
lookback (Bars for range)
Number of bars used to compute the consolidation high/low. Higher values produce wider, less frequent zones; lower values detect shorter consolidations.
minBars (Minimum bars in consolidation)
Minimum number of consecutive bars that must meet the compression condition. On 15‑minute charts, values between 6 and 12 often work, but this depends on the asset.
atrLen and atrMult
Control how strict the compression rule is.
atrLen: ATR period.
atrMult: maximum allowed range as a multiple of ATR.
Increasing atrMult finds more zones; decreasing it makes the filter stricter.
showText
Optional helper label with a short description, useful when sharing the script with other users on the TradingView community.
Practical usage
Apply the indicator to your preferred timeframe (for example, 15‑minute crypto charts).
Tweak lookback, minBars, and atrMult until the yellow zones match the consolidations you would mark manually.
Use the LONG and SHORT labels as areas of interest for studying range breakouts and building your own entry/exit rules, always combining them with risk management and a complete trading strategy.
This way, the script turns a visual concept—sideways consolidation followed by breakout—into a systematic, testable signal in Pine Script v6.
Sequential 9(Setup Count)- KoRCThis indicator is a simplified Sequential 9-count (Setup 9) tool inspired by widely known “sequential counting” concepts. It detects potential exhaustion points by counting consecutive closes relative to the close 4 bars earlier:
Buy Setup (DIP): close < close for 9 consecutive bars (optional strict mode: <=)
Sell Setup (TOP): close > close for 9 consecutive bars (optional strict mode: >=)
Enhancements / Filters (optional):
Trend filter (default ON): uses EMA(200) as a macro trend filter and EMA(20) as a fast context filter.
Volatility filter (optional): ignores signals in low-volatility regimes using ATR% threshold.
Dedupe (default ON): prevents repeated signals within a short window (one-shot per swing concept).
Perfected highlight:
Signals are visually emphasized when a simple “perfected” condition is met (bar 8 or 9 extends beyond recent reference highs/lows), displayed with brighter colors.
How to use:
Use DIP/TOP labels as potential exhaustion alerts, not standalone trade signals. Combine with your own risk management and confirmation tools.
Disclaimer:
Not affiliated with or endorsed by any third-party. This script is provided for educational/visualization purposes only and does not constitute financial advice.
Sequential 9(Setup Count)- KoRCThis indicator is a simplified Sequential 9-count (Setup 9) tool inspired by widely known “sequential counting” concepts. It detects potential exhaustion points by counting consecutive closes relative to the close 4 bars earlier:
Buy Setup (DIP): close < close for 9 consecutive bars (optional strict mode: <=)
Sell Setup (TOP): close > close for 9 consecutive bars (optional strict mode: >=)
Enhancements / Filters (optional):
Trend filter (default ON): uses EMA(200) as a macro trend filter and EMA(20) as a fast context filter.
Volatility filter (optional): ignores signals in low-volatility regimes using ATR% threshold.
Dedupe (default ON): prevents repeated signals within a short window (one-shot per swing concept).
Perfected highlight:
Signals are visually emphasized when a simple “perfected” condition is met (bar 8 or 9 extends beyond recent reference highs/lows), displayed with brighter colors.
How to use:
Use DIP/TOP labels as potential exhaustion alerts, not standalone trade signals. Combine with your own risk management and confirmation tools.
Disclaimer:
Not affiliated with or endorsed by any third-party. This script is provided for educational/visualization purposes only and does not constitute financial advice.
[CodaPro] Multi-Timeframe RSI Dashboard v1.1
v1.1 Update - Fixed Panel Positioning
After initial release, I realized the indicator was displaying overlayed on the price chart instead of in its own panel. This has been corrected!
Changes:
- Fixed: Indicator now displays in separate subpanel below price chart (much cleaner!)
- Improved: 5min and 1H RSI lines are now bold and prominent for easier reading
- Improved: 15min, 4H, and Daily lines are subtle/transparent for context
- Updated: Default levels changed to 40/60 (tighter, high-conviction signals)
- Updated: All 5 timeframes now active by default (toggle any off in settings)
Thanks for the patience on this quick fix! The indicator should now display properly in its own panel below your price chart.
If you were using v1.0, please remove it from your chart and re-add the updated version.
Happy trading!
Multi-Timeframe RSI Dashboard
This indicator displays RSI (Relative Strength Index) values from five different timeframes simultaneously in a clean dashboard format, helping traders identify momentum alignment across multiple time periods.
═══════════════════════════════════════
FEATURES
✓ Displays RSI for 5 customizable timeframes
✓ Color-coded status indicators (Oversold/Neutral/Overbought)
✓ Clean table display positioned in chart corner
✓ Fully customizable RSI length and threshold levels
✓ Works on any instrument and timeframe
✓ Real-time updates as price moves
✓ Smart BUY/SELL signals with cooldown system
✓ Non-repainting - signals never disappear after appearing
═══════════════════════════════════════
HOW IT WORKS
The indicator calculates the standard RSI formula for each selected timeframe and displays the results in both a graph and organized table. Default timeframes are:
- 5-minute
- 15-minute
- 1-hour
- 4-hour (optional - hidden by default)
- Daily (optional - hidden by default)
Visual Display:
- Graph shows all RSI lines in subtle, transparent colors
- Lines don't overpower your price chart
- Dashboard table shows exact values and status
Color Coding:
- GREEN = RSI below 32 (traditionally considered oversold)
- YELLOW = RSI between 32-64 (neutral zone)
- RED = RSI above 64 (traditionally considered overbought)
All timeframes and thresholds are fully adjustable in the indicator settings.
═══════════════════════════════════════
SIGNAL LOGIC
BUY Signal:
- Triggers when ALL 3 primary timeframes drop below the buy level (default: 32)
- Arrow appears near the RSI lines for easy identification
- 120-minute cooldown prevents signal spam
SELL Signal:
- Triggers when ALL 3 primary timeframes rise above the sell level (default: 64)
- Arrow appears near the RSI lines for easy identification
- 120-minute cooldown prevents signal spam
The cooldown system ensures you only see HIGH-CONVICTION signals, not every minor fluctuation.
═══════════════════════════════════════
SCREENSHOT FEATURES VISIBLE
- Multi-timeframe RSI lines (5min, 15min, 1H) in subtle colors
- Smart BUY/SELL signals with cooldown system
- Real-time dashboard showing current RSI values
- Clean, professional design that doesn't clutter your chart
═══════════════════════════════════════
DEFAULT SETTINGS
- Buy Signal Level: 32 (all 3 timeframes must cross below)
- Sell Signal Level: 64 (all 3 timeframes must cross above)
- Signal Cooldown: 24 bars (120 minutes on 5-min chart)
- Active Timeframes: 5min, 15min, 1H (4H and Daily can be enabled)
- RSI Length: 14 periods (standard)
═══════════════════════════════════════
CUSTOMIZABLE SETTINGS
- RSI Length (default: 14)
- Oversold Level (default: 32)
- Overbought Level (default: 64)
- Buy Signal Level (default: 32)
- Sell Signal Level (default: 64)
- Signal Cooldown in bars (default: 24)
- Five timeframe selections (fully customizable)
- Toggle visibility for each timeframe
- Toggle dashboard table on/off
- Toggle arrows on/off
═══════════════════════════════════════
HOW TO USE
1. Add the indicator to your chart
2. Customize timeframes in settings (optional)
3. Adjust RSI length and threshold levels (optional)
4. Monitor the dashboard for multi-timeframe alignment
INTERPRETATION:
When multiple timeframes show the same condition (all oversold or all overbought), it can indicate stronger momentum in that direction. For example:
- Multiple timeframes showing oversold may suggest a potential bounce
- Multiple timeframes showing overbought may suggest potential weakness
However, RSI alone should not be used as a standalone signal. Always combine with:
- Price action analysis
- Support/resistance levels
- Trend analysis
- Volume confirmation
- Other technical indicators
═══════════════════════════════════════
EDUCATIONAL BACKGROUND
RSI (Relative Strength Index) was developed by J. Welles Wilder Jr. and introduced in his 1978 book "New Concepts in Technical Trading Systems." It measures the magnitude of recent price changes to evaluate overbought or oversold conditions.
The RSI oscillates between 0 and 100, with readings:
- Below 30 traditionally considered oversold
- Above 70 traditionally considered overbought
- Around 50 indicating neutral momentum
Multi-timeframe analysis helps traders understand whether momentum conditions are aligned across different time horizons, potentially providing more robust signals than single-timeframe analysis alone.
═══════════════════════════════════════
NON-REPAINTING GUARANTEE
This indicator uses confirmed bar data to prevent repainting:
- All RSI values are calculated from previous bar's close
- Signals only fire when the bar closes (not mid-bar)
- What you see in backtest = what you get in live trading
- No signals will disappear after they appear
This is critical for reliable trading signals and accurate backtesting.
═══════════════════════════════════════
VISUAL DESIGN PHILOSOPHY
The indicator is designed with a "less is more" approach:
- Transparent RSI lines (60% opacity) keep price candles as the focal point
- Thin lines reduce visual clutter
- Arrows positioned near RSI levels (not floating randomly)
- Background flashes provide extra visual confirmation
- Dashboard table is compact and non-intrusive
The goal is to provide powerful multi-timeframe analysis without overwhelming your chart.
═══════════════════════════════════════
TECHNICAL NOTES
- Uses standard request.security() calls for multi-timeframe data
- Non-repainting implementation with proper lookahead handling
- Minimal performance impact
- Compatible with all instruments and timeframes
- Written in Pine Script v6
═══════════════════════════════════════
IMPORTANT DISCLAIMERS
- This is an educational tool for technical analysis
- Past RSI patterns do not guarantee future results
- No indicator is 100% accurate
- Always use proper risk management
- Consider multiple factors before making trading decisions
- This indicator does not provide buy/sell recommendations
- Consult with a qualified financial advisor before trading
═══════════════════════════════════════
LEARNING RESOURCES
For traders new to RSI, consider studying:
- J. Welles Wilder's original RSI methodology
- RSI divergence patterns
- RSI in trending vs ranging markets
- Multi-timeframe analysis techniques
═══════════════════════════════════════
Disclaimer
This tool was created using the CodaPro Pine Script architecture engine — designed to produce robust trading overlays, educational visuals, and automation-ready alerts. It is provided strictly for educational purposes and does not constitute financial advice. Always backtest and demo before applying to real capital.
EL OJO DE DIOS - FINAL (ORDEN CORREGIDO)//@version=6
indicator("EL OJO DE DIOS - FINAL (ORDEN CORREGIDO)", overlay=true, max_boxes_count=500, max_lines_count=500, max_labels_count=500)
// --- 1. CONFIGURACIÓN ---
grpEMA = "Medias Móviles"
inpShowEMA = input.bool(true, "Mostrar EMAs", group=grpEMA)
inpEMA21 = input.int(21, "EMA 21", minval=1, group=grpEMA)
inpEMA50 = input.int(50, "EMA 50", minval=1, group=grpEMA)
inpEMA200 = input.int(200, "EMA 200", minval=1, group=grpEMA)
grpStrategy = "Estrategia"
inpTrendTF = input.string("Current", "Timeframe Señal", options= , group=grpStrategy)
inpADXFilter = input.bool(true, "Filtro ADX", group=grpStrategy)
inpADXPeriod = input.int(14, "Período ADX", group=grpStrategy)
inpADXLimit = input.int(20, "Límite ADX", group=grpStrategy)
inpRR = input.float(2.0, "Riesgo:Beneficio", group=grpStrategy)
grpVisuals = "Visuales"
inpShowPrevDay = input.bool(true, "Máx/Mín Ayer", group=grpVisuals)
inpShowNY = input.bool(true, "Sesión NY", group=grpVisuals)
// --- 2. VARIABLES ---
var float t1Price = na
var bool t1Bull = false
var bool t1Conf = false
var line slLine = na
var line tpLine = na
// Variables Prev Day
var float pdH = na
var float pdL = na
var line linePDH = na
var line linePDL = na
// Variables Session
var box nySessionBox = na
// --- 3. CÁLCULO ADX MANUAL ---
f_calcADX(_high, _low, _close, _len) =>
// True Range Manual
tr = math.max(_high - _low, math.abs(_high - _close ), math.abs(_low - _close ))
// Directional Movement
up = _high - _high
down = _low - _low
plusDM = (up > down and up > 0) ? up : 0.0
minusDM = (down > up and down > 0) ? down : 0.0
// Smoothed averages
atr = ta.rma(tr, _len)
plus = 100.0 * ta.rma(plusDM, _len) / atr
minus = 100.0 * ta.rma(minusDM, _len) / atr
// DX y ADX
sum = plus + minus
dx = sum == 0 ? 0.0 : 100.0 * math.abs(plus - minus) / sum
adx = ta.rma(dx, _len)
adx
// --- 4. CÁLCULO DE DATOS ---
ema21 = ta.ema(close, inpEMA21)
ema50 = ta.ema(close, inpEMA50)
ema200 = ta.ema(close, inpEMA200)
// MTF Logic
targetTF = inpTrendTF == "Current" ? timeframe.period : inpTrendTF == "15m" ? "15" : "60"
// CORRECCIÓN AQUÍ: Uso de argumentos nominales (gaps=, lookahead=) para evitar errores de orden
f_getSeries(src, tf) =>
tf == timeframe.period ? src : request.security(syminfo.tickerid, tf, src, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)
tf_close = f_getSeries(close, targetTF)
tf_high = f_getSeries(high, targetTF)
tf_low = f_getSeries(low, targetTF)
tf_ema21 = ta.ema(tf_close, inpEMA21)
tf_ema50 = ta.ema(tf_close, inpEMA50)
// Calcular ADX
float tf_adx = f_calcADX(tf_high, tf_low, tf_close, inpADXPeriod)
// Cruces
bool crossUp = ta.crossover(tf_ema21, tf_ema50)
bool crossDown = ta.crossunder(tf_ema21, tf_ema50)
bool crossSignal = crossUp or crossDown
bool adxOk = inpADXFilter ? tf_adx > inpADXLimit : true
// --- 5. LÓGICA DE SEÑALES ---
if crossSignal and adxOk and barstate.isconfirmed
t1Price := tf_ema21
t1Bull := tf_ema21 > tf_ema50
t1Conf := false
if not na(slLine)
line.delete(slLine)
slLine := na
if not na(tpLine)
line.delete(tpLine)
tpLine := na
label.new(bar_index, high + (ta.atr(14)*0.5), text="CRUCE T1", color=t1Bull ? color.green : color.red, textcolor=color.white, size=size.small)
bool touch = false
if not na(t1Price) and not t1Conf
if t1Bull
touch := low <= t1Price and close >= t1Price
else
touch := high >= t1Price and close <= t1Price
if touch and barstate.isconfirmed
t1Conf := true
float atr = ta.atr(14)
float sl = t1Bull ? low - (atr*0.1) : high + (atr*0.1)
float dist = math.abs(t1Price - sl)
float tp = t1Bull ? t1Price + (dist * inpRR) : t1Price - (dist * inpRR)
label.new(bar_index, t1Price, text="ENTRADA", color=color.yellow, textcolor=color.black, size=size.small)
slLine := line.new(bar_index, sl, bar_index + 15, sl, color=color.red, style=line.style_dashed, width=2)
tpLine := line.new(bar_index, tp, bar_index + 15, tp, color=color.green, style=line.style_dashed, width=2)
// --- 6. GRÁFICO ---
col21 = ema21 > ema21 ? color.teal : color.maroon
col50 = ema50 > ema50 ? color.aqua : color.fuchsia
col200 = ema200 > ema200 ? color.blue : color.red
plot(inpShowEMA ? ema21 : na, "EMA21", color=col21, linewidth=2)
plot(inpShowEMA ? ema50 : na, "EMA50", color=col50, linewidth=2)
plot(inpShowEMA ? ema200 : na, "EMA200", color=col200, linewidth=2)
bgcolor(ema50 > ema200 ? color.new(color.green, 95) : color.new(color.red, 95))
// --- 7. SESIÓN NY ---
isNYSummer = (month(time) == 3 and dayofmonth(time) >= 14) or (month(time) > 3 and month(time) < 11)
hourOffset = isNYSummer ? 4 : 5
nyHour = (hour - hourOffset) % 24
bool isSession = nyHour >= 6 and nyHour < 11
if isSession and inpShowNY
if na(nySessionBox)
nySessionBox := box.new(bar_index, high, bar_index, low, bgcolor=color.new(color.blue, 92), border_color=color.new(color.white, 0))
else
box.set_right(nySessionBox, bar_index)
box.set_top(nySessionBox, math.max(high, box.get_top(nySessionBox)))
box.set_bottom(nySessionBox, math.min(low, box.get_bottom(nySessionBox)))
if not isSession and not na(nySessionBox)
box.delete(nySessionBox)
nySessionBox := na
// --- 8. MÁX/MÍN AYER ---
hCheck = request.security(syminfo.tickerid, "D", high , lookahead=barmerge.lookahead_on)
lCheck = request.security(syminfo.tickerid, "D", low , lookahead=barmerge.lookahead_on)
if not na(hCheck)
pdH := hCheck
if not na(lCheck)
pdL := lCheck
if barstate.islast and inpShowPrevDay
line.delete(linePDH)
line.delete(linePDL)
if not na(pdH)
linePDH := line.new(bar_index - 50, pdH, bar_index, pdH, color=color.green)
if not na(pdL)
linePDL := line.new(bar_index - 50, pdL, bar_index, pdL, color=color.red)
alertcondition(crossSignal, "Cruce T1", "Cruce Tendencia 1")
alertcondition(touch, "Entrada Confirmada", "Entrada Confirmada")
Donchian Channels (Multi Time Frame) x 3)📊 MTF Donchian Channels Pro — Triple Timeframe Structure
MTF Donchian Channels Pro is a professional-grade multi-timeframe market structure indicator designed to help traders visualize trend, momentum, and execution zones on a single chart.
This tool allows you to plot up to three independent Donchian Channels, each with its own configurable timeframe and lookback length, giving you instant insight into multi-timeframe alignment and breakout conditions.
By stacking higher, medium, and lower timeframe channels, traders can eliminate noise, improve timing, and trade in the direction of dominant market structure.
🔧 Key Features
✅ Up to 3 independent Donchian Channels
✅ Individual timeframe selection for each channel
✅ Adjustable lookback length per channel
✅ Optional show/hide per channel
✅ Midline (basis) for structure reference
✅ Clean visual fills for fast interpretation
✅ Works on all markets and timeframes
🎯 How to Use
This indicator is designed to support multi-timeframe trading systems.
Example configuration:
• Channel 1 → Lower timeframe (Execution)
• Channel 2 → Medium timeframe (Momentum)
• Channel 3 → Higher timeframe (Structure)
Long Bias Example
Price above higher timeframe channel
Pullback into mid timeframe range
Breakout on lower timeframe channel
Short Bias Example
Price below higher timeframe channel
Retrace into structure
Breakdown on execution timeframe
When all channels align, probability increases.
📈 Best Use Cases
✔ Futures Scalping
✔ Options Day Trading
✔ Forex & Crypto
✔ Swing Trading
✔ Prop Firm Evaluations
✔ Trend-Following Systems
⚠️ Risk Disclaimer
This indicator is a market structure visualization tool and does not provide financial advice. Always use proper risk management and confirm with your own strategy.
Trend-Based Fibs: Static Labels at StartThis indicator automatically projects Fibonacci extension levels and "Golden Zones" starting from the opening price of a new period (Daily or Weekly). By using the previous period’s range (High-Low) as the basis for volatility, it provides objective price targets and reversal zones for the current session.
How it Works Unlike standard Fibonacci Retracements that require manual drawing from swing highs to lows, this tool uses a fixed anchor method: The Range: It calculates the total range of the previous day or week.
The Anchor: It sets the current period's opening price as the "Zero Line."The Projection: It applies Fibonacci ratios ($0.236$, $0.5$, $0.786$, $1.0$, and $1.618$) upward and downward from that opening price.
Key Features Automated Levels: No more manual drawing. Levels reset and recalculate automatically at the start of every Daily or Weekly candle. Bullish & Bearish Zones: Instantly see extensions for both directions. The "Golden Zones": Highlighted boxes represent the high-probability $0.236$ to $0.5$ zones for both long and short continuations. Previous Period Levels: Optional toggles to show the previous High and Low, which often act as major support or resistance.
Integrated EMAs: Includes two customizable Exponential Moving Averages (default 20 and 100) to help you stay on the right side of the trend.
Clean Visuals: Labels are pinned to the start of the period to keep your charts uncluttered while lines extend dynamically as time progresses.
How to Trade with it Trend Continuation: If price opens and holds above the $0.236$ bullish level, look for the $0.618$ and $1.0$ levels as targets.
Reversals: Watch for price exhaustion at the $1.618$ extension, especially if it aligns with an EMA or a Previous High/Low.
Gap Plays: Excellent for "Opening Range" strategies where you use the first close of the day as the pivot point for the extensions.
UTC+7 Time Highlight// // Input
// session1 = input.session("0600-0601", "Time Slot 1 (UTC+7)")
// session2 = input.session("0800-0801", "Time Slot 2 (UTC+7)")
[RoyalNeuron] Supertrend [Medusa v1.0]Hey everyone, 👋
This is Medusa Supertrend v1.0.
Proper Supertrend logic using ATR with trend continuation rules.
Optimized default settings for BTC 30 minute charts, but fully adjustable to you liking.
Optional BUY and SELL labels only when the trend actually flips
Soft trend highlighting so you can see regime shifts without blinding your chart
Quick way to use it:
Green Supertrend with bullish fill means bias stays long and you look for continuation setups
Red Supertrend with bearish fill means bias stays defensive or short.
BUY and SELL labels mark trend changes.
It works best when combined with momentum or volume tools like WidowMaker to time entries with the trend instead of fighting it.
Use it, break it, tell me what you’d improve. More Medusa iterations and free tools coming.
Cheers,
RoyalNeuron 👑
Supertrend, Trend, ATR, Directional Bias, Buy Sell, Bitcoin, BTC, Clean Charts. Free, Alerts
MNQ 10R Scalper - FinalTop. Scalper. Strat 10r chart v1 ready set go
Top. Scalper. Strat 10r chart v1 ready set go
Highlight > 0.5% Moves// ------ 1 ------ //
// threshold = input(0.3, title = "threshold%")
// //threshold = 0.3
// pctChange = ((close - open) / open) * 100
// //Define the condition (More than 0.5%)
// isBigMove = pctChange > threshold
// bgcolor(isBigMove ? color.new(color.green, 90) : na)
// barcolor(isBigMove ? color.new(color.green, 60) : na)
// plotshape(isBigMove, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
Prev-Week-Month with V-StopPrevious Week map: It automatically plots last week’s high/low and key Fibonacci levels (50%, 61.8%, 78.6), plus optional extensions, and can extend those lines into the current week with labels.
Previous Month “Golden Zones”: It shades the prior month’s two main retracement zones (61.8%–78.6% from the month’s range) as bullish/bearish areas, optionally adds boundary lines, and labels them.
Volatility Stop (V-Stop): It draws an ATR-based trailing stop that flips between uptrend/downtrend. You can run it on the chart timeframe or a higher timeframe, and it marks reversals and HTF breach/“limbo” events. **bits of code taken from TradingView script**
Previous Day/Week/Month Open & ClosePrevious Day / Week / Month Open & Close Levels
Plots horizontal lines for the **previous** completed:
• Day open/close
• Week open/close
• Month open/close
These key reference levels are widely used for:
- Support/resistance zones
- Mean reversion setups
- Breakout confirmation
- Session/period bias analysis
Features:
• Auto-refreshes lines when new day/week/month begins (old lines deleted, clean chart)
• Non-repainting (uses confirmed higher-timeframe values)
• Toggle each timeframe independently (Day / Week / Month)
• Custom colors, line styles (solid/dashed/dotted), and width
• Small right-side labels for quick identification
How to use:
1. Add to any chart (best on intraday or daily timeframes)
2. Adjust toggles and colors in settings as needed
3. Watch price interaction with previous period opens/closes
Great for forex, stocks, futures, crypto....
Enjoy your trading!
[CodaPro] Multi-Timeframe RSI Dashboard
Multi-Timeframe RSI Dashboard
This indicator displays RSI (Relative Strength Index) values from five different timeframes simultaneously in a clean dashboard format, helping traders identify momentum alignment across multiple time periods.
═══════════════════════════════════════
FEATURES
✓ Displays RSI for 5 customizable timeframes
✓ Color-coded status indicators (Oversold/Neutral/Overbought)
✓ Clean table display positioned in chart corner
✓ Fully customizable RSI length and threshold levels
✓ Works on any instrument and timeframe
✓ Real-time updates as price moves
✓ Smart BUY/SELL signals with cooldown system
✓ Non-repainting - signals never disappear after appearing
═══════════════════════════════════════
HOW IT WORKS
The indicator calculates the standard RSI formula for each selected timeframe and displays the results in both a graph and organized table. Default timeframes are:
- 5-minute
- 15-minute
- 1-hour
- 4-hour (optional - hidden by default)
- Daily (optional - hidden by default)
Visual Display:
- Graph shows all RSI lines in subtle, transparent colors
- Lines don't overpower your price chart
- Dashboard table shows exact values and status
Color Coding:
- GREEN = RSI below 32 (traditionally considered oversold)
- YELLOW = RSI between 32-64 (neutral zone)
- RED = RSI above 64 (traditionally considered overbought)
All timeframes and thresholds are fully adjustable in the indicator settings.
═══════════════════════════════════════
SIGNAL LOGIC
BUY Signal:
- Triggers when ALL 3 primary timeframes drop below the buy level (default: 32)
- Arrow appears near the RSI lines for easy identification
- 120-minute cooldown prevents signal spam
SELL Signal:
- Triggers when ALL 3 primary timeframes rise above the sell level (default: 64)
- Arrow appears near the RSI lines for easy identification
- 120-minute cooldown prevents signal spam
The cooldown system ensures you only see HIGH-CONVICTION signals, not every minor fluctuation.
═══════════════════════════════════════
SCREENSHOT FEATURES VISIBLE
- Multi-timeframe RSI lines (5min, 15min, 1H) in subtle colors
- Smart BUY/SELL signals with cooldown system
- Real-time dashboard showing current RSI values
- Clean, professional design that doesn't clutter your chart
═══════════════════════════════════════
DEFAULT SETTINGS
- Buy Signal Level: 32 (all 3 timeframes must cross below)
- Sell Signal Level: 64 (all 3 timeframes must cross above)
- Signal Cooldown: 24 bars (120 minutes on 5-min chart)
- Active Timeframes: 5min, 15min, 1H (4H and Daily can be enabled)
- RSI Length: 14 periods (standard)
═══════════════════════════════════════
CUSTOMIZABLE SETTINGS
- RSI Length (default: 14)
- Oversold Level (default: 32)
- Overbought Level (default: 64)
- Buy Signal Level (default: 32)
- Sell Signal Level (default: 64)
- Signal Cooldown in bars (default: 24)
- Five timeframe selections (fully customizable)
- Toggle visibility for each timeframe
- Toggle dashboard table on/off
- Toggle arrows on/off
═══════════════════════════════════════
HOW TO USE
1. Add the indicator to your chart
2. Customize timeframes in settings (optional)
3. Adjust RSI length and threshold levels (optional)
4. Monitor the dashboard for multi-timeframe alignment
INTERPRETATION:
When multiple timeframes show the same condition (all oversold or all overbought), it can indicate stronger momentum in that direction. For example:
- Multiple timeframes showing oversold may suggest a potential bounce
- Multiple timeframes showing overbought may suggest potential weakness
However, RSI alone should not be used as a standalone signal. Always combine with:
- Price action analysis
- Support/resistance levels
- Trend analysis
- Volume confirmation
- Other technical indicators
═══════════════════════════════════════
EDUCATIONAL BACKGROUND
RSI (Relative Strength Index) was developed by J. Welles Wilder Jr. and introduced in his 1978 book "New Concepts in Technical Trading Systems." It measures the magnitude of recent price changes to evaluate overbought or oversold conditions.
The RSI oscillates between 0 and 100, with readings:
- Below 30 traditionally considered oversold
- Above 70 traditionally considered overbought
- Around 50 indicating neutral momentum
Multi-timeframe analysis helps traders understand whether momentum conditions are aligned across different time horizons, potentially providing more robust signals than single-timeframe analysis alone.
═══════════════════════════════════════
NON-REPAINTING GUARANTEE
This indicator uses confirmed bar data to prevent repainting:
- All RSI values are calculated from previous bar's close
- Signals only fire when the bar closes (not mid-bar)
- What you see in backtest = what you get in live trading
- No signals will disappear after they appear
This is critical for reliable trading signals and accurate backtesting.
═══════════════════════════════════════
VISUAL DESIGN PHILOSOPHY
The indicator is designed with a "less is more" approach:
- Transparent RSI lines (60% opacity) keep price candles as the focal point
- Thin lines reduce visual clutter
- Arrows positioned near RSI levels (not floating randomly)
- Background flashes provide extra visual confirmation
- Dashboard table is compact and non-intrusive
The goal is to provide powerful multi-timeframe analysis without overwhelming your chart.
═══════════════════════════════════════
TECHNICAL NOTES
- Uses standard request.security() calls for multi-timeframe data
- Non-repainting implementation with proper lookahead handling
- Minimal performance impact
- Compatible with all instruments and timeframes
- Written in Pine Script v6
═══════════════════════════════════════
IMPORTANT DISCLAIMERS
- This is an educational tool for technical analysis
- Past RSI patterns do not guarantee future results
- No indicator is 100% accurate
- Always use proper risk management
- Consider multiple factors before making trading decisions
- This indicator does not provide buy/sell recommendations
- Consult with a qualified financial advisor before trading
═══════════════════════════════════════
LEARNING RESOURCES
For traders new to RSI, consider studying:
- J. Welles Wilder's original RSI methodology
- RSI divergence patterns
- RSI in trending vs ranging markets
- Multi-timeframe analysis techniques
═══════════════════════════════════════
Questions or suggestions? Feel free to comment below.
Happy trading and proper risk management to all!
Net Body Accumulation Visualizer"This indicator calculates the sum of green candles and red candles over a specific lookback period and displays the resulting 'Net Body.'
How to Use:
Trend Strength: When the candle is below the 0-line, it indicates strong selling pressure; when it is above the 0-line, it shows strong buying pressure.
MA Trading: It enables trading strategies based on Moving Average (SMA) lines.
Trend Identification: It makes it easy to identify whether the overall trend is bullish or bearish."
Trading Cockpit ChecklistThis is an indicator based on the confirmations our mentor, Mr. Casino has laid out in his books.
You can select whether each phenomenon has occurred as you find it and it will change the visual to a checkmark instead of an X.
This can help you stay more disciplined and mechanical about your entries.
If someone wants to make a new checklist indicator that includes their own confirmations, I ave made it open source to do so, just replace the questions in it with your own confirmations for trading confluence.
Cheers.
Live Daily HA Background (RTH)This indicator paints the backsground with the daily heikin ashi color
SR EMA ORBSR EMA ORB combines your Support/Resistance pivot levels + EMA crossover labels/alerts with an optional Opening Range Breakout (ORB) module that can work on higher timeframes using LTF calculation (via request.security).
What it shows
1) Support/Resistance (Pivot based)
Plots pivot Resistance (red) and Support (blue).
Optional break labels:
B for break with volume confirmation (Volume Osc > Threshold)
Bull Wick / Bear Wick wick-based breaks
2) EMA Crossovers (visual + alerts)
Labels:
Up (ST EMA crosses above MT EMA)
Down (ST EMA crosses below MT EMA)
Buy (MT EMA crosses above LT EMA)
Sell (MT EMA crosses below LT EMA)
Includes the original alert() messages exactly like your Script 1.
3) ORB (Opening Range Breakout)
Builds an opening range for the configured “ORB Window” (default: 10 minutes).
After the window ends, it waits for a breakout:
Breakout based on Close or EMA
Optional breakout buffer %
Optional volume filter (uses your Volume Threshold logic)
Entry requires retests based on sensitivity:
High = 0 retests
Medium = 1 retest
Low = 2 retests
Lowest = 3 retests
Shows:
ORB High / ORB Low lines (unique colors, bold width)
ORB Entry label (ORB)
Optional TP1/SL markers (if enabled)
4) Confluence (optional confidence marker)
Prints a separate CONF label when:
ORB entry happens AND
EMA direction agrees (rule selectable)
Optional: also require SR break in the same direction
5) RR helper (optional)
Draws Entry / SL / TP target lines at 1:2 or 1:3
Trigger can be:
ORB Entry
Confluence only (recommended)
6) Dashboards (optional)
Compact ORB dashboard: current bias + entry + SL
Backtest dashboard: trades, wins, losses, win%
Timeframe behavior (important)
ORB supports these window selections: 1m, 5m, 10m, 15m, 30m, 1h, 1D, 1W, 1M
ORB supports these calc TF selections: 1m, 3m, 5m, 10m, 15m, 30m, 1h
Mode
Auto: uses Native when chart TF is supported, otherwise switches to LTF calculation
Native: ORB runs only on supported chart TF; disables otherwise
LTF: ORB always calculates on Calc TF (best for 1H/1D chart viewing)
Examples (recommended setups)
Example 1 — Your main setup (10m ORB on intraday chart)
Goal: trade ORB normally with minimal complexity
Chart TF: 1m / 3m / 5m
ORB:
Mode: Auto
ORB Window: 10m
Calc TF: 10m (or 5m if you want slightly earlier structure)
Sensitivity: Medium
Breakout Condition: Close
TP Method: Dynamic
Stop Loss: Balanced
Visuals:
Draw ORB Lines: ON
Entry Labels: ON
TP/SL Marks: OFF (keeps chart clean)
Example 2 — View ORB on a 1H chart (LTF-on-HTF mode)
Goal: see 10m ORB levels/signals while looking at 1H structure
Chart TF: 1H
ORB:
Mode: LTF
ORB Window: 10m
Calc TF: 5m or 10m
Sensitivity: Medium
Note: On HTF, multiple LTF events can compress into fewer visible updates (normal with security data).
Example 3 — Higher winrate attempt (fewer trades, more filtering)
Goal: reduce bad ORB entries
ORB:
Sensitivity: Low (2 retests)
Breakout Buffer %: 0.10 – 0.25
Use Vol Osc Filter: ON
Educational Use Only: This script is provided for educational and informational purposes only and is not financial advice—use it at your own risk, as trading involves substantial risk of loss.
Confluence:
Enable Confluence: ON
EMA Rule: Stack (strict)
Require SR Break Same Direction: ON (optional, strict)
RR:
RR Lines: ON
RR: 1:3
Trigger: Confluence
This usually reduces signals but can improve quality depending on ticker.
Example 4 — Conservative risk control (visual RR planning)
Goal: only take trades that offer clear RR
RR:
Show RR Lines: ON
RR: 1:2
Trigger: Confluence
Result: you only see RR targets when the entry is “higher confidence”.
Example 5 — Dashboards only when needed
Goal: keep chart clean, but enable quick stats occasionally
ORB UI:
Show ORB Dashboard: OFF normally
Show Backtest Dashboard: ON only during tuning
Positions: set to Top Right / Top Center as you prefer
Notes on alerts (how to use)
Your SR/EMA alerts are built-in alert() calls, so when creating an alert choose:
“Any alert() function call”
ORB/CONF alerts are alertcondition(), so create alerts selecting:
ORB Entry
ORB TP1
ORB SL
CONF Buy / CONF Sell
Support Resistance EMA Crossovers with ORB and AlertsSR EMA ORB combines your Support/Resistance pivot levels + EMA crossover labels/alerts with an optional Opening Range Breakout (ORB) module that can work on higher timeframes using LTF calculation (via request.security).
What it shows
1) Support/Resistance (Pivot based)
Plots pivot Resistance (red) and Support (blue).
Optional break labels:
B for break with volume confirmation (Volume Osc > Threshold)
Bull Wick / Bear Wick wick-based breaks
2) EMA Crossovers (visual + alerts)
Labels:
Up (ST EMA crosses above MT EMA)
Down (ST EMA crosses below MT EMA)
Buy (MT EMA crosses above LT EMA)
Sell (MT EMA crosses below LT EMA)
Includes the original alert() messages exactly like your Script 1.
3) ORB (Opening Range Breakout)
Builds an opening range for the configured “ORB Window” (default: 10 minutes).
After the window ends, it waits for a breakout:
Breakout based on Close or EMA
Optional breakout buffer %
Optional volume filter (uses your Volume Threshold logic)
Entry requires retests based on sensitivity:
High = 0 retests
Medium = 1 retest
Low = 2 retests
Lowest = 3 retests
Shows:
ORB High / ORB Low lines (unique colors, bold width)
ORB Entry label (ORB)
Optional TP1/SL markers (if enabled)
4) Confluence (optional confidence marker)
Prints a separate CONF label when:
ORB entry happens AND
EMA direction agrees (rule selectable)
Optional: also require SR break in the same direction
5) RR helper (optional)
Draws Entry / SL / TP target lines at 1:2 or 1:3
Trigger can be:
ORB Entry
Confluence only (recommended)
6) Dashboards (optional)
Compact ORB dashboard: current bias + entry + SL
Backtest dashboard: trades, wins, losses, win%
Timeframe behavior (important)
ORB supports these window selections: 1m, 5m, 10m, 15m, 30m, 1h, 1D, 1W, 1M
ORB supports these calc TF selections: 1m, 3m, 5m, 10m, 15m, 30m, 1h
Mode
Auto: uses Native when chart TF is supported, otherwise switches to LTF calculation
Native: ORB runs only on supported chart TF; disables otherwise
LTF: ORB always calculates on Calc TF (best for 1H/1D chart viewing)
Examples (recommended setups)
Example 1 — Your main setup (10m ORB on intraday chart)
Goal: trade ORB normally with minimal complexity
Chart TF: 1m / 3m / 5m
ORB:
Mode: Auto
ORB Window: 10m
Calc TF: 10m (or 5m if you want slightly earlier structure)
Sensitivity: Medium
Breakout Condition: Close
TP Method: Dynamic
Stop Loss: Balanced
Visuals:
Draw ORB Lines: ON
Entry Labels: ON
TP/SL Marks: OFF (keeps chart clean)
Example 2 — View ORB on a 1H chart (LTF-on-HTF mode)
Goal: see 10m ORB levels/signals while looking at 1H structure
Chart TF: 1H
ORB:
Mode: LTF
ORB Window: 10m
Calc TF: 5m or 10m
Sensitivity: Medium
Note: On HTF, multiple LTF events can compress into fewer visible updates (normal with security data).
Example 3 — Higher winrate attempt (fewer trades, more filtering)
Goal: reduce bad ORB entries
ORB:
Sensitivity: Low (2 retests)
Breakout Buffer %: 0.10 – 0.25
Use Vol Osc Filter: ON
Confluence:
Enable Confluence: ON
EMA Rule: Stack (strict)
Require SR Break Same Direction: ON (optional, strict)
RR:
RR Lines: ON
RR: 1:3
Trigger: Confluence
This usually reduces signals but can improve quality depending on ticker.
Example 4 — Conservative risk control (visual RR planning)
Goal: only take trades that offer clear RR
RR:
Show RR Lines: ON
RR: 1:2
Trigger: Confluence
Result: you only see RR targets when the entry is “higher confidence”.
Example 5 — Dashboards only when needed
Goal: keep chart clean, but enable quick stats occasionally
ORB UI:
Show ORB Dashboard: OFF normally
Show Backtest Dashboard: ON only during tuning
Positions: set to Top Right / Top Center as you prefer
Notes on alerts (how to use)
Your SR/EMA alerts are built-in alert() calls, so when creating an alert choose:
“Any alert() function call”
ORB/CONF alerts are alertcondition(), so create alerts selecting:
ORB Entry
ORB TP1
ORB SL
CONF Buy / CONF Sell
Educational Use Only: This script is provided for educational and informational purposes only and is not financial advice—use it at your own risk, as trading involves substantial risk of loss.






















