Bli medlem i dag
ProBacktest/probacktest · proorder

PIPVALUE

PIPVALUE returnerer pengeverdien av én pip for det gjeldende instrumentet i ProBacktest og ProOrder. Et synonym for POINTVALUE, brukt til position size.

Syntaks

probuilder
PIPVALUE

Slik fungerer det

PIPVALUE er en skrivebeskyttet markedskonstant. Den tar ingen argumenter og returnerer pengebeløpet, i instrumentets valuta, som én pip prisbevegelse representerer for én enkelt kontrakt, lot eller aksje av instrumentet strategien er knyttet til. I ProBuilder-terminologi refererer PIPVALUE og POINTVALUE til samme verdi, så de to nøkkelordene er utbyttbare.

Verdien settes av instrumentets kontraktspesifikasjon, ikke av koden. En pip på et valutapar, en indeks-CFD og en råvarefuture kan hver være verdt et helt ulikt pengebeløp, så enhver strategi som hardkoder en pip-verdi slutter å virke så snart den kjøres på et annet marked. Å lese PIPVALUE under kjøring holder sizing- og gevinstberegninger portable.

PIPVALUE kombineres vanligvis med PIPSIZE eller POINTSIZE. PIPSIZE uttrykker hvor stor én pip er i prisenheter, mens PIPVALUE uttrykker hva den bevegelsen er verdt i kontanter. Å dele en prisavstand på PIPSIZE gir et antall pips, og å multiplisere antallet pips med PIPVALUE konverterer det til penger.

Eksempler

Eksempel 1, Undersøk pip-verdien til et instrument (ProBacktest)

probuilder
// Read the cash value of one pip and plot it during a backtest
myPipValue = PipValue
GRAPH myPipValue AS "Value of one pip for this instrument"

Kjører en backtest som bare har som formål å vise instrumentets pip-verdi i grafpanelet, en rask måte å verifisere kontraktspesifikasjonen før man skriver sizing-logikk.

Eksempel 2, Risikobasert position size (ProOrder)

probuilder
// Risk a fixed cash amount per trade
riskCash = 200
stopPips = 30

// Cash at risk for one contract over the stop distance
riskPerContract = stopPips * pipvalue
positionSize = max(1, floor(riskCash / riskPerContract))

IF NOT onmarket AND close CROSSES OVER average[50](close) THEN
  BUY positionSize CONTRACTS AT MARKET
ENDIF

// Pip and point coincide on this instrument
SET STOP PLOSS stopPips

Antallet kontrakter utledes fra kontantrisikobudsjettet delt på kontantrisikoen for én kontrakt, slik at samme kode risikerer omtrent samme beløp på hvilket som helst instrument.

Eksempel 3, Urealisert gevinst i kontovaluta (ProBacktest)

probuilder
// Unrealized profit of the open position, converted to cash
IF onmarket THEN
  floatingProfit = ((close - positionprice) / pipsize) * pipvalue * countofposition
ELSE
  floatingProfit = 0
ENDIF
GRAPH floatingProfit AS "Floating profit"

Prisavstanden fra gjennomsnittlig inngang omregnes til et antall pips med PIPSIZE, deretter til kontanter med PIPVALUE, og skaleres til slutt med position size. COUNTOFPOSITION er negativ for shorts, noe som gir fortegnet automatisk.

Vanlige feil og fallgruver

  • Å forveksle PIPVALUE med PIPSIZE. PIPSIZE er en avstand i prisenheter, PIPVALUE er et pengebeløp. Å blande dem gir sizing-feil på flere størrelsesordener. Avstand delt på PIPSIZE gir pips, pips multiplisert med PIPVALUE gir kontanter.
  • Å hardkode verdien. En pip-verdi som er kopiert fra ett instruments spesifikasjon, er feil på det neste instrumentet. Les PIPVALUE under kjøring i stedet for å bygge inn et tall.
  • Å glemme position size. PIPVALUE er oppgitt per enkelt kontrakt eller lot. Kontanteksponeringen for hele posisjonen krever multiplikasjon med COUNTOFPOSITION eller den tiltenkte ordrestørrelsen.
  • Å bruke den utenfor en strategi. Nøkkelordet kompilerer bare i ProBacktest- og ProOrder-kode. I en indikator eller screener avviser kompilatoren det, så pip-basert indikatorlogikk må bruke faste inndata i stedet.
  • POINTVALUE, synonym for PIPVALUE, kontantverdien av ett poeng.
  • PIPSIZE, størrelsen på én pip i prisenheter.
  • POINTSIZE, størrelsen på ett punkt i prisenheter.
  • TICKSIZE, det minste omsettelige prissteget.
  • COUNTOFPOSITION, størrelsen på den åpne posisjonen med fortegn.
  • POSITIONPRICE, den gjennomsnittlige inngangsprisen for den åpne posisjonen.
  • STRATEGYPROFIT, realisert gevinst for strategien i kontanter.
  • GRAPH, plotter en verdi i backtest-grafpanelet.