MAVBThe VB indicator (Velocity of Breakout) is a quantitative trend analysis tool centered on the "speed of price change." Based on the two-dimensional relationship between time and price, it reveals the market's energy rhythm and trend state by studying the magnitude of price changes within a unit of time. Its theoretical basis stems from the Kostolany egg model: the market spends approximately 15% of its time in rapid, one-sided upward movement, 70% in sideways consolidation, and 15% in rapid decline. The core objective of VB is to identify areas of "fast price fluctuation" within these three market states to capture trading opportunities, while avoiding "slow" oscillating ranges, thereby improving operational efficiency and risk-reward ratio.
Structurally, VB consists of a main line and its smoothed line, combined with a zero axis and red/green bars, visually reflecting the trend direction and momentum changes of price movement. When the market enters the high-speed zone, it indicates accelerated trend and emerging opportunities; entering the low-speed zone suggests increased volatility and the need for cautious trading. Through trend segmentation, speed breakouts, and divergence confirmation, VB can effectively identify primary and secondary trends, assisting in trading decisions. It is applicable to various markets such as stocks, futures, and cryptocurrencies. It is a dynamic quantitative tool that connects the essence of price movement with the rhythm of trading, providing traders with a new perspective on trends from the speed dimension.
Trend Analysis
3-Daumen-RegelThis indicator evaluates three key market conditions and summarizes them in a compact table using simple thumbs-up / thumbs-down signals. It’s designed specifically for daily timeframes and helps you quickly assess whether a market is showing technical strength or weakness.
The Three Checks
Price Above the 200-Day SMA
Indicates the long-term trend direction. A thumbs-up means the price is trading above the 200-day moving average.
Positive Performance During the First 5 Trading Days of the Year (YTD Start)
Measures early-year strength. If not enough bars are available, a warning is shown.
Price Above the YTD Level
Compares the current price to the first trading day’s close of the year.
Color Coding for Instant Clarity
Green: Condition met
Red: Condition not met
This creates a compact “thumbs check” that gives you a quick read on the market’s technical health.
Note
The indicator is intended for daily charts. A message appears if a different timeframe is used.
RSI-ma Wave Sensor (Free ver.)RSI-ma Wave Sensor is a 3-line RSI-based oscillator (Main / Middle / Wave) that shows trend direction, momentum and higher timeframe context in a single pane.
Compared with many classic MA/RSI tools it aims to:
• react with very low lag (almost real-time feeling)
• detect trend direction early
• avoid “overbought/oversold sticking” so you can hold calmly until the trend really starts to end
This Free version is a DAY trade preset for the 15m chart:
• Main = 14, Middle = EMA 9, Wave = EMA 28
• 1h higher timeframe wave sensor included
• good for learning / testing how to read trends with RSI waves
Triple Screen System [FlexibleMAs MACD-RSI-ADX]#### Triple Screen System (TSS-FMR)
The TSS-FMR script is a specialized, multi-timeframe confirmation tool built for Swing, Positional Traders, and Longer Term Investors. It is engineered to filter out low-conviction noise by implementing an advanced interpretation of the Elder's Triple Screen strategy, relying on proprietary momentum, volatility, and volume analysis to isolate high-probability setups.
---
#### 🧠 Core Methodology & Logic
The TSS-FMR synthesizes three distinct layers of confirmation to generate signals:
1. Macro Trend & Volatility: Determines the primary trend and overall market condition using configurable EMA+RSI metrics , the script uses Average Directional Index (ADX) as an internal component to filter out non-trending, consolidating market conditions.
2. Momentum Synchronization: A proprietary filter requiring MACD,MAs and RSI to be synchronized * within a specified bar window (`MACD/RSI Sync Window`) ensures that entries align with current short-term momentum shifts.
3. Volume & Price Action: Final entry is triggered only when the higher timeframes align and the entry timeframe (Daily or 4H) confirms the move, optionally requiring * Candle Confirmation * and filtering out low-quality trades using the * Volume Filter *
The key is the separation of input thresholds and lengths for Weekly and Daily lookbacks, allowing for precise tuning unavailable in standard public libraries.
---
#### 🎯 Understanding Signal Strength & Conviction
Signals are categorized using a proprietary Strength scale (from Overbought/Oversold to 6) to help traders gauge the potential size and probability of the momentum move, This scale is dynamically influenced by the ADX volatility readings.
#### 🔍 Integrating External Visual Tools (Addressing Rule: Vendor/Chart)
The TSS-FMR generates signals based solely on its internal logic and inputs .*
We recommend overlaying the TSS-FMR signals with external tools (such as the Lux Algo SmartMoneyConcepts indicator or similar public S/R tools) for visual confirmation only :
* Signals (2, 3, 4) + CHOCH/BOS: * A signal with lower internal strength (2-4) gains stronger conviction if it aligns precisely with a CHOCH or BOS event visually identified by the external tool. This confirms that the market structure is validating the script's momentum reading.
Zone Confirmation: When signals land precisely within visually defined Liquidity or Accumulation/Distribution Zones (provided by external visual tools), it adds significant conviction to the TSS-FMR's output.
The *Overbought/Oversold regions* are decided based on the script's internal strength calculation and prevailing price action.
#### Summary:
--- This script is for Swing, Positional Traders and Longer Term Investors
--- It will only work with Monthly,Weekly, Daily and 4H chart to help you make confirmation based positions.
--- Sell Signals are Overbought Exits and Short sell signals, Plan according to Weekly Signals and Daily signals
--- Use the Momentum Table/matrix at the right top of the chart when TSS indicator is active.
--- Use Volume Filter enable to remove chaos of signals
--- Keep *Lux Algo -SmartMoneyConcepts* indicator active for visual of zones
--- Adjust Volume Filter in Settings to avoid crowding of signals
--- Adjust Input signal length to select number of history bars
--- Watch-out for Weekly 100ema Line and
--- Watch-out for Sell Signals, in discount region they are marked as Buy oversold or moderate, vise versa Sell Overbought signals are added to the charts.
--- To earn money, we need to look out for early signals, fake breakouts, breakdowns and what we want the table/matrix turning all green or red in Momentum trades.
---
#### House Rule Compliance Statement
This script description is provided strictly for technical clarity. It is free from all promotional content, external links, contact information, social media references, and solicitations, as per TradingView's General House Rule #2. The justification for its closed-source nature is based on its proprietary signal synchronization logic and flexible, multi-timeframe implementation.
GENESIS DHANUS A clean, non-repainting trend-following signal indicator.
Buy signals appear when:
• Fast EMA (9) crosses above Slow EMA (21)
• RSI > 50 (bullish momentum)
• Previous bar volume > 1.5× 20-period average
• Price is above the current Heikin-Ashi "trend level"
Sell signals use the exact opposite conditions.
All conditions use confirmed data only (no future leak, no repainting).
Perfect for swing trading and alert setups on any timeframe.
Features:
- Large clear arrows with text
- Optional light background coloring
- Precise alert conditions
- EMA lines can be toggled
100% Pine Script v5 – open source and free.
Multi-factor momentum & flow confluence oscillator
MarketExploiter
Momentum–flow confluence oscillator.
Overview
This indicator combines momentum structure, money-flow behavior, trend context, and divergence detection into a single visual tool. It helps highlight when momentum is strengthening, weakening, or beginning to shift direction.
Components
• A smoothed momentum curve that visualizes acceleration and exhaustion.
• Money-flow bias reflecting underlying buying or selling pressure.
• Momentum-shift dots that appear only when several factors align, such as momentum inflection, curve behavior, and supportive flow.
• Bullish and bearish divergence detection between price and the momentum curve.
• A trend panel offering broader directional context.
How to Use
Signals are most effective when they appear in the direction of the trend panel and when money-flow conditions support the move. Divergence signals may highlight early strength or weakness relative to price action. The indicator is intended for context and confirmation rather than standalone entries. Works across all liquid markets and timeframes.
Notes
Non-repainting. Suitable for momentum assessment, trend reading, and identifying potential inflection zones.
HTF Candle overlayOverview
This Pine Script indicator overlays three separate Mini Charts onto the right side of your main chart area. These mini charts display price action from Higher Timeframes (HTF), allowing traders to monitor multi-timeframe market structure and trends without switching screens. Each mini chart is overlaid with up to 5 customizable EMA (Exponential Moving Average) Clouds.
Key Features
1. Three Independent Mini Charts
Users can select three distinct higher timeframes (e.g., 1 Hour, 4 Hours, 1 Day).
The script automatically checks to ensure the selected timeframe is higher than the current chart's timeframe.
Displays up to 10 historical candles per mini chart (limited to optimize Pine Script drawing resources).
2. Smart Data Handling (RTH vs. ETH)
Daily, Weekly, Monthly: For timeframes of 1 Day or higher, the script forces Regular Trading Hours (RTH) data. This ensures daily candles look standard and aren't distorted by pre/post-market low volume ticks.
Intraday (e.g., 1H, 4H): For timeframes below 1 Day, the script uses Extended Trading Hours (ETH) data, ensuring you see the full picture of pre-market and after-hours moves.
Ticker Cleaning: The script automatically sanitizes ticker IDs to prevent "Symbol Resolve Errors" when used on charts with complex session settings.
3. Comprehensive EMA Clouds
5 Customizable Clouds: Each mini chart can display up to 5 different EMA Clouds (pairs of Short and Long Moving Averages).
Full Color Control: Users can individually customize:
Line Colors: Distinct colors for Short and Long EMA lines.
Cloud Fill: Distinct colors and transparency for Bullish and Bearish trends.
Toggle Visibility: Each of the 5 clouds can be turned On or Off via settings.
Source Selection: Users can calculate EMAs based on Close, Open, High, Low, HL2, HLC3, or OHLC4.
4. Custom Visuals & Positioning
Candle Aesthetics: Users can define Bull/Bear candle colors, transparency, and Candle Width (thickness).
Positioning:
Horizontal Offset: Shift the entire dashboard left or right to avoid overlapping with current price action.
Spacing: Adjust the gap between the three mini charts.
Assistance Lines: Optional Support/Resistance lines (Fibonacci or Range High/Low) can be drawn extending from the mini charts.
How it Works (Technical Summary)
The script utilizes request.security to fetch OHLC data and Moving Average data from the specified higher timeframes. It stores this data in Matrices and Arrays to manage history. It then uses Pine Script's line.new and label.new functions to manually draw the candles and EMA lines onto the main chart canvas, relative to the current bar_index. It includes logic to handle dynamic array resizing and garbage collection to stay within Pine Script's execution limits.
SuperTrend Oscillator [ChartPrime]⯁ OVERVIEW
The SuperTrend Oscillator is a hybrid momentum–trend indicator that transforms the classic SuperTrend into a full-strength oscillator.
Instead of simply plotting SuperTrend direction on the chart, this tool measures the distance between price and SuperTrend, normalizes it by volatility, and converts it into a dynamic oscillator that highlights trend strength, momentum extremes, and high-precision reversal points.
⯁ CONCEPTS
SuperTrend Engine: The indicator extracts the SuperTrend baseline and direction using ATR-based volatility. This acts as the core structure from which the oscillator is built.
Volatility-Adjusted Oscillation: (close − SuperTrend) is divided by ATR to standardize momentum across all markets and timeframes.
Adaptive Oscillator Types: The signal can be transformed using HMA, EMA, or SMA smoothing for varying responsiveness.
Momentum Extremes: Values above +1.7 or below −1.7 signal stretched price conditions where reversals are more likely.
Reversal Logic: The oscillator compares its current value with its value three bars ago. Large positive or negative pivots indicate momentum shifts.
⯁ FEATURES
Trend-Colored SuperTrend Line
The SuperTrend line shifts color based on direction, giving immediate context for oscillator readings.
Full Oscillator Transformation
Converts price–SuperTrend distance into a normalized oscillator, showing when momentum is expanding, contracting, or reaching exhaustion.
Gradient Momentum Coloring
The oscillator line and candles are colored using a two-sided gradient:
• Red tones for bearish momentum
• Orange/cream tones for bullish momentum
• Gray tones for low momentum
This makes strength visually intuitive.
Extreme Zones (±1.7 Bands)
Built-in upper and lower thresholds highlight zones where price is statistically overextended.
Dual Fill Layers
The area above/below zero is filled in different colors to emphasize bullish or bearish oscillator regime.
Reversal Diamonds
The script highlights significant reversals when:
• Momentum shifts downward from high values (bearish pivot)
• Momentum shifts upward from deep lows (bullish pivot)
These diamonds help pinpoint exhaustion-based turning points.
⯁ HOW TO USE
Identify Trend Strength:
A rising oscillator above 0 confirms bullish SuperTrend conditions; falling below 0 confirms bearish ones.
Spot Momentum Extremes:
Readings above +1.7 or below −1.7 often signal overextended price moves.
Use Reversal Diamonds as Pivot Alerts:
Diamond markers indicate high-probability turning points when momentum sharply reverses from extreme zones.
Confirm Trend Shifts with Color Changes:
Candle and oscillator colors shift based on momentum direction, providing clean visual alignment with SuperTrend direction.
Combine with Structure or OB Zones:
Reversal signals become more reliable when they occur at key S/R, order blocks, or liquidity sweeps.
⯁ CONCLUSION
The SuperTrend Oscillator modernizes the SuperTrend by transforming it into a volatility-aware oscillator with clear reversal markers, trend coloring, and momentum normalization.
This tool is ideal for traders who want both trend context and precise timing signals, blending SuperTrend’s reliability with the dynamics of a professional-grade momentum oscillator.
Std Dev Reversal LevelsPlots standard deviation bands around a central mean to identify statistically extreme price levels where reversals are likely.
How It Works
Price statistically tends to stay within predictable ranges around its mean. This indicator plots sigma (σ) levels showing where price becomes statistically extended.
Green lines: Levels above the mean (+1σ to +5σ)
Red lines: Levels below the mean (-1σ to -5σ)
White line: Center/mean (optional)
How To Use
Set timeframe to 1D or 4H
Use Statistical method with 20-30 lookback
Watch for price touching ±3σ levels
Look for reversal confirmation at these extremes
Target the center line for mean reversion plays
Best Metal to Sell → More BTCWhichever precious metal has outperformed Bitcoin the most over the last 21 days (by >4%) is showing short-term strength → sell a small slice of that metal and rotate into BTC.
Orange = trim some gold → buy BTC
Grey = trim some silver → buy BTC
Black = no clear edge → hold
This is a gradual, disciplined rebalancing tool for anyone holding physical gold & silver who wants to slowly increase their BTC exposure on relative strength spikes — without ever going “all-in”.
You decide the pace: 1% per signal, pause anytime, or stop when you’ve reached your personal comfort level of BTC allocation.
2020–2025 backtest (weekly 1% rotations):
$200k metals → 18.4 BTC + $0 metals left = $1.68 million
HODL metals only = $320k
HODL BTC from day one = ~$1.4 million
It’s not about beating BTC every cycle — it’s about turning stagnant metals into more sats, at your own pace.
HoneG_BJVH 軽量化版v11VJBH v11 is a tool that displays volatility and range reference tables tailored for one-touch options trading, organized by currency and trading time.
Try applying it to any chart you like, whether it's a 1-minute chart or a 15-second chart.
Volatility levels are divided into four stages from 0 to 4, and you can set alerts for specific stages.
Internally, it monitors second-based charts, so even when used on a 1-minute chart, a Premium or higher grade is required.
ザオプションのワンタッチ取引向けに作ったボラや通貨毎・取引時間毎の幅の目安表を表示するツール VJBH v11 です。
1分足チャートでも、15秒足チャートでも、お好きなチャートに適用してお試しください。
ボラのレベルは0~4の4段階に分けてまして、段階を選んでアラートを出せます。
内部的には秒足を見ているので、1分足チャートで使う場合でも、Premium以上のグレードが必要になります。
HoneG_ヒゲヒゲ067ALT_v2
HigeHige is a tool that displays the wick ratio for one-touch trading on The Option.
Try applying it to your preferred chart, whether it's a 1-minute chart or a 15-second chart.
ザオプションのワンタッチ取引向けにヒゲ比率を表示するツール ヒゲヒゲ です。
1分足チャートでも、15秒足チャートでも、お好きなチャートに適用してお試しください。
RSI + BB + RSI Advanced MTF Panel//@version=6
indicator(title="RSI + BB + RSI Advanced MTF Panel", shorttitle="RSI + BB + RSI Advance MTF Panel", format=format.price, precision=2, overlay=false)
bb_group = "BB (Price Overlay)"
bb_length = input.int(50, minval=1, group = bb_group)
bb_maType = input.string("SMA", "Basis MA Type", options = , group = bb_group)
bb_src = input.source(close, title="Source", group = bb_group)
bb_mult = input.float(0.2, minval=0.001, maxval=50, title="StdDev", group = bb_group)
BasisColor = input.color(color.rgb(163, 41, 245), "Basis Color", group = bb_group, display = display.none)
UpperColor = input.color(color.rgb(120, 156, 202,100), "Upper Color", group = bb_group, display = display.none)
LowerColor = input.color(color.rgb(120, 156, 202,100), "Lower Color", group = bb_group, display = display.none)
offset = input.int(0, "Offset", minval = -500, maxval = 500, display = display.data_window, group = bb_group)
ma(source, bb_length, _type) =>
switch _type
"SMA" => ta.sma(source, bb_length)
"EMA" => ta.ema(source, bb_length)
"SMMA (RMA)" => ta.rma(source, bb_length)
"WMA" => ta.wma(source, bb_length)
"VWMA" => ta.vwma(source, bb_length)
basis = ma(bb_src, bb_length, bb_maType)
dev = bb_mult * ta.stdev(bb_src, bb_length)
upper = basis + dev
lower = basis - dev
plot(basis, "Basis", color=BasisColor, offset = offset, force_overlay = true)
p1 = plot(upper, "Upper", color=UpperColor, offset = offset, force_overlay = true)
p2 = plot(lower, "Lower", color=LowerColor, offset = offset, force_overlay = true)
fill(p1, p2, title = "Background", color=color.rgb(163, 41, 245, 90))
rsiLengthInput = input.int(30, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", display = display.data_window, tooltip = "Calculating divergences is needed in order for divergence alerts to fire.")
SignalDot = input.bool(false, title="Signal Dot", group="Smoothing", display = display.data_window, tooltip = "Signal for possible entry")
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiPlot = plot(rsi, "RSI", color= rsi >= 51 ? color.rgb(13, 197, 230) : color.red)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
midLinePlot = plot(50, color = na, editable = false, display = display.none)
fill(rsiPlot, midLinePlot, 100, 70, top_color = color.new(color.green, 0), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 30, 0, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 0), title = "Oversold Gradient Fill")
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("SMA", "Type", options = , group = GRP, display = display.data_window)
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window)
bbMultInput = input.float(2.0, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window)
var enableMA = maTypeInput != "None"
var isBB = maTypeInput == "SMA + Bollinger Bands"
smoothma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
smoothingMA = enableMA ? smoothma(rsi, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na
plot(smoothingMA, "RSI-based MA", color=color.yellow, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_calcBarsSince(cond) =>
ta.barssince(cond)
rsiLBR = rsi
// 1. Calculate Pivots Unconditionally
plFound = not na(ta.pivotlow(rsi, lookbackLeft, lookbackRight))
phFound = not na(ta.pivothigh(rsi, lookbackLeft, lookbackRight))
// 2. Calculate History Unconditionally
barsSincePL = _calcBarsSince(plFound )
barsSincePH = _calcBarsSince(phFound )
// 3. Check Ranges Unconditionally
inRangePL = rangeLower <= barsSincePL and barsSincePL <= rangeUpper
inRangePH = rangeLower <= barsSincePH and barsSincePH <= rangeUpper
// 4. Calculate Conditions
var bool bullCond = false
var bool bearCond = false
if calculateDivergence
rsiHL = rsiLBR > ta.valuewhen(plFound, rsiLBR, 1) and inRangePL
lowLBR = low
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and rsiHL and plFound
rsiLH = rsiLBR < ta.valuewhen(phFound, rsiLBR, 1) and inRangePH
highLBR = high
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and rsiLH and phFound
else
bullCond := false
bearCond := false
plot(plFound ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bullish", linewidth = 2, color = (bullCond ? bullColor : noneColor), display = display.pane, editable = calculateDivergence)
plotshape(bullCond ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bullish Label", text = " Bull ", style = shape.labelup, location = location.absolute, color = bullColor, textcolor = textColor, display = display.pane, editable = calculateDivergence)
plot(phFound ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bearish", linewidth = 2, color = (bearCond ? bearColor : noneColor), display = display.pane, editable = calculateDivergence)
plotshape(bearCond ? rsiLBR : na, offset = -lookbackRight, title = "Regular Bearish Label", text = " Bear ", style = shape.labeldown, location = location.absolute, color = bearColor, textcolor = textColor, display = display.pane, editable = calculateDivergence)
alertcondition(bullCond, title='Regular Bullish Divergence', message="Found a new Regular Bullish Divergence.")
alertcondition(bearCond, title='Regular Bearish Divergence', message='Found a new Regular Bearish Divergence.')
// --- Panel Options (General) ---
g_panel = 'MTF Panel Options'
i_orientation = input.string('Vertical', 'Orientation', options = , group = g_panel)
i_position = input.string('Bottom Right', 'Position', options = , group = g_panel)
i_border_width = input.int(1, 'Border Width', minval = 0, maxval = 10, group = g_panel, inline = 'border')
i_color_border = input.color(#000000, '', group = g_panel, inline = 'border')
i_showHeaders = input.bool(true, 'Show Headers', group = g_panel)
i_color_header_bg = input.color(#5d606b, 'Headers Background', group = g_panel, inline = 'header')
i_color_header_text = input.color(color.white, 'Text', group = g_panel, inline = 'header')
i_color_tf_bg = input.color(#2a2e39, 'Timeframe Background', group = g_panel, inline = 'tf')
i_color_tf_text = input.color(color.white, 'Text', group = g_panel, inline = 'tf')
i_debug = input.bool(false, 'Display colors palette (debug)', group = g_panel)
// --- RSI Colors (Conditional Formatting) ---
g_rsi = 'MTF RSI Colors'
i_threshold_ob = input.int(70, 'Overbought Threshold', minval=51, maxval=100, group = g_rsi)
i_color_ob = input.color(#128416, 'Overbought Background', inline = 'ob', group = g_rsi)
i_tcolor_ob = input.color(color.white, 'Text', inline = 'ob', group = g_rsi)
i_threshold_uptrend = input.int(60, 'Uptrend Threshold', minval=51, maxval=100, group = g_rsi)
i_color_uptrend = input.color(#2d472e, 'Uptrend Background', inline = 'up', group = g_rsi)
i_tcolor_uptrend = input.color(color.white, 'Text', inline = 'up', group = g_rsi)
i_color_mid = input.color(#131722, 'No Trend Background', group = g_rsi, inline = 'mid')
i_tcolor_mid = input.color(#b2b5be, 'Text', group = g_rsi, inline = 'mid')
i_threshold_downtrend = input.int(40, 'Downtrend Threshold', group = g_rsi, minval=0, maxval=49)
i_color_downtrend = input.color(#5b2e2e, 'Downtrend Background', group = g_rsi, inline = 'down')
i_tcolor_downtrend = input.color(color.white, 'Text', group = g_rsi, inline = 'down')
i_threshold_os = input.int(30, 'Oversold Threshold', minval=0, maxval=49, group = g_rsi)
i_color_os = input.color(#db3240, 'Oversold Background', group = g_rsi, inline = 'os')
i_tcolor_os = input.color(color.white, 'Text', group = g_rsi, inline = 'os')
// --- Individual RSI Settings (MTF Sources) ---
g_rsi1 = 'RSI #1'
i_rsi1_enabled = input.bool(true, title = 'Enabled', group = g_rsi1)
i_rsi1_tf = input.timeframe('5', 'Timeframe', group = g_rsi1)
i_rsi1_len = input.int(30, 'Length', minval = 1, group = g_rsi1)
i_rsi1_src = input.source(close, 'Source', group = g_rsi1) * 10000
v_rsi1 = i_rsi1_enabled ? request.security(syminfo.tickerid, i_rsi1_tf, ta.rsi(i_rsi1_src, i_rsi1_len)) : na
g_rsi2 = 'RSI #2'
i_rsi2_enabled = input.bool(true, title = 'Enabled', group = g_rsi2)
i_rsi2_tf = input.timeframe('15', 'Timeframe', group = g_rsi2)
i_rsi2_len = input.int(30, 'Length', minval = 1, group = g_rsi2)
i_rsi2_src = input.source(close, 'Source', group = g_rsi2) * 10000
v_rsi2 = i_rsi2_enabled ? request.security(syminfo.tickerid, i_rsi2_tf, ta.rsi(i_rsi2_src, i_rsi2_len)) : na
g_rsi3 = 'RSI #3'
i_rsi3_enabled = input.bool(true, title = 'Enabled', group = g_rsi3)
i_rsi3_tf = input.timeframe('60', 'Timeframe', group = g_rsi3)
i_rsi3_len = input.int(30, 'Length', minval = 1, group = g_rsi3)
i_rsi3_src = input.source(close, 'Source', group = g_rsi3) * 10000
v_rsi3 = i_rsi3_enabled ? request.security(syminfo.tickerid, i_rsi3_tf, ta.rsi(i_rsi3_src, i_rsi3_len)) : na
g_rsi4 = 'RSI #4'
i_rsi4_enabled = input.bool(true, title = 'Enabled', group = g_rsi4)
i_rsi4_tf = input.timeframe('240', 'Timeframe', group = g_rsi4)
i_rsi4_len = input.int(30, 'Length', minval = 1, group = g_rsi4)
i_rsi4_src = input.source(close, 'Source', group = g_rsi4) * 10000
v_rsi4 = i_rsi4_enabled ? request.security(syminfo.tickerid, i_rsi4_tf, ta.rsi(i_rsi4_src, i_rsi4_len)) : na
g_rsi5 = 'RSI #5'
i_rsi5_enabled = input.bool(true, title = 'Enabled', group = g_rsi5)
i_rsi5_tf = input.timeframe('D', 'Timeframe', group = g_rsi5)
i_rsi5_len = input.int(30, 'Length', minval = 1, group = g_rsi5)
i_rsi5_src = input.source(close, 'Source', group = g_rsi5) * 10000
v_rsi5 = i_rsi5_enabled ? request.security(syminfo.tickerid, i_rsi5_tf, ta.rsi(i_rsi5_src, i_rsi5_len)) : na
g_rsi6 = 'RSI #6'
i_rsi6_enabled = input.bool(true, title = 'Enabled', group = g_rsi6)
i_rsi6_tf = input.timeframe('W', 'Timeframe', group = g_rsi6)
i_rsi6_len = input.int(30, 'Length', minval = 1, group = g_rsi6)
i_rsi6_src = input.source(close, 'Source', group = g_rsi6) * 10000
v_rsi6 = i_rsi6_enabled ? request.security(syminfo.tickerid, i_rsi6_tf, ta.rsi(i_rsi6_src, i_rsi6_len)) : na
g_rsi7 = 'RSI #7'
i_rsi7_enabled = input.bool(false, title = 'Enabled', group = g_rsi7)
i_rsi7_tf = input.timeframe('W', 'Timeframe', group = g_rsi7)
i_rsi7_len = input.int(30, 'Length', minval = 1, group = g_rsi7)
i_rsi7_src = input.source(close, 'Source', group = g_rsi7) * 10000
v_rsi7 = i_rsi7_enabled ? request.security(syminfo.tickerid, i_rsi7_tf, ta.rsi(i_rsi7_src, i_rsi7_len)) : na
g_rsi8 = 'RSI #8'
i_rsi8_enabled = input.bool(false, title = 'Enabled', group = g_rsi8)
i_rsi8_tf = input.timeframe('W', 'Timeframe', group = g_rsi8)
i_rsi8_len = input.int(30, 'Length', minval = 1, group = g_rsi8)
i_rsi8_src = input.source(close, 'Source', group = g_rsi8) * 10000
v_rsi8 = i_rsi8_enabled ? request.security(syminfo.tickerid, i_rsi8_tf, ta.rsi(i_rsi8_src, i_rsi8_len)) : na
g_rsi9 = 'RSI #9'
i_rsi9_enabled = input.bool(false, title = 'Enabled', group = g_rsi9)
i_rsi9_tf = input.timeframe('W', 'Timeframe', group = g_rsi9)
i_rsi9_len = input.int(30, 'Length', minval = 1, group = g_rsi9)
i_rsi9_src = input.source(close, 'Source', group = g_rsi9) * 10000
v_rsi9 = i_rsi9_enabled ? request.security(syminfo.tickerid, i_rsi9_tf, ta.rsi(i_rsi9_src, i_rsi9_len)) : na
g_rsi10 = 'RSI #10'
i_rsi10_enabled = input.bool(false, title = 'Enabled', group = g_rsi10)
i_rsi10_tf = input.timeframe('W', 'Timeframe', group = g_rsi10)
i_rsi10_len = input.int(30, 'Length', minval = 1, group = g_rsi10)
i_rsi10_src = input.source(close, 'Source', group = g_rsi10) * 10000
v_rsi10 = i_rsi10_enabled ? request.security(syminfo.tickerid, i_rsi10_tf, ta.rsi(i_rsi10_src, i_rsi10_len)) : na
// --- Panel Helper Functions ---
// Function 4: String Position to Constant (Indentation cleaned)
f_StrPositionToConst(_p) =>
switch _p
'Top Left' => position.top_left
'Top Right' => position.top_right
'Top Center' => position.top_center
'Middle Left' => position.middle_left
'Middle Right' => position.middle_right
'Middle Center' => position.middle_center
'Bottom Left' => position.bottom_left
'Bottom Right' => position.bottom_right
'Bottom Center' => position.bottom_center
=> position.bottom_right
// Function 5: Timeframe to Human Readable (Indentation cleaned)
f_timeframeToHuman(_tf) =>
seconds = timeframe.in_seconds(_tf)
if seconds < 60
_tf
else if seconds < 3600
str.tostring(seconds / 60) + 'm'
else if seconds < 86400
str.tostring(seconds / 60 / 60) + 'h'
else
switch _tf
"1D" => "D"
"1W" => "W"
"1M" => "M"
=> str.tostring(_tf)
type TPanel
table src = na
bool vertical_orientation = true
int row = 0
int col = 0
// Method 1: Increment Column (Indentation cleaned)
method incCol(TPanel _panel) =>
if _panel.vertical_orientation
_panel.col += 1
else
_panel.row += 1
// Method 2: Increment Row (Indentation cleaned)
method incRow(TPanel _panel) =>
if not _panel.vertical_orientation
_panel.col += 1
_panel.row := 0
else
_panel.row += 1
_panel.col := 0
// Method 3: Add Cell (Indentation cleaned)
method add(TPanel _panel, string _v1, color _bg1, color _ctext1, string _v2, color _bg2, color _ctext2) =>
table.cell(_panel.src, _panel.col, _panel.row, _v1, text_color = _ctext1, bgcolor = _bg1)
_panel.incCol()
table.cell(_panel.src, _panel.col, _panel.row, _v2, text_color = _ctext2, bgcolor = _bg2)
_panel.incRow()
// Function 6: Background Color
f_bg(_rsi) =>
c_line = na(_rsi) ? i_color_mid :
_rsi >= i_threshold_ob ? i_color_ob :
_rsi >= i_threshold_uptrend ? i_color_uptrend :
_rsi <= i_threshold_os ? i_color_os :
_rsi <= i_threshold_downtrend ? i_color_downtrend :
i_color_mid
// Function 7: Text Color
f_rsi_text_color(_rsi) =>
c_line = na(_rsi) ? i_tcolor_mid :
_rsi >= i_threshold_ob ? i_tcolor_ob :
_rsi >= i_threshold_uptrend ? i_tcolor_uptrend :
_rsi <= i_threshold_os ? i_tcolor_os :
_rsi <= i_threshold_downtrend ? i_tcolor_downtrend :
i_tcolor_mid
f_formatRsi(_rsi) => na(_rsi) ? 'N/A' : str.tostring(_rsi, '0.00')
// --- Panel Execution Logic ---
if barstate.islast
v_panel = TPanel.new(vertical_orientation = i_orientation == 'Vertical')
v_max_rows = 20
v_panel.src := table.new(f_StrPositionToConst(i_position), v_max_rows, v_max_rows, border_width = i_border_width, border_color = i_color_border)
if i_showHeaders
v_panel.add('TF', i_color_header_bg, i_color_header_text, 'RSI', i_color_header_bg, i_color_header_text)
if i_rsi1_enabled
v_panel.add(f_timeframeToHuman(i_rsi1_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi1), f_bg(v_rsi1), f_rsi_text_color(v_rsi1))
if i_rsi2_enabled
v_panel.add(f_timeframeToHuman(i_rsi2_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi2), f_bg(v_rsi2), f_rsi_text_color(v_rsi2))
if i_rsi3_enabled
v_panel.add(f_timeframeToHuman(i_rsi3_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi3), f_bg(v_rsi3), f_rsi_text_color(v_rsi3))
if i_rsi4_enabled
v_panel.add(f_timeframeToHuman(i_rsi4_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi4), f_bg(v_rsi4), f_rsi_text_color(v_rsi4))
if i_rsi5_enabled
v_panel.add(f_timeframeToHuman(i_rsi5_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi5), f_bg(v_rsi5), f_rsi_text_color(v_rsi5))
if i_rsi6_enabled
v_panel.add(f_timeframeToHuman(i_rsi6_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi6), f_bg(v_rsi6), f_rsi_text_color(v_rsi6))
if i_rsi7_enabled
v_panel.add(f_timeframeToHuman(i_rsi7_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi7), f_bg(v_rsi7), f_rsi_text_color(v_rsi7))
if i_rsi8_enabled
v_panel.add(f_timeframeToHuman(i_rsi8_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi8), f_bg(v_rsi8), f_rsi_text_color(v_rsi8))
if i_rsi9_enabled
v_panel.add(f_timeframeToHuman(i_rsi9_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi9), f_bg(v_rsi9), f_rsi_text_color(v_rsi9))
if i_rsi10_enabled
v_panel.add(f_timeframeToHuman(i_rsi10_tf), i_color_tf_bg, i_color_tf_text, f_formatRsi(v_rsi10), f_bg(v_rsi10), f_rsi_text_color(v_rsi10))
if i_debug
t = table.new(position.middle_center, 21, 20, border_width = i_border_width, border_color = i_color_border)
v_panel2 = TPanel.new(t, vertical_orientation = i_orientation == 'Vertical')
v_panel2.add('Debug', i_color_header_bg, i_color_header_text, 'Colors', i_color_header_bg, i_color_header_text)
// Using a tuple array for debugging colors demo
// Final Syntax Correction: Use array.new() and array.set() to avoid 'tuple()' function reference error
v_rows = 5 // We know we have 5 elements
demo = array.new(v_rows, '') // Initialize array with 5 string elements, will hold string representation of the tuple
// We will push the elements as a *string* representation of the tuple, as Pine v6 allows
// and then parse them inside the loop if necessary.
// To preserve the structure (string, float) without the tuple() function:
// We must define two separate arrays if the 'tuple' function is truly unavailable.
tf_array = array.new(v_rows)
rsi_array = array.new(v_rows)
// Populate the arrays
array.set(tf_array, 0, 'Overbought')
array.set(rsi_array, 0, float(i_threshold_ob))
array.set(tf_array, 1, 'Uptrend')
array.set(rsi_array, 1, float(i_threshold_uptrend))
array.set(tf_array, 2, 'No Trend')
array.set(rsi_array, 2, 50.0)
array.set(tf_array, 3, 'Downtrend')
array.set(rsi_array, 3, float(i_threshold_downtrend))
array.set(tf_array, 4, 'Oversold')
array.set(rsi_array, 4, float(i_threshold_os))
// Iterate over the arrays using a simple index
for i = 0 to v_rows - 1
tf = array.get(tf_array, i)
rsi = array.get(rsi_array, i)
v_panel2.add(tf, i_color_tf_bg, i_color_tf_text, f_formatRsi(rsi), f_bg(rsi), f_rsi_text_color(rsi))
Goldsky - Gold Market SpecialistGoldsky is a sophisticated TradingView Pine Script indicator designed exclusively for XAUUSD (Gold) trading. It features adaptive parameter adjustment, session-based optimization, market regime detection, news event filtering, multi-timeframe analysis, and intelligent risk management specifically calibrated for gold's unique market characteristics.
Features
Adaptive System: Parameters adjust automatically based on market conditions
Session-Based Optimization: Different strategies for Asian/European/American/Overlap sessions
Market Regime Detection: TRENDING/RANGING/BREAKOUT/NEUTRAL market analysis
News Event Filter: Automatic detection and protection during high volatility
Multi-Timeframe Analysis: H1 trend + M15 structure + M5 execution confluence
RSI Integration: Advanced RSI filtering for entries and exits
Bollinger Bands Integration: Volatility analysis and extreme value detection
Risk Management: Gold-specific risk parameters and position sizing
Combined Up down with volumeIndicates the day with a purple dot where price moved up or down by 5% or more
OrbifyOrbify is a professional Opening Range Break (ORB) trading indicator that identifies key breakout opportunities during market sessions. Designed for both 5-minute and 15-minute timeframes, this tool visualizes the opening range, tracks breakouts with real-time alerts, and provides automated risk management with customizable take-profit and stop-loss levels.
🎯 Opening Range Detection
Customizable Session Times: Set your preferred ORB session (default: 09:30-09:35 EST)
Visual Range Box: Clear visualization of high/low range during the opening session
Extended Lines: Option to extend range boundaries throughout the trading day
⚡ Breakout Identification
Real-time Break Alerts: Instant visual labels when price breaks above/below the ORB
Session-Based Tracking: Automatically resets at 18:00 EST for new trading days
Smart Break Detection: Prevents duplicate signals within the same session
🛡️ Integrated Risk Management
Automated TP/SL Calculation: Calculates take-profit and stop-loss based on ORB range
Customizable Risk-Reward: Adjust TP/SL as percentage of ORB range (default: 50%)
Visual Zones: Colored boxes showing TP/SL areas for quick reference
Price Labels: Optional display of exact TP/SL price levels
Psychologische LevelPSYCHOLOGICAL LEVELS INDICATOR FOR FOREX
This professional indicator automatically visualizes all important psychological price levels on Forex charts. Psychological levels are price zones where traders frequently react, as humans tend to gravitate toward round numbers.
MAIN FEATURES:
Automatic Level Detection: The indicator calculates and draws all relevant psychological levels based on the current currency pair
Visual Zones: Each level is displayed with a solid center line and a colored zone
Forex-Optimized: Automatically accounts for JPY pairs (0.01 pip) and standard pairs (0.0001 pip)
Fully Customizable: Colors, zone width, and line thickness can be individually adjusted
LEVEL TYPES:
00/000 Levels (e.g., 1.1000, 1.1100, 1.2000)
The most important psychological barriers
Traders frequently place stop-loss and take-profit orders at these levels
Strong support and resistance zones
50 Levels (e.g., 1.1050, 1.1150, 1.2050)
Secondary psychological levels
Located exactly midway between 00-levels
Important intermediate zones for profit-taking
25/75 Levels (e.g., 1.1025, 1.1075, 1.2025)
Optional activation for more detailed analysis
Quartile levels for more precise zones
Useful for scalping and short-term strategies
CONFIGURATION OPTIONS:
Zone Width in Pips: Determines the width of the colored zone around the center line (Default: 5 pips)
Zone Color: Fill color of the psychological zones (adjustable transparency)
Line Color: Color of the solid center lines
Line Width: Thickness of the center lines (1-5 pixels)
Level Selection: Individual selection of which level types to display
TRADING APPLICATIONS:
✓ Identification of potential support and resistance zones
✓ Placement of stop-loss and take-profit orders
✓ Recognition of price rejection zones
✓ Support for breakout strategies
✓ Enhanced risk management
✓ Optimization of entry and exit points
SPECIAL FEATURES:
Levels extend across the entire chart (extend.both)
Automatic adjustment to all Forex pairs
Optimized performance through intelligent calculation
Clean design without cluttered chart display
Compatible with all timeframes
SUITABLE FOR:
This indicator is suitable for day traders, swing traders, scalpers, and long-term Forex investors who want to incorporate psychological price levels into their trading strategy.
ZynIQ Volatility Master Pro v2 - (Pro Plus Pack)Overview
ZynIQ Volatility Master Pro v2 analyses expansion and contraction in price behaviour using adaptive volatility logic. It highlights periods of compression, breakout potential and increased directional movement, helping traders understand when the market is shifting between quiet and active phases.
Key Features
• Multi-layer volatility modelling
• Adaptive compression and expansion detection
• Optional trend-aware volatility colouring
• Configurable sensitivity for different assets and timeframes
• Clean visual presentation designed for intraday and swing analysis
• Complements breakout, trend, structure and volume indicators
Use Cases
• Identifying contraction phases before expansion
• Filtering trades during low-volatility conditions
• Spotting volatility increases that accompany breakouts
• Combining volatility context with your other tools for confluence
Notes
This tool provides volatility context and regime awareness. It is not a trading system on its own. Use it with your preferred confirmation and risk management.
ZynIQ Order Block Master Pro v2 - (Pro Plus Pack)Overview
ZynIQ Order Block Master Pro v2 identifies areas where price showed strong displacement and left behind significant zones of interest. It highlights potential reaction areas, continuation blocks and mitigation zones based on structural behaviour and directional flow.
Key Features
• Automatic detection of bullish and bearish order block zones
• Optional refinement filters for higher-quality zones
• Displacement-aware logic to reduce weak signals
• Optional mitigation markers when price revisits a zone
• Configurable sensitivity for different markets and timeframes
• Clean labels and minimal chart clutter
• Complements structure, liquidity and FVG tools
Use Cases
• Highlighting key reaction areas based on previous strong moves
• Tracking potential continuation or reversal zones
• Combining order blocks with BOS/CHOCH and liquidity mapping
• Building confluence with breakout or volume tools
Notes
This tool provides contextual price zones based on displacement and structural movement. It is not a standalone trading system. Use with your own confirmation and risk management.
Lowest Point in Last 66 Days DistanceSimple script which plots the distance of price from its last 66 days low
ZynIQ Market Regime Master Pro v2 - (Pro Plus Pack)Overview
ZynIQ Market Regime Master Pro v2 identifies shifts in market conditions by analysing volatility, directional flow and structural behaviour. It highlights when the market transitions between trending, ranging, expansion and contraction phases, giving traders clearer context for decision making.
Key Features
• Multi-factor regime detection (trend, range, expansion, contraction)
• Adaptive volatility and momentum analysis
• Direction-aware colour transitions
• Optional HTF regime overlay
• Configurable sensitivity to match different markets
• Clean visuals suitable for intraday or swing trading
• Complements trend, breakout, liquidity and volume tools
Use Cases
• Determining whether the market is trending or ranging
• Identifying expansion phases vs contraction phases
• Filtering signals during unfavourable regimes
• Combining regime context with structure or breakout tools
Notes
This tool provides regime classification and contextual analysis. It is not a trading system by itself. Use with your own confirmation and risk management.
ZynIQ Core Pro Suite v2 - (Pro Plus Pack)Overview
ZynIQ Breakout Core Pro Suite v2 is an advanced breakout engine designed to analyse compression, expansion and directional bias with high precision. It incorporates multi-factor filtering, adaptive volatility logic and refined breakout mapping to highlight moments where the market transitions from contraction to expansion.
Key Features
• Adaptive breakout zones with refined volatility filters
• Direction-aware breakout confirmation
• Optional multi-stage filtering for higher-quality expansions
• Pullback and continuation gating to reduce noise
• Integrated structure awareness for more reliable triggers
• Clean labels and minimal chart clutter
• Optimised for intraday, swing and high-volatility markets
Use Cases
• Identifying structurally significant breakout points
• Avoiding false expansions during low-volatility phases
• Combining breakout logic with trend, structure or volume tools
• Mapping expansion phases after compression builds
Notes
This tool provides structural and volatility-aware breakout context. It is not a complete trading system. Use with your own confirmation tools and risk management.
ZynIQ Volume Surge Pro v2 - (Pro Pack)Overview
ZynIQ Volume Surge Pro v2 highlights abnormal changes in trading volume using multi-tier surge detection, churn analysis and optional divergence logic. It provides a detailed view of when market participation increases or decreases in a meaningful way.
Key Features
• Multi-tier surge detection (mild/strong/exceptional)
• Churn and absorption-style volume behaviour
• Optional volume-price divergence detection
• Configurable sensitivity for different markets and timeframes
• Clean labels marking surge conditions
• Optional HUD panel with surge state and metrics
• Works well for intraday and swing trading
Use Cases
• Confirming breakouts with strong participation
• Identifying exhaustion or stopping volume conditions
• Spotting divergences between price and volume
• Enhancing trend, structure or breakout analysis with volume context
Notes
This tool provides surge and participation context. It is not a standalone trading system. Use it with your own confirmation and risk management.






















