محرّر مؤشرات المستخدم: اكتب مؤشراتك وشغّلها واعرضها
حوار «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 يغلق الحوار.
الإعدادات
| عنصر التحكّم | الافتراضي | ما الذي يغيّره |
|---|---|---|
| اسم المؤشر | My indicator | الوسم المعروض في القائمة، وفي لوحة المؤشرات، وعلى الجداول ولوحات القيم؛ حتى 48 حرفًا |
| هدف الرسم | On the chart | «On the chart» يرسم فوق السعر؛ و«Own pane» يخصّص لوحة مستقلّة تحت الرسم |
| وسيط Period | 20 (الأدنى 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 وخطؤه الدقيق يحلّان محلّه.
صفحات ذات صلة
- مخرجات السكربت: فوق الرسم، ولوحة، وجدول، ولوحة قيم
- سكربتات C++ (محرّك WASM)
- مساعد السكربتات (ذكاء اصطناعي)
- شرح الدلتا التراكمية
هذه الصفحة بلغات أخرى
أسئلة شائعة
- حفظت سكربتًا ولا يظهر شيء على الرسم. لماذا؟
- الحفظ والعرض إجراءان مختلفان. فعّل «Show on the chart» في صفحة البرمجة النصية، أو أشّر على السكربت في مجموعة «My scripts» بلوحة المؤشرات.
- كم شمعة يتلقّى السكربت؟
- على الأكثر 600 شمعة هي الأحدث في الرسم، سواءٌ في تشغيل المحرّر أو على الرسم الحيّ. فتسلسل يوم كامل من الشموع بمستوياتها سيكلّف أكثر من الحساب نفسه.
- هل يستطيع سكربتي الوصول إلى الشبكة أو إلى وسيطي؟
- لا. فالسكربت يعمل في عامل تُستبدَل فيه fetch وXMLHttpRequest وWebSocket وimportScripts وeval العامّة قبل تشغيل شفرتك، ولا تُستورَد واجهة Tauri البرمجية أبدًا، ويضيف بروتوكول البيئة المعزولة سياسة default-src 'none'. فلا وصول إلى الملفات، ولا واجهة وسيط.