OPEN-SOURCE SCRIPT

Live NY Session Movement (points)

75
//version=5
indicator("Live NY Session Movement (points)", overlay=true)

// --- Inputs ---
nySession = input.session("0830-1700", "NY Session (local NY time)")
nyTimezone = input.string("America/New_York", "Session Timezone")
showShade = input.bool(true, "Shade NY Session")

// --- In-session detection (per-bar) ---
inNy = not na(time(timeframe.period, nySession, nyTimezone))

// --- Track session H/L and live movement ---
var float sessHigh = na
var float sessLow = na
var label liveLab = na
var bool wasIn = false

// session edge flags
justStarted = inNy and not wasIn
justEnded = not inNy and wasIn
wasIn := inNy

if justStarted
sessHigh := high
sessLow := low

if inNy
sessHigh := na(sessHigh) ? high : math.max(sessHigh, high)
sessLow := na(sessLow) ? low : math.min(sessLow, low)
movePts = sessHigh - sessLow

// create once, then update in place each bar
if na(liveLab)
liveLab := label.new(bar_index, high, "NY Move: " + str.tostring(movePts, format.mintick), style=label.style_label_down, textcolor=color.white, color=color.new(color.blue, 0), size=size.small)
label.set_x(liveLab, bar_index)
label.set_y(liveLab, high)
label.set_text(liveLab, "NY Move: " + str.tostring(movePts, format.mintick))
else
// clean up at end of session
sessHigh := na
sessLow := na
if not na(liveLab)
label.delete(liveLab)
liveLab := na

// Optional: shade the session so you can see it clearly
bgcolor(showShade and inNy ? color.new(color.blue, 92) : na)

Penafian

Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.