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.
Analizy Trendu
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
Logic Flow Signals & Backtest [bercutiatia]To understand the advanced logic of the tool, it is essential that you carefully read each topic and check the visual examples in this presentation.
--
Who is the Logic Flow Signals & Backtest tool recommended for?
Ideal for traders looking to increase the reliability and level of their operations. Recommended for those who want to create rigorous confluences, validate strategies with backtesting, and transform emotional management into systematic and measurable processes.
How can the Logic Flow Signals & Backtest tool help me?
High-confidence signals! You combine TradingView indicators and create a single robust signal, eliminating the frustration of having to spend hours in front of the chart and still clicking at the wrong time. This ensures that your entry is validated by logic, not emotional impulse.
--
Logic Flow Signals & Backtest is a versatile and powerful tool designed to test and validate your trading ideas with indicators from the TradingView community.
Extreme flexibility: Allows you to combine indicators available on TradingView (EMAs, RSI, MACD, SMC, etc.) to create custom entry and exit logics.
Sequential Logic: Goes far beyond simple crossovers. You can define rules where signal A must occur before signal B — and, if desired, before signal C or D — to validate an entry. Add time, order, and context filters, creating truly intelligent sequential logic that generates a single final alert only when all conditions align.
With Stages (Stage 1, Stage 2, etc.), your entries follow the exact sequence you define. And the best part: you no longer need to spend hours in front of the chart waiting for confluences. Simply set up your stages once, create an alert in TradingView, and the system will automatically notify you when the ideal combination of signals occurs.
Sequence Invalidation: Offers the option to define conditions that, if they occur, immediately cancel an ongoing entry sequence, helping to avoid entries in unfavorable scenarios.
Explaining the first image example (chart below):
LONG INDICATOR 1 (Stage 1): The market confirms a change in character (CHoCH Bullish). The system enters an alert state awaiting the confluence of the next indicators.
LONG INDICATOR 2 and 3 (Stage 2): Entry is only released when the SMA17 crosses above the SMA72 (indicator 2), but with one condition: The SMA72 must be ABOVE the SMA305 (indicator 3); Without this alignment of indicator 3, the signal of indicator 2 does not occur.
LONG INDICATOR 4 (Invalidation Rule): If at any point in the sequence the SMA72 crosses below the SMA305, the setup is immediately canceled and no entry signal is generated. The sequence restarts with indicator 1.
EXIT LONG (Hybrid Exit TP + SIGNAL): The trade seeks a TP target of 1000 ticks, but has a technical "Trailing Stop": if the trend reverses (Exit Long Indicator 1 = SMA72 crosses below the SMA305) before the target, the position is closed to protect capital.
SHORT INDICATOR 1 (Stage 1): Identification of weakness in the market with a Bearish CHoCH.
SHORT INDICATOR 2 and 3 (Stage 2): Entry is only released when the SMA17 crosses below the SMA72 (indicator 2), but with a strict condition: The SMA72 must be BELOW the SMA305 (indicator 3); Without this STATE of indicator 3, the signal from indicator 2 does not occur.
SHORT INDICATOR 4 (Invalidation Rule): If at any point in the sequence the SMA72 crosses above the SMA305, the setup is immediately canceled and no entry signal is generated. The sequence starts again with indicator 1.
EXIT SHORT (Hybrid Exit TP + SIGNAL): The trade seeks a target of 1000 ticks, but has a technical "Trailing Stop": if the downtrend reverses (Exit Short Indicator 1 = SMA72 crosses above the SMA305) before the target, the position is closed to protect capital.
In this strategy, we use the external indicators: Multiple MTF MA and Smart Money Concepts (Advanced)
--
Stage Duration: In STAGE DURATION , you control the maximum time (in candles) allowed for each transition between stages to occur. If the time limit expires before the next stage is reached, the sequence is reset. Keep it at 0 to disable the time limit.
The "Stage Duration" function is available in four separate blocks on the settings panel:
- LONG - STAGE DURATION: Controls the time limit (in candles) between Long entry stages (for example from Stage 1 to Stage 2).
- LONG EXIT - STAGE DURATION: Controls the time limit between Long exit stages.
- SHORT - STAGE DURATION: Controls the time limit between Short entry stages.
- SHORT EXIT - STAGE DURATION: Controls the time limit between Short exit stages.
Explaining the second image example (chart below):
Stage 1 (INDICATOR 1): New Fair Value Gap (FVG) Bullish Confirmed.
- Meaning: The move starts with a bullish FVG (Fair Value Gap), indicating a confirmed imbalance where buyers were much more aggressive than sellers.
Stage 2 (INDICATOR 2): EMA10 crossing above the EMA50.
- Meaning: Immediately after the FVG trigger, the fast moving average (10 periods) crosses the intermediate moving average (50 periods). This confirms that the initial FVG impulse was not an isolated event but the beginning of a short-term trend.
Stage 3: In this final stage, we require two simultaneous confirmations to validate the entry:
- INDICATOR 3: The EMA10 crosses above the EMA100, indicating that the movement has enough strength to break through larger barriers.
- INDICATOR 4: The RSI must be above its own moving average (SMA14). This ensures the asset is gaining momentum at the exact moment the averages are broken, avoiding entries in "tired" markets.
Stage Duration: The most important feature of this setup is the restricted time window.
- Rule: From Stage 1 to 2, and from Stage 2 to 3, the maximum interval to accept confluences is only 3 candles.
- Why this is vital? If the market took 20 candles to align these conditions, it would indicate weakness or indecision. By demanding that everything happens within a maximum of 3 candles per step, the setup filters only the moves where buying pressure is urgent and aggressive, increasing the probability of an explosive move in favor of the trade.
Asymmetric Risk Management: To complement a high-probability and high-pressure setup, we use aggressive risk management:
- Stop Loss (Technical/Short): 200 Ticks. If the buying pressure fails quickly, we exit early with a small loss.
- Take Profit (Long Target): 1000 Ticks. We aim to ride the impulse "leg" that the setup identified.
- Risk/Reward: 5:1. This means a single winning trade covers five losing trades, making the strategy mathematically viable in the long term.
In this strategy, we use the external indicators: Multiple MTF MA , Smart Money Concepts (Advanced) and Relative Strength Index (RSI) .
--
Multiple Operating Modes
It is not limited to sequences. It can operate by confluence (where all signals must be valid at the same time), by single trigger (only one signal is required), or by "OR" logic (any one of the defined signals).
- If you use only Stage 1 in more than one indicator session, the entry will only occur if all enabled conditions are true simultaneously.
- Any condition defined as OR can trigger the entry by itself.
- If only one condition block is enabled, the single indicator will function as a simple signal.
Multiple and Simultaneous Exits
It allows for the configuration of exits by both indicators and TP/SL targets. The strategy will close the trade as soon as any of these conditions are met first (indicator signal, profit target, or loss limit
Integrated Risk Management
It includes Stop Loss and Take Profit exits by percentage and ticks, which are easy to configure and essential for risk management. The strategy calculates the exact TP and SL prices based on your entry price and monitors the market on every tick.
Explaining the Third Image Example (Chart Below)
The move was validated by a 4-step logical sequence (Stage 1) and managed by a hybrid exit system.
Short Indicator 1, 2, and 3: The price (Close) crossed below the SMA200, SMA72, and SMA17 averages simultaneously.
- What this means: When a single candle has the strength to break below the short-term (17), mid-term (72), and long-term (200) averages, it indicates a high probability for the price to seek lower levels.
To reinforce Indicators 1 through 3, we added an extra layer of confirmation.
Short Indicator 4: The Positive Volume Index (PVI) needed to be below its own long-term average (EMA300).
- Why this is important: PVI below the average confirms that selling volume is dominant, validating that the break of the averages was not just noise.
Triple Exit Management (Maximum Security)
The great advantage of this tool is the ability to manage risk dynamically. In this trade, we configured three simultaneous exit conditions, where the first one to be met closes the position:
1. Financial Target (TP): A fixed Take Profit of 15%.
2. Exit Short Indicator 1 (Technical Exit 1): If the average (SMA72) crosses above the average (SMA200), the trade is closed.
3. Exit Short Indicator 2 (Technical Exit 2): If the PVI crosses above the EMA300, indicating an entry of buying strength, the trade is closed.
"OR" Logic: The tool monitors these conditions in real-time. Whichever occurs first triggers the exit, ensuring you lock in profit (TP) or protect your capital at the first sign from the indicators.
In this strategy, we use the external indicators: Multiple MTF MA and Positive Volume Index .
--
Reversal Mode (Stop and Reverse)
The Reversal Mode (Stop and Reverse) allows a new signal in the opposite direction (e.g., a SELL signal) to automatically close an existing position (e.g., BUY) and open a new one (sell). This "stop and reverse" function can be enabled or disabled in the settings, giving you full control over whether the strategy should only exit (awaiting a new signal) or immediately reverse the position.
Explaining the Fourth Image Example (Chart Below)
In this example, we demonstrate a setup focused on capturing every market "flip," keeping the trader positioned 100% of the time ("Always-in"), a technique widely used in automation.
- Long Entry: Occurs immediately upon confirming a bullish change of character (New CHoCH Bullish).
- Short Entry: Occurs immediately upon confirming a bearish change of character (New CHoCH Bearish).
- Exit (The Differentiator): We are not using fixed TP or SL here. The exit is triggered by Automatic Reversal.
The Power of "Exit by Opposite Signal"
Notice the labels on the chart: "Close Short" followed immediately by a "Long." This happens because the Allow Reversal function is enabled in the tool's settings.
When the market generates a buy signal, the tool understands that the sell thesis has been invalidated. It simultaneously sends an order to close the Short position and open a new Long position.
When to use this exit rule?
- Capturing Long Trends / Directional Movements: Ideal for volatile assets where you want to ride the trend until the market structure effectively changes.
- Operational Simplification: Eliminates the need to guess profit targets and acts as a loss limiter when the price moves against your position. The market dictates when to enter and when to exit.
Hybrid Flexibility:
The strongest point of Logic Flow is that you don't have to choose just one method. Reversal can be used in two ways:
1. Individually (as in the image): Reversal is the only form of exit. You stay in the move until the opposite signal.
2. Combined (Hybrid): You can enable Reversal and configure a safety Stop Loss + technical Take Profit (Exit Long/Short Indicator).
- Example: If the price hits your TP/SL first, you exit. If the market turns before the TP, the Reversal takes you out of the trade and generates a new trend alert.
In this strategy, we use the external indicators: Smart Money Concepts .
--
Backtesting: Far beyond creating logic and generating signals, Logic Flow Signals stands out due to its Integrated Backtest.
Backtesting serves as a reality check for the trader. It takes the strategy out of the realm of "imagination" and puts it to the test against historical data.
Here are the 4 main practical uses:
1. Verifying Feasibility (Proof of Concept): The most obvious use is to answer: "Does this idea make money?". Many strategies look visually perfect on the chart, but when you run the backtest, you discover that brokerage fees or frequent "stops" consume all the profit.
2. Knowing the "Worst-Case Scenario" (Drawdown): Maximum Drawdown: It shows you what the largest accumulated drop the strategy has ever experienced was. By identifying a Drawdown that exceeds the desired risk tolerance, the backtest allows for parameter optimization in search of a more efficient balance between risk and return.
3. Fine-Tuning (Optimization): It allows you to make changes such as: Increasing the profit target, changing the stop, removing an indicator, changing the chart timeframe, among other actions. You can test various variations instantly to find the most efficient configuration.
4. Expectation Management and Discipline: Backtesting does not eliminate fear nor guarantee that the future will repeat the past, but it serves as a reference map.
The Real Role: Aligning expectation with reality.
In the image below, you can check out how a backtest result is generated:
To understand the backtest results shown above, check the chart and the detailed operational logic below:
This operational example seeks to identify altcoins that are demonstrating an explosive decorrelation relative to Bitcoin. The logic is: we want to buy only the assets that are outperforming the market leader, precisely at the moment when speculative money (Open Interest) heavily enters the market.
For the buy signal (Long) to be triggered, three conditions must be simultaneously true (Stage 1):
Long Indicator 1 (Altcoin Strength): The asset's RSI must be above the 70 level (Overbought), indicating extremely strong bullish momentum.
Long Indicator 2 (Bitcoin Weakness): Bitcoin's RSI must be below the 50 level. This confirms that the Altcoin's rally is genuine and independent.
Long Indicator 3 (Money Flow): The Open Interest (open contracts) must be above the Extreme level of the OI DELTA indicator. This validates that new money is aggressively entering the asset to sustain the rally.
Risk Management: In this example, we configured an aggressive target to capture the altcoin volatility:
- Take Profit: 100%
- Stop Loss: 20%
- Risk/Reward: 5:1
In this strategy, we use the external indicators: RSI Crypto Strength (Asset vs BTC) and Open Interest Delta .
--
Configuring an Indicator Block
Each block (BUY INDICATOR 1, BUY INDICATOR 2, ...) allows you to define a complete condition.
- Enable (Activate): Simply turns this indicator block on or off.
- Source A: The first value you want to analyze.
example: The Closing Price (Close), Opening Price (Open), or another TradingView indicator.
- Condition: How 'Source A' will be compared.
example: Crossover/Crossunder, Greater Than, Less Than, Cross Up.
- Comparison Type: The option that defines whether you will compare 'Source A' with a fixed number or with another indicator.
- Fixed Value: Used if you selected "Fixed Value".
example: For an RSI greater than 70 condition, Source A would be the RSI, the Condition would be Greater Than, and the Fixed Value would be 70.
- Source B: Used if you selected "Source B".
example: For a condition where the EMA10 crosses above the EMA200, Source A would be the EMA10, the Condition would be 'Cross Up', and Source B would be the EMA200.
--
Configurable Alert Signals
Configurable Alert Signals: The tool allows for the creation of fully customized alerts for different types of events, such as entries, signal-based exits, take profit, and stop loss. These alerts can be used for both strategy automation and manual, real-time notifications.
The message field is highly flexible: it accepts dynamic placeholders, JSON structure, UUID identifiers, or any custom text, allowing integration with other external tools and systems via webhook.
Configuring Your Messages:
- LONG/SHORT - ALERTS: Defines the message for new entries.
- LONG/SHORT INDICATOR EXIT - ALERTS: Defines the message for signal-based exits (e.g., moving average cross).
- REVERSAL - ALERTS: Defines the message for when a position is closed by an opposite signal (stop-and-reverse).
- LONG/SHORT TP/SL EXIT - ALERTS: Defines the message for exits triggered by take profit (TP) or stop loss (SL), via percentage or ticks.
A Single Alert to Control Everything
You don't need to create separate alerts for "Buy," "Sell," or "Exits." On a single screen, you can create strategies by defining entries, signal-based exits, profit targets, or stop limits.
Alert Times (Operating Window)
In the Alert Times section, you can define a specific time (and time zone) for the strategy to generate entry or exit signals.
--
To create your alert, simply follow these steps:
- Condition: Select the script name: "Logic Flow Signals & Backtest".
- Message: Insert only the placeholder: {{strategy.order.alert_message}}
Once this single alert is active, it will "listen" to all orders executed by the strategy.
This means you can have your Long-Term, Short-Term, Signal-Based Exits, and TP/SL strategies active simultaneously. When any of these events are plotted on the chart, the script will send the customized message (which you wrote in the fields) to your single alert.
--
Advanced period filters: Allow you to test the strategy in specific date ranges, over the last X days, or over the last X bars, facilitating performance analysis in different market environments.
--
Status Panel: Displays a clear summary of all active rules and settings directly on the chart, facilitating the visualization and confirmation of the running logic.
Additionally, it has a settings box where you can activate or deactivate the panel, choose its position (such as at the bottom or side), and adjust its size.
--
The Thumbnail strategy uses the following external indicators: Multiple MTF MA and Breakout Finder .
--
Final Considerations:
The Logic Flow Signals & Backtest tool is a versatile and powerful system, designed to test and apply trading ideas based on multiple indicators from TradingView.
Its differential is being a customization environment: the script does not have integrated graphical indicators, as the objective is precisely to allow the user to combine and integrate multiple existing indicators in the TradingView community to build unique entry and exit logics.
It offers flexibility and precision, but the true value emerges when the trader integrates the tool into a consistent trading plan, with efficient risk management (Stop Loss and Take Profit), leverage control, and a professional mindset.
Important: Risk of Repainting (Unstable Data): Avoid indicators that 'repaint' (those that change their values in past bars after the closing of new candles). The backtest will be invalidated, and the actual performance of the strategy will fail.
Legal Warning and Didactic Purpose:
It is fundamental to understand that all visual examples, charts, and texts contained in this description do not constitute financial advice, buy or sell recommendations, nor a promise of easy or guaranteed gains.
This is an advanced support tool, not an automatic profit system. Use the integrated backtesting to evaluate the historical behavior of strategies before real execution and understand how different market conditions impact your results. The sole purpose of this material is to demonstrate the logical and execution capacity of the script, serving as a didactic guide for you to test and validate your own ideas.
Conclusion and Risk Warning:
Success in financial markets comes not only from a set of charting indicators, but from the trader's understanding, practice, and discipline. Our objective is to provide a robust, customizable, and intuitive solution, created to enhance your technical analysis and broaden your strategic vision, without replacing critical thinking and conscious decision-making.
Finally, remember: past results do not guarantee future performance. The real differentiator lies in continuous learning, testing, and evolution.
TrendSight📌 TrendSight — The All-in-One Multi-Timeframe Trend Engine
Key Features & Logic
Multi-Timeframe Trend Confirmation:
Entries are filtered by confirming bullish/bearish alignment across three distinct Supertrend timeframes (e.g., 5-min, 15-min, 45-min, etc.), combined with an EMA and volatility filter, to ensure high-conviction trades that's a powerful combination! Designing the entire strategy around the 15-minute timeframe (M15) and focusing on high-volatility coins maximizes the strategy's effectiveness .
Guaranteed Single-Entry per Signal:
The strategy uses a powerful manual flag and counter system to ensure trades fire only once when a new signal begins. It absolutely prevents immediate re-entry if the signal remains true, waiting instead for the entire trend condition to reset to false.
Dynamic Trailing Stop Loss:
The Stop Loss is set to a moving Supertrend line (current_supertrend), ensuring tight risk management that trails the price as the trade moves into profit.Guaranteed Take Profit (4% Run-up): Uses a precise Limit Order via strategy.exit() to capture profits instantly at a 4% run-up. This ensures accurate profit capture, even on sudden spikes (wicks).
Automated Risk Management:
Position size is dynamically calculated based on a fixed risk percentage (default 2% of equity) relative to the distance to the trailing stop.
🔥 Core Components
1. Adaptive Multi-Timeframe SuperTrend Dashboard
The backbone of mTrendSight is a fully customizable SuperTrend system, enhanced with a multi-timeframe confirmation table displaying ST direction & value.
This compact “Trend Dashboard” provides instant clarity on higher-timeframe direction, trend strength, and market bias.
2. Dynamic Support & Resistance Channels
Automatically detects the strongest support/resistance zones using pivot clustering.
Key Features:
Clustered S/R Channels instead of thin lines
Adaptive width based on recent swings
Breakout markers (optional) for continuation signals
Helps identify structural zones, retest areas, and liquidity pockets
3. Multi-Timeframe Color-Coded EMAs
Plot up to three EMAs, each optionally pulled from a higher timeframe.
Benefits:
Instant visual trend alignment
Bullish/Bearish dynamic color shifts
Precision EMA value table for trade planning
Works perfectly with ST & RSI for multi-layer confirmation
4. Linear Regression Trend Channel
A statistically driven trend channel that measures the most probable path of price action.
Highlights:
Uses Pearson’s R to determine trend reliability
Provides a Confidence Level to judge whether trend slope is credible
Ideal for determining over-extension and mean-reversion zones
5. ATR Volatility Analyzer
A lightweight but powerful volatility classifier using ATR.
Features:
Detects High, Low, or Normal volatility
Clean table display
Helps filter entries during low-energy markets
Strengthens trend-following filters when volatility expands
6. RSI Momentum & Trend Classifier
A significantly improved RSI with multi-layer smoothing and structure-based classification.
Provides:
Bullish / Bearish / Neutral momentum states
Short-term momentum vs long-term RSI trend
Perfect for early trend shifts, pullback entries, and momentum confirmation
⚙️ How the Strategy Works (Execution Logic)
📌 Multi-Timeframe Supertrend + EMA + Volatility Confirmation
Entries are only triggered when:
Multiple Supertrend timeframes align (e.g., 5m + 15m + 45m)
EMA direction aligns with the trend
Volatility conditions (ATR filter) is not Low allow high-probability moves
This ensures strong directional confluence before every trade.
📌 Guaranteed Single-Entry Logic
The strategy uses a flag + counter system to ensure:
Only one entry is allowed per trend signal
Re-entries do not happen until the entire trend condition resets
The Strategy Tester remains clean, without duplicate overlapping trades
This eliminates revenge trades, repeated fills, and choppy overtrading.
📌 Dynamic Supertrend Trailing Stop
Stop Loss is anchored to current Supertrend value, creating:
Automatic trailing
Tight downside control
Protection against deep pullbacks
High responsiveness during volatility expansions
📌 Precision Take-Profit (4% Run-Up Capture)
A dedicated global exit block ensures:
Take Profit triggers exactly at 4% price run-up
Uses strategy.exit() with limit orders to catch spikes (wicks)
Works consistently on all timeframes & assets
📌 Automated Position Sizing (2% Risk Default)
Position size is dynamically calculated based on:
Account Equity
Distance to trailing stop
Configured risk %
This enforces proper risk management without manual adjustments.
📈 How to Interpret Results
Reliable Exits: All exits are globally managed, so stops and take profits trigger accurately on every bar.
Clean Trade History: Because of single-entry logic, backtests show one trade per valid signal.
Consistency: Multi-timeframe logic ensures only high-quality, structured trades.
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.
ZynIQ FVG Master Pro v2 - (Pro Pack)Overview
ZynIQ FVG Master v2 (Pro) identifies fair value gaps and highlights key imbalance zones within price action. It includes detection for standard and extended FVGs, optional mitigation logic and context filters to help traders understand where inefficiencies may be filled.
Key Features
• Detection of regular and extended FVGs
• Optional mitigation and fill markers
• Configurable minimum gap size and sensitivity
• Direction-aware colour coding
• Optional smart filtering to reduce low-quality gaps
• Clean visuals designed for intraday and swing analysis
• Can be used alongside structure and liquidity tools for confluence
Use Cases
• Identifying imbalance zones likely to be revisited
• Spotting high-probability mitigation areas
• Combining FVGs with BOS/CHOCH or liquidity sweeps
• Mapping context for continuation and reversal setups
Notes
This tool provides FVG and imbalance context. It is not a standalone trading system. Use with your preferred confirmation and risk management.
ZynIQ Liquidity Master Pro v2 - (Pro Pack)Overview
ZynIQ Liquidity Master v2 (Pro) identifies key liquidity pools and sweep zones using automated swing logic, equal-high/low detection and multi-level liquidity mapping. It provides a clear view of where liquidity may be resting above or below price, helping traders understand potential sweep or mitigation behaviour.
Key Features
• Automatic detection of EQH/EQL (equal highs/lows)
• Mapping of major swing liquidity zones
• Optional PDH/PDL (previous day high/low) and weekly levels
• Detection of potential liquidity sweep areas
• Clean labels for swing points and liquidity clusters
• Configurable sensitivity for different markets or timeframes
• Lightweight visuals with minimal clutter
Use Cases
• Identifying major liquidity pools above or below price
• Spotting potential sweep conditions before reversals
• Anchoring market structure or FVG tools with liquidity context
• Understanding where price may target during expansion moves
Notes
This tool identifies areas of resting liquidity based on swing and equal-high/low logic. It is not a standalone trading system. Use with your preferred confirmation and risk management.
ZynIQ Market Structure Master v2 - (Pro Pack)Overview
ZynIQ Market Structure Master v2 (Pro) maps structural shifts in price action using automated BOS/CHOCH detection, swing analysis and directional flow. It provides a clear view of when the market transitions between expansion, pullback and reversal phases.
Key Features
• Automated BOS (Break of Structure) and CHOCH detection
• Swing high/low mapping with optional filtering
• Directional flow logic for identifying trend vs reversal phases
• Optional EQ levels and mitigation markers
• Configurable structure sensitivity for different timeframes
• Clean labels and minimal clutter for fast interpretation
• Suitable for intraday and swing structure analysis
Use Cases
• Identifying key structural shifts in trend
• Spotting early reversal signals via CHOCH
• Assessing trend continuation vs distribution/accumulation
• Combining structure with liquidity, FVG or breakout tools
Notes
This tool provides structural context using break-of-structure and swing logic. It is not a trading system by itself. Use alongside your own confirmation and risk management.
Price Volume Trend to buyThis indicator use PVT (price volume tendency) as background whith colors and labels to smart indicate if you are on buyer or seller scenario
Humontre - One signal - One direction - No noiseClean trend-following band
Delivers one high-conviction entry per trend change
Zero repaint · Minimal lag
Best performance observed on 4H and higher timeframes
Works on all markets (crypto · forex · indices)
Use at own risk.
ZynIQ Breakout Pro v2 - (Pro Pack)Overview
ZynIQ Breakout Pro v2 is an advanced breakout framework designed to identify high-quality expansion points from compression zones. It includes adaptive volatility filters, directional detection, optional confirmation logic and an integrated risk-mapping system for structured trade planning.
Key Features
• Adaptive breakout range detection with smart volatility filters
• Direction-aware breakout triggers
• Optional ADX or volatility conditions for confirmation
• Pullback gating to reduce low-quality continuation attempts
• Integrated Risk Helper for SL/TP structure
• Clean labels and minimal chart clutter
• Suitable for intraday and swing trading
Use Cases
• Identifying breakout moments with stronger confirmation
• Avoiding noise and clustering during choppy phases
• Structuring entries around expansion from compression
• Combining breakout signals with trend, momentum or volume tools
Notes
Breakout Pro v2 provides structural and volatility-aware breakout context. It is not a standalone trading system. Use with your own confirmation tools and risk management.






















