OPEN-SOURCE SCRIPT
Live NY Session Movement (points)

//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)
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)
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
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.
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
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.