Jetzt beitreten
Konstanten/probuilder · probacktest · proorder · proscreener

Range

Range gibt in ProBuilder das High minus Low eines Bars zurück, seine gesamte Preisspanne. Verwenden Sie Range oder Range[N], um die Volatilität pro Bar in Indikatoren und Strategien zu messen.

Syntax

probuilder
Range

Range[N] gibt die Spanne von vor N Bars zurück, wobei N 0 für den aktuellen Bar ist, 1 für den vorherigen Bar, und so weiter. Range und Range[0] sind gleichwertig.

So funktioniert es

Range ist die Differenz zwischen Hoch und Tief des Bars, High - Low. Er misst, wie weit sich der Kurs zwischen den Extremen eines einzelnen Bars bewegt hat, sodass eine große Spanne einen aktiven Bar und eine kleine Spanne einen ruhigen signalisiert.

Der Offset in Klammern bezieht sich auf frühere Bars, also Range[1] ist die Spanne des vorherigen Bars. Der Index muss innerhalb der geladenen Historie bleiben.

Anders als die True Range, Range betrachtet nur den aktuellen Bar und ignoriert jedes Gap zum vorherigen Close. Für eine Volatilität, die Gaps berücksichtigt, verwenden Sie TR oder AverageTrueRange. Auf der laufenden Bar wächst die Range, während sich Hoch oder Tief ausweiten, bis die Bar schließt.

Beispiele

Beispiel 1, Range im Vergleich zu ihrem Durchschnitt (Indikator)

probuilder
// Compare the current bar's span with its recent average
avgRange = Average[20](Range)
RETURN Range AS "Range", avgRange AS "Avg range 20"

Der Indikator hebt Bars hervor, deren Spanne über oder unter der jüngsten Norm liegt.

Beispiel 2, Screening auf Range-Kontraktion (ProScreener)

probuilder
// Latest range narrower than the previous bar, with a lower high
contracting = Range < Range[1] AND High < High[1]

SCREENER[contracting] (Range AS "Range")

Der Screener gibt Instrumente zurück, deren Bar-Spanne sich zusammen mit einem niedrigeren High verengt.

Beispiel 3, Einstiege bei weiten Bars vermeiden (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

avgRange = Average[20](Range)

// Skip signals when the current bar is unusually wide
IF Close CROSSES OVER Average[20](Close) AND Range < 1.5 * avgRange THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

SET STOP %LOSS 2

Der Filter blockiert Einstiege, wenn der aktuelle Range deutlich größer als der Durchschnitt ist, was überdehnte Bars vermeidet.

Häufige Fehler und Stolperfallen

  • Ignoriert Gaps. Range ist Hoch minus Tief nur einer Bar. Die Lücke zum vorherigen Schlusskurs ist nicht enthalten, daher kann die Volatilität um Gaps herum unterschätzt werden. Verwenden Sie TR für ein gap-bewusstes Maß.
  • Live-Bar wächst. Auf dem aktuellen Bar weitet sich die Range bis zum Close weiter aus, sodass Vergleiche mit abgeschlossenen Bars uneinheitlich sind, bis der Bar beendet ist.
  • Offset außerhalb des gültigen Bereichs. Range[N] schlägt fehl, wenn N auf einen Punkt vor der ersten geladenen Bar zeigt. Sichern Sie lange Rückblicke ab oder laden Sie mehr Historie.
  • High, der höchste Kurs eines Bars.
  • Low, der niedrigste Kurs eines Bars.
  • TR, die True Range, die Gaps berücksichtigt.
  • AverageTrueRange, eine geglättete True Range über mehrere Bars.
  • Close, der Schlusskurs eines Bars.
  • Open, der Eröffnungskurs eines Bars.
  • TypicalPrice, der Durchschnitt von High, Low und Close.
  • Volume, das gehandelte Volumen eines Bars.