Ofset kullanan göstergelerdeki alarmlarla ilgili sorun
Ofsetli grafikler kullanan bir göstergede bir alarm oluşturulursa, alarm sinyalini grafikteki sinyalle karşılaştırırken, alarmın bir gecikmeyle tetiklendiği görünebilir.
Bir örneğe bakalım: PivotHigh (yüksekliği) algılandığında tetiklenen bir alarm.
Bu değer, belirli sayıda önceki ve sonraki yüksek değerden daha büyük olan bir yüksek değerdir. (Bu örnekte ikiden fazla önceki ve sonraki yüksek değer vardır).
Bu Pine komut dosyasını kullanarak yukarıdaki koşulun karşılandığı bir çubuk bulabilirsiniz:
//@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)
Komut dosyasını grafiğe eklerken, pivotHigh solda 2 çubuk bulunmasına rağmen, etiketin 16:30'dan itibaren çubukta görüntülendiğini görüyoruz.

Bir komut dosyasından alertcondition (alarm koşulu) üzerinde bir alarm oluşturursanız, pivotHigh algılama koşulu karşılandığından 16:30 çubuğunda da tetiklenecektir.
Etiketi pivotHigh çubuğunda görüntülemek için plotshape fonksiyonuna bir ofset ekleyebiliriz.
plotshape(phDetected?high[2]:na, style=shape.labeldown, location=location.absolute, text="pivotHigh", textcolor=color.white, color=color.green, offset=-2)

Böyle bir ofset yalnızca kolaylık sağlamak için gereklidir (genellikle ayrışma göstergelerinde kullanılır) ve alarm tetiklemesini etkilemez, yani alarm 16:30'dan itibaren çubukta doğru şekilde tetiklenmeye devam edecektir. Bununla birlikte, daha erken tetiklenmesi gerekiyormuş gibi görünebilir (yani, 14:30'dan itibaren çubukta).