محرّر مؤشرات المستخدم: اكتب مؤشراتك وشغّلها واعرضها

حوار «Custom indicators» يتيح لك كتابة سكربت مؤشر، وتشغيله على الشموع الحقيقية للرسم الجاري، وحفظه. والسكربتات المحفوظة تنضمّ إلى لوحة المؤشرات تحت «My scripts»، حيث تُفعَّل وتُعطَّل كالمؤشرات المدمجة.

Senzoukria · التوثيق · آخر تحديث: سبتمبر 2026


أين تجده

الموضع
رسم Replay ← كبسولة «Script» (تلميحها «Write your own indicator (runs sandboxed)»)؛ وصفحة البرمجة النصية ← مفتاح «Show on the chart»
التخزين
مفتاح localStorage هو orderflow.userIndicators.v1؛ والظهور لكل رسم في مخزن إعدادات المؤشرات
نطاق التشغيل
حتى 600 شمعة هي الأحدث، ببيانات الرسم الحقيقية، بميزانية عزل ثانيتين
الإيقاع على الرسم
تشغيل واحد في الطريق على الأكثر لكل سكربت، و400 مللي ثانية على الأقلّ بين تشغيلين

ما الذي يفعله

عنوان الحوار «Custom indicators». وقائمة على اليسار تعرض كل سكربت محفوظ مع هدف رسمه؛ وزرّ «+ New indicator» ينشئ واحدًا باسم «My indicator» بالسكربت الافتراضي (متوسّط متحرّك بسيط بفترة 20) وبوسيطين، هما Period (20، من 1 إلى 500) وColor (#7ed321). ويحمل الجانب الأيمن حقل الاسم (48 حرفًا على الأكثر)، ومُحدِّد هدف الرسم، ومحرّر الشفرة نفسه الموجود في صفحة البرمجة النصية، بأرقام أسطر وإزاحة بمفتاح Tab.

والزرّ المهمّ هو «▶ Run on current chart». فهو ينفّذ السكربت في البيئة المعزولة على شموع الرسم الفعلية، 600 على الأكثر، ويبلّغ إمّا بـ «✓ N outputs in X ms — on N bars» وإمّا بالخطأ مع رقم سطره معروضًا أولًا. وكتلة Console تسرد ما طبعه السكربت بـ log() / console.log() (في JavaScript) أو بـ print() (في Python)؛ وحين لا يُطبع شيء، يشرح تلميح أي دالّة تُستعمل. ومفتاح Escape يغلق الحوار.

الإعدادات

عناصر التحكّم في حوار Custom indicators
عنصر التحكّمالافتراضيما الذي يغيّره
اسم المؤشرMy indicatorالوسم المعروض في القائمة، وفي لوحة المؤشرات، وعلى الجداول ولوحات القيم؛ حتى 48 حرفًا
هدف الرسمOn the chart«On the chart» يرسم فوق السعر؛ و«Own pane» يخصّص لوحة مستقلّة تحت الرسم
وسيط Period20 (الأدنى 1، الأقصى 500، الخطوة 1)يُمرَّر إلى السكربت بوصفه params.period؛ وقابل للضبط لاحقًا من لوحة المؤشرات
وسيط Color#7ed321يُمرَّر بوصفه params.color
Run on current chart—يشغّل السكربت على حتى 600 شمعة حقيقية ويعرض المخرجات والتوقيت والسجلّات أو سطر الخطأ
Save—يحفظ السكربت؛ والتعديلات غير المحفوظة تُفقَد عند إغلاق الحوار
Delete—يزيل السكربت ويختار الذي يليه

عرض سكربت على الرسم

حفظ سكربت لا يرسمه. ففي صفحة البرمجة النصية يشرح مفتاح «Show on the chart» ذلك: المؤشر يُرسم على الرسم وينضمّ إلى لوحة المؤشرات في مجموعة «My scripts» — فعّله وعطّله من هناك كأي مؤشر آخر. وحفظ مؤشر جديد من صفحة البرمجة النصية يفعّله تلقائيًّا. وفي لوحة المؤشرات يعرض كل سكربت «chart overlay» أو «own pane» إلى جانب اسمه؛ وحين يخفق السكربت يعرض ذلك الموضع الخطأ بدلًا من ذلك.

وعلى الرسم، تعمل سكربتات المستخدم في عامل بحلقتها الخاصة: تنفيذ واحد في الطريق على الأكثر لكل سكربت، وحدّ أدنى قدره 400 مللي ثانية بين تشغيلين، فالسكربت البطيء يؤخّر رسمه هو وحده ولا يجمّد الرسم أبدًا. وتُهمَل النتائج حين تتغيّر الأداة أو الإطار الزمني، لا حين تُعاد الشموع للنشر فحسب. وقيم الوسائط المضبوطة في لوحة المؤشرات تتجاوز القيم الافتراضية المصرَّح بها في السكربت، وكل مفتاح مصرَّح به يتلقّى قيمةً دائمًا.

الأخطاء المبلَّغ عنها لكل سكربت

لماذا لا يرسم سكربت شيئًا، كما يُبلَّغ عنه إلى جانبه
الرمزالمعنىما العمل
threwرمَت compute استثناءً أو قاطعتها البيئة المعزولة (ميزانية ثانيتين)؛ وتُعرض الرسالة والسطرصحّح السطر المقتبَس؛ ويُزال الرسم السابق حتى لا يمرّ منحنًى قديم على أنه منحنًى عامل
shapeمخرَج بشكل لا يعرفه الراسمأعِد واحدًا من line أو histogram أو bands أو markers أو levels أو table أو panel
emptyاشتغل السكربت بلا خطأ ولم يرسم شيئًامشروع لسكربت علامات لا شيء لديه ليعلّمه؛ وإلا فافحص الإحماء وترتيب الشموع المعكوس

الحدود والمزالق

  • تتلقّى السكربتات الشموع بالأحدث أولًا: فـ bars[0] هي الأحدث. اعكس الترتيب قبل تطبيق أي صيغة.
  • واللغة تسافر مع السكربت (JavaScript افتراضيًّا، أو Python أو C++ حين تُختار في صفحة البرمجة النصية). وسكربت Python يشغّله محرّك Python، لا بوصفه JavaScript.
  • والنقاط التي لا يطابق وقتها شمعةً تُسقَط؛ والقيم غير المنتهية تصير فجوات. ولا يستطيع سكربت أن يرسم خارج الرسم.
  • وليس في المحرّر تلوين صياغة بالتصميم؛ فزرّ Run وخطؤه الدقيق يحلّان محلّه.

هذه الصفحة بلغات أخرى

أسئلة شائعة

حفظت سكربتًا ولا يظهر شيء على الرسم. لماذا؟
الحفظ والعرض إجراءان مختلفان. فعّل «Show on the chart» في صفحة البرمجة النصية، أو أشّر على السكربت في مجموعة «My scripts» بلوحة المؤشرات.
كم شمعة يتلقّى السكربت؟
على الأكثر 600 شمعة هي الأحدث في الرسم، سواءٌ في تشغيل المحرّر أو على الرسم الحيّ. فتسلسل يوم كامل من الشموع بمستوياتها سيكلّف أكثر من الحساب نفسه.
هل يستطيع سكربتي الوصول إلى الشبكة أو إلى وسيطي؟
لا. فالسكربت يعمل في عامل تُستبدَل فيه fetch وXMLHttpRequest وWebSocket وimportScripts وeval العامّة قبل تشغيل شفرتك، ولا تُستورَد واجهة Tauri البرمجية أبدًا، ويضيف بروتوكول البيئة المعزولة سياسة default-src 'none'. فلا وصول إلى الملفات، ولا واجهة وسيط.

اقرأ أيضًا