مشكلة في التنبيهات المتعلقة بالمؤشرات التي تستخدم التعويض

إذا تم إنشاء تنبيه على مؤشر يستخدم الرسومات مع التعويض، فعند مقارنة إشارة التنبيه بالإشارة الموجودة على الرسم البياني، قد يبدو أن التنبيه قد تم تشغيله مع تأخير.

 

لنلق نظرة على مثال: تنبيه يتم تشغيله عند  اكتشافPivotHigh.

PivotHigh هي قمة تزيد قيمتها عن عدد معين من القيم العالية السابقة واللاحقة. (هناك أكثر من قيمتين عاليتين سابقتين ولاحقتين في هذا المثال.)

 

يمكنك العثور على شريط حيث يتم استيفاء الشرط المذكور أعلاه باستخدام نص Pine هذا:

 

//@version=6
indicator("PivotHigh", overlay=false)
plot(high)
plot(high, linewidth=2, style = plot.style_circles)
 phDetected  =       high[2] > high[0]   and high[2] > high[1]   and high[2] > high[3]   and high[2] > high[4]plotshape(phDetected?high[2]:na, style=shape.labeldown, location=location.absolute, text="pivotHigh", textcolor=color.white,  color=color.green, offset=0)alertcondition(phDetected)
Java

 

عند إضافة النص البرمجي إلى الرسم، نرى التسمية معروضة على العمود من الساعة 16:30، على الرغم من أن PivotHigh يقع على عمودين على اليسار.

 

 

إذا قمت بإنشاء تنبيه على alertcondition من برنامج نصي، فسيتم تشغيله أيضًا على العمود بدءًا من الساعة 16:30 نظرًا لاستيفاء شرط اكتشافPivotHighعليه.

 

يمكننا إضافة إزاحة إلى   وظيفةplotshapeلعرض الملصق على عمودPivotHigh .

 


plotshape
(phDetected?high[2]:na, style=shape.labeldown, location=location.absolute, text="pivotHigh", textcolor=color.white, color=color.green, offset=-2)
Java

مثل هذا الإزاحة ضروري فقط للراحة (يتم استخدامه غالبًا في مؤشرات الاختلاف) ولا يؤثر على تشغيل التنبيه، أي أن التنبيه سيظل يعمل بشكل صحيح على العمود من الساعة 16:30. ومع ذلك، قد يبدو أنه يجب تشغيله في وقت سابق (أي على العمود من الساعة 14:30).