Word nu lid
ProBacktest/probacktest · proorder

PIPVALUE

PIPVALUE geeft de geldwaarde van één pip voor het huidige instrument terug in ProBacktest en ProOrder. Een synoniem van POINTVALUE, gebruikt bij position sizing.

Syntaxis

probuilder
PIPVALUE

Hoe het werkt

PIPVALUE is een alleen-lezen marktconstante. Hij neemt geen argumenten en geeft het geldbedrag terug, in de valuta van het instrument, dat één pip prijsbeweging vertegenwoordigt voor één enkel contract, lot of aandeel van het instrument waaraan de strategie is gekoppeld. In de terminologie van ProBuilder verwijzen PIPVALUE en POINTVALUE naar dezelfde waarde, dus de twee sleutelwoorden zijn onderling verwisselbaar.

De waarde wordt bepaald door de contractspecificatie van het instrument, niet door de code. Een pip op een forexpaar, een index-CFD en een grondstoffenfuture kunnen elk een heel ander cashbedrag waard zijn, dus elke strategie die een pipwaarde hardcodeert gaat stuk zodra hij op een andere markt loopt. PIPVALUE tijdens runtime uitlezen houdt sizing- en winstberekeningen portabel.

PIPVALUE wordt meestal gecombineerd met PIPSIZE of POINTSIZE. PIPSIZE drukt uit hoe groot één pip is in prijseenheden, terwijl PIPVALUE uitdrukt wat die beweging in cash waard is. Een prijsafstand delen door PIPSIZE levert een aantal pips op, en dat aantal pips vermenigvuldigen met PIPVALUE zet het om in geld.

Voorbeelden

Voorbeeld 1, de pipwaarde van een instrument bekijken (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"

Voert een backtest uit met als enige doel de pipwaarde van het instrument in het grafiekpaneel weer te geven, een snelle manier om de contractspecificatie te controleren voordat je sizinglogica schrijft.

Voorbeeld 2, position sizing op basis van risico (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

Het aantal contracten wordt afgeleid uit het cash risicobudget gedeeld door het cash risico van één contract, zodat dezelfde code op elk instrument ongeveer hetzelfde bedrag riskeert.

Voorbeeld 3, ongerealiseerde winst in accountvaluta (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"

De prijsafstand vanaf de gemiddelde instap wordt met PIPSIZE omgezet in een aantal pips, daarna met PIPVALUE in cash, en ten slotte geschaald met de position size. COUNTOFPOSITION is negatief voor shorts, wat het teken automatisch oplevert.

Veelvoorkomende fouten en valkuilen

  • PIPVALUE verwarren met PIPSIZE. PIPSIZE is een afstand in prijseenheden, PIPVALUE is een geldbedrag. Ze door elkaar halen levert fouten in de position size op van meerdere ordes van grootte. Afstand gedeeld door PIPSIZE geeft pips, pips vermenigvuldigd met PIPVALUE geeft cash.
  • De waarde hardcoden. Een pipwaarde die uit de specificatie van het ene instrument is gekopieerd, is op het volgende instrument verkeerd. Lees PIPVALUE tijdens runtime uit in plaats van een getal in te bouwen.
  • De position size vergeten. PIPVALUE wordt opgegeven per enkel contract of lot. Voor de cash exposure van de hele positie moet je vermenigvuldigen met COUNTOFPOSITION of met de beoogde ordergrootte.
  • Hem buiten een strategie gebruiken. Het sleutelwoord compileert alleen in code van ProBacktest en ProOrder. In een indicator of screener wijst de compiler hem af, dus indicatorlogica op basis van pips moet in plaats daarvan vaste inputs gebruiken.
  • POINTVALUE, synoniem van PIPVALUE, de cashwaarde van één punt.
  • PIPSIZE, de grootte van één pip in prijseenheden.
  • POINTSIZE, de grootte van één punt in prijseenheden.
  • TICKSIZE, de kleinste verhandelbare prijsstap.
  • COUNTOFPOSITION, de grootte van de open positie met teken.
  • POSITIONPRICE, de gemiddelde instapprijs van de open positie.
  • STRATEGYPROFIT, gerealiseerde winst van de strategie in cash.
  • GRAPH, plot een waarde in het grafiekpaneel van de backtest.