Jetzt beitreten
ProBacktest/probacktest

GRAPHONPRICE

GRAPHONPRICE zeichnet Strategievariablen in ProBacktest direkt im Kurschart. Syntax, COLOURED Farb- und Alpha-Optionen, Beispiele und Grenzen.

Syntax

probuilder
GRAPHONPRICE variableName COLOURED(r, g, b, alpha) AS "label"

Parameter

NameTypStandardBeschreibung
variableNamenumerische VariablekeineDie Variable, deren Wert auf jedem Bar im Kurschart dargestellt wird.
r, g, bGanzzahlen 0 bis 255PlattformstandardOptionale RGB-Komponenten der Linienfarbe.
alphaGanzzahl 0 bis 255deckendOptionale Transparenz der Linie. Die Klausel funktioniert auch mit drei Argumenten, nur Farbe.
"label"ZeichenkettekeineLegendentext, der die Reihe im Chart bezeichnet.

So funktioniert es

GRAPHONPRICE ist das Gegenstück im Kursfenster zu GRAPH. Wobei GRAPH ein separates Fenster mit eigener Skala öffnet, zeichnet GRAPHONPRICE die Serie über die Kerzen und nutzt dabei die Kursachse des Instruments. Damit ist es das richtige Werkzeug für jeden Wert in Kurseinheiten: gleitende Durchschnitte, Bandgrenzen, berechnete Stop- und Zielniveaus, Breakout-Schwellen. Diese Niveaus vor den Bars zu sehen, zeigt sofort, ob die Strategielogik sie dort platziert, wo sie hingehören.

Der Befehl zeichnet die Variable auf jedem Bar des Backtest auf und zeichnet die vollständige Linie, wenn der Durchlauf endet. Er kann mehrfach im selben System vorkommen, eine Linie pro Anweisung, unterschieden durch Farbe und Bezeichnung.

Weil die geplotteten Werte die Kursachse teilen, lassen sich nur Variablen in der Nähe des gehandelten Kurses sinnvoll darstellen. Werte auf einer anderen Skala, ein RSI zwischen 0 und 100, ein Positionszähler, eine Gewinnzahl, stauchen den Chart oder verschwinden darin. Diese gehören in GRAPH stattdessen.

Beispiele

Beispiel 1, Tagesbänder im backtest-Chart (ProBacktest)

probuilder
timeframe(daily)
ema20daily = average[20,1]
bolupdaily = BollingerUp[20](close)
boldndaily = BollingerDown[20](close)
timeframe(default)

// draw the daily levels over the candles of the default timeframe
GRAPHONPRICE ema20daily COLOURED(200,200,0) AS "EMA 20 Daily"
GRAPHONPRICE bolupdaily COLOURED(0,200,0) AS "Bollinger Upper Band Daily"
GRAPHONPRICE boldndaily COLOURED(0,0,200) AS "Bollinger Lower Band Daily"

Täglicher EMA und täglicher Bollinger-Wert, berechnet in einem TIMEFRAME Block werden auf dem Chart der Standard-Zeiteinheit gezeichnet, wo sie bei jedem neuen Tagesbar stufenweise aktualisiert werden. Dies ist das Beispiel aus der offiziellen Referenz.

Beispiel 2, Überprüfung des aktiven Stop-Niveaus (ProBacktest)

probuilder
IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

IF longonmarket THEN
  stoplevel = tradeprice - 50 * pointsize
  SET STOP PLOSS 50
  // draw the stop level in semi-transparent red while the trade is open
  GRAPHONPRICE stoplevel COLOURED(255,0,0,150) AS "stop level"
ENDIF

Das berechnete Stop-Niveau wird während der Laufzeit jedes long Trades unter den Kerzen gezeichnet, sodass visuell geprüft werden kann, ob die Stops dort liegen, wo die Rechnung es vorgibt.

Beispiel 3, Breakout-Schwelle gegen die Kerzen (ProBacktest)

probuilder
// entry level: highest high of the previous 20 bars
entryLevel = highest[20](high[1])

IF NOT onmarket AND close CROSSES OVER entryLevel THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP %LOSS 1
ENDIF

GRAPHONPRICE entryLevel COLOURED(0,150,255) AS "breakout level"

Die Darstellung der breakout-Schwelle zeigt, wie der Kurs vor jedem Einstieg mit dem Niveau interagiert hat, was bei der Einschätzung hilft, ob der Rückblick von 20 Bars zum Instrument passt.

Häufige Fehler und Stolperfallen

  • Verhindert den Live-Start. ProOrder weist Code zurück, der GRAPHONPRICE enthält. Debuggen Sie in ProBacktest und löschen oder kommentieren Sie die Zeilen dann aus, bevor das Live-System gestartet wird.
  • Nur Kursskala. Eine Variable weit vom gehandelten Kurs entfernt verzerrt den Chart oder wird als flache Linie am Rand gezeichnet. Oszillatoren, Zähler und Gewinnzahlen gehören in GRAPH, nicht im Preisfenster.
  • Veraltete Werte werden ebenfalls gezeichnet. Eine Variable, die nur innerhalb einer Bedingung zugewiesen wird, behält auf anderen Bars ihren letzten Wert, und GRAPHONPRICE zeichnet diesen veralteten Wert als fortlaufende Linie. Setzen Sie die Variable zurück oder akzeptieren Sie die waagerechten Abschnitte als Teil der Darstellung.
  • Verlangsamung des Backtests. Jede Anweisung speichert einen Wert pro Bar. Bei langen Historien erhöhen mehrere GRAPHONPRICE-Zeilen die Laufzeit messbar.
  • GRAPH, zeichnet eine Variable in einem separaten Fenster unter dem Chart.
  • PRINT, schreibt Debugging-Werte als Text.
  • COLOURED, die Klausel für Farbe und Transparenz.
  • TIMEFRAME (PB/PO), berechnet Werte auf einer anderen Zeiteinheit, wie im Referenzbeispiel.
  • BollingerUp, oberes Bollinger Band, eine typische kursskalierte Reihe zur Darstellung.
  • BollingerDown, unteres Bollinger-Band.
  • Average, Funktion für den gleitenden Durchschnitt, die im Beispiel für den EMA verwendet wird.
  • TRADEPRICE, der Einstiegskurs der aktuellen Position, oft gemeinsam mit Stop-Niveaus dargestellt.