PRINT visar variabelvärden för varje bar i ett separat felsökningsfönster i ProRealTime™, med valfria etiketter och färger, för att granska ProBuilder-kod.
Syntax
PRINT(variable) AS "Label" COLOURED(R, G, B) FILLCOLOR(bgR, bgG, bgB)Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
variable | numerisk | obligatorisk | Variabeln eller uttrycket vars värden per bar visas. |
"Label" | sträng | variabelnamn | Kolumnrubrik som visas i utdatatabellen, anges med AS. |
COLOURED(R, G, B) | RGB-värden | ingen | Textfärg för de utskrivna värdena, varje komponent 0 till 255. |
FILLCOLOR(bgR, bgG, bgB) | RGB-värden | ingen | Bakgrundsfärg för de utskrivna cellerna, varje komponent 0 till 255. |
Så fungerar det
PRINT är en diagnostisk instruktion. För varje candle som skriptet behandlar läggs det aktuella värdet för den angivna variabeln till i en tabell som öppnas i ett eget fönster, en rad per bar och en kolumn per PRINT-sats. Det gör det möjligt att följa hur mellanvärden utvecklas bar för bar utan att rita dem, vilket ofta är tydligare än att läsa en kurva när flera variabler samverkar.
Den AS klausul namnger kolumnen, vilket spelar roll så snart mer än ett värde skrivs ut. COLOURED och FILLCOLOR styr färgerna för text och cellbakgrund, så att specifika kolumner eller värdetillstånd kan göras visuellt distinkta.
PRINT hör till indikatorkod skriven i ProBuilder. Strategikod har sina egna felsökningsutdata, GRAPH och GRAPHONPRICE, som plottar värden under en backtest i stället för att ställa upp dem i tabell. För text placerad direkt på diagrammet, DRAWTEXT är alternativet.
Eftersom det kostar tid och minne att bygga tabellen på varje bar bör PRINT-satser tas bort eller kommenteras ut när felsökningen är klar. De tillför inget värde till en färdig indikator och gör omräkningen långsammare på stora historiker.
Exempel
Exempel 1, Granska en beräkning av candlekroppen (Indikator)
// 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)
RETURNVarje bar lägger till en rad i tabellen under rubriken "A", med röd text på blå bakgrund. Indikatorn själv returnerar ingenting, poängen är tabellen.
Exempel 2, Jämföra två mellanvärden sida vid sida (Indikator)
// 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"Två PRINT-satser ger två etiketterade kolumner, vilket gör det möjligt att verifiera korsningslogiken bar för bar medan spreaden ritas ut som vanligt.
Exempel 3, Markera värden utanför intervallet (Indikator)
// 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"Villkorsstyrd formatering inuti IF-blocket gör att överköpta och översålda rader framträder i tabellen utan att förändra det som ritas ut.
Vanliga fel och fallgropar
- Kvarlämnad i produktionskod. PRINT är endast avsett för utveckling. Bortglömda satser fortsätter att generera felsökningstabellen vid varje omräkning och försämrar prestandan på långa historiker.
- Kolumner utan etiketter. Flera PRINT-anrop utan
ASetiketter ger en tabell som är svår att läsa. Namnge varje kolumn när du skriver ut mer än en variabel. - Fel verktyg för strategier. PRINT är en instruktion för felsökning av indikatorer. I ProBacktest- eller ProOrder-kod, använd
GRAPHellerGRAPHONPRICEför att inspektera värden under en backtest. - RGB-komponenter utanför intervallet.
COLOUREDochFILLCOLORförväntar sig varje komponent mellan 0 och 255. Värden utanför det intervallet ger inte den avsedda färgen.
Relaterade instruktioner
GRAPH, ritar ett värde i ett separat fönster under ett backtest.GRAPHONPRICE, ritar ett backtest-värde direkt i prisdiagrammet.RETURN, skickar det slutliga indikatorvärdet till diagrammet.DRAWTEXT, skriver text vid koordinater i diagrammet.COLOURED, applicerar färg på returnerade kurvor och utskriven text.FILLCOLOR, sätter bakgrundsfärg för utskrivna celler och ritobjekt.