PROTECTED SOURCE SCRIPT
SIGMA Market Sessions Boxes)

//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))
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))
סקריפט מוגן
סקריפט זה פורסם כמקור סגור. עם זאת, תוכל להשתמש בו בחופשיות וללא כל מגבלות – למד עוד כאן
כתב ויתור
המידע והפרסומים אינם מיועדים להיות, ואינם מהווים, ייעוץ או המלצה פיננסית, השקעתית, מסחרית או מכל סוג אחר המסופקת או מאושרת על ידי TradingView. קרא עוד ב־תנאי השימוש.
סקריפט מוגן
סקריפט זה פורסם כמקור סגור. עם זאת, תוכל להשתמש בו בחופשיות וללא כל מגבלות – למד עוד כאן
כתב ויתור
המידע והפרסומים אינם מיועדים להיות, ואינם מהווים, ייעוץ או המלצה פיננסית, השקעתית, מסחרית או מכל סוג אחר המסופקת או מאושרת על ידי TradingView. קרא עוד ב־תנאי השימוש.