Hallo,
läßt sich eigentlich vor Scriptbeginn bereits vorab der aktuell höchste Barindex-Wert ermitteln?
Danke vorab und eine schöne gesunde Zeit.
Rainer
Können Sie bitte ein Beispiel nennen?
Auch ich suche eine Möglichkeit den LastBar zu ermitteln. Es geht um die Ermittlung von Extremwerten (Hoch und Tiefs) und die letzten Bars müssen etwas anders behandelt werden. Ich versuche gerade Code von Equilla zu portieren.
If (LastBar – barindex) < 3 Then …
Hallo Roberto,
Danke für die gewohnt schnelle Antwort.
Innerhalb einer Lockback-Schleife mit DrawOnLastBarOnly wird logischer weise bei Einzeichnung eines Segmentes das bis zum Ende des letzten Bars gehen soll, nur bis zum Barindex in der die Schleife breakt gezeichnet.
Würde ich den höchsten Barindex kennen, könnte ich das Segment entsprechen verlängern.
Sicher wäre dies mit einer horizontalen Linie machbar, jedoch unschön.
Ich habe das damalige Problem aus….
DRAWSEGMENT – Länge/2.X Koordinate dynamisch aus Kursziel ? : Forum ProBuilder Support – ProRealTime (prorealcode.com)
….wieder aufgegriffen. Mein Indikator funktioniert nun prima was Kkurszielprojektioinen betrifft, bis jedoch die Segments-Einzeichnung hinsichtlich der rechten Länge, siehe anhängender Screenshot. Die rote DottedLine indiziert in diesem Fall das offene Short-Kursziel bei 15.580 und sollte eigentlich am letzten Bar enden. Wird das Kursziel erreicht, wird aus der dotted eine durchgezogene Linie, wie 2mal im Screenshot erkennbar.
Damals hatte ich ersatzweise BarIndex+1000 genommen, aber keine professionelle Lösung.
Zu Scriptbeginn den Index des allerletzten Bars herauszufinden wäre oftmals eine Hilfe.
Habe auch schon mit Array/MaxArray in Kombination mit IsLastBarUpdate experimentiert, aber erfolglos.
Ggf. hat jemand eine unorthodoxe Idee?
Herzlichen Dank vorab und bleibt gesund!
Rainer
Questo stampa il segmento fino alla barra corrente:
ONCE HighPrice = 0
ONCE N = 100
IF close = highest[N](close) THEN
StartBAR = BarIndex
HighPrice = close
ENDIF
IF HighPrice <> 0 THEN
DrawSegment(StartBAR,HighPrice,BarIndex,HighPrice) coloured(0,128,0,255) style(Line,2)
ENDIF
RETURN
Dadurch wird nur auf dem letzten Balken ein "X" gedruckt:
IF IsLastBarUpDate THEN
drawtext("X",BarIndex,high + range)
ENDIF
RETURN
Hallo Roberto,
vielen herzlichen Dank, Klasse, schönes Wochenende.
Liebe Grüße
Rainer
@hannessc:
So könntest Du logischer Weise auch vor Scriptbeginn den höchsten BarIndex anwenden.
Defparam DrawOnlastbarOnly = True
LastBar = Barindex
If IsLastBarupdate Then
If (LastBar – barindex) < 3 Then
// Dein Code
EndIf
EndIf