Hoon Fib project//@version=6
indicator("Hoon Fib project", shorttitle ="Hoon Fib project" ,overlay = true, max_bars_back = 5000)
// ~~ Tooltips {
var string t1 = "Period: Number of bars used to detect swing highs and swing lows. Larger values give fewer but larger swings. (Works relative to current timeframe)."
var string t2 = "Projection Level: Fibonacci ratio used to calculate the projected future swing targets (e.g. 61.8%)."
var string t2_b = "Trend Projection Ratio: The secondary Fibonacci ratio used for the furthest extension (default was 1.272)."
var string t3 = "Level 1: Ratio and Color for the first retracement level (Standard: 0.236)."
var string t4 = "Level 2: Ratio and Color for the second retracement level (Standard: 0.382)."
var string t5 = "Level 3: Ratio and Color for the third retracement level (Standard: 0.500)."
var string t6 = "Level 4: Ratio and Color for the fourth retracement level (Standard: 0.618)."
var string t7 = "Level 5: Ratio and Color for the fifth retracement level (Standard: 0.786)."
var string t8 = "Fib Line Width: Thickness of all horizontal Fibonacci retracement lines."
var string t9 = "Fib Labels: Show or hide percentage labels at each Fibonacci retracement line."
var string t10 = "Fib Label Text Color: Text color of Fibonacci retracement labels."
var string t11 = "Fib Label Size: Font size of Fibonacci retracement labels."
var string t12 = "Low Line Color: Color for the most recent swing low horizontal guide line."
var string t13 = "High Line Color: Color for the most recent swing high horizontal guide line."
var string t14 = "Swing Line Width: Thickness of both swing high and swing low guide lines."
var string t15 = "Fib Volume Profile: Enable or disable the main volume profile drawn between the last swing high and low."
var string t16 = "Rows: Number of price rows (bins) used in the Fib volume profile. More rows = finer detail."
var string t17 = "Flip Bull/Bear: Swap the horizontal position of bullish and bearish volume bars in the profile."
var string t18 = "Bull Volume Color: Base color used for bullish (up-bar) volume in the Fib volume profile."
var string t19 = "Bear Volume Color: Base color used for bearish (down-bar) volume in the Fib volume profile."
var string t20 = "Fib Volume Delta: Enable or disable the separate volume delta profile between Fibonacci price bands."
var string t21 = "Delta Max Width: Maximum horizontal width (in bars) used to scale delta boxes from smallest to largest."
var string t22 = "Bullish Delta Color: Fill color for bands where bullish volume exceeds bearish volume (positive delta)."
var string t23 = "Bearish Delta Color: Fill color for bands where bearish volume exceeds bullish volume (negative delta)."
var string t24 = "Bullish Projection Line Color: Color of projected segments when price is projected upward."
var string t25 = "Bearish Projection Line Color: Color of projected segments when price is projected downward."
var string t26 = "Projection Line Width: Thickness of projected swing segments."
var string t27 = "Projection Line Style: Visual style of projected lines (solid, dashed, dotted, or arrows)."
var string t28 = "Bullish Label Background: Background color for percentage labels on upward projection segments."
var string t29 = "Bearish Label Background: Background color for percentage labels on downward projection segments."
var string t30 = "Projection Label Text Color: Text color of projection percentage labels."
var string t31 = "Projection Label Size: Font size of projection percentage labels."
var string t32 = "Projection Box Background: Toggle the background fill of projection boxes on or off."
var string t33 = "Projection Box Background Color: Fill color used for projection boxes (when background is enabled)."
var string t34 = "Projection Box Border: Toggle drawing a border around projection boxes."
var string t35 = "Projection Box Border Color: Color of the border around projection boxes."
var string t36 = "Projection Box Border Width: Thickness of projection box borders."
var string t37 = "Projection Box Border Style: Line style for projection box borders (solid/dashed/dotted)."
var string t38 = "Projection Box Horizontal Align: Horizontal alignment of text inside projection boxes (left/center/right)."
var string t39 = "Projection Box Vertical Align: Vertical alignment of text inside projection boxes (top/center/bottom)."
var string t40 = "Projection Box Text Color: Text color for the projection level values shown inside the boxes."
var string t41 = "Projection Box Text Size: Font size of the projection level values shown inside the boxes."
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Inputs {
prd = input.int(
100,
"Period",
group = "Fib Settings",
inline = "fibColor",
tooltip = t1
)
lvl = input.float(
0.618,
title = "Projection Level",
group = "Fib Settings",
options = ,
tooltip = t2
)
// NEW INPUT FOR CUSTOM FIB
trendFibbRatio = input.float(
1.272,
title = "Trend Projection Ratio",
step = 0.001,
group = "Fib Settings",
tooltip = t2_b
)
// Fib line style inputs (horizontal fib levels)
fibLvl1 = input.float(0.236, "Level 1", group = "Fib Levels Style", inline = "f1", tooltip = t3)
fibColor236 = input.color(#f23645, "", group = "Fib Levels Style", inline = "f1")
fibLvl2 = input.float(0.382, "Level 2", group = "Fib Levels Style", inline = "f2", tooltip = t4)
fibColor382 = input.color(#81c784, "", group = "Fib Levels Style", inline = "f2")
fibLvl3 = input.float(0.500, "Level 3", group = "Fib Levels Style", inline = "f3", tooltip = t5)
fibColor500 = input.color(#4caf50, "", group = "Fib Levels Style", inline = "f3")
fibLvl4 = input.float(0.618, "Level 4", group = "Fib Levels Style", inline = "f4", tooltip = t6)
fibColor618 = input.color(#089981, "", group = "Fib Levels Style", inline = "f4")
fibLvl5 = input.float(0.786, "Level 5", group = "Fib Levels Style", inline = "f5", tooltip = t7)
fibColor786 = input.color(#64b5f6, "", group = "Fib Levels Style", inline = "f5")
fibLineWidth = input.int(
2,
"Fib Line Width",
minval = 1,
maxval = 5,
group = "Fib Levels Style",
inline = "fwidth",
tooltip = t8
)
showlab = input.bool(
false,
title = "Fib Labels",
group = "Fib Levels Style",
inline = "fiblab"
)
fibLabelColor = input.color(
color.white,
"",
group = "Fib Levels Style",
inline = "fiblab"
)
fibLabelSizeStr = input.string(
"Small",
"",
options = ,
group = "Fib Levels Style",
inline = "fiblab",
tooltip = t9 + " " + t10 + " " + t11
)
fibLabelOffset = 1 // (fixed) x offset for labels
// derived label size
fibLabelSize =
fibLabelSizeStr == "Tiny" ? size.tiny :
fibLabelSizeStr == "Small" ? size.small :
fibLabelSizeStr == "Large" ? size.large :
fibLabelSizeStr == "Huge" ? size.huge :
size.normal
// Swing high/low lines
loLineColor = input.color(
color.new(color.green, 0),
"Low Line",
group = "Swing High/Low Lines Style",
inline = "hi"
)
hiLineColor = input.color(
color.new(color.red, 0),
"High Line",
group = "Swing High/Low Lines Style",
inline = "hi"
)
hiloLineWidth = input.int(
2,
"Width",
1,
5,
group = "Swing High/Low Lines Style",
inline = "hi",
tooltip = t12 + " " + t13 + " " + t14
)
// Fib volume profile inputs
showFibProfile = input.bool(
true,
"Fib Volume Profile",
group = "Fib Volume Profile",
inline = "fibprof"
)
rows = input.int(
10,
"Rows",
2,
100,
group = "Fib Volume Profile",
inline = "fibprof"
)
flipOrder = input.bool(
false,
"Flip Bull/Bear",
group = "Fib Volume Profile",
inline = "fibprof",
tooltip = t15 + " " + t16 + " " + t17
)
bull_color = input.color(
color.new(color.teal, 30),
"Bull",
group = "Fib Volume Profile",
inline = "volColor"
)
bear_color = input.color(
color.new(color.orange, 30),
"Bear",
group = "Fib Volume Profile",
inline = "volColor",
tooltip = t18 + " " + t19
)
// Volume Text Settings
showVolText = input.bool(true, "Show Volume Values", group="Fib Volume Profile", inline="vtxt")
volTextSizeStr = input.string("Tiny", "Size", options= , group="Fib Volume Profile", inline="vtxt")
volTextSize =
volTextSizeStr == "Tiny" ? size.tiny :
volTextSizeStr == "Small" ? size.small :
size.normal
// Fib Volume Delta profile
showFibDelta = input.bool(
false,
"Fib Volume Delta",
group = "Fib Volume Delta Profile",
inline = "delta"
)
deltaMaxWidth = input.int(
30,
"Max Width",
minval = 5,
maxval = 200,
group = "Fib Volume Delta Profile",
inline = "delta",
tooltip = t20 + " " + t21
)
deltaBullColor = input.color(
color.new(color.lime, 80),
"Bullish Delta",
group = "Fib Volume Delta Profile",
inline = "deltaColor"
)
deltaBearColor = input.color(
color.new(color.red, 80),
"Bearish Delta",
group = "Fib Volume Delta Profile",
inline = "deltaColor",
tooltip = t22 + " " + t23
)
// Projection LINES style
projLineBullColor = input.color(
color.new(color.green, 0),
"Bullish",
group = "Projection Lines Style",
inline = "plc"
)
projLineBearColor = input.color(
color.new(color.red, 0),
"Bearish",
group = "Projection Lines Style",
inline = "plc"
)
projLineWidth = input.int(
2,
"Width",
1,
5,
group = "Projection Lines Style",
inline = "plc"
)
projLineStyleStr = input.string(
"Arrow Right",
"",
options = ,
group = "Projection Lines Style",
inline = "plc",
tooltip = t24 + " " + t25 + " " + t26 + " " + t27
)
projLineStyle =
projLineStyleStr == "Solid" ? line.style_solid :
projLineStyleStr == "Dashed" ? line.style_dashed :
projLineStyleStr == "Dotted" ? line.style_dotted :
projLineStyleStr == "Arrow Left" ? line.style_arrow_left :
line.style_arrow_right
// Projection % LABELS style
projPercBullColor = input.color(
color.new(color.green, 0),
"Bullish Bg",
group = "Projection Labels Style",
inline = "plc"
)
projPercBearColor = input.color(
color.new(color.red, 0),
"Bearish Bg",
group = "Projection Labels Style",
inline = "plc"
)
projPercTextColor = input.color(
color.white,
"Text",
group = "Projection Labels Style",
inline = "plc"
)
projPercLabelSizeStr = input.string(
"Small",
"",
options = ,
group = "Projection Labels Style",
inline = "plc",
tooltip = t28 + " " + t29 + " " + t30 + " " + t31
)
projPercLabelSize =
projPercLabelSizeStr == "Tiny" ? size.tiny :
projPercLabelSizeStr == "Small" ? size.small :
projPercLabelSizeStr == "Large" ? size.large :
projPercLabelSizeStr == "Huge" ? size.huge :
size.normal
// Projection box style inputs
projBoxBgOn = input.bool(
true,
"Background",
group = "Projection Box Style",
inline = "pbg"
)
projBoxBgColor = input.color(
color.new(color.blue, 80),
"",
group = "Projection Box Style",
inline = "pbg"
)
projBoxBorderOn = input.bool(
true,
"Border",
group = "Projection Box Style",
inline = "pbg"
)
projBoxBorderCol = input.color(
color.new(color.white, 0),
"",
group = "Projection Box Style",
inline = "pbg"
)
projBoxBorderW = input.int(
1,
"",
minval = 1,
maxval = 5,
group = "Projection Box Style",
inline = "pbg"
)
projBoxBorderStyleStr = input.string(
"Solid",
"",
options = ,
group = "Projection Box Style",
inline = "pbg",
tooltip = t32 + " " + t33 + " " + t34 + " " + t35 + " " + t36 + " " + t37
)
projBoxTextHAlignStr = input.string(
"Center",
"H Align",
options = ,
group = "Projection Box Style",
inline = "ptxt"
)
projBoxTextVAlignStr = input.string(
"Center",
"V Align",
options = ,
group = "Projection Box Style",
inline = "ptxt",
tooltip = t38 + " " + t39
)
projBoxTextColor = input.color(
color.white,
"Text",
group = "Projection Box Style",
inline = "ptxt2"
)
projBoxTextSizeStr = input.string(
"Normal",
"",
options = ,
group = "Projection Box Style",
inline = "ptxt2",
tooltip = t40 + " " + t41
)
projBoxTextSize =
projBoxTextSizeStr == "Tiny" ? size.tiny :
projBoxTextSizeStr == "Small" ? size.small :
projBoxTextSizeStr == "Large" ? size.large :
projBoxTextSizeStr == "Huge" ? size.huge :
size.normal
// Derived projection box style settings
projBoxBorderStyle =
projBoxBorderStyleStr == "Solid" ? line.style_solid :
projBoxBorderStyleStr == "Dashed" ? line.style_dashed :
line.style_dotted
projBoxTextHAlign =
projBoxTextHAlignStr == "Left" ? "left" :
projBoxTextHAlignStr == "Right" ? "right" :
"center"
projBoxTextVAlign =
projBoxTextVAlignStr == "Top" ? "top" :
projBoxTextVAlignStr == "Bottom" ? "bottom" :
"center"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Swing detection {
hi = ta.highest(high, prd)
lo = ta.lowest(low, prd)
isHi = high == hi
isLo = low == lo
HB = ta.barssince(isHi)
LB = ta.barssince(isLo)
// price of last swing high/low
hiPrice = ta.valuewhen(isHi, high, 0)
loPrice = ta.valuewhen(isLo, low, 0)
// bar index of last swing high/low
hiBar = ta.valuewhen(isHi, bar_index, 0)
loBar = ta.valuewhen(isLo, bar_index, 0)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Persistent drawings {
var line hiLine = na
var line loLine = na
if barstate.isfirst
hiLine := line.new(na, na, na, na, color = hiLineColor, width = hiloLineWidth)
loLine := line.new(na, na, na, na, color = loLineColor, width = hiloLineWidth)
// arrays to store objects
var array fibbLines = array.new_line()
var array fibbLabels = array.new_label()
var array forecastLines = array.new_line()
var array areas = array.new_box()
var array perc = array.new_label()
var array fibProfileBoxes = array.new_box()
var array fibDeltaBoxes = array.new_box()
var int deltaStartX = na
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Functions {
// fib level calculator
fibbFunc(v, last, h, l) =>
last ? h - (h - l) * v : l + (h - l) * v
// generic cleaner for drawing-object arrays (lines, boxes, labels)
cleaner(a, idx) =>
if idx >= 0 and idx < array.size(a)
el = array.get(a, idx)
if not na(el)
el.delete()
array.remove(a, idx)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// ~~ Main logic {
if not na(HB) and not na(LB) and not na(hiPrice) and not na(loPrice) and not na(hiBar) and not na(loBar)
// update swing lines
// update swing lines (position + live style)
line.set_xy1(hiLine, hiBar, hiPrice)
line.set_xy2(hiLine, bar_index, hiPrice)
line.set_color(hiLine, hiLineColor)
line.set_width(hiLine, hiloLineWidth)
line.set_xy1(loLine, loBar, loPrice)
line.set_xy2(loLine, bar_index, loPrice)
line.set_color(loLine, loLineColor)
line.set_width(loLine, hiloLineWidth)
bars = math.abs(HB - LB)
// FIB retracement lines
for i = array.size(fibbLines) - 1 to 0
cleaner(fibbLines, i)
for i = array.size(fibbLabels) - 1 to 0
cleaner(fibbLabels, i)
lvls = array.from(fibLvl1, fibLvl2, fibLvl3, fibLvl4, fibLvl5)
cols = array.from(fibColor236, fibColor382, fibColor500, fibColor618, fibColor786)
baseOffset = HB > LB ? LB : HB
xFibStart = bar_index - baseOffset
for in lvls
f = fibbFunc(e, HB < LB, hiPrice, loPrice)
x1 = xFibStart
x2 = bar_index
ln = line.new(
chart.point.from_index(x1, f),
chart.point.from_index(x2, f),
color = cols.get(i),
width = fibLineWidth
)
array.push(fibbLines, ln)
// fib label at right of line
if showlab
fibText = str.tostring(e * 100, "#.##") + "%"
lbl = label.new(
chart.point.from_index(x2 + fibLabelOffset, f),
fibText,
textcolor = fibLabelColor,
style = label.style_label_left,
size = fibLabelSize,
color =cols.get(i)
)
array.push(fibbLabels, lbl)
// Projection part
fibb = fibbFunc(lvl, LB > HB, hiPrice, loPrice)
fibb2 = LB < HB ?
fibbFunc(lvl, true, fibb, loPrice) :
fibbFunc(lvl, false, hiPrice, fibb)
trendfibb = LB > HB ?
fibbFunc(trendFibbRatio, true, hiPrice, loPrice) :
fibbFunc(trendFibbRatio, false, hiPrice, loPrice)
forecast = array.from(HB < LB ? hiPrice : loPrice, fibb, fibb2, trendfibb)
segment = math.min(bars, math.floor(500.0 / 4.0))
// clear previous forecast lines, boxes, and labels
for i = array.size(forecastLines) - 1 to 0
cleaner(forecastLines, i)
for i = array.size(areas) - 1 to 0
cleaner(areas, i)
for i = array.size(perc) - 1 to 0
cleaner(perc, i)
deltaStartX := na
future = bar_index
for i = 0 to forecast.size() - 2
x1 = math.min(future, bar_index + 500)
x2 = math.min(future + segment, bar_index + 500)
y1 = forecast.get(i)
y2 = forecast.get(i + 1)
lnForecast = line.new(
x1, y1,
x2, y2,
color = y1 < y2 ? projLineBullColor : projLineBearColor,
width = projLineWidth,
style = projLineStyle
)
array.push(forecastLines, lnForecast)
// area box around the end of segment
midBoxLeft = x2 - math.round((x1 - x2) / 4.0)
midBoxRight = x2 + math.round((x1 - x2) / 4.0)
boxHeight = math.abs(y1 - y2) / 10.0
txtLevel = i == forecast.size() - 2 ?
str.tostring(trendFibbRatio, "#.###") :
str.tostring(lvl * 100, "#.##")
boxBg = projBoxBgOn ? projBoxBgColor : color.new(projBoxBgColor, 100)
boxBord = projBoxBorderOn ? projBoxBorderCol : color.new(projBoxBorderCol, 100)
bx = box.new(
midBoxLeft,
y2 + boxHeight,
midBoxRight,
y2 - boxHeight,
bgcolor = boxBg,
border_color = boxBord,
border_style = projBoxBorderStyle,
border_width = projBoxBorderW,
text = txtLevel,
text_halign = projBoxTextHAlign,
text_valign = projBoxTextVAlign,
text_color = projBoxTextColor,
text_size = projBoxTextSize
)
array.push(areas, bx)
// keep track of the rightmost edge of the last projection box
deltaStartX := na(deltaStartX) ? box.get_right(bx) : math.max(deltaStartX, box.get_right(bx))
// percentage label
change = (y2 - y1) / y1
midX = int(math.avg(x1, x2))
midY = line.get_price(lnForecast, midX)
lb = label.new(
chart.point.from_index(midX, midY),
str.tostring(change * 100, format.percent),
color = change > 0 ? projPercBullColor : projPercBearColor,
style = i == 1 ? label.style_label_lower_right : label.style_label_lower_left,
textcolor = projPercTextColor,
size = projPercLabelSize
)
array.push(perc, lb)
future += segment
// ~~ Fib Volume Profile
if showFibProfile and hiBar != loBar and not na(hiPrice) and not na(loPrice)
for i = array.size(fibProfileBoxes) - 1 to 0
cleaner(fibProfileBoxes, i)
top = math.max(hiPrice, loPrice)
bottom = math.min(hiPrice, loPrice)
if top != bottom
step = (top - bottom) / rows
levels = array.new_float()
for i = 0 to rows
array.push(levels, bottom + step * i)
volUp = array.new_float(rows, 0.0)
volDn = array.new_float(rows, 0.0)
startBar = math.min(hiBar, loBar)
endBar = math.max(hiBar, loBar)
for bi = startBar to endBar
offset = bar_index - bi
// SAFETY CHECK: Prevents crash on low timeframes if swing is > 5000 bars
if offset < 4998
price = hlc3
vol = nz(volume ) // SAFETY: nz() for no volume data
bull = close > open
for r = 0 to rows - 1
dn = array.get(levels, r)
up = array.get(levels, r + 1)
if price >= dn and price < up
if bull
array.set(volUp, r, array.get(volUp, r) + vol)
else
array.set(volDn, r, array.get(volDn, r) + vol)
break
maxTot = 0.0
for r = 0 to rows - 1
tot = array.get(volUp, r) + array.get(volDn, r)
maxTot := math.max(maxTot, tot)
span = endBar - startBar + 1
if maxTot > 0
for r = 0 to rows - 1
upVol = array.get(volUp, r)
dnVol = array.get(volDn, r)
normUp = upVol == 0 ? 0 : int((upVol / maxTot) * span)
normDn = dnVol == 0 ? 0 : int((dnVol / maxTot) * span)
bullRowCol = color.from_gradient(r, 0, rows - 1, color.new(bull_color, 80), color.new(bull_color, 10))
bearRowCol = color.from_gradient(r, 0, rows - 1, color.new(bear_color, 80), color.new(bear_color, 10))
yTop = array.get(levels, r + 1)
yBottom = array.get(levels, r)
leftBull = flipOrder ? startBar : startBar + normDn
rightBull = flipOrder ? startBar + normUp : startBar + normDn + normUp
leftBear = flipOrder ? startBar + normUp : startBar
rightBear = flipOrder ? startBar + normUp + normDn : startBar + normDn
if normUp > 0
bBull = box.new(
leftBull, yTop,
rightBull, yBottom,
bgcolor = bullRowCol,
border_color = color.new(bullRowCol, 0),
border_style = line.style_dotted,
text = showVolText ? str.tostring(upVol, format.volume) : "",
text_color = color.white,
text_size = volTextSize,
text_valign = text.align_center,
text_halign = text.align_center
)
array.push(fibProfileBoxes, bBull)
if normDn > 0
bBear = box.new(
leftBear, yTop,
rightBear, yBottom,
bgcolor = bearRowCol,
border_color = color.new(bearRowCol, 0),
border_style = line.style_dotted,
text = showVolText ? str.tostring(dnVol, format.volume) : "",
text_color = color.white,
text_size = volTextSize,
text_valign = text.align_center,
text_halign = text.align_center
)
array.push(fibProfileBoxes, bBear)
// Fib Volume Delta Profile
if showFibDelta and hiBar != loBar and not na(hiPrice) and not na(loPrice)
for i = array.size(fibDeltaBoxes) - 1 to 0
cleaner(fibDeltaBoxes, i)
// Build fib prices
fibPrices = array.new_float()
array.push(fibPrices, hiPrice)
for e in lvls
lvlPrice = fibbFunc(e, HB < LB, hiPrice, loPrice)
array.push(fibPrices, lvlPrice)
array.push(fibPrices, loPrice)
// Sort prices low→high
fibSorted = array.copy(fibPrices)
array.sort(fibSorted)
bandsCount = array.size(fibSorted) - 1
if bandsCount > 0
bandBull = array.new_float(bandsCount, 0.0)
bandBear = array.new_float(bandsCount, 0.0)
startBar = math.min(hiBar, loBar)
endBar = math.max(hiBar, loBar)
// accumulate bull/bear volume per band
for bi = startBar to endBar
offset = bar_index - bi
// SAFETY CHECK: Prevents crash on low timeframes if swing is > 5000 bars
if offset < 4998
price = hlc3
vol = nz(volume ) // SAFETY: nz()
bull = close > open
for b = 0 to bandsCount - 1
bandLow = array.get(fibSorted, b)
bandHigh = array.get(fibSorted, b + 1)
if price >= bandLow and price < bandHigh
if bull
array.set(bandBull, b, array.get(bandBull, b) + vol)
else
array.set(bandBear, b, array.get(bandBear, b) + vol)
break
// compute delta
maxAbsDelta = 0.0
for b = 0 to bandsCount - 1
delta = array.get(bandBull, b) - array.get(bandBear, b)
maxAbsDelta := math.max(maxAbsDelta, math.abs(delta))
if maxAbsDelta > 0
xStartBase = startBar
for b = 0 to bandsCount - 1
bandLow = array.get(fibSorted, b)
bandHigh = array.get(fibSorted, b + 1)
delta = array.get(bandBull, b) - array.get(bandBear, b)
if delta == 0
continue
absDelta = math.abs(delta)
widthBars = int((absDelta / maxAbsDelta) * deltaMaxWidth)
widthBars := math.max(widthBars, 1)
xEnd = xStartBase
xStart = xStartBase - widthBars
col = delta >= 0 ? deltaBullColor : deltaBearColor
dBox = box.new(
xStart, bandHigh,
xEnd, bandLow,
bgcolor = col,
border_color = color.new(col, 0),
border_style = line.style_solid,
text = "Δ " + str.tostring(delta, format.volume),
text_color = color.white,
text_halign = "center",
text_valign = "center"
)
array.push(fibDeltaBoxes, dBox)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
Indicatori e strategie
RSI Apex: Breakout & DivergenceRSI Apex: Breakout & Divergence System
RSI Apex:突破与背离交易系统
🇬🇧 English Description
RSI Apex is a comprehensive trading system designed to capture both Trend Breakouts and Market Reversals. Unlike traditional RSI indicators that rely solely on fixed levels (70/30), RSI Apex integrates Donchian Channels, Volatility Squeeze, and the Libertus Divergence Algorithm to provide high-probability signals.
🚀 Key Features
Trend Push System (Donchian Breakout):
Detects when RSI momentum is strong enough to push the upper/lower Donchian Channel bands.
Signal: Displays ▲ (Bull) or ▼ (Bear) at levels 20/80.
Libertus Divergence (No-Lag):
Uses a real-time pivot tracking algorithm to identify divergences between Price and RSI without the lag of traditional pivot points.
Signal: Displays "Div" labels at levels 30/70.
Smart Coloring (Extreme Highlight):
Green/Red: Normal Trend.
White (Extreme): When RSI breaches 70 (Overbought) or 30 (Oversold), the line turns bright White. This highlights the most volatile zones where reversals or strong continuations occur.
Volatility Squeeze Filter:
Monitors market volatility. When the Donchian Channel compresses significantly (below historical average), the background turns Purple.
Meaning: "Calm before the storm"—expect a major move soon.
🛠 How to Use
Trend Following: Enter when you see Green/Red RSI lines accompanied by ▲ / ▼ signals. This indicates a "Trend Push."
Reversal Trading: Look for "Div" signals when the RSI line is White (Extreme). This suggests momentum is fading despite price action.
Exit/Take Profit: Watch for the "Weak" label, which appears when RSI falls back into the neutral zone.
Dashboard: Monitor real-time RSI Value, Market State (Bullish/Bearish/Extreme), and Volatility (Squeeze/Expanding) in the bottom-right table.
🇨🇳 中文简介
RSI Apex 是一套旨在捕捉趋势爆发 (Breakout) 和 市场反转 (Reversal) 的综合交易系统。与仅依赖固定 70/30 线的传统 RSI 不同,本指标融合了 唐奇安通道 (Donchian Channels)、波动率挤压 (Squeeze) 以及 Libertus 无滞后背离算法,以提供高胜率的交易信号。
🚀 核心功能
强趋势推动系统 (唐奇安突破):
检测 RSI 动能是否强劲到足以推动唐奇安通道的上轨或下轨扩张。
信号: 在 20/80 轴位置显示 ▲ (多头推动) 或 ▼ (空头推动)。
Libertus 智能背离 (无滞后):
采用实时 Pivot 追踪算法,精准识别价格与 RSI 之间的背离,解决了传统背离指标的滞后问题。
信号: 在 30/70 轴位置显示 "Div" 标签。
智能变色 (极端行情高亮):
绿色/红色: 正常趋势状态。
白色 (White): 极端区域。当 RSI 突破 70 (超买) 或跌破 30 (超卖) 时,线条会强制变为醒目的亮白色,提示此处为变盘/背离高发区。
波动率挤压 (Squeeze) 过滤器:
实时监控市场波动率。当通道宽度显著收窄(低于历史平均水平)时,背景会填充为半透明紫色。
含义: “暴风雨前的宁静”——预示着大行情即将爆发,此时应空仓等待突破方向。
🛠 使用策略
顺势交易 (Trend): 当 RSI 呈现 绿色/红色 并伴随 ▲ / ▼ 信号时进场。这代表动能极强,处于主升/主跌浪。
左侧反转 (Reversal): 重点关注 RSI 线条变为 白色 (Extreme) 时出现的 "Div" 背离信号。这通常意味着价格虽创新高,但动能已耗尽。
止盈/离场: 留意 "Weak" (衰竭) 标签,它出现在 RSI 掉回中间震荡区时。
仪表盘: 右下角面板实时显示 RSI 数值、市场状态 (极值/背离/趋势) 以及波动率状态 (挤压/扩张)。
Momentum Concepts | Baseline Strategy 📊 Momentum Concepts | Baseline Strategy
Momentum Concepts | Baseline Strategy is a rule-based momentum framework designed to identify directional bias during active market hours and participate in sustained intraday price movement.
The strategy focuses on momentum behavior relative to a neutral reference level, allowing it to adapt dynamically to changing market conditions while avoiding unnecessary trades during indecisive phases.
🔹 Core Philosophy
This strategy is built around the concept that momentum alignment is more important than raw price movement.
Trades are taken only when momentum shows clear directional intent and remains aligned with the prevailing market bias.
Rather than reacting to short-term fluctuations, the strategy emphasizes continuation and structural momentum flow.
🔹 Market Behavior Classification
At any given time, the market is internally classified into one of the following states:
Positive Momentum Phase – Favoring long exposure
Negative Momentum Phase – Favoring short exposure
Neutral Phase – No new exposure
Only one directional bias is active at a time.
Internal momentum calculations, smoothing logic, and reference mechanics are intentionally abstracted.
🔹 Trade Execution Logic (High-Level)
Positions may initiate at the start of the trading session if momentum bias is already established
During the session, trades continue only when directional alignment remains valid
Opposing signals result in directional transition rather than over-trading
No discretionary or manual intervention required
🔹 Built-In Controls
Date-based trade activation filter
Session-based execution window
Optional bar-close confirmation to avoid intrabar noise
Fully rule-driven and non-repainting behavior
🔹 Ideal Use Case
Designed primarily for intraday index and derivative markets
Performs best during directional or momentum-driven sessions
May remain flat or switch bias during low-momentum conditions
🔹 Risk & Usage Notes
Position sizing and capital allocation depend on user configuration
Backtesting on the intended instrument and timeframe is strongly recommended
Performance may vary across volatility regimes and market environments
⚠️ Disclaimer
This strategy is provided for educational and analytical purposes only.
It does not constitute financial or investment advice.
Trading involves risk, and past performance does not guarantee future results.
Hyper-Spectral Neural Flow [Pineify]Hyper-Spectral Neural Flow - Advanced Gaussian Kernel Trend Detection with Spectral Volatility Bands
Transform your chart analysis with a cutting-edge indicator that combines machine learning-inspired smoothing algorithms with stunning visual feedback systems for precise trend identification and market momentum visualization.
Overview
The Hyper-Spectral Neural Flow is a sophisticated technical analysis tool that implements Gaussian Kernel Regression smoothing to estimate the underlying price trend with minimal lag while providing dynamic volatility-based visual feedback through its signature "spectral aura" display. Unlike conventional moving averages or simple trend indicators, this tool adapts its smoothing characteristics based on localized price behavior, creating a neural-inspired pathway that represents the market's true trend direction.
The indicator's core calculation utilizes a 50-bar Gaussian window with customizable bandwidth parameters, allowing traders to balance between responsiveness and smoothness according to their trading style. Surrounding this core trend line are multi-layered spectral bands that expand and contract based on market volatility, measured through a combination of Mean Absolute Error (MAE) and user-defined multipliers.
Key Features
Gaussian Kernel Neural Core - A proprietary smoothing algorithm that calculates localized weighted averages using Gaussian distribution weights, providing superior noise reduction compared to traditional moving averages
Multi-Layered Spectral Aura - Four distinct volatility bands (inner/upper and inner/lower) that create a dynamic visual representation of market volatility and trend strength
Adaptive Gradient Fills - Color-gradient transparency that adjusts based on price position relative to the neural core, creating an energy field effect that visually communicates market momentum
Trend Pulse Markers - Automatic circular markers that appear precisely when the neural flow shifts direction, providing clear entry/exit signals
Dynamic Bar Coloring - Price bars that change color and transparency based on trend direction, enhancing visual pattern recognition
Real-Time Trend Calculation - Optimized 50-bar rolling window ensures responsive performance without excessive computational load
Customizable Alert System - Built-in alert conditions for neural flow direction changes
How It Works
The indicator's calculation engine operates on three distinct levels working in harmony:
Neural Core Calculation - For each bar, the algorithm computes a weighted average of the previous 50 bars using Gaussian kernel functions. The weight assigned to each historical bar follows a bell curve distribution, where more recent bars receive exponentially higher weights. The mathematical formula is: weight = exp(-(distance²) / (2 × bandwidth²)) , where the bandwidth parameter (default: 8.0) controls the smoothness sensitivity.
Volatility Band Derivation - The spectral bands are calculated using the Mean Absolute Error (MAE) between price and the neural core, smoothed over 50 periods and multiplied by a user-defined spectral range multiplier (default: 3.0). This creates four bands: outer upper (+1.0× MAE), inner upper (+0.5× MAE), inner lower (-0.5× MAE), and outer lower (-1.0× MAE).
Trend Direction Logic - The system determines trend direction by comparing the current neural core value to the previous bar's value. When the core rises, the bullish flow color activates; when it declines, the bearish flow color engages.
Trading Ideas and Insights
Trend Following - Use the neural core as your primary trend reference. When price is above the core with the bullish flow color active, look for long entry opportunities on pullbacks to the inner lower spectral band
Trend Reversal Detection - Watch for the trend pulse markers combined with price crossing the neural core. A bullish pulse appearing after a bearish phase, especially near the outer lower band, often signals a trend reversal
Volatility Contraction Plays - When the spectral bands narrow significantly (indicating low volatility), prepare for potential breakout trades as volatility expansion often follows consolidation periods
Support/Resistance Zones - The inner and outer spectral bands often act as dynamic support and resistance levels. Price rejection from these bands, combined with trend pulse markers, provides high-probability trade setups
Momentum Assessment - Strong trends show the spectral bands expanding in the direction of the move while maintaining consistent separation. Converging bands suggest momentum weakening
How Multiple Indicators Work Together
The true power of Hyper-Spectral Neural Flow lies in the synergistic integration of its components:
The Gaussian Kernel Core provides the foundational trend direction, eliminating noise while preserving genuine price movements
The Spectral Bands add context by showing volatility-adjusted price boundaries, preventing premature entries during low-volatility conditions
The Gradient Fill System offers immediate visual feedback about trend strength—wider, more opaque bands indicate stronger trends, while narrow, transparent bands suggest weakness
The Trend Pulse Markers serve as confirmation signals, ensuring traders don't act on minor core fluctuations but only on meaningful directional changes
This multi-component approach means each element validates the others: a trend pulse marker appearing while price is at an outer band and the spectral aura is expanding provides three independent confirmations of a significant trading opportunity .
Unique Aspects
Machine Learning Foundation - Unlike most TradingView indicators based on standard technical analysis formulas, this implements concepts from Gaussian Process Regression, a technique used in advanced machine learning applications
Visual Hierarchy - The layered design (core line → inner bands → outer bands) creates a natural visual priority system that guides the eye from the most important element (trend direction) to secondary context (volatility levels)
Adaptive Smoothing - The Gaussian bandwidth parameter allows traders to morph the indicator between a short-term scalping tool (lower values) and a long-term trend following system (higher values) without changing the underlying algorithm
Neuro-Aesthetic Design - The visual language mimics neural network imagery and spectrographic displays, making complex data intuitively understandable through association with familiar scientific visualization
How to Use
Add the indicator to your chart from the indicators library and overlay it on your price data
Begin with default settings (Neural Bandwidth: 8.0, Spectral Range: 3.0) to observe the indicator's behavior on your timeframe
For trend following: Only take long trades when the neural core is rising and showing the bullish flow color; only take short trades when the core is declining with bearish flow color
For entry timing: Use the inner spectral bands as pullback entry zones during strong trends—the inner lower band for longs, the inner upper band for shorts
For stop placement: Consider placing stops just beyond the outer spectral band opposite your trade direction
For trend confirmation: Wait for trend pulse markers to appear before entering positions, especially when trading counter-trend reversals
For exit signals: Consider partial profits when price reaches the outer band in the direction of your trade, or when a trend pulse marker signals a potential direction change
Customization
Neural Bandwidth (1.0 to 20.0) - Increase for smoother, slower signals suitable for swing trading (try 12.0-15.0 on daily charts); decrease for more responsive signals for scalping or day trading (try 3.0-5.0 on intraday timeframes)
Spectral Range (0.5 to 10.0) - Higher values widen the volatility bands, resulting in fewer signals but potentially larger winning trades; lower values create tighter bands for more frequent signals but increased false signals during volatility spikes
Bullish/Bearish Flow Colors - Customize to match your chart aesthetic or preference; consider using colors that contrast well with your background for optimal visibility
Aura Opacity (0 to 100) - Adjust to control the prominence of the spectral gradient fills; lower values make the chart less cluttered, higher values emphasize the volatility expansion/contraction cycles
Trend Pulse Marks - Disable if you prefer a cleaner visual and plan to rely solely on core direction and band relationships for signals
Conclusion
The Hyper-Spectral Neural Flow represents a paradigm shift in trend indicator design, bridging the gap between rigorous statistical methodology and intuitive visual communication. By implementing Gaussian kernel regression—typically found in advanced machine learning applications—within an accessible TradingView indicator, it offers traders a professional-grade trend detection tool that doesn't sacrifice usability for sophistication.
Whether you're a systematic trader who relies on objective, rule-based signals, a discretionary trader who values contextual market information, or a quantitative analyst seeking robust trend estimation, this indicator provides the flexibility to adapt to your methodology while maintaining mathematical rigor in its core calculations.
The integration of volatility-based spectral bands with the neural core creates a complete trading framework in a single indicator: trend identification, volatility assessment, entry timing guidance, and trend change signals—all unified through a cohesive visual language that makes complex data immediately actionable. By understanding how the Gaussian smoothing adapts to market conditions and how the spectral bands breathe with volatility, traders gain deeper insight into market structure beyond simple price movement.
Add the Hyper-Spectral Neural Flow to your chart analysis toolkit and experience the difference that machine learning-inspired indicators can make in your trading decisions.
DAS Levels and BoxesTrading levels mainly used to trade MNQ Futures plus 1-Hour & 4-Hour price range boxes. I define the day trading range from 6:30AM PST to 1PM PST. I define the overnight range from midnight PST to 6:30AM PST. I define the futures market entire range as starting at 3PM PST going overnight and ending at 2PM PST the following day.
The 1-hour box is for scalping and catching smaller moves and are more risky. Enter long or short trade upon 1-hour candle close above & below the mid-line, respectively.
The 4-hour box is for catching larger moves and require more patience. Enter long or short trade upon 4-hour candle close above & below the mid-line, respectively. This is my first indicator so be patient. These are the lines and boxes that I use to trade so I thought it would save time to have them all present in one indicator. This is set up with Pacific Standard Time as default. I may need to adjust later for day light savings time.
Levels include:
Previous Day Low (PDL)
Previous Day High (PDH)
Overnight Low (ONL)
Overnight High (ONH)
Open AM Price
Open PM Price
Volume Profile Heatmap/ConcentrationThis is based on Colejustice's indicator. I just improved it so there's more clarity of the highly concentrated levels by making them more saturated and also reducing the noise of low saturated areas. There are also new settings that you can play with, such as:
1. Exponential Intensity
Making this higher will increase the saturation of high volume areas and lower the saturation of lower volume areas, basically, it changes the rate at which the saturation increases, so the levels are more visible
2. Visibility Threshold
Adjustes how much % of the highest volume areas will be visible. The default is 40%, so it doesn't show so much low-volume noise and gives the indicator more clarity.
Target Ladder Pro MTF ATR and HIT Confirmation
Target Ladder Pro is a multi-timeframe price-targeting and confirmation system designed to give traders clear, actionable target levels regardless of chart timeframe.
The indicator combines volatility-based ATR targets across multiple higher timeframes with a live, candle-by-candle target engine that confirms when price has objectively reached its projected objective (“HIT”). The result is a structured target ladder that helps traders frame expectations, manage trades, and avoid emotional decision-making.
What makes Target Ladder Pro different:
Multi-Timeframe Target Ladder
ATR-derived targets are calculated for 1H, 4H, Daily, and Weekly timeframes.
Each timeframe can be enabled or disabled independently, allowing traders to focus on a single horizon or view full market structure at once.
Live Active Target + HIT Confirmation
A dynamic target updates with each new candle on the active chart timeframe.
When price reaches the target, a HIT label is printed—objectively confirming completion rather than relying on subjective interpretation.
Historical Target Context
Recent targets are retained on the chart, allowing traders to see how price interacts with previous objectives.
This provides valuable insight into continuation, exhaustion, or reversal behavior.
Deviation Band Context (Optional)
Mean and deviation bands offer visual context for where targets sit relative to recent price distribution.
These bands can be toggled on or off without affecting targets or confirmations.
Clean, Chart-Locked Design
All plots and labels are locked to the price scale and designed for clarity across assets and timeframes.
No repainting or future-looking values are used.
Target Ladder Pro is designed to support entries, exits, partials, and risk planning, while remaining flexible enough for scalpers, swing traders, and higher-timeframe analysts alike.
How to Use This Indicator
1. Choose Your Timeframe Focus
Enable only the target ladders that matter to your strategy (e.g., 4H + Daily for swing trading, or 1H for intraday structure).
2. Identify the Active Target
The active target represents the current volatility-based objective for price. This level updates as new candles form.
3. Watch for HIT Confirmation
When price reaches the active target, a HIT label confirms completion. This can be used for:
Profit-taking
Trade management decisions
Evaluating continuation vs. exhaustion
4. Use the Ladder for Context
Higher-timeframe targets often act as decision zones. Price behavior near these levels can signal:
Trend continuation
Compression and consolidation
Potential reaction or reversal areas
5. Optional: Enable Deviation Bands
Deviation bands provide additional context for whether targets are occurring within typical price behavior or at statistically extended levels.
Best Use Cases
Defining objective profit targets
Managing trades across multiple timeframes
Avoiding premature exits during strong trends
Identifying completed moves versus unfinished structure
Apex ICT: Proximity & Delivery FlowSimple Description: This indicator is a specialized ICT execution tool that automates the identification of Order Blocks, Fair Value Gaps, and Changes in State of Delivery (CISD). Unlike standard indicators that clutter the screen, this script uses a Proximity Logic Engine to ensure you only see tradeable levels. It automatically purges old data (50-candle CISD limit) and deletes mitigated zones the moment they are breached, leaving you with a clean, institutional-grade chart.
Fractal Wave Hunter [JOAT]
Fractal Wave Hunter - Multi-Method Fractal Detection System
Introduction and Purpose
Fractal Wave Hunter is an open-source overlay indicator that identifies key reversal patterns using multiple fractal detection methods. The core problem this indicator solves is that different fractal methods catch different types of reversals. Williams' classic 5-bar fractal is reliable but slow; Hougaard's 4-bar method is faster but noisier. Using only one method means missing valid signals that the other would catch.
This indicator addresses that by combining both methods plus HOLP/LOHP detection, giving traders a comprehensive view of potential reversal points.
Why These Methods Work Together
Each fractal method has different characteristics:
1. 4-Bar Fractal (Hougaard Method) - Faster detection, identifies momentum shifts when close exceeds recent highs/lows. Best for catching early reversals.
2. Classic 5-Bar Fractal (Williams) - Traditional pivot detection requiring the middle bar to be the highest/lowest of 5 bars. Best for identifying significant swing points.
3. HOLP/LOHP - High of Low Period and Low of High Period signals identify when price makes a new extreme within a defined lookback. Best for trend exhaustion detection.
By combining these methods, traders can:
Use 4-bar fractals for early entry signals
Use 5-bar fractals for confirmation and stop placement
Use HOLP/LOHP for trend exhaustion warnings
How the Detection Works
4-Bar Fractal (Hougaard):
bool fractal4BuyBase = close > high and close > high
bool fractal4SellBase = close < low and close < low
Classic 5-Bar Fractal:
bool fractalHigh = high > high and high > high and high > high and high > high
bool fractalLow = low < low and low < low and low < low and low < low
Signal Types
4B (4-Bar Buy) - Close exceeds high and high - early bullish signal
4S (4-Bar Sell) - Close below low and low - early bearish signal
FH (Fractal High) - Classic 5-bar swing high - confirmed resistance
FL (Fractal Low) - Classic 5-bar swing low - confirmed support
HOLP - High of low period - potential bullish exhaustion
LOHP - Low of high period - potential bearish exhaustion
Dashboard Information
4-Bar Fractal - Count of bullish/bearish 4-bar fractals
Classic Fractal - Count of 5-bar fractal highs/lows
HOLP/LOHP - Reversal signal counts
Total Signals - Combined pattern count
How to Use This Indicator
For Counter-Trend Entries:
1. Wait for 4-bar fractal signal at key support/resistance
2. Confirm with 5-bar fractal forming nearby
3. Enter with stop beyond the fractal point
For Stop Placement:
1. Use 5-bar fractal highs/lows as stop-loss references
2. These represent confirmed swing points that should hold if trend continues
For Trend Analysis:
1. Track swing structure using fractal highs and lows
2. Higher fractal lows = uptrend structure
3. Lower fractal highs = downtrend structure
Input Parameters
Show 4-Bar Fractals (true) - Toggle Hougaard method signals
Show Classic Fractals (true) - Toggle Williams method signals
Show HOLP/LOHP (true) - Toggle exhaustion signals
ATR Filter (false) - Only show signals during volatile conditions
Swing Lines (true) - Connect significant swing points
Timeframe Recommendations
1H-Daily: Best for reliable fractal detection
15m-30m: More signals but higher noise
Weekly: Fewer but more significant fractals
Limitations
5-bar fractals have inherent 2-bar lag (need confirmation)
4-bar fractals can produce false signals in choppy markets
HOLP/LOHP signals work best at trend extremes
Not all fractals lead to significant reversals
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Fractal detection does not guarantee reversals. Always use proper risk management.
- Made with passion by officialjackofalltrades
QUARTERLY THEORY TRUE OPENSQUARTERLY THEORY TRUE OPENS
Multi-cycle True Open indicator based on quarterly cycle theory, with precise cycle-begin termination logic.
OVERVIEW
TRUE OPENS (Cycle Q2) plots the True Open (Q2 open) across multiple market cycles and extends each level only until the next cycle begins.
This mirrors how price actually respects quarterly structure: a True Open is relevant only within its active cycle.
The indicator uses New York (exchange) time, is DST-aware, and relies on a 1-minute event engine to ensure accuracy and visibility across all intraday and higher timeframes — even when candle opens do not align with exact timestamps (e.g., 4H, Daily, Weekly charts).
WHAT IS A TRUE OPEN?
In quarterly cycle theory, each cycle is divided into four quarters (Q1–Q4).
The Q2 opening price — the True Open — often acts as:
A gravitational price level
A premium/discount reference
A mean price the market revisits during the cycle
This indicator tracks those Q2 opens across Micro, Session, Daily, Weekly, Monthly, and Yearly cycles, while respecting each cycle’s actual beginning and end.
CYCLES & DEFINITIONS
All times are New York (Exchange Time).
Micro Cycle
True Opens (Q2):
:22:30 and :52:30
Automatically rounded down on the 1-minute chart (:22, :52)
Cycle Begins:
18:45, 19:30, 20:15, 21:00
Repeats every 45 minutes, anchored at 18:45
Session Cycle (6-Hour)
True Opens (Q2):
19:30, 01:30, 07:30, 13:30
Cycle Begins:
18:00, 00:00, 06:00, 12:00
Daily Cycle
True Open (Q2):
00:00
Cycle Begins:
18:00
Weekly Cycle
True Open (Q2):
Monday 18:00
Cycle Begins:
Sunday 18:00
Monthly Cycle
True Open (Q2):
Second Monday of the month at 00:00
Cycle Begins:
First Sunday of the month at 18:00
Yearly Cycle
True Open (Q2):
First weekday of April at 00:00
Cycle Begins:
First Sunday of the year at 18:00
VISUAL LOGIC
Each True Open is plotted as a horizontal dotted line
The line:
Starts exactly at the True Open candle
Ends automatically when the next cycle begins
When a cycle ends, its line is finalized (solid)
Each cycle is handled independently
Optional labels are placed just after the line end, aligned mid-right
LABELS
Optional, concise labels for clarity:
TMSO — Micro True Open
TSO — Session True Open
TDO — Daily True Open
TWO — Weekly True Open
TMO — Monthly True Open
TYO — Yearly True Open
Text size is fully configurable (Tiny → Large).
TIMEFRAME VISIBILITY (AUTO MODE)
To keep charts clean and relevant, cycles auto-hide above sensible timeframes:
Micro: ≤ 1-minute
Session: ≤ 5-minute
Daily: ≤ 15-minute
Weekly: ≤ 1-hour
Monthly: ≤ 4-hour
Yearly: ≤ Weekly
A Custom mode allows full manual control.
TECHNICAL FEATURES
Pine Script v6
No repainting
No future leakage
No bar-index assumptions
DST-aware New York time handling
1-minute event engine ensures:
Monthly levels appear on 4H charts
Yearly levels appear correctly when history exists
Performance-safe (no loops, no heavy arrays)
HOW TO USE
Use Micro & Session True Opens for precision intraday entries
Use Daily & Weekly True Opens for bias and mean-reversion context
Look for confluence when multiple True Opens align near the same price
Respect cycle boundaries — once a cycle begins, its prior True Open loses relevance
IMPORTANT NOTES
Yearly True Opens require chart history that includes April
Continuous contracts (e.g., ES1!, NQ1!) are recommended for futures
Works on Forex, Futures, Indices, Crypto, and Stocks
DISCLAIMER
This indicator is for educational and informational purposes only.
It does not constitute financial advice. Past performance is not indicative of future results.
Always manage risk responsibly.
GCM Price Volume Trend with BB [Dual Signal]Title:
GCM Price Volume Trend with BB
Description:
This script presents an advanced variation of the Price Volume Trend (PVT) indicator, enhanced with a Dual-Signal system and Bollinger Bands to provide a complete volume-momentum analysis tool.
The Concept:
Standard PVT can often produce jagged, noisy signals that make trend identification difficult. To solve this, this script integrates three distinct technical concepts into a single "Volume Dashboard":
Trend Baseline (Signal 1 - SMA): A standard Simple Moving Average (Length 21) acts as the slow-moving baseline to filter out minor volume noise.
Volume-Weighted Trigger (Signal 2 - VWMA): We utilize a Volume Weighted Moving Average (VWMA) (Length 9) as the fast signal. Applying a Volume-Weighted average on top of a Volume indicator (PVT) provides a double-confirmation of volume momentum, making the signal highly sensitive to significant volume spikes while ignoring low-volume drift.
Volatility Context (Bollinger Bands): Standard Bollinger Bands are calculated on the PVT data itself. This allows traders to identify when the volume trend is statistically overextended (touching Upper Band) or oversold (touching Lower Band), which often precedes a price reversal.
Key Features
Dynamic Trend Coloring: The PVT line changes color (Bright Green/Red) based on its immediate slope (Rising vs. Falling), offering instant visual feedback on momentum.
Dual Ribbon System:
Ribbon 1: Fills the space between PVT and the Baseline (SMA) to show the macro trend.
Ribbon 2: Fills the space between PVT and the Fast Trigger (VWMA). By default, this ribbon changes color based on the slope of the PVT, highlighting the strength of the move.
Volatility Bands: A background fill between the Bollinger Bands helps visualize the "normal" operating range of the volume trend.
How to Use
Trend Confirmation: Look for the PVT line to be above the SMA (Signal 1) and the Ribbon to be Green.
Entry Signals: A crossover of the PVT above the VWMA (Signal 2) suggests an immediate influx of buying volume.
Exhaustion: If the PVT line touches or exceeds the Upper Bollinger Band, the volume trend may be overheated, suggesting a potential pause or reversal in price.
Settings
Signal 1: Defaults to SMA (21) for the baseline.
Signal 2: Defaults to VWMA (9) for the fast trigger.
Bollinger Bands: Enabled by default (2.0 Deviation, 20 Length).
Visuals: Fully customizable transparency, colors, and line types.
Volume-Confirmed Trend Thrust IndicatorOVERVIEW
This indicator combines trend strength, momentum & volume analysis to generate high-conviction buy and sell signals. It is based on the "Volume Confirmation for a Trend System" (VCTS) by Buff Pelz Dormeier (TASC August 2024), which I have taken the liberty of 'buffing up' (heh!) by swapping out original VPCI component with the ATR-aware Net Accumulation Flow (NAF) indicator derived from Markos Katsanos' VPN indicator (TASC April 2021).
The result is a system that only triggers buy signals when three independent conditions align:
• A strong trend exists (ADX)
• Momentum is bullish (TTI)
• Institutional accumulation is detected (NAF)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
COMPONENTS
█ ADX (Average Directional Index)
Measures trend strength regardless of direction. A reading above 30 indicates a strong trend worth trading. This filter prevents signals during choppy, sideways markets.
█ TTI (Trend Thrust Indicator)
Dormeier's volume-weighted MACD variant that provides momentum direction. Unlike standard MACD, TTI uses Volume-Weighted Moving Averages (VWMA) and applies a volume multiplier that amplifies signals when volume confirms price movement. When TTI crosses above its signal line, momentum is considered bullish.
█ NAF (Net Accumulation Flow)
The key enhancement - in my humble opinion - over the original VCTS. NAF classifies each bar's volume as:
• Accumulation: Price moved UP more than 10% of ATR
• Distribution: Price moved DOWN more than 10% of ATR
• Neutral: Price movement too small to be meaningful (filtered as noise)
NAF then calculates the net flow (Accumulation Volume - Distribution Volume) over a 30-bar lookback period, normalized and smoothed. This provides a cleaner read on whether institutions are accumulating or distributing.
Perceived benefits of NAF:
• ATR-based noise filtering eliminates false readings from small price movements
• Rolling 30-bar accumulation captures sustained institutional activity
• Empirically calibrated thresholds based on 717 stocks / 360,000 observations
• 3-period EMA smoothing reduces whipsaws
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SIGNAL LOGIC
🟢 BUY SIGNAL
All three conditions must be true simultaneously:
1. ADX > 30 (strong trend)
2. TTI > Signal Line (bullish momentum)
3. NAF > 16 (accumulation)
Signals fire on the first bar where all conditions align, preventing repeated signals during sustained bullish periods.
🔴 SELL SIGNAL
Exit when volume flow turns negative:
• NAF < -9 (below neutral zone, indicating distribution).
This indicator retains Dormeier's asymmetric approach (strict entry, quick exit) to help protect profits when institutional support fades.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NAF THRESHOLD REFERENCE
Based on proprietary empirical calibration (717 stocks, 360K observations):
>= +35 │ Strong Accumulation (P95, ~5% of days)
>= +28 │ Solid Accumulation (P90, ~10% of days)
>= +16 │ Moderate Accumulation (P75) ← Default Buy Threshold
-9 to +16 │ Neutral Zone (~50% of days)
<= -9 │ Below Neutral ← Default Sell Threshold
<= -22 │ Solid Distribution (P10)
<= -29 │ Strong Distribution (P5)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS
Setting for all 3 variables (ADX, TTI & NAF), alerts and visual conditional formatting are configurable.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
USAGE TIPS
1. Works best on daily timeframe for swing trading
2. More effective on liquid stocks where volume data is meaningful
3. Consider using NAF threshold of 28 (P90) for higher conviction entries
5. Combine with price action analysis (support/resistance, RS, chart patterns)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MAXIMUM RESPECT:
• VCTS (ADX + TTI + VPCI): Buff Pelz Dormeier, "Volume Confirmation For A Trend System", Technical Analysis of Stocks & Commodities (TASC), August 2024. Pine Script adaptation: PineCoders.
• VPN / NAF: Markos Katsanos, Technical Analysis of Stocks & Commodities (TASC), April 2021. Pine Script adaptation: LevelUp/John Muchow.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DISCLAIMER
This indicator is for educational and informational purposes only. It does not constitute financial advice. Past performance is not indicative of future results. Always conduct your own analysis and consider your risk tolerance before making trading decisions. Use appropriate position sizing and stop-loss orders to manage risk.
Evil's Two Legged IndicatorA pullback strategy indicator designed for scalping. This attempts to Identify classic 2-leg pullback patterns and filters out signals during choppy market conditions for better signals.
How It Works:
The indicator detects when price forms two pullback legs (swing lows in an uptrend or swing highs in a downtrend) near key support/resistance zones, then signals when reversal confirmation occurs. Equal-level pullbacks (double bottoms/tops) are marked as stronger signals.
Features:
Channel Options: Donchian (default), Linear Regression, or ATR Bands
Configurable EMA: For trend confirmation (default 21)
Adjustable Leg Detection: Swing lookback period for different timeframes
Equal Level Detection: Highlights stronger setups where both legs terminate at similar prices
Three Chop Filters (can be combined):
ADX Filter — suppresses signals when ADX is below threshold (default 25)
EMA Slope Filter — suppresses signals when EMA is flat
Chop Index Filter — suppresses signals when Chop Index indicates ranging conditions
Signal Types:
Standard signals: 2-leg pullback detected with trend confirmation
Strong signals (highlighted): 2-leg pullback with equal highs/lows — higher probability setup
Recommended Use:
Best suited for scalping on 1-5 minute chart. Designed for 1.5:1 risk/reward setups.
Settings Guide:
Increase "Swing Lookback" for fewer, higher-quality signals
Adjust "Equal Level Threshold" to fine-tune what counts as a double bottom/top
Enable/disable chop filters based on your market and timeframe
Use "Show Strong Signals Only" to filter for highest conviction setups
Apex ICT Delivery & Session Flow ProDescription
The Apex ICT Delivery & Session Flow Pro is a high-precision technical analysis indicator designed for inner-circle traders who prioritize a clean, institutional-grade chart. This script specializes in identifying real-time liquidity levels and displacement zones while utilizing an automated "Cleanup Engine" to ensure that only the most relevant, unmitigated data remains visible.
Core Functionalities
Multi-Timeframe Displacement Engine: The script scans across multiple timeframes (1m, 5m, 15m, 1H) to identify Fair Value Gaps (FVG) created by high-displacement price action. It automatically plots the FVG boxes and the 50% Consequent Encroachment (CE) line for precise entry and target mapping.
Dynamic Session Liquidity: Automatically identifies and tracks the Highs and Lows of the Asia, London, and New York sessions. These levels are explicitly labeled and extended to act as magnet levels for price or points of liquidity reversal.
CISD (Change in State of Delivery): Visualizes shifts in order flow by marking the opening prices of the last opposite candle when price action confirms a change in delivery state. This provides immediate visual feedback on market sentiment shifts.
NY-Specific VWAP: Features a strict New York Session VWAP that resets daily at the NY open (08:00). This serves as the "Mean" for the session, helping traders identify premium and discount zones specifically within the high-volume New York hours.
The "Clean Chart" Cleanup Engine: Unlike standard indicators that clutter the screen with historical data, this script features an intelligent removal system:
FVGs & Order Blocks: Automatically deleted once price trades through them or if they move too far from current price (Proximity Filter).
Broken Session Levels: Highs and Lows are instantly removed once they are breached by price.
Temporal Decay: CISD markers are automatically cleared after 20 candles to keep the focus on immediate delivery.
Smart Divergence [Reason Edition]Stop trading divergences "in thin air". Start trading structural confluence.
Most divergence indicators fail for one reason: they signal reversals based solely on oscillator math (RSI vs. Price), ignoring the chart's structure. This leads to costly entries against strong trends.
Smart Divergence solves this by applying an Institutional Context Filter. It does not simply alert you of a divergence; it validates the signal against key market structures ("Walls") and—crucially—tells you exactly why the signal appeared directly on the label.
🚀 How It Works: The "Smart Filter" Logic
This script operates on a strict rule: "No Structure, No Signal."
For a Bullish or Bearish divergence to be valid, price must not only diverge from RSI but also physically touch or react to one of four key structural levels:
BB (Bollinger Bands): Rejection due to volatility extension (2.0 StdDev).
KC (Keltner Channels): Rejection due to average range deviation (1.5 ATR).
Pivots (S1/R1): Rejection at standard daily algorithmic levels.
VWAP: Rejection at the institutional average price (Volume Weighted Average Price).
🏷️ Dynamic "Reason" Labels
This is the core feature of this edition. The label on your chart adapts dynamically to show the specific confluence behind the trade.
Examples you will see:
SMART BULL (BB) → The divergence is valid because price hit the Bollinger Band.
SMART BULL (VWAP) → The divergence is valid because price bounced off the VWAP.
SMART BULL (BB VWAP) → High Probability: Price hit the Bollinger Band AND the VWAP simultaneously.
The Logic: The more "Reasons" (acronyms) appear inside the label, the stronger the structural wall, and the higher the probability of a reversal.
🛠️ Settings & Features
🛡️ Smart Filter (Toggle):
ON (Default): Only shows high-quality signals that occur at Support/Resistance zones.
OFF: Shows all raw technical divergences (standard mode).
Alerts Included: Setup custom alerts for "Smart Bull" (Buys) and "Smart Bear" (Sells).
Zero Repainting: Signals are confirmed upon candle close/pivot confirmation.
📋 How to Trade It
Wait for the Label: Do not guess. Wait for the SMART label to appear.
Check the Reason: Look at the text in parenthesis (...).
Single reason (e.g., KC) is a valid setup.
Cluster reasons (e.g., BB S1 VWAP) represent a "Concrete Wall" and are ideal for aggressive entries.
Context: Works best on Intraday timeframes (1m, 5m, 15m) for scalping, and Daily timeframe for Swing Trading bottoms/tops.
Disclaimer: This tool is for educational purposes and technical analysis assistance. Past performance does not guarantee future results. Manage your risk.
Target Ladder Elite Median and ATR Active TargetsTarget Ladder Elite is a precision-based price targeting and reaction framework designed to reveal where price is statistically drawn next and when that target has been meaningfully engaged.
Instead of forecasting distant projections or repainting future paths, this indicator operates entirely in live market context, adapting dynamically to volatility and structure on any timeframe.
📌 What This Indicator Does
Target Ladder Elite builds a dynamic price ladder using three core components:
1️⃣ Median Price Axis
At its core is a short-length median moving average, acting as the equilibrium line of price. This median defines directional bias:
Price above the median → bullish pressure
Price below the median → bearish pressure
The median continuously adapts to price behavior rather than lagging behind it.
2️⃣ ATR-Based Target Bands
Using Average True Range (ATR), the indicator constructs upper and lower volatility targets around the median.
These are not generic volatility bands — they function as statistically relevant price objectives, expanding and contracting with market conditions.
Upper band = upside target
Lower band = downside target
The bands remain stable, smooth, and timeframe-independent.
3️⃣ Active Target System
Only one target is active at a time, determined automatically:
If price is above the median → upper target is active
If price is below the median → lower target is active
The Active Target label appears on the most recent candle and updates in real time, showing traders exactly where price is currently being drawn.
This keeps focus on one objective, eliminating clutter and decision paralysis.
🎯 HIT Detection Logic
Whenever price meaningfully reaches an ATR target, the indicator registers a HIT label directly on the chart.
A HIT signals:
Target fulfillment
Momentum exhaustion or continuation decision zone
High-probability reaction area
Clusters of HITs often appear during trends, while missed or rejected targets frequently precede reversals.
🧠 How to Use Target Ladder Elite
✔ Trend Following
Trade in the direction of the active target
Use HITs as confirmation of trend strength
✔ Mean Reversion Awareness
Multiple HITs without follow-through can signal exhaustion
Failed target attempts often precede reversals back toward the median
✔ Confluence Trading
Pairs exceptionally well with:
Bollinger Bands
RSI / Stochastic RSI
Market structure or support/resistance
✔ Any Timeframe
The logic is volatility-normalized, making it effective on:
Intraday charts
Swing charts
Daily and higher timeframes
No parameter changes are required when switching timeframes.
🎨 Visual Clarity & Customization
Fully customizable colors for:
Median
Upper & lower targets
Active target balloon
HIT labels
Clean, non-repainting design
Designed for professional chart layouts and publishing
⚠️ Important Notes
Target Ladder Elite is not a signal generator and does not predict future price paths.
It is a price reaction and target awareness tool, best used as part of a broader trading plan.
📈 In Summary
Target Ladder Elite helps traders answer three critical questions in real time:
Where is price statistically drawn next?
Has that objective been fulfilled?
Is momentum continuing or stalling?
It brings structure, clarity, and discipline to price movement — without noise.
Market Structure Mapping [Vayen Trading]Use this indicator to understand how the market is actually moving. Sometimes we can get caught up focusing on the internal structure of price action. This indicator reveals the swing structure of the market
Crypto Professional Suite V2.0 [R2D2]Here is the complete professional documentation and strategy guide for your Crypto Pro Suite indicator. This guide is designed to help you install the tool correctly, understand its features, and utilize it to maximize your trading returns.
Crypto Pro Suite: The Professional Crypto Trader's All-In-One Toolkit
1. Introduction
The Crypto Pro Suite is a high-performance TradingView indicator designed to consolidate the five most critical technical analysis tools into a single, clean overlay.
Instead of cluttering your screen with multiple sub-charts (panes), this suite integrates Moving Averages, Bollinger Bands, and Fibonacci Levels directly onto the price action. It transforms "oscillator" data (RSI and MACD) into actionable Buy/Sell signals on your candles and a real-time Status Dashboard.
Key Features:
Zero Clutter: No bottom panes required; maximizes screen real estate for price analysis.
Real-Time Dashboard: Instant readout of Trend, RSI status, and MACD momentum.
Dynamic Overlay: Indicators move fluidly with your candles.
2. Installation Instructions
Follow these steps precisely to ensure the "Overlay" feature functions correctly.
Clean Slate: If you have any previous version of this script on your chart, remove it now (click the 'X' next to the indicator name).
Open Editor: Click the Pine Editor tab at the bottom of your TradingView screen.
Paste Code: Delete any existing text and paste the Final Polished Script provided in the previous response.
Save & Add: Click Save, then click Add to chart.
Note: By adding it fresh, TradingView forces the script to lock onto the price candles rather than a separate pane.
Verify: You should see colored lines (MAs, Bollinger Bands) directly on top of your candlesticks and a Dashboard in the top right.
3. Using the Script: Settings & Customization
Access the settings by clicking the Gear Icon next to the indicator name.
Dashboard: You can toggle the info panel On/Off or change its size (Tiny to Large) to fit your screen resolution.
Toggle Control: Each of the 5 indicators has a "Show" checkbox. You can turn off noise (e.g., hide Bollinger Bands) when you only want to focus on Trend (MAs).
Inputs:
MAs: Defaults are 50/200 (Classic Golden Cross setup).
RSI: Default is 14 length, 70/30 limits.
Fibs: Default lookback is 200 bars. Increase this number to find Support/Resistance over a longer timeframe.
4. Maximizing Returns: Strategy & Examples
To maximize returns, professionals do not use indicators in isolation. They look for Confluence—where multiple indicators signal the same direction simultaneously.
A. Moving Averages (Trend Filter)
The Setup: The script plots a Fast MA (Yellow) and Slow MA (Blue).
Strategy:
Golden Cross (Buy): When the Yellow line crosses above the Blue line. This signals the start of a long-term bull trend.
Death Cross (Sell): When the Yellow line crosses below the Blue line.
Pro Tip: Never go long (Buy) if price is significantly below the Blue (Slow) MA.
B. Relative Strength Index (RSI)
The Setup: Instead of a line graph, you will see labels on the candles: "RSI Buy" (Green) or "RSI Sell" (Red).
Strategy:
Mean Reversion: If you see an "RSI Sell" label, the asset is Overbought. This is often a signal to take profit, not necessarily to short.
The Dip Buy: Look for an "RSI Buy" label occurring during a general uptrend (price above Slow MA). This indicates a healthy pullback that is ready to bounce.
C. MACD (Momentum)
The Setup: Green Triangles (Buy) and Red Triangles (Sell) appear above/below candles.
Strategy:
Trend Confirmation: Use MACD to confirm the Moving Average. If price crosses above the MA and you get a Green MACD Triangle, the breakout has high momentum and is likely to succeed.
Exit Signal: If you are in a Long trade and see a Red MACD Triangle, momentum is fading. Consider tightening your stop-loss.
D. Bollinger Bands (Volatility)
The Setup: A shaded teal channel surrounding the price.
Strategy:
The Squeeze: When the bands get very narrow, a massive move is coming. Wait for the breakout.
Walking the Bands: In a strong crypto bull run, price will hug the Upper Band. If price closes outside the band and then immediately closes inside it, it is a reversal signal (Sell).
E. Fibonacci Retracement (Support/Resistance)
The Setup: Dynamic horizontal lines (0%, 23.6%, 38.2%, 50%, 61.8%, 100%) based on recent highs/lows.
Strategy:
The Golden Pocket: The most powerful buy zone in crypto is between the 0.5 and 0.618 lines.
Execution: If price falls to the 0.618 line and you see an "RSI Buy" or MACD Green Triangle appear at that exact level, this is a high-probability entry.
5. The "Perfect Trade" Example
Putting it all together for maximum profit.
Context: The Dashboard says "MA Trend: Bullish."
Trigger: Price pulls back down and touches the 0.618 Fibonacci line.
Confirmation 1: Price is also touching the Lower Bollinger Band (acting as dynamic support).
Confirmation 2: An "RSI Buy" label appears on the candle.
Action: BUY.
Stop Loss: Place just below the 100% Fib line.
Take Profit: Sell half at the 0% Fib line (recent high) and let the rest ride.
EMA Slope CheckerWhat it does: Shows slope/angle of EMA 9, 20, and 50 simultaneously on separate lines.
What it tells you:
EMA 50 slope = Trend direction (bullish/bearish)
EMA 20 slope = Setup strength at FVG zones
EMA 9 slope = Entry timing/momentum
Key feature: Table with arrows showing if each EMA is rising (↑) or falling (↓).
For your FVG system: Tells you if all 3 EMAs are aligned before entering a trade.
PAE - Price Action Essential**PAE - Price Action Essential** indicator.
This system is engineered to provide high-fidelity market structure readings, blending moving average harmony with algorithmic volume analysis at critical turning points.
---
## 1. Indicator Philosophy
**PAE** operates under the **"Signal over Noise"** principle. Its goal is to declutter the chart of visual distractions, highlighting only the areas where true confluence exists between price action and institutional effort (volume).
---
## 2. Moving Average Dynamics & Action Zone
The system utilizes a hierarchy of four moving averages to segment market flow:
### A. The Action Zone (Short-Term)
This is generated via a dynamic shading between the **Fast MA (9)** and the **Base MA (20)**.
* **Configuration:** Allows the user to select the calculation type (EMA, SMA, WMA, HMA) for both averages simultaneously.
* **Fast MA Colors:**
* `#a5d6a7` (Soft Green) during ascending values.
* `#faa1a4` (Soft Red) during descending values.
* **Purpose:** The shaded area acts as a "value band." Pullbacks into this zone during defined trends often offer the highest probability entry opportunities.
### B. Structural MAs (Mid & Long-Term)
These averages are fixed to **SMA** type to maintain stability in trend analysis:
* **Medium SMA (40):** Uses vibrant colors (**#3179f5** Blue / **#ffee58** Yellow) to clearly mark the primary direction of the current swing.
* **Slow SMA (200):** Uses pastel tones (**#90bff9** / **#fff9c4**) and a dotted style to define the long-term institutional bias.
---
## 3. Pivot Analysis with Smart Volume
**PAE** identifies fractals (Highs and Lows) and automatically classifies them based on their **Relative Volume** compared to the previous 20 candles.
### Visual Classification by Color
To ensure rapid interpretation, labels are set to **Tiny** size, with color serving as the primary data indicator:
| Pivot Type | Color | Volume Condition | Interpretation |
| --- | --- | --- | --- |
| **Strength (MAX)** | `#ff001e` (Bright Red) | `> 160%` of Avg | High-conviction resistance. |
| **Strength (MIN)** | `#0fa600` (Bright Green) | `> 160%` of Avg | High-conviction support. |
| **Base (MAX)** | `#f1adad` (Soft Rose) | Between `30%` - `160%` | Standard market structure. |
| **Base (MIN)** | `#bee7c0` (Soft Mint) | Between `30%` - `160%` | Standard market structure. |
| **Noise** | `#ffffff` (White 67% Transp.) | `< 30%` of Avg | Weak pivots or lack of interest. |
---
## 4. Contextual Information (Tooltips)
Every Pivot label is interactive. By hovering the cursor over the triangles, the trader obtains precise data:
* **Price:** Indicates the exact **Closing** value of the candle that triggered the pivot (MAX or Min).
* **Vol:** Displays the exact percentage of relative volume. For example, a value of **200%** confirms that the candle had double the average volume, validating the strength of that support or resistance level.
---
## 5. Recommended Configuration Parameters
* **Left/Right Bars (3):** The ideal balance between early detection and swing confirmation.
* **Strength Factor (1.60):** Filters for movements backed by professional intent.
* **Noise Factor (0.30):** Identifies exhaustion or lack of participation.
---
### Operational Summary
The **PAE** helps traders stop guessing. If the price reaches the **Action Zone** (shading) and coincides with a **Strength Pivot** (bright color), the probability of a reaction in favor of the trend is significantly high. It is a precision tool designed for traders seeking absolute clarity in their decision-making process.
MOD_CAPITAL trend Line🔹 MOD_CAPITAL Trend Line Indicator (Professional Tool)
The MOD_CAPITAL Trend Line indicator is a clean and advanced tool designed for traders who focus on market structure, trend direction, and price respect.
This indicator automatically builds valid trend lines using confirmed pivot highs and pivot lows, filtering out weak or broken structures.
Only real, respected trend lines remain on the chart — no noise, no clutter.
⚙️ Key Features
Automatically detects valid bullish and bearish trend lines
Built on pivot high / pivot low logic
Filters false lines by checking price respect
Clean Mod_Capital minimal design
Single color for professional chart clarity
No repainting after confirmation
Works on all markets and timeframes
Perfect for manual trading and confirmation
🎯 Best Used For
Trend confirmation
Breakout & breakdown analysis
Market structure trading
Support & resistance with trend logic
Professional discretionary trading
💡 Why MOD_CAPITAL?
Because clean charts = clear decisions.
No indicators overload.
No unnecessary signals.
Only structure, trend, and discipline.
Jake's Candle by Candle UpgradedJake's Candle by Candle Upgraded
The "Story of the Market" Automated
This is not just another signal indicator. Jake's Candle by Candle Upgraded is a complete institutional trading framework designed for high-precision scalping on the 1-minute and 5-minute timeframes.
Built strictly on the principles of Al Brooks Price Action and Smart Money Concepts (SMC), this tool automates the rigorous "Candle-by-Candle" analysis used by professional floor traders. It moves beyond simple pattern recognition to read the "Story" of the market—Context, Setup, and Pressure—before ever allowing a trade.
The Philosophy: Why This Tool Was Built
Most retail traders fail for two reasons:
Getting Trapped: They enter on the first sign of a reversal (H1/L1), which is often an institutional trap.
Trading Chop: They bleed capital during low-volume, sideways markets.
This tool solves both problems with an Algorithmic Discipline Engine. It does not guess. It waits for the specific "Second Leg" criteria used by institutions and physically disables itself during dangerous market conditions.
Key Features
1. The Context Dashboard (HUD)
A professional Heads-Up Display in the top-right corner keeps you focused on the macro picture while you scalp.
FLOW: Monitors the 20-period Institutional EMA. (Green = Bull Flow, Red = Bear Flow). You are prevented from trading against the dominant trend.
STATE: A built-in "Volatility Compressor." If it says "⚠️ CHOP / RANGE", the algorithm is disabled. It protects you from overtrading during lunch hours or low-volume zones.
SETUP: Live tracking of the Al Brooks leg count. It tells you exactly when the algorithm is "Waiting for Pullback" or "Searching for Entry."
2. Smart "Trap Avoidance" Logic (H2/L2)
This tool uses the "Gold Standard" of scalping setups: The High 2 (H2) and Low 2 (L2).
It ignores the first breakout attempt (Leg 1), acknowledging it as a potential trap.
It waits for the pullback and only signals on the Second Leg, statistically increasing the probability of a successful trend resumption.
3. Volatility-Adaptive Risk Management
Stop calculating pips in your head. The moment a signal is valid, the tool draws your business plan on the chart:
Stop Loss (Red Line): Automatically placed behind the "Signal Bar" (the candle that created the setup) based on strict price action rules.
Take Profit (Green Line): Automatically projected at a 1.5 Risk-to-Reward Ratio.
Smart Adaptation: The targets expand and contract based on real-time market volatility. If the market is quiet, targets are tighter. If explosive, targets are wider.
4. The "Snap Entry" Signal
The BUY and SELL badges are not lagging. They are programmed with "Stop Entry" logic—appearing the exact moment price breaks the structure of the Signal Bar, ensuring you enter on momentum, not hope.
How to Trade Strategy
Check the HUD: Ensure FLOW matches your direction and STATE says "✅ VOLATILE".
Wait for the Badge: Do not front-run the tool. Wait for the BUY or SELL badge to print.
Set Your Orders: Once the signal candle closes:
Place your Stop Loss at the Red Line.
Place your Take Profit at the Green Line.
Walk Away: The trade is now a probability event. Let the math play out.
Technical Specifications
Engine: Pine Script v6 (Strict Compliance).
Best Timeframes: 1m, 5m.
Best Assets: Indices (NQ, ES), Gold (XAUUSD), and high-volume Crypto (BTC, ETH).






















