anis86
@t_anis86
What symbols does the trader recommend buying?
Purchase History
پیام های تریدر
Filter
Signal Type

// version =5 indicator("DTT - Digital Time Theory (نظریة الزمن الرقمی)", overlay=true, max_lines_count=500, max_labels_count=500, max_boxes_count=50) //----------------------------- // ⚙️ الإعدادات العامة //----------------------------- string dtt_grpA = "الإعدادات العامة" string dtt_grpB = "عرض الخطوط" string dtt_grpC = "الألوان والسماکات" string dtt_grpD = "تسلسل 3-6-9" string dtt_grpE = "اللابلز والعناصر البصریة" string dtt_tzNy = input.string("America/New_York", "المنطقة الزمنیة لموعد البدایة", group=dtt_grpA) int dtt_startH = input.int(18, "ساعة البدایة (بتوقیت نیویورک)", minval=0, maxval=23, group=dtt_grpA) int dtt_startM = input.int(0, "دقیقة البدایة", minval=0, maxval=59, group=dtt_grpA) bool dtt_extendFuture = input.bool(true, "تمدید الخطوط أعلى/أسفل (عمودیة کاملة)", group=dtt_grpA) // إظهار/إخفاء کل طبقة bool dtt_showQuarter = input.bool(true, "إظهار أرباع الیوم (کل 6 ساعات)", group=dtt_grpB) bool dtt_show90m = input.bool(true, "إظهار خطوط 90 دقیقة", group=dtt_grpB) bool dtt_show22m5 = input.bool(true, "إظهار نبضات 22.5 دقیقة", group=dtt_grpB) // ألوان وسماکات color dtt_clQuarter = input.color(color.new(color.teal, 0), "لون ربع 6 ساعات", group=dtt_grpC) int dtt_wQuarter = input.int(2, "سُمک خط 6 ساعات", minval=1, maxval=5, group=dtt_grpC) color dtt_cl90 = input.color(color.new(color.orange, 0), "لون 90 دقیقة", group=dtt_grpC) int dtt_w90 = input.int(2, "سُمک خط 90 دقیقة", minval=1, maxval=5, group=dtt_grpC) color dtt_clBeat = input.color(color.new(color.gray, 0), "لون 22.5 دقیقة (الافتراضی)", group=dtt_grpC) int dtt_wBeat = input.int(1, "سُمک 22.5 دقیقة", minval=1, maxval=4, group=dtt_grpC) // تمییز 3-6-9 bool dtt_mark369 = input.bool(true, "تمییز تسلسل 3-6-9 على نبضات 22.5 دقیقة", group=dtt_grpD) color dtt_cl3 = input.color(color.new(color.lime, 0), "لون کل 3 نبضات", group=dtt_grpD) color dtt_cl6 = input.color(color.new(color.fuchsia, 0), "لون کل 6 نبضات", group=dtt_grpD) color dtt_cl9 = input.color(color.new(color.red, 0), "لون کل 9 نبضات (تغییر جذری)", group=dtt_grpD) int dtt_w369 = input.int(2, "سُمک خطوط 3-6-9", minval=1, maxval=5, group=dtt_grpD) // اللابلز bool dtt_showLabels = input.bool(true, "إظهار لابلز للخطوط", group=dtt_grpE) int dtt_lblSizeSel = input.int(10, "حجم خط اللابل", minval=8, maxval=16, group=dtt_grpE) int dtt_lblOffsetPx = input.int(20, "إزاحة رأسیة للّابل (بیکسل)", minval=0, maxval=100, group=dtt_grpE) bool dtt_showQuarterBg= input.bool(false, "تلوین خفیف لخلفیات الأرباع", group=dtt_grpE) color dtt_quarterBgCol = input.color(color.new(color.teal, 90), "لون خلفیة الربع", group=dtt_grpE) //----------------------------- // ⏱️ ثوابت زمنیة (بالمیلی ثانیة) //----------------------------- int dtt_msMinute = 60 * 1000 int dtt_msBeat = int(math.round(22.5 * dtt_msMinute)) // 22.5 دقیقة int dtt_ms90 = 90 * dtt_msMinute // 90 دقیقة int dtt_ms6h = 6 * 60 * dtt_msMinute // 6 ساعات //----------------------------- // 🧠 دوال مساعدة //----------------------------- var string dtt__tzTmp = dtt_tzNy // ✅ النسخة الصحیحة للدالة (بدون {} ) dtt_getAnchorForBar(_barTime) => nyY = year(_barTime, dtt__tzTmp) nyMo = month(_barTime, dtt__tzTmp) nyD = dayofmonth(_barTime, dtt__tzTmp) anchorToday = timestamp(dtt__tzTmp, nyY, nyMo, nyD, dtt_startH, dtt_startM) anchorPrev = anchorToday - 24 * 60 * 60 * 1000 _barTime >= anchorToday ? anchorToday : anchorPrev // هل عبرنا مضاعفاً جدیداً للفاصل الزمنی؟ dtt_crossedStep(_anchor, _intervalMs) => prevK = math.floor((nz(time [1]) - _anchor) / _intervalMs) nowK = math.floor((time - _anchor) / _intervalMs) nowK > prevK // یرسم خط عمودی کامل عند لحظة t dtt_makeVLine(t, col, w) => line.new(x1=t, y1= 10e10, x2=t, y2=-10e10, xloc=xloc.bar_time, extend=dtt_extendFuture ? extend.both : extend.none, color=col, width=w) // لابل dtt_makeLabel(t, txt, col) => label.new(x=t, y=high + ta.atr(14), xloc=xloc.bar_time, style=label.style_label_down, text=txt, textcolor=color.white, color=col, size=size.tiny, tooltip=txt) // خلفیة ربع (اختیاری) dtt_drawQuarterBox(t0, t1, c) => yLow = ta.lowest(low, 300) yHigh = ta.highest(high, 300) box.new(left=t0, top=yHigh, right=t1, bottom=yLow, xloc=xloc.bar_time, bgcolor=c, border_color=color.new(c, 100)) //----------------------------- // 🧩 المنطق الرئیسی //----------------------------- dtt_anchor = dtt_getAnchorForBar(time) dtt_delta = time - dtt_anchor //--------------- خطوط 22.5 دقیقة --------------- if dtt_show22m5 and dtt_delta >= 0 and dtt_crossedStep(dtt_anchor, dtt_msBeat) k = math.floor((time - dtt_anchor) / dtt_msBeat) tK = dtt_anchor + k * dtt_msBeat colBeat = dtt_clBeat wBeat = dtt_wBeat if dtt_mark369 step = (k + 1) is9 = step % 9 == 0 is6 = not is9 and step % 6 == 0 is3 = not is9 and not is6 and step % 3 == 0 colBeat := is9 ? dtt_cl9 : is6 ? dtt_cl6 : is3 ? dtt_cl3 : dtt_clBeat wBeat := is9 or is6 or is3 ? dtt_w369 : dtt_wBeat dtt_makeVLine(tK, colBeat, wBeat) if dtt_showLabels tag = dtt_mark369 ? "نبضة " + str.tostring(k + 1) : "22.5m" dtt_makeLabel(tK, tag, color.new(colBeat, 0)) //--------------- خطوط 90 دقیقة --------------- if dtt_show90m and dtt_delta >= 0 and dtt_crossedStep(dtt_anchor, dtt_ms90) m = math.floor((time - dtt_anchor) / dtt_ms90) tM = dtt_anchor + m * dtt_ms90 dtt_makeVLine(tM, dtt_cl90, dtt_w90) if dtt_showLabels tag90 = "90m #" + str.tostring(m) dtt_makeLabel(tM, tag90, color.new(dtt_cl90, 0)) //--------------- خطوط 6 ساعات (الأرباع) + خلفیات --------------- var int dtt_lastQuarterStart = na if dtt_showQuarter and dtt_delta >= 0 and dtt_crossedStep(dtt_anchor, dtt_ms6h) q = math.floor((time - dtt_anchor) / dtt_ms6h) tQ = dtt_anchor + q * dtt_ms6h dtt_makeVLine(tQ, dtt_clQuarter, dtt_wQuarter) if dtt_showLabels qInDay = q % 4 qName = qInDay == 0 ? "Q1" : qInDay == 1 ? "Q2" : qInDay == 2 ? "Q3" : "Q4" dtt_makeLabel(tQ, "ربع " + qName, color.new(dtt_clQuarter, 0)) if dtt_showQuarterBg if not na(dtt_lastQuarterStart) dtt_drawQuarterBox(dtt_lastQuarterStart, tQ, dtt_quarterBgCol) dtt_lastQuarterStart := tQ if barstate.isfirst and dtt_showQuarterBg and dtt_delta >= 0 q0 = math.floor((time - dtt_anchor) / dtt_ms6h) dtt_lastQuarterStart := dtt_anchor + q0 * dtt_ms6h if dtt_showQuarterBg and not na(dtt_lastQuarterStart) dtt_drawQuarterBox(dtt_lastQuarterStart, time, dtt_quarterBgCol) //----------------------------- // ℹ️ تلمیح مرئی أعلى الشارت //----------------------------- var label dtt_hdr = na if barstate.islast string hdrTxt = "DTT • Start: " + str.tostring(dtt_startH, "00") + ":" + str.tostring(dtt_startM, "00") + " • TZ: " + dtt_tzNy + "\n" +"Quarter: 6h | Wave: 90m | Beat: 22.5m" if na(dtt_hdr) dtt_hdr := label.new(bar_index, na, hdrTxt, xloc=xloc.bar_index, yloc=yloc.abovebar, textcolor=color.white, color=color.new(color.black, 85), size=size.small, style=label.style_label_left) else label.set_x(dtt_hdr, bar_index) label.set_text(dtt_hdr, hdrTxt)
Disclaimer
Any content and materials included in Sahmeto's website and official communication channels are a compilation of personal opinions and analyses and are not binding. They do not constitute any recommendation for buying, selling, entering or exiting the stock market and cryptocurrency market. Also, all news and analyses included in the website and channels are merely republished information from official and unofficial domestic and foreign sources, and it is obvious that users of the said content are responsible for following up and ensuring the authenticity and accuracy of the materials. Therefore, while disclaiming responsibility, it is declared that the responsibility for any decision-making, action, and potential profit and loss in the capital market and cryptocurrency market lies with the trader.