ROC
ROC i ProBuilder returnerer Rate of Change, den prosentvise differansen mellom gjeldende pris og prisen N barer tilbake. Syntaks, formel, eksempler.
Syntaks
ROC[N](price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
N | heltall | ingen | Tilbakeblikksavstand i barer. Vanlige verdier er 12 og 25. Korte verdier følger raske momentum-svingninger, lange verdier følger den bredere syklusen. |
price | priskilde | lukk | Serien som måles, vanligvis close, også open, high, low, eller en egendefinert variabel. |
Formel
ROC = ((price - price[N]) * 100) / price[N]Gjeldende verdi minus verdien N barer siden, delt på den tidligere verdien, ganget med 100. En verdi på 5 betyr at prisen er 5 prosent over der den stod N barer tidligere.
Slik fungerer det
ROC er en av de enkleste momentum-oscillatorene. For hver bar svarer den på ett enkelt spørsmål: hvor mange prosent har prisen beveget seg over de siste N barer. Fordi endringen uttrykkes som en prosentandel framfor i poeng, er avlesningene sammenlignbare på tvers av instrumenter med ulike prisnivåer, som er den viktigste praktiske forskjellen fra Momentum, dens punktbaserte motpart.
Linjen oscillerer rundt null uten noen fast øvre eller nedre grense. Vedvarende positive verdier kjennetegner opptrender, vedvarende negative verdier kjennetegner nedtrender, og selve nullkrysset er et grunnleggende signal om trendskifte. Siden ROC sammenligner nøyaktig to punkter, kan en stor bar som faller ut bak i vinduet bevege indikatoren like mye som en stor bar som kommer inn foran, en effekt det er verdt å huske når en verdi hopper uten en åpenbar prisbevegelse på den gjeldende baren.
Divergensanalyse er den andre standardbruken. Når prisen setter en høyere high men ROC setter en lavere high, bremser oppgangen opp, og speilbildet gjelder ved lows.
Eksempler
Eksempel 1, Måle akselerasjon mellom påfølgende endringer (Indikator)
// One-bar rate of change on this bar and on the previous bar
i1 = ROC[1](close)
i2 = ROC[1](close[1])
// Ratio above 1 means the latest change is larger than the previous one
majorchange = i1 / i2
RETURN majorchangeSammenligner den siste prosentendringen over én bar med den foregående. Forholdet måler akselerasjon i prisendringene. Merk at i2 lik null, en flat forrige bar, gir en divisjon med null, så produksjonskode bør sikre nevneren.
Eksempel 2, Momentum-filtrert trendinngang (ProOrder)
DEFPARAM CumulateOrders = false
mom = ROC[12](close)
trend = Average[100](close)
// Long when the 12-bar momentum turns positive above the trend average
IF NOT LongOnMarket AND close > trend AND mom CROSSES OVER 0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Exit when momentum decays back through zero
IF LongOnMarket AND mom CROSSES UNDER 0 THEN
SELL AT MARKET
ENDIFNullkrysset til en ROC over 12 barer tidfester innganger og utganger, mens gjennomsnittet over 100 barer begrenser handelen til opptrendsiden.
Eksempel 3, Screening for sterke bevegelser over 20 barer (ProScreener)
perf = ROC[20](close)
SCREENER[perf > 10](perf AS "ROC 20 %")Returnerer instrumenter som har steget mer enn 10 prosent over de siste 20 barene, med ROC-verdien vist som en sorterbar kolonne, en minimal rangeringsscreen for momentum.
Tolkning
| Avlesning | Betydning |
|---|---|
| ROC > 0 | Prisen er over nivået sitt N barer tilbake, momentum oppover. |
| ROC < 0 | Prisen er under nivået sitt N barer tilbake, momentum nedover. |
| Ekstremt høy verdi | Potensielt overkjøpt, prisen er strukket i forhold til den nylige historikken. |
| Ekstremt lav verdi | Potensielt oversolgt. |
| Bullish divergens | Prisen setter lavere lows mens ROC setter høyere lows, momentum nedover avtar. |
| Bearish divergens | Prisen setter høyere highs mens ROC setter lavere highs, momentum oppover avtar. |
Hva som regnes som ekstremt avhenger av instrumentet og N, siden indikatoren er ubegrenset. Volatile instrumenter når rutinemessig ROC-nivåer som ville vært helt uvanlige andre steder, så terskler må kalibreres per marked.
Vanlige feil og fallgruver
- Divisjon med null i deriverte forholdstall. Uttrykk som
ROC[1](close) / ROC[1](close[1])feiler hver gang den tidligere endringen er nøyaktig null. Beskytt nevnere med en test mot 0 før du dividerer. - Uavgrenset skala. I motsetning til RSI har ROC ingen skala fra 0 til 100. Terskler for overkjøpt og oversolgt kopiert fra RSI-logikk, som 30 og 70, er meningsløse her.
- Bortfallseffekt. Verdien endres når en gammel ekstrembar forlater vinduet på N barer selv om gjeldende pris nesten ikke beveger seg. Plutselige ROC-hopp gjenspeiler ikke alltid nytt kjøp eller salg.
- Whipsaw rundt nullkrysset ved liten N.
ROC[1]ellerROC[2]skifter fortegn stadig i rolige markeder. Nullkryssystemer trenger enten en lengreNeller et ekstra trendfilter.
Relaterte instruksjoner
RocnRoll, signalgenerator bygget på endringsrate og eksponentielle gjennomsnitt.Momentum, den poengbaserte ekvivalenten, pris minus pris N barer tilbake.RSI, avgrenset momentum-oscillator med faste terskler.Variation, prosentvis endring mellom forrige close og gjeldende close.VolumeROC, samme endringsrateberegning anvendt på volum.MACD, momentum fra spread mellom to eksponentielle gjennomsnitt.CCI, avviksbasert oscillator, et annet momentum-alternativ.Stochastic, posisjonen til close innenfor den nylige high-low-rangen.