Jetzt beitreten
Befehle/probuilder

PRINT

PRINT zeigt Variablenwerte für jede Bar in einem separaten Debug-Fenster in ProRealTime™ an, mit optionalen Bezeichnungen und Farben, zum Prüfen von ProBuilder-Code.

Syntax

probuilder
PRINT(variable) AS "Label" COLOURED(R, G, B) FILLCOLOR(bgR, bgG, bgB)

Parameter

NameTypStandardBeschreibung
variablenumerischerforderlichDie Variable oder der Ausdruck, deren Werte pro Bar angezeigt werden.
"Label"ZeichenketteVariablennameSpaltenkopf in der Ausgabetabelle, gesetzt mit AS.
COLOURED(R, G, B)RGB-WertekeineTextfarbe der ausgegebenen Werte, jede Komponente 0 bis 255.
FILLCOLOR(bgR, bgG, bgB)RGB-WertekeineHintergrundfarbe der ausgegebenen Zellen, jede Komponente 0 bis 255.

So funktioniert es

PRINT ist ein Diagnosebefehl. Für jede Kerze, die das Skript verarbeitet, hängt er den aktuellen Wert der angegebenen Variable an eine Tabelle an, die sich in einem eigenen Fenster öffnet, eine Zeile pro Bar und eine Spalte pro PRINT-Anweisung. Das macht es möglich, Bar für Bar zu beobachten, wie sich Zwischenwerte entwickeln, ohne sie darzustellen, was oft klarer ist als das Ablesen einer Kurve, wenn mehrere Variablen zusammenwirken.

Der AS Klausel benennt die Spalte, was wichtig wird, sobald mehr als ein Wert ausgegeben wird. COLOURED und FILLCOLOR steuern die Text- und Zellhintergrundfarben, sodass bestimmte Spalten oder Wertzustände visuell abgesetzt werden können.

PRINT gehört zu Indikatorcode, der in ProBuilder geschrieben wird. Strategiecode hat eigene Debugging-Ausgaben, GRAPH und GRAPHONPRICE, die Werte während eines Backtests darstellen, statt sie zu tabellieren. Für Text, der direkt auf dem Chart platziert wird, DRAWTEXT ist die Alternative.

Da der Aufbau der Tabelle auf jeder Bar Zeit und Speicher kostet, sollten PRINT-Anweisungen entfernt oder auskommentiert werden, sobald das Debuggen abgeschlossen ist. Sie bringen einem veröffentlichten Indikator keinen Nutzen und verlangsamen die Neuberechnung bei großen Historien.

Beispiele

Beispiel 1, Eine Berechnung des Kerzenkörpers prüfen (Indikator)

probuilder
// Difference between close and open, shown in a debug table
VarA = close - open
R = 255
B = 255
PRINT(VarA) AS "A" COLOURED(R, 0, 0) FILLCOLOR(0, 0, B)
RETURN

Jede Bar fügt der Tabelle unter der Kopfzeile "A" eine Zeile hinzu, mit rotem Text auf blauem Hintergrund. Der Indikator selbst gibt nichts zurück, es geht um die Tabelle.

Beispiel 2, Zwei Zwischenwerte nebeneinander vergleichen (Indikator)

probuilder
// Watch both moving averages while debugging a crossover
fastMA = average[10](close)
slowMA = average[40](close)
PRINT(fastMA) AS "Fast MA"
PRINT(slowMA) AS "Slow MA"
RETURN fastMA - slowMA AS "MA spread"

Zwei PRINT-Anweisungen erzeugen zwei bezeichnete Spalten, wodurch sich die Crossover-Logik Bar für Bar überprüfen lässt, während der Spread normal dargestellt wird.

Beispiel 3, Werte außerhalb des Bereichs hervorheben (Indikator)

probuilder
// Print RSI and flag extreme readings with a distinct background
myRSI = RSI[14](close)
IF myRSI > 70 OR myRSI < 30 THEN
  PRINT(myRSI) AS "RSI14" COLOURED(255, 255, 255) FILLCOLOR(200, 0, 0)
ELSE
  PRINT(myRSI) AS "RSI14"
ENDIF
RETURN myRSI AS "RSI14"

Bedingte Formatierung innerhalb des IF-Blocks lässt überkaufte und überverkaufte Zeilen in der Tabelle hervortreten, ohne die dargestellte Ausgabe zu verändern.

Häufige Fehler und Stolperfallen

  • Im Produktionscode vergessen. PRINT ist nur für die Entwicklung gedacht. Vergessene Anweisungen erzeugen die Debug-Tabelle bei jeder Neuberechnung weiter und verschlechtern die Performance bei langen Historien.
  • Unbezeichnete Spalten. Mehrere PRINT-Aufrufe ohne AS Beschriftungen erzeugen eine Tabelle, die schwer zu lesen ist. Benennen Sie jede Spalte, wenn Sie mehr als eine Variable ausgeben.
  • Falsches Werkzeug für Strategien. PRINT ist ein Debugging-Befehl für Indikatoren. Verwenden Sie in ProBacktest- oder ProOrder-Code GRAPH oder GRAPHONPRICE um Werte während eines Backtests zu prüfen.
  • RGB-Komponenten außerhalb des Bereichs. COLOURED und FILLCOLOR erwarten jede Komponente zwischen 0 und 255. Werte außerhalb dieses Bereichs erzeugen nicht die beabsichtigte Farbe.
  • GRAPH, stellt einen Wert während eines Backtest in einem separaten Fenster dar.
  • GRAPHONPRICE, stellt einen backtest-Wert direkt im Kurschart dar.
  • RETURN, gibt den endgültigen Indikatorwert an den Chart aus.
  • DRAWTEXT, schreibt Text an Chartkoordinaten.
  • COLOURED, wendet Farbe auf zurückgegebene Kurven und ausgegebenen Text an.
  • FILLCOLOR, legt die Hintergrundfarbe für ausgegebene Zellen und Zeichnungen fest.