Bli medlem i dag
ProBacktest/probacktest · proorder

PIPSIZE

PIPSIZE returnerer pip-størrelsen for det gjeldende instrumentet i ProBacktest og ProOrder. Bruk den til å konvertere pip-avstander til prisenheter for stopper og mål.

Syntaks

probuilder
PipSize

Slik fungerer det

Alle instrumenter noteres i diskrete trinn. Et stort valutapar med fem desimaler beveger seg i trinn på 0.0001, en indeksfuture kan bevege seg i trinn på 0.5 eller 1. PipSize eksponerer det inkrementet som en skrivebeskyttet verdi, bestemt av instrumentet strategien kjører på. I ProRealTime™ oppfører den seg likt som PointSize, de to navnene kan brukes om hverandre.

Hovedoppgaven er enhetskonvertering. Risikoparametere uttrykkes naturlig i pips eller poeng, "en 10-pip stopp", men flere instruksjoner, SET STOP LOSS blant dem, tar avstander i rene prisenheter. Å multiplisere antall pip med PipSize knytter de to sammen: 10 * PipSize er 0.0010 på et par der pip er 0.0001, og 10 på en indeks der minste steg er 1.

Fordi verdien tilpasser seg instrumentet automatisk, vil kode skrevet med PipSize overføres mellom markeder uten endringer. En stopp uttrykt som 20 * PipSize er alltid 20 trinn bred, enten strategien kjører på et valutapar, en indeks eller en råvare. Hardkodede prisavstander må derimot skrives om for hvert noteringsformat.

For å konvertere en prisbevegelse til kontovaluta i stedet for prisenheter, er de tilhørende verdiene PipValue og PointValue gir pengeverdien av én økning per kontrakt.

Eksempler

Eksempel 1, Konvertere en pip-basert stop til prisenheter (ProOrder)

probuilder
// desired stop distance expressed in pips
MyStopLoss = 10
SET STOP LOSS MyStopLoss * PipSize

Med en pip-størrelse på 0.0001 blir stop-avstanden 10 * 0.0001 = 0.0010 prisenheter. Konverteringen opprettholder den tiltenkte avstanden på 10 pips uavhengig av hvordan instrumentet er notert.

Eksempel 2, Pip-basert stop og mål ved inngang (ProBacktest)

probuilder
stopPips   = 25
targetPips = 50

IF NOT OnMarket AND close crosses over Average[50](close) THEN
  BUY 1 LOT AT MARKET
  // both distances converted from pips to price units
  SET STOP LOSS stopPips * PipSize
  SET TARGET PROFIT targetPips * PipSize
ENDIF

Bracketen defineres én gang i pips og konverteres ved ordretidspunktet. Å bytte marked krever ingen kodeendringer fordi PipSize justeres automatisk.

Eksempel 3, Breakout-inngang et fast antall pips over området (ProOrder)

probuilder
// pending entry 5 pips above the highest high of the last 20 bars
rangeTop   = highest[20](high)
entryLevel = rangeTop + 5 * PipSize

IF NOT OnMarket THEN
  BUY 1 CONTRACT AT entryLevel STOP
  SET STOP PLOSS 30
ENDIF

Bufferen over breakout-nivået angis i pips og konverteres til en prisforskyvning. Den ventende stop-ordren ligger da nøyaktig 5 trinn over områdets topp på hvilket som helst instrument.

Vanlige feil og fallgruver

  • Å glemme konverteringen. SET STOP LOSS 10 plasserer en stop 10 prisenheter unna, ikke 10 pip. På et par med fem desimaler er den avstanden 100,000 pip. Enten multipliser med PipSize eller bruk den poengbaserte SET STOP PLOSS variant.
  • Å hardkode 0.0001. Pip-størrelsen varierer mellom instrumenter, JPY-par bruker vanligvis 0.01 og indekser bruker hele punkter. Kode med en hardkodet 0.0001 svikter i stillhet når den flyttes til et annet marked, PipSize gjør det ikke.
  • Pip-størrelse er ikke pip-verdi. PipSize er et prisinkrement, PipValue er pengeverdien av dette trinnet per kontrakt. Formler for position size som trenger valutabeløp må bruke PipValue, ikke PipSize.
  • Meglernes pip-konvensjoner. Noen datafeeder oppgir brøkdeler av pips, så plattformens inkrement kan være en tidel av den tradisjonelle pip-en. Kontroller instrumentets faktiske PipSize før du antar lærebokdefinisjonen.
  • POINTSIZE, synonym som returnerer instrumentets minste prisøkning.
  • PIPVALUE, pengeverdien av én pip per kontrakt.
  • POINTVALUE, pengeverdien av ett poeng per kontrakt.
  • TICKSIZE, instrumentets minste tick.
  • LOSS, stop loss uttrykt i prisenheter.
  • PLOSS, stop loss uttrykt i punkter.
  • TRADEPRICE, inngangsprisen for den gjeldende posisjonen.
  • BUY, åpner eller øker en long-posisjon.