Word nu lid
Constanten/probuilder · probacktest · proorder · proscreener

Decimals

Decimals geeft het aantal decimalen van het huidige instrument in ProBuilder. Gebruik Decimals om output op te maken of koersoffsets af te stemmen op de precisie van het instrument.

Syntaxis

probuilder
Decimals

Decimals neemt geen index en geeft één geheel getal voor het instrument waarop de code draait.

Hoe het werkt

Decimals geeft aan hoeveel cijfers er achter de komma staan in de koersen van het instrument. Een aandeel dat met twee decimalen wordt genoteerd geeft 2, een index die in hele punten wordt genoteerd geeft 0, en een valutapaar met vijf decimalen geeft 5.

De waarde is een eigenschap van het instrument, niet van een bar, dus verandert niet van de ene bar op de andere en accepteert geen offset tussen blokhaken. Hij weerspiegelt de koersprecisie die het platform voor die markt gebruikt.

Stand Decimals laat één script zich verstandig gedragen op instrumenten met verschillende precisie. Het is nuttig voor het opbouwen van een offset van één stap, het bepalen hoe een berekend niveau wordt afgerond, of het formatteren van een waarde voor weergave zodat het aantal getoonde cijfers bij de markt past.

Voorbeelden

Voorbeeld 1, De precisie van het instrument rapporteren (Indicator)

probuilder
// Show how many decimals the current instrument uses
numDecimals = Decimals
RETURN numDecimals AS "Decimals"

De indicator plot een vlakke lijn op het aantal decimalen van het instrument en bevestigt zo de notatieprecisie.

Voorbeeld 2, Screenen op notatieprecisie (ProScreener)

probuilder
// Instruments quoted to more than two decimal places
precise = Decimals > 2

SCREENER[precise] (Decimals AS "Decimals")

De screener isoleert instrumenten waarvan de koersen meer dan twee decimalen hebben.

Voorbeeld 3, Precisiebewuste offset (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

// One smallest price unit, derived from the instrument's decimals
oneUnit = Pow(10, -Decimals)

IF Close CROSSES OVER Average[20](Close) THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

// Place the stop one unit below the recent low
IF LONGONMARKET THEN
  SELL AT Lowest[10](Low) - oneUnit STOP
ENDIF

De stop-offset is opgebouwd uit Decimals, dus het schaalt mee met de kleinste genoteerde stap van elk instrument.

Veelvoorkomende fouten en valkuilen

  • Geen tick size. Decimals geeft het aantal decimalen, niet de minimale prijsstap. Instrumenten die in stappen groter dan één decimale eenheid ticken hebben POINTSIZE of TICKSIZE voor de werkelijke stap.
  • Vast per instrument. De waarde varieert niet over bars, dus een haakoffset toepassen zoals Decimals[1] is zinloos.
  • Nul bij notaties in hele getallen. Instrumenten die in hele eenheden geprijsd zijn geven 0 terug, dus code die deelt door Decimals moet dat geval afvangen.
  • Close, de slotkoers van een bar.
  • Open, de openingsprijs van een bar.
  • High, de hoogste prijs van een bar.
  • Low, de laagste prijs van een bar.
  • Range, de high minus de low van een bar.
  • TypicalPrice, het gemiddelde van high, low en close.
  • Volume, het verhandelde volume van een bar.
  • CustomClose, de door de gebruiker te kiezen prijsbron.