Bli medlem i dag
ProBacktest/probacktest

GRAPH

GRAPH plots the values of strategy variables in a separate window under the ProBacktest results chart. Syntax, RGB colour option, examples, limits.

Syntaks

probuilder
GRAPH variableName AS "label"
probuilder
GRAPH variableName coloured(r, g, b) AS "label"

Parametere

NavnTypeStandardBeskrivelse
variableNamenumerisk variabelingenVariabelen som får verdien sin registrert og plottet på hver bar i backtesten.
r, g, bheltall 0 til 255plattformstandardValgfrie RGB-komponenter for linjefargen.
"label"tekststrengingenForklaringstekst som identifiserer serien i GRAPH-vinduet.

Slik fungerer det

GRAPH is the main debugging tool of ProBacktest. During a backtest run, the platform records the value of the graphed variable on every bar and, once the run finishes, draws the full series in a separate window below the price chart. This makes internal strategy state visible: entry filters, computed stop distances, counters, regime flags, anything stored in a variable can be inspected bar by bar next to the trades it produced.

Instruksjonen kan forekomme et vilkårlig antall ganger i samme system. Alle serier tegnes i samme GRAPH-vindu og skilles med farge og etikett, så coloured(r, g, b) -klausulen og en beskrivende etikett betyr noe så snart mer enn én variabel plottes. Vinduet har én enkelt verdiskala som deles av alle seriene det inneholder.

GRAPH exists only in the backtest environment. Indicators display values with RETURN, og live ProOrder-systemer har ikke noe resultatvindu å tegne i, og det er derfor plattformen blokkerer live-oppstart til GRAPH-linjene er fjernet. For verdier som plottes på selve prisdiagrammet i stedet for i et eget vindu, GRAPHONPRICE er den tilhørende instruksjonen.

Eksempler

Eksempel 1, Plotting av et MACD-signalflagg (ProBacktest)

probuilder
myMACD = MACD[12,26,9](close)
longCondition = myMACD crosses over 0
IF myMACD > 0 THEN
    signals = 1
ELSE
    signals = -1
ENDIF
IF longCondition THEN
    BUY 1 LOT AT close + 10 LIMIT
ENDIF
SET STOP %TRAILING 0.5
// plot the regime flag in red under the backtest chart
GRAPH signals coloured(255,0,0) AS "MACD signals"

Variabelen signals veksler mellom 1 og -1 med fortegnet til MACD. Å plotte den viser nøyaktig når strategien anså regimet som bullish, ved siden av handlene som ble tatt. Dette er eksempelet fra den offisielle referansen.

Eksempel 2, Overvåke posisjonstilstand og equity sammen (ProBacktest)

probuilder
// entry logic
IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP PLOSS 30
ENDIF

// two series in the same GRAPH window
GRAPH countofposition coloured(0,0,255) AS "position size"
GRAPH strategyprofit coloured(0,150,0) AS "equity"

Å plotte countofposition og strategyprofit side om side viser når systemet var i markedet og hvordan equity-kurven oppførte seg i de periodene.

Eksempel 3, Feilsøking av en volatilitetsskalert stoppavstand (ProBacktest)

probuilder
atr      = AverageTrueRange[14](close)
stopDist = 2 * atr

IF NOT onmarket AND close CROSSES OVER highest[20](high[1]) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP LOSS stopDist
ENDIF

// verify the stop distance actually used on each bar
GRAPH stopDist AS "stop distance"

Å grafe den beregnede stoppavstanden bekrefter at ATR-skaleringen gir fornuftige verdier gjennom rolige og volatile perioder før tallet stoles på i livetrading.

Vanlige feil og fallgruver

  • Blokkerer live-oppstart. ProOrder avviser kode som inneholder GRAPH. Den vanlige arbeidsflyten er å feilsøke med GRAPH i ProBacktest, og deretter slette eller kommentere ut linjene før livesystemet startes.
  • Én felles skala. Alle grafede serier tegnes i samme vindu med en felles verdiakse. Et flagg som svinger mellom -1 og 1, plottet ved siden av en equity-kurve i tusenklassen, blir en usynlig flat linje. Grupper variabler av lignende størrelsesorden, eller normaliser før grafing.
  • Treghet i backtest. Hvert GRAPH-kall lagrer én verdi per bar. På lange historikker med mange grafede variabler øker kjøretidene merkbart. Behold bare seriene som undersøkes for øyeblikket.
  • Not a substitute for RETURN. Indikatorer kan ikke bruke GRAPH. Kode som deles mellom en indikator og en strategi via CALL må holde visningslogikk utenfor den kalte koden.
  • GRAPHONPRICE, plotter en variabel direkte på prisdiagrammet i stedet for i et eget vindu.
  • PRINT, skriver verdier som tekstutdata for feilsøking.
  • COLOURED, fargeklausulen som brukes av tegne- og grafinstruksjoner.
  • DRAWTEXT, viser tekst på et indikatordiagram.
  • MACD, indikatoren som brukes i referanseeksempelet.
  • BUY, åpner en long-posisjon.
  • STRATEGYPROFIT, den løpende gevinsten til strategien, en vanlig variabel å grafe.
  • COUNTOFPOSITION, gjeldende position size, nyttig for feilsøking av tilstand.