OPEN-SOURCE SCRIPT
DJZS Session Tracker (PDT-Aligned)

//version=5
indicator("DJZS Session Tracker (PDT-Aligned)", overlay=true, max_lines_count=500)
// Extract current date/time
var int y = year(time)
var int mo = month(time)
var int d = dayofmonth(time)
// Convert local session times (PDT = UTC-7)
asia_start = timestamp("America/Los_Angeles", y, mo, d, 17, 0)
asia_end = timestamp("America/Los_Angeles", y, mo, d + 1, 2, 0)
london_start = timestamp("America/Los_Angeles", y, mo, d + 1, 0, 0)
london_end = timestamp("America/Los_Angeles", y, mo, d + 1, 9, 0)
ny_start = timestamp("America/Los_Angeles", y, mo, d + 1, 5, 0)
ny_end = timestamp("America/Los_Angeles", y, mo, d + 1, 14, 0)
in_session(start, end) =>
time >= start and time < end
asia = in_session(asia_start, asia_end)
london = in_session(london_start, london_end)
ny = in_session(ny_start, ny_end)
// Plot background for sessions
bgcolor(asia ? color.new(color.aqua, 85) : na)
bgcolor(london ? color.new(color.green, 85) : na)
bgcolor(ny ? color.new(color.orange, 85) : na)
// Track session highs/lows
var float asiaHigh = na
var float asiaLow = na
var float londonHigh = na
var float londonLow = na
var float nyHigh = na
var float nyLow = na
if asia
asiaHigh := na(asiaHigh) ? high : math.max(asiaHigh, high)
asiaLow := na(asiaLow) ? low : math.min(asiaLow, low)
else
asiaHigh := na
asiaLow := na
if london
londonHigh := na(londonHigh) ? high : math.max(londonHigh, high)
londonLow := na(londonLow) ? low : math.min(londonLow, low)
else
londonHigh := na
londonLow := na
if ny
nyHigh := na(nyHigh) ? high : math.max(nyHigh, high)
nyLow := na(nyLow) ? low : math.min(nyLow, low)
else
nyHigh := na
nyLow := na
// Plot session highs/lows
plot(asiaHigh, "Asia High", color=color.aqua, style=plot.style_linebr, linewidth=1)
plot(asiaLow, "Asia Low", color=color.aqua, style=plot.style_linebr, linewidth=1)
plot(londonHigh, "London High", color=color.green, style=plot.style_linebr, linewidth=1)
plot(londonLow, "London Low", color=color.green, style=plot.style_linebr, linewidth=1)
plot(nyHigh, "NY High", color=color.orange, style=plot.style_linebr, linewidth=1)
plot(nyLow, "NY Low", color=color.orange, style=plot.style_linebr, linewidth=1)
indicator("DJZS Session Tracker (PDT-Aligned)", overlay=true, max_lines_count=500)
// Extract current date/time
var int y = year(time)
var int mo = month(time)
var int d = dayofmonth(time)
// Convert local session times (PDT = UTC-7)
asia_start = timestamp("America/Los_Angeles", y, mo, d, 17, 0)
asia_end = timestamp("America/Los_Angeles", y, mo, d + 1, 2, 0)
london_start = timestamp("America/Los_Angeles", y, mo, d + 1, 0, 0)
london_end = timestamp("America/Los_Angeles", y, mo, d + 1, 9, 0)
ny_start = timestamp("America/Los_Angeles", y, mo, d + 1, 5, 0)
ny_end = timestamp("America/Los_Angeles", y, mo, d + 1, 14, 0)
in_session(start, end) =>
time >= start and time < end
asia = in_session(asia_start, asia_end)
london = in_session(london_start, london_end)
ny = in_session(ny_start, ny_end)
// Plot background for sessions
bgcolor(asia ? color.new(color.aqua, 85) : na)
bgcolor(london ? color.new(color.green, 85) : na)
bgcolor(ny ? color.new(color.orange, 85) : na)
// Track session highs/lows
var float asiaHigh = na
var float asiaLow = na
var float londonHigh = na
var float londonLow = na
var float nyHigh = na
var float nyLow = na
if asia
asiaHigh := na(asiaHigh) ? high : math.max(asiaHigh, high)
asiaLow := na(asiaLow) ? low : math.min(asiaLow, low)
else
asiaHigh := na
asiaLow := na
if london
londonHigh := na(londonHigh) ? high : math.max(londonHigh, high)
londonLow := na(londonLow) ? low : math.min(londonLow, low)
else
londonHigh := na
londonLow := na
if ny
nyHigh := na(nyHigh) ? high : math.max(nyHigh, high)
nyLow := na(nyLow) ? low : math.min(nyLow, low)
else
nyHigh := na
nyLow := na
// Plot session highs/lows
plot(asiaHigh, "Asia High", color=color.aqua, style=plot.style_linebr, linewidth=1)
plot(asiaLow, "Asia Low", color=color.aqua, style=plot.style_linebr, linewidth=1)
plot(londonHigh, "London High", color=color.green, style=plot.style_linebr, linewidth=1)
plot(londonLow, "London Low", color=color.green, style=plot.style_linebr, linewidth=1)
plot(nyHigh, "NY High", color=color.orange, style=plot.style_linebr, linewidth=1)
plot(nyLow, "NY Low", color=color.orange, style=plot.style_linebr, linewidth=1)
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuna uygun olarak, bu komut dosyasının oluşturucusu bunu açık kaynaklı hale getirmiştir, böylece yatırımcılar betiğin işlevselliğini inceleyip doğrulayabilir. Yazara saygı! Ücretsiz olarak kullanabilirsiniz, ancak kodu yeniden yayınlamanın Site Kurallarımıza tabi olduğunu unutmayın.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuna uygun olarak, bu komut dosyasının oluşturucusu bunu açık kaynaklı hale getirmiştir, böylece yatırımcılar betiğin işlevselliğini inceleyip doğrulayabilir. Yazara saygı! Ücretsiz olarak kullanabilirsiniz, ancak kodu yeniden yayınlamanın Site Kurallarımıza tabi olduğunu unutmayın.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.