Bli medlem idag
ProBacktest/probacktest · proorder

PIPVALUE

PIPVALUE returnerar penningvärdet av en pip för det aktuella instrumentet i ProBacktest och ProOrder. En synonym till POINTVALUE, används för position size.

Syntax

probuilder
PIPVALUE

Så fungerar det

PIPVALUE är en skrivskyddad marknadskonstant. Den tar inga argument och returnerar det penningbelopp, i instrumentets valuta, som en pip prisrörelse motsvarar för ett enda kontrakt, en lot eller en aktie av det instrument strategin är kopplad till. I ProBuilder-terminologi syftar PIPVALUE och POINTVALUE på samma värde, så de två nyckelorden är utbytbara.

Värdet bestäms av instrumentets kontraktsspecifikation, inte av koden. En pip på ett forexpar, en index-CFD och ett råvaruterminskontrakt kan var och en vara värd ett mycket olika penningbelopp, så varje strategi som hårdkodar ett pip-värde går sönder så snart den körs på en annan marknad. Att läsa PIPVALUE vid körning håller storleks- och vinstberäkningar portabla.

PIPVALUE kombineras vanligen med PIPSIZE eller POINTSIZE. PIPSIZE uttrycker hur stor en pip är i prisenheter, medan PIPVALUE uttrycker vad den rörelsen är värd i pengar. Att dividera ett prisavstånd med PIPSIZE ger ett antal pips, och att multiplicera antalet pips med PIPVALUE omvandlar det till pengar.

Exempel

Exempel 1, granska pip-värdet för ett 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"

Kör ett backtest vars enda syfte är att visa instrumentets pip-värde i grafpanelen, ett snabbt sätt att verifiera kontraktsspecifikationen innan man skriver storlekslogik.

Exempel 2, riskbaserad 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

Antalet kontrakt härleds från kontantriskbudgeten dividerad med kontantrisken för ett kontrakt, så samma kod riskerar ungefär samma belopp på vilket instrument som helst.

Exempel 3, flytande vinst 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"

Prisavståndet från den genomsnittliga entryn omvandlas till ett antal pips med PIPSIZE, sedan till pengar med PIPVALUE, och skalas slutligen med position size. COUNTOFPOSITION är negativ för shorts, vilket ger tecknet automatiskt.

Vanliga fel och fallgropar

  • Att förväxla PIPVALUE med PIPSIZE. PIPSIZE är ett avstånd i prisenheter, PIPVALUE är ett penningbelopp. Att blanda ihop dem ger storleksfel på flera tiopotenser. Avstånd dividerat med PIPSIZE ger pips, pips multiplicerat med PIPVALUE ger pengar.
  • Att hårdkoda värdet. Ett pip-värde som kopieras från ett instruments specifikation är fel på nästa instrument. Läs PIPVALUE vid körning i stället för att bädda in ett tal.
  • Att glömma position size. PIPVALUE anges per enskilt kontrakt eller lot. Kontantexponeringen för hela positionen kräver multiplikation med COUNTOFPOSITION eller den avsedda orderstorleken.
  • Att använda den utanför en strategi. Nyckelordet kompilerar endast i ProBacktest- och ProOrder-kod. I en indikator eller screener avvisar kompilatorn det, så pip-baserad indikatorlogik måste använda fasta indata i stället.
  • POINTVALUE, synonym till PIPVALUE, kontantvärdet av en punkt.
  • PIPSIZE, storleken på en pip i prisenheter.
  • POINTSIZE, storleken på en punkt i prisenheter.
  • TICKSIZE, det minsta handelsbara prissteget.
  • COUNTOFPOSITION, storleken på den öppna positionen med tecken.
  • POSITIONPRICE, det genomsnittliga entrypriset för den öppna positionen.
  • STRATEGYPROFIT, strategins realiserade vinst i pengar.
  • GRAPH, ritar ett värde i backtestets grafpanel.