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

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

 

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

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

فيما يلي قائمة بالعناصر النائبة المتاحة:

 

1. {{ticker}} - مؤشر الرمز المستخدم في التنبيه (AAPL، BTCUSD، إلخ).

 

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

 

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

 

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

 

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

 

الحجم: {{plot_0}}, Volume average: {{plot_1}}

 

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

 

7. {{syminfo.currency}} - تُرجع رمز العملة الخاص بالرمز الحالي ("EUR"، "USD"، إلخ).

 

8. {{syminfo.basecurrency}} - يُرجع رمز العملة الأساسية للرمز الحالي إذا كان الرمز يشير إلى زوج عملات. وإلا فإنها تقوم بإرجاع. على سبيل المثال، تقوم بإرجاع "EUR" عندما يكون الرمز "EURUSD".

 

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

 

  • {{strategy.position_size}} - تُرجع قيمة الكلمة الرئيسية نفسها في باين، أي حجم الموضع الحالي.
  • {{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 التي يمكن استخدامها في كود باين الخاص بالاستراتيجية عند استدعاء إحدى الدوال المستخدمة لتقديم الطلبات: strategy.entry أو strategy.exit أو strategy.order. هذه الميزة مدعومة فقط في Pine v4 والإصدارات الأحدث.
  • {{strategy.market_position}} - تُرجع الموضع الحالي للاستراتيجية في شكل سلسلة: "شراء" أو "تعادل" أو "بيع على المكشوف".
  • {{strategy.market_position_size}} - تُرجع حجم المركز الحالي كقيمة مطلقة، أي رقم غير سالب.
  • {{strategy.prev_market_position}} - تُرجع الموضع السابق للاستراتيجية في شكل سلسلة: "شراء" أو "تعادل" أو "بيع على المكشوف".
  • {{strategy.prev_market_position_size}} - تُرجع حجم المركز السابق كقيمة مطلقة، أي رقم غير سالب.

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

 

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

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

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

 

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

 

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

 

الحجم: {{plot("Volume")}}, Volume average: {{plot("Volume MA")}}

 

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

 

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

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

عام

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

 

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

 

 

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

 

 

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

 

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

 

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

عام

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

 

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

 

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