Word nu lid
ProBacktest/probacktest · proorder

PIPSIZE

PIPSIZE geeft de pipgrootte van het huidige instrument terug in ProBacktest en ProOrder. Gebruik hem om pipafstanden om te zetten naar prijseenheden voor stops en targets.

Syntaxis

probuilder
PipSize

Hoe het werkt

Elk instrument noteert in discrete stappen. Een majeur valutapaar met vijf decimalen beweegt in stappen van 0.0001, een indexfuture kan in stappen van 0.5 of 1 bewegen. PipSize stelt die stapgrootte beschikbaar als een alleen-lezen waarde, bepaald door het instrument waarop de strategie draait. In ProRealTime™ gedraagt het zich identiek aan PointSize, de twee namen zijn onderling verwisselbaar.

Zijn belangrijkste taak is eenheidsconversie. Risicoparameters worden van nature uitgedrukt in pips of punten, "een 10-pip stop", maar verschillende instructies, SET STOP LOSS daaronder, nemen afstanden in ruwe prijseenheden. Het aantal pips vermenigvuldigen met PipSize verbindt de twee: 10 * PipSize is 0.0010 op een pair waarvan de pip 0.0001 is, en 10 op een index waarvan de kleinste stap 1 is.

Omdat de waarde zich automatisch aanpast aan het instrument, is code geschreven met PipSize draagt zonder aanpassingen over tussen markten. Een stop uitgedrukt als 20 * PipSize is altijd 20 stappen breed, of de strategie nu op een valutapaar, een index of een grondstof loopt. Hardgecodeerde prijsafstanden moeten daarentegen voor elk noteringsformaat worden herschreven.

Voor het omzetten van een koersbeweging naar accountvaluta in plaats van koerseenheden zijn de bijbehorende waarden PipValue en PointValue geven de geldwaarde van één increment per contract.

Voorbeelden

Voorbeeld 1, een stop op basis van pips omzetten naar prijseenheden (ProOrder)

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

Met een pipgrootte van 0.0001 wordt de stopafstand 10 * 0.0001 = 0.0010 prijseenheden. De omrekening behoudt de bedoelde afstand van 10 pips, ongeacht hoe het instrument wordt gequoteerd.

Voorbeeld 2, stop en target op basis van pips bij de instap (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

De bracket wordt eenmalig in pips gedefinieerd en bij het plaatsen van de order omgerekend. Van markt wisselen vereist geen codewijzigingen omdat PipSize past zich automatisch aan.

Voorbeeld 3, breakout-instap een vast aantal pips boven de range (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

De buffer boven het breakout-niveau wordt in pips opgegeven en omgezet naar een prijsoffset. De pending stop order ligt dan op elk instrument exact 5 stappen boven de top van de range.

Veelvoorkomende fouten en valkuilen

  • De omrekening vergeten. SET STOP LOSS 10 plaatst een stop op 10 prijseenheden afstand, niet 10 pips. Op een paar met vijf decimalen is die afstand 100,000 pips. Vermenigvuldig ofwel met PipSize of gebruik de puntgebaseerde SET STOP PLOSS variant.
  • 0.0001 hardcoden. De pip-grootte verschilt per instrument: JPY-paren gebruiken doorgaans 0.01 en indices gebruiken hele punten. Code met een letterlijke 0.0001 breekt stilletjes wanneer die naar een andere markt wordt verplaatst, PipSize niet.
  • Pipgrootte is niet pipwaarde. PipSize is een prijsstap, PipValue is de geldwaarde van die stap per contract. Position sizing-formules die valutabedragen nodig hebben, moeten gebruikmaken van PipValue, niet PipSize.
  • Pipconventies van brokers. Sommige datafeeds noteren fractionele pips, dus de increment van het platform kan een tiende van de traditionele pip zijn. Controleer de werkelijke PipSize voordat je de leerboekdefinitie aanneemt.
  • POINTSIZE, synoniem dat de kleinste prijsstap van het instrument teruggeeft.
  • PIPVALUE, geldwaarde van één pip per contract.
  • POINTVALUE, geldwaarde van één punt per contract.
  • TICKSIZE, kleinste tick van het instrument.
  • LOSS, stop loss uitgedrukt in prijseenheden.
  • PLOSS, stop loss uitgedrukt in punten.
  • TRADEPRICE, de instapprijs van de huidige positie.
  • BUY, opent een long positie of breidt deze uit.