Decimals
Decimals returnerer antallet desimaler for gjeldende instrument i ProBuilder. Bruk Decimals for å formatere utdata eller tilpasse kursforskyvninger til instrumentets presisjon.
Syntaks
DecimalsDecimals tar ingen indeks og returnerer ett enkelt heltall for instrumentet koden kjører på.
Slik fungerer det
Decimals rapporterer hvor mange siffer som vises etter desimaltegnet i instrumentets priskurser. En aksje notert med to desimaler returnerer 2, en indeks notert i hele punkter returnerer 0, og et valutapar notert med fem desimaler returnerer 5.
Verdien er en egenskap ved instrumentet, ikke ved noen bar, så den endrer seg ikke fra en bar til den neste og tar ingen klammeforskyvning. Den gjenspeiler kurspresisjonen plattformen bruker for det markedet.
Avlesning Decimals gjør at ett skript oppfører seg fornuftig på tvers av instrumenter med ulik presisjon. Den er nyttig til å lage en forskyvning på minste trinn, avgjøre hvordan et beregnet nivå skal rundes av, eller formatere en verdi for visning slik at antallet viste siffer stemmer med markedet.
Eksempler
Eksempel 1, Rapportering av instrumentets presisjon (Indikator)
// Show how many decimals the current instrument uses
numDecimals = Decimals
RETURN numDecimals AS "Decimals"Indikatoren tegner en flat linje på instrumentets desimalantall, og bekrefter kurspresisjonen.
Eksempel 2, Screening etter kurspresisjon (ProScreener)
// Instruments quoted to more than two decimal places
precise = Decimals > 2
SCREENER[precise] (Decimals AS "Decimals")Screeneren isolerer instrumenter der kursene har mer enn to desimaler.
Eksempel 3, Presisjonsbevisst forskyvning (ProOrder)
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
ENDIFStopforskyvningen er bygd opp av Decimals, så den skalerer til hvert instruments minste kvoterte trinn.
Vanlige feil og fallgruver
- Ikke en tick-størrelse.
Decimalsgir antall desimaler, ikke det minste prisinkrementet. Instrumenter som ticker i steg større enn én desimalenhet trengerPOINTSIZEellerTICKSIZEfor det faktiske steget. - Fast per instrument. Verdien varierer ikke mellom barer, så en parentesforskyvning som
Decimals[1]er meningsløst. - Null for heltallskurser. Instrumenter priset i hele enheter returnerer 0, så kode som deler på
Decimalsmå sikre seg mot det tilfellet.
Relaterte instruksjoner
Close, sluttprisen i en bar.Open, åpningsprisen i en bar.High, den høyeste prisen i en bar.Low, den laveste prisen i en bar.Range, high minus low for en bar.TypicalPrice, gjennomsnittet av high, low og close.Volume, det omsatte volumet i en bar.CustomClose, den brukervalgbare priskilden.