Bli medlem idag
ProBacktest/probacktest

GRAPHONPRICE

GRAPHONPRICE ritar strategivariabler direkt i prisdiagrammet i ProBacktest. Syntax, COLOURED-alternativ för färg och alfa, exempel och begränsningar.

Syntax

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

Parametrar

NamnTypStandardBeskrivning
variableNamenumerisk variabelingenVariabeln vars värde ritas i prisdiagrammet på varje bar.
r, g, bheltal 0 till 255plattformens standardValfria RGB-komponenter för linjens färg.
alphaheltal 0 till 255opakValfri transparens för linjen. Klausulen fungerar även med tre argument, endast färg.
"label"strängingenFörklaringstext som identifierar serien i diagrammet.

Så fungerar det

GRAPHONPRICE är prisfönstrets motsvarighet till GRAPH. Där GRAPH öppnar ett separat fönster med egen skala ritar GRAPHONPRICE serien över ljusen med instrumentets prisaxel. Det gör den till rätt verktyg för varje värde som uttrycks i prisenheter: glidande medelvärden, bandgränser, beräknade stopp- och målnivåer, trösklar för breakout. Att se dessa nivåer mot barerna visar omedelbart om strategilogiken placerar dem där det är avsett.

Instruktionen registrerar variabeln på varje bar i backtestet och ritar den kompletta linjen när körningen är klar. Den kan förekomma flera gånger i samma system, en linje per sats, åtskilda av färg och etikett.

Eftersom de ritade värdena delar prisaxeln visas bara variabler i närheten av det handlade priset på ett användbart sätt. Värden på en annan skala, en RSI mellan 0 och 100, en positionsräknare, en vinstsiffra, trycker ihop diagrammet eller försvinner mot det. Dessa hör i stället till GRAPH istället.

Exempel

Exempel 1, Dagsband i backtest-diagrammet (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"

Daglig EMA och Bollinger-värden beräknade i en TIMEFRAME blocket ritas på diagrammet med standardtidsramen, där de uppdateras stegvis vid varje ny dagsbar. Det här är exemplet från den officiella referensen.

Exempel 2, Verifiera den aktiva stoppnivån (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

Den beräknade stoppnivån ritas under candlesticks under hela varje long-affärs livslängd, vilket gör det möjligt att visuellt kontrollera att stoppen ligger där beräkningen säger att de ska ligga.

Exempel 3, Breakout-tröskel mot candlesticks (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"

Att rita upp breakout-tröskeln visar hur priset samspelade med nivån före varje entry, vilket hjälper till att bedöma om lookback på 20 barer passar instrumentet.

Vanliga fel och fallgropar

  • Blockerar live-start. ProOrder avvisar kod som innehåller GRAPHONPRICE. Felsök i ProBacktest och ta sedan bort eller kommentera ut raderna innan live-systemet startas.
  • Endast prisskalan. En variabel långt från det handlade priset förvränger diagrammet eller ritas som en platt linje i kanten. Oscillatorer, räknare och vinstsiffror hör hemma i GRAPH, inte i prispanelen.
  • Inaktuella värden ritas också. En variabel som bara tilldelas inuti ett villkor behåller sitt senaste värde på övriga barer, och GRAPHONPRICE ritar det inaktuella värdet som en fortsatt linje. Nollställ variabeln, eller acceptera de horisontella segmenten som en del av visningen.
  • Långsammare backtest. Varje sats lagrar ett värde per bar. På lång historik lägger flera GRAPHONPRICE-rader till mätbar körtid.
  • GRAPH, ritar en variabel i ett separat fönster under diagrammet.
  • PRINT, skriver ut felsökningsvärden som text.
  • COLOURED, klausulen för färg och transparens.
  • TIMEFRAME (PB/PO), beräknar värden på en annan tidsram, som i referensexemplet.
  • BollingerUp, övre Bollinger-band, en typisk prisskalad serie att rita upp.
  • BollingerDown, nedre Bollinger-bandet.
  • Average, funktion för glidande medelvärde som används för EMA i exemplet.
  • TRADEPRICE, entrypriset för den aktuella positionen, ritas ofta tillsammans med stoppnivåer.