GRAPH
GRAPH plots the values of strategy variables in a separate window under the ProBacktest results chart. Syntax, RGB colour option, examples, limits.
Syntax
GRAPH variableName AS "label"GRAPH variableName coloured(r, g, b) AS "label"Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
variableName | numerisk variabel | ingen | Variabeln vars värde registreras och ritas upp på varje bar i backtestet. |
r, g, b | heltal 0 till 255 | plattformens standard | Valfria RGB-komponenter för linjens färg. |
"label" | sträng | ingen | Förklaringstext som identifierar serien i GRAPH-fönstret. |
Så fungerar 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.
Instruktionen kan förekomma hur många gånger som helst i samma system. Alla serier ritas i samma GRAPH-fönster och skiljs åt med färg och etikett, så coloured(r, g, b) klausulen och en beskrivande etikett spelar roll så snart mer än en variabel ritas. Fönstret har en enda värdeskala som delas av alla serier det innehåller.
GRAPH exists only in the backtest environment. Indicators display values with RETURN, och live-ProOrder-system har inget resultatfönster att rita i, vilket är anledningen till att plattformen blockerar livestart till GRAPH-rader har tagits bort. För värden som ritas på prisdiagrammet självt snarare än i ett separat fönster, GRAPHONPRICE är den kompletterande instruktionen.
Exempel
Exempel 1, Rita upp en MACD-signalflagga (ProBacktest)
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"Variabeln signals växlar mellan 1 och -1 med MACD:ns tecken. Att rita upp den visar exakt när strategin betraktade regimen som bullish, vid sidan av de affärer som togs. Detta är exemplet från den officiella referensen.
Exempel 2, Följa positionstillstånd och equity tillsammans (ProBacktest)
// 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"Att rita countofposition och strategyprofit sida vid sida visar när systemet var i marknaden och hur equity-kurvan betedde sig under dessa perioder.
Exempel 3, Felsöka ett volatilitetsskalat stoppavstånd (ProBacktest)
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"Att grafa det beräknade stoppavståndet bekräftar att ATR-skalningen ger rimliga värden under både lugna och volatila perioder innan siffran litas på i live-trading.
Vanliga fel och fallgropar
- Blockerar live-start. ProOrder avvisar kod som innehåller GRAPH. Det vanliga arbetsflödet är att felsöka med GRAPH i ProBacktest och sedan ta bort eller kommentera ut raderna innan live-systemet startas.
- En gemensam skala. Alla grafade serier ritas i samma fönster med en gemensam värdeaxel. En flagga som pendlar mellan -1 och 1 blir en osynlig platt linje när den ritas intill en equity-kurva i tusental. Gruppera variabler av liknande storleksordning, eller normalisera innan du grafar.
- Långsammare backtest. Varje GRAPH-anrop lagrar ett värde per bar. På lång historik med många grafade variabler växer körtiderna märkbart. Behåll bara de serier som just nu undersöks.
- Not a substitute for RETURN. Indikatorer kan inte använda GRAPH. Kod som delas mellan en indikator och en strategi via
CALLmåste hålla visningslogik utanför den anropade koden.
Relaterade instruktioner
GRAPHONPRICE, ritar en variabel direkt i prisdiagrammet istället för i ett separat fönster.PRINT, skriver ut värden som text för felsökning.COLOURED, färgklausulen som används av rit- och grafinstruktioner.DRAWTEXT, visar text i ett indikatordiagram.MACD, indikatorn som används i referensexemplet.BUY, öppnar en long-position.STRATEGYPROFIT, strategins löpande vinst, en vanlig variabel att grafa.COUNTOFPOSITION, den aktuella position size, användbart för felsökning av tillstånd.