الأسعار
المؤشرات

لغة كاملة، لا لهجة مقيّدة

لا لغة خاصّة تتعلّمها ثم لا تنفعك في مكان آخر: مؤشرك جافاسكربت حقيقية — دوال وكائنات وحلقات كما تعرفها — فوق مكتبة تحليل فنّي من ٥٣ دالة. والعرض تحت ليس فيديو: هو المحرّك نفسه يعمل في متصفّحك الآن.

معزول في QuickJS

الكود يعمل في مفسّر جافاسكربت مستقلّ مُصرَّف إلى WebAssembly: لا window ولا fetch ولا localStorage ولا كوكيز — لا شيء إطلاقاً سوى ما نمرّره عبر الجسر.

أربع طبقات لا خطّاً واحداً

سلاسل قيمة، وأشكال (صناديق وخطوط وتسميات ولوحات إحصائية)، وعلامات على الشموع، وتلوين خلفية — على الشارت الرئيسي أو في لوحة سفلية.

انشره أو ثبّت غيره

مؤشرك يُنشر لمكتبة المجتمع بضغطة، ولوحة الناشر تريك من ثبّته. والعزل هو ما يجعل تثبيت مؤشر كتبه غريب قراراً آمناً.

جرّبه الآن — على شموع ذهب حقيقية

الكود تحته مؤشر كامل يعمل. عدّله أو امسحه واكتب مؤشرك، ثم اضغط «تفعيل» — يُشغَّل داخل عزل QuickJS في متصفّحك أنت، بلا حساب وبلا خادم.

SMC.js
يُحمَّل العرض…
اسحب محور السعر لتمطّه، ومحور الوقت لتضغطه، ونقرتان على أيّهما تُعيدان الضبط. العجلة تكبّر.

لماذا العزل ليس تفصيلاً تقنياً

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

  • مهلة تنفيذ عبر مقاطع دوري: الحلقة اللانهائية تُقتل، ولا يتجمّد الشارت.
  • سقف ذاكرة ٦٤ ميغابايت للسياق الواحد، فلا يستنزف مؤشرٌ الجهاز.
  • سقف مخرجات: ٢٠٠٬٠٠٠ نقطة وثمانية رسومات، وإلا رُفض المخرج.
  • كل ما يخرج من العزل غير موثوق: الألوان والنصوص والأرقام تمرّ على مُنقٍّ قبل أن تصل إلى مكتبة الرسم — نصّ مؤشر مشارَك لا يصل إلى الصفحة كـHTML أبداً.
  • لا Intl ولا console حقيقي ولا زمن محلّي داخل العزل — حتى القنوات الجانبية الصغيرة مغلقة.

ما الذي تكتبه فعلاً

ملفّ واحد فيه شيئان: كائن meta يصف اسم المؤشر ومدخلاته (أرقام وألوان وقوائم ومفاتيح، مرتّبة في أقسام وأسطر)، ودالّة compute تأخذ الشموع والمدخلات وتُرجع ما تريد رسمه. لا context ولا new_var ولا فهارس رقمية للمدخلات — تلك تعقيدات ورثتها واجهات أخرى، وهي مصدر أغلب أخطاء المؤلّفين هناك.

  • ٥٣ دالة في مكتبة TA: المتوسّطات والزخم والتذبذب والمحاور والتقاطعات وvaluewhen وbarssince.
  • طلب بيانات فريم أو رمز آخر تصريحياً داخل compute — لا انتظار ولا نداءات غير متزامنة.
  • console.log يعمل: رسائله تظهر في لوحة المحرّر، وتبقى حتى لو رمى الكود خطأً.
  • المؤشر الواحد يُضاف حتى خمس مرّات بإعدادات مختلفة على الشارت نفسه.

عندك مؤشر بلغة أخرى؟

أكبر ما يمنع المتداول من الانتقال ليس المنصّة الجديدة بل سنوات من المؤشرات المكتوبة في غيرها. لذلك نبني مترجماً: تلصق كود Pine أو MQL، فيُقرأ ويُحوَّل إلى مؤشر يعمل هنا — الدوال إلى مكتبة TA، وplot وplotshape وbox وline وlabel إلى طبقات الرسم عندنا، وinput إلى لوحة الإعدادات.

  • متاح اليوم: ارفع مرجع المحرّك ‎.md‎ مع كود مؤشرك في ملفّ ‎.txt‎ إلى نموذج ذكاء اصطناعي، فيخرج بالكود في ثوانٍ. والزرّ المدمج داخل المحرّر قيد البناء.
  • ما لا يقابله شيء عندنا (وسوم الاستراتيجيات، بعض دوال الوسيط) سيُعلَّم في المخرج بتعليق صريح لا يُترجَم بصمت إلى شيء آخر.
  • المخرج كود مقروء تملكه أنت وتعدّله، لا صندوقاً مغلقاً.

أسئلة شائعة

هل يمكن لمؤشر أن يسرق حسابي أو بياناتي؟

الكود لا يملك أي وسيلة اتصال: لا شبكة ولا تخزين ولا وصول إلى صفحة المنصّة. أقصى ما يستطيعه هو أن يُرجع رسماً خاطئاً أو أن ينتهي بمهلته. وحتى ما يُرجعه يُنقّى قبل أن يُرسم.

هل أحتاج حساباً لتجربة المحرّك؟

لا. العرض في هذه الصفحة يشغّل نفس المحرّك في متصفّحك على شموع ذهب ثابتة. الحساب يلزم فقط لحفظ مؤشرك وتشغيله على السوق الحيّ ونشره.

هل أحتاج أن أكون مبرمجاً؟

لكتابة مؤشر من الصفر: بعض الجافاسكربت يكفي. ولمن لا يكتب كوداً هناك مكتبة المجتمع — تثبّت مؤشر غيرك بضغطة، وهذا آمن هنا تحديداً بسبب العزل.

ماذا لو كان مؤشري بطيئاً؟

الحساب في الإنتاج يجري على Worker منفصل عن واجهة الشارت، ولكل تشغيلة مهلة. مؤشر ثقيل يبطّئ نفسه لا الشارت.

ابدأ بلا تثبيت ولا بطاقة

افتح الشارت في المتصفّح وجرّب المميزة على السوق الحيّ.

افتح الشارت