كيفية استخدام قيمة متغير في التنبيه؟

يمكنك استخدام العناصر النائبة الخاصة للوصول إلى القيم المتغيرة في رسالة التنبيه. على سبيل المثال ، يمكنك إنشاء تنبيه على NASDAQ: AAPL واكتب في مربع رسالة:

{{exchange}}:{{ticker}}, price = {{close}}, volume = {{volume}}

بعد تشغيل التنبيه ، ستحصل على قيم مقابلة:

وفيما يلي قائمة بأهم العناصر النائبة المستخدمة:

1- {{ticker}}  وهو أسم الرمز أو الأصل المالي المستخدم مثل 

2- {{exchange}}  بورصة بيانات الرمز المستخدم في التنبيه (NASDAQ ، NYSE ، MOEX ، إلخ). لاحظ أنه بالنسبة للرموز ذات البيانات المتأخرة ، سينتهي اسم البورصة بـ "_DLL" أو "_DLY". على سبيل المثال ، "NYMEX_DL".

3-  {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}}  وهي القيم المقابلة للعمود البياني الذي تم تشغيل التنبيه عليه. لاحظ أن التنبيهات على المؤشرات والرسوم البيانية غير القياسية والرسومات تعتمد على الفاصل الزمني المستخدم، بينما يتم دائمًا احتساب تنبيهات الأسعار البسيطة (على سبيل المثال ، تجاوز السعر لبعض القيمة) على الأعمدة البيانية مدتها دقيقة واحدة. {{time}} بالتوقيت العالمي المنسق ، بتنسيق yyyy-MM-ddTHH: mm: ssZ. على سبيل المثال ، 2019-08-27T09: 56: 00Z. القيم الأخرى هي أرقام النقطة الثابتة مع وجود علامة عشرية تفصل الأجزاء المتكاملة والكسرية. على سبيل المثال ، 1245.25.

4- {{timenow}} وقت التفعيل الحالي للتنبيه ، منسق بنفس طريقة {{time}}. مع تقريب الوقت إلى أقرب ثانية ، بغض النظر عن الفاصل الزمني المستخدم. 

5- {{plot_0}}, {{plot_1}}, ... {{plot_19}} سلسلة المخرجات المقابلة للمؤشر المستخدم في التنبيه. لاحظ أن المعلمات مرقمة من الصفر. أعلى رقم للمعلمة هو 19 (يمكنك الوصول إلى 20 سلسلة مخرجة فقط). سلسلة المخرجات هي قيم مؤشر يمكنك أن تراها على الرسم البياني. على سبيل المثال ، يحتوي مؤشرحجم التداول المدمج على سلسلتي إخراج: Volume و Volume MA. يمكنك إنشاء تنبيه عليه واكتب في مربع رسالة شيء مثل هذا:

Volume: {{plot_0}}, Volume average: {{plot_1}}

6. {{interval}} - تعرض الفاصل الزمني (أي الإطار الزمني / الدقة) للرسم الباني الذي تم إنشاء التنبيه عليه. لاحظ أنه لأسباب فنية ، في بعض الحالات ، سيرجع هذا العنصر النائب "1" بدلاً من الإطار الزمني على الرسم البياني. تستند جميع التنبيهات العادية المستندة إلى السعر (بشروط مثل "AAPL Crossing 120" أو "AMZN أكبر من 3600") إلى القيمة الأخيرة للرمز ، وبالتالي فإن الإطار الزمني للرسم البياني غير مناسب للتنبيه. لهذا السبب ، يتم احتساب جميع التنبيهات المستندة إلى الأسعار فعليًا على الإطار الزمني 1 مليون وسيرجع العنصر النائب دائمًا "1" وفقًا لذلك. بالإضافة إلى ذلك ، يتم حساب مخططات النطاق أيضًا استنادًا إلى 1 مليون بيانات ، لذا فإن العنصر النائب {{interval}} سيرجع دائمًا "1" في أي تنبيه تم إنشاؤه في مخطط النطاق. مع التنبيهات التي تم إنشاؤها على الرسومات والمؤشرات ، سيعمل هذا العنصر النائب كما هو متوقع.

يمكن استخدام العناصر النائبة ببادئة "الإستراتيجية" فقط في تنبيهات الإستراتيجية:

{{Strategy.position_size}} - إرجاع قيمة نفس الكلمة الرئيسية في Pine ، أي حجم الموضع الحالي.

{{Strategy.order.action}} - لإرجاع السلسلة "شراء" أو "بيع" للأمر المنفّذ.

 {{Strategy.order.contracts}} - لإرجاع عدد عقود الأمر المنفذة.

{{Strategy.order.price}} - إرجاع السعر الذي تم تنفيذ الأمر به.

{{Strategy.order.id}} - إرجاع معرّف الأمر الذي تم تنفيذه (السلسلة المستخدمة كمعلمة أولى في إحدى وظائف استدعاءات إنشاء الأوامر: Strategy.entry أو Strategy.exit أو Strategy.order).

{{Strategy.order.comment}} - لإرجاع تعليق الأمر الذي تم تنفيذه (السلسلة المستخدمة في معلمة التعليق في إحدى وظائف استدعاءات إنشاء الأوامر: Strategy.entry أو Strategy.exit أو Strategy.order). إذا لم يتم تحديد أي تعليق ، فسيتم استخدام قيمة Strategy.order.id.

{{Strategy.order.alert_message}} - تُرجع قيمة معلمة Alert_message التي يمكن استخدامها في كود Pine للإستراتيجية عند استدعاء إحدى الوظائف المستخدمة لتقديم الطلبات: Strategy.entry أو Strategy.exit أو Strategy.order . هذه الميزة مدعومة فقط في Pine v4.

{{Strategy.market_position}} - إرجاع الموضع الحالي للاستراتيجية في شكل سلسلة: "طويل" أو "ثابت" أو "قصير".

{{Strategy.market_position_size}} - إرجاع حجم الموضع الحالي.

{{Strategy.prev_market_position}} - إرجاع الموضع السابق للاستراتيجية في شكل سلسلة: "شراء" أو "ثابت" أو "بيع".

{{Strategy.prev_market_position_size}} -إرجاع حجم المركز السابق كقيمة مطلقة ، أي رقم غير سالب.

بعد تشغيل التنبيه ، سترى القيم المقابلة:

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

  • plot;
  • plotshape;
  • plotchar;
  • plotarrow;
  • plotbar;
  • plotcandle.

إذا كانت وسيطة السلسلة لهذه الوظائف تحتوي على قيمة منطقية ، فسيتم استبدال 0 أو 1 في رسالة الإشعار. ضع في اعتبارك أن بعض الوظائف - plotcandle و plotbar - تعرض 4 سلاسل لكل منهما ، وسيتم أخذ كل واحدة منها في الاعتبار في منطق الترقيم.

ومع ذلك ، فإن هذه الطريقة للوصول إلى المعلماتعادة ما تكون مربكة. لتسهيل الأمور ، أضفنا دعمًا للاتصال بالرسم البياني باستخدام أسمائهم. للقيام بذلك ، استخدم العنصر النائب {{plot ("Name")}} ، حيث يكون Name هو اسم السلسلة.

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

Volume: {{plot("Volume")}}, Volume average: {{plot("Volume MA")}}

وبالمثل ، لكي يتمكن سكريب باين البرمجي Pine Script من الوصول إلى السلسلة ، يجب عليك تحديد الاسم من وسيطة العنوان الخاصة بالوظيفة المناظرة (المدعومة لجميع وظائف الرسم البياني ما عدا plotcandle و plotbar) ، ولن تعد اللغة مهمة. إذا لم يكن لديك حق الوصول إلى الكود ، يمكن رؤية الاسم في إعدادات النمط.

على سبيل المثال، للوصول إلى القيم النص البرمجي

//@version=4study("My script")plot(close, title="series")
GenericGeneric

بتضمين  {{plot("series")}} في رسالة التنبيه

ونفس الأسم يظهر في اعدادات النص البرمجي

عند استخدام عدة مؤشرات في تنبيه واحد ، يمكنك الرجوع إلى قيم المؤشر الأول - المؤشر المشار إليه في القائمة المنسدلة الأولى. انظر المثال أدناه.

عندما يتضمن التنبيه هذه الإعدادات ، يمكنك فقط الرجوع إلى قيم MA. للوصول إلى قيم البرنامج النصي "النص البرمجي" ، تحتاج إلى تحديده في القائمة المنسدلة الأولى.

يمكنك أيضًا تحديد عناصر نائب جديدة في وسيطة الرسالة الخاصة بوظيفة alertcondition. فمثلا:

//@version=4study("My script")alertcondition(close>open, message="price {{ticker}} = {{close}}")
GenericGeneric

يتم سحب الرسالة من الوسيطة تلقائيًا إلى إطار الرسالة في مربع حوار إنشاء التنبيه.

يرجى ملاحظة أنه عند إنشاء تنبيه بشرط من وظيفة alertcondition ، فإن استبدال القيمة لن يعمل إلا مع البرامج النصية v4 أو أعلى.

يمكن استخدام القيم الناتجة عن التنبيهات التي يتم تشغيلها مع عناصر البحث عن طريق إرسال قيم متغيرة من رسالة إلى العناوين المطلوبة. أو باستخدام تطبيقات خارجية مثل تنبيهات TradingView إلى MT4 / MT5 ، والتي تستخدم بالفعل استخدام القيم الديناميكية. يمكن العثور على بعض حالات استخدام بناء الجملة في هذا البرنامج النصي كمثال. هذا يفتح المزيد من الاحتمالات لأولئك منكم الذين يستخدمون التنبيهات.