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提供或认可的任何形式的财务、投资、交易或其他类型的建议或推荐。请阅读使用条款了解更多信息。