PROTECTED SOURCE SCRIPT

SIGMA Market Sessions Boxes)

30
//version=5
indicator("SIGMA Market Sessions Boxes)", overlay=true)

// ===== عدد الأيام =====
maxDays = input.int(5, "Days to Show", minval=1)

// ===== الجلسات =====
americasSession = input.session("0700-0701","Americas")
frankfurtSession = input.session("0700-0701","Frankfurt")
londonSession = input.session("0800-0801","London")
nySession = input.session("0930-0931","New York")
chinaSession = input.session("0930-0931","China")
tokyoSession = input.session("0900-0901","Tokyo")

// ===== المناطق الزمنية =====
americasTZ = "America/New_York"
frankfurtTZ = "Europe/Berlin"
londonTZ = "Europe/London"
nyTZ = "America/New_York"
chinaTZ = "Asia/Shanghai"
tokyoTZ = "Asia/Tokyo"

// ===== تفعيل الجلسات (كلها ON) =====
showAmericas = input.bool(true, "Americas", group="Sessions")
showFrankfurt = input.bool(true, "Frankfurt", group="Sessions")
showLondon = input.bool(true, "London", group="Sessions")
showNY = input.bool(true, "New York", group="Sessions")
showChina = input.bool(true, "China", group="Sessions")
showTokyo = input.bool(true, "Tokyo", group="Sessions")

// ===== بيانات الدقيقة وتمريرها لكل الفريمات =====
hi1 = request.security(syminfo.tickerid,"1", high, lookahead=barmerge.lookahead_on)
lo1 = request.security(syminfo.tickerid,"1", low , lookahead=barmerge.lookahead_on)

newDay = request.security(syminfo.tickerid,"1", ta.change(time("D")), lookahead=barmerge.lookahead_on)

americasOpen = request.security(syminfo.tickerid,"1", not na(time("1",americasSession,americasTZ)), lookahead=barmerge.lookahead_on)
frankfurtOpen = request.security(syminfo.tickerid,"1", not na(time("1",frankfurtSession,frankfurtTZ)),lookahead=barmerge.lookahead_on)
londonOpen = request.security(syminfo.tickerid,"1", not na(time("1",londonSession,londonTZ)), lookahead=barmerge.lookahead_on)
nyOpen = request.security(syminfo.tickerid,"1", not na(time("1",nySession,nyTZ)), lookahead=barmerge.lookahead_on)
chinaOpen = request.security(syminfo.tickerid,"1", not na(time("1",chinaSession,chinaTZ)), lookahead=barmerge.lookahead_on)
tokyoOpen = request.security(syminfo.tickerid,"1", not na(time("1",tokyoSession,tokyoTZ)), lookahead=barmerge.lookahead_on)

// ===== مصفوفات =====
var box[] boxesArr = array.new_box()
var label[] lblArr = array.new_label()

// ===== دالة إنشاء صندوق =====
createBox(_cond,_col,_name)=>
if _cond
b = box.new(bar_index, hi1, bar_index + 1, lo1, border_color=_col, bgcolor=color.new(_col, 80))
l = label.new(bar_index, hi1, _name, style=label.style_label_left, color=_col, textcolor=color.black, size=size.small)
array.push(boxesArr, b)
array.push(lblArr, l)

// ===== أول دقيقة من اليوم =====
if newDay
createBox(true, color.gray, "First")

// ===== الجلسات =====
if showAmericas
createBox(americasOpen , color.green , "Americas")

if showFrankfurt
createBox(frankfurtOpen, color.purple, "Frankfurt")

if showLondon
createBox(londonOpen , color.blue , "London")

if showNY
createBox(nyOpen , color.red , "New York")

if showChina
createBox(chinaOpen , color.orange, "China")

if showTokyo
createBox(tokyoOpen , color.yellow, "Tokyo")

// ===== تحديث الصناديق =====
if array.size(boxesArr) > 0
for i = 0 to array.size(boxesArr) - 1
bx = array.get(boxesArr, i)
lb = array.get(lblArr, i)

box.set_right(bx, bar_index)
label.set_x(lb, box.get_left(bx))
label.set_y(lb, box.get_top(bx))

// ===== حذف الأيام القديمة =====
maxObjects = maxDays * 7

while array.size(boxesArr) > maxObjects
box.delete(array.shift(boxesArr))
label.delete(array.shift(lblArr))

Declinazione di responsabilità

Le informazioni e le pubblicazioni non sono intese come, e non costituiscono, consulenza o raccomandazioni finanziarie, di investimento, di trading o di altro tipo fornite o approvate da TradingView. Per ulteriori informazioni, consultare i Termini di utilizzo.