RocnRoll
RocnRoll i ProBuilder returnerer diskrete handelssignaler, 1 bullish, 2 bearish, -1 utgang, bygget på endringsrate og eksponentielle gjennomsnitt. Syntaks, eksempler.
Syntaks
RocnRoll(price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
price | priskilde | lukk | Prisserien signalet beregnes på, vanligvis close, også open, high, eller low. |
Formel
RocnRoll er en sammensatt signalgenerator snarere enn en kontinuerlig oscillator. Internt kombinerer den endringsraten til prisserien med eksponentielle glidende gjennomsnitt for å klassifisere den gjeldende baren i en av tre tilstander. De eksakte periodene og kombinasjonslogikken er fastsatt av plattformen og ikke eksponert som parametere. Utdatatilordningen er:
1 = bullish signal
2 = bearish signal
-1 = exit signalSlik fungerer det
De fleste momentum-indikatorer returnerer en verdi som skal tolkes. RocnRoll returnerer i stedet en beslutningskode, noe som gjør den nærmere en ferdig signallinje enn en rå måling. På hver bar vurderer den innebygde logikken momentum, via rate of change, mot sin eksponentielle gjennomsnittskontekst og sender ut én av de tre tilstandene.
På et diagram vises indikatoren vanligvis som et histogram, grønne søyler for tilstand 1, røde søyler for tilstand 2 og blå søyler for tilstand -1. I koden brukes tilstandene med enkle likhetstester, noe som holder strategilogikken kort, på bekostning av innsyn, siden de interne tersklene ikke kan justeres.
En detalj som betyr noe når tilstandene testes: det bearish signalet er 2, ikke -1 eller 0. Den negative verdien er reservert for utgangstilstanden, så betingelser som RocnRoll(close) < 0 treffer bare utgangssignalet, ikke bearish barer.
Eksempler
Eksempel 1, Signalhistogram (Indikator)
// Compute the RocnRoll state for the closing price
myRocnRoll = RocnRoll(close)
// Display the raw state codes as a histogram
RETURN myRocnRoll STYLE(histogram) AS "RocnRoll signal"Anvender RocnRoll på sluttkursen og tegner tilstandskodene som et histogram, søyler på 1 for bullish, 2 for bearish og -1 for utgangssignaler.
Eksempel 2, Kun long-system drevet av tilstandskoder (ProOrder)
DEFPARAM CumulateOrders = false
s = RocnRoll(close)
// Enter on the bullish state
IF NOT LongOnMarket AND s = 1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Close the position on the exit state or a bearish flip
IF LongOnMarket AND (s = -1 OR s = 2) THEN
SELL AT MARKET
ENDIFDe tre tilstandene tilordnes direkte til ordrelogikken, tilstand 1 åpner long-posisjonen, tilstand -1 eller 2 lukker den. Ingen terskler eller kryssinger må defineres.
Eksempel 3, Screening for nye bullish signaler (ProScreener)
s = RocnRoll(close)
// State is bullish now and was not bullish on the previous bar
newSignal = s = 1 AND s[1] <> 1
SCREENER[newSignal](close AS "Last price")Lister instrumenter der RocnRoll-tilstanden skiftet til bullish på den gjeldende baren, og filtrerer ut dem som allerede har vært i tilstand 1 i mange barer.
Tolkning
| Verdi | Signal | Vanlig visning |
|---|---|---|
| 1 | Bullish, betingelser for momentum oppover er oppfylt | Grønt histogram |
| 2 | Bearish, betingelser for momentum nedover er oppfylt | Rødt histogram |
| -1 | Utgang, forlat markedet | Blått histogram |
Indikatoren gir en kategorisk vurdering, ikke et styrkemål. To påfølgende bullish barer er ikke sterkere enn én, og det finnes ingen størrelse å sammenligne på tvers av instrumenter. Den brukes typisk som en trigger inne i et større rammeverk, med trendfiltre og risikostyring levert separat.
Vanlige feil og fallgruver
- Bearish er 2, ikke et negativt tall. Å teste
RocnRoll(close) < 0fanger bare utgangstilstanden. Bearish barer må testes med= 2eksplisitt. - Ingen justerbare parametere. Instruksjonen godtar bare priskilden. Perioder og interne terskler er faste, så signalet kan ikke gjøres raskere eller langsommere. Forskjeller i oppførsel må i stedet komme fra tidsrammen.
- Å behandle tilstanden som en størrelse. Å ta gjennomsnitt eller sum av kodene, for eksempel
Average[10](RocnRoll(close)), gir tall som blander merkelappene 1, 2 og -1 til meningsløs aritmetikk. Sammenlign kun med likhet. - Lukket logikk. Fordi den interne formelen ikke er eksponert, kan ikke backtest-resultater dekomponeres i de underliggende ROC- og gjennomsnittsbetingelsene. Å validere signalet på det aktuelle instrumentet og den aktuelle tidsrammen før bruk live er helt nødvendig.
Relaterte instruksjoner
ROC, endringsrateoscillatoren som ligger bak signalet.RSI, avgrenset momentum-oscillator for manuell signalkonstruksjon.MACD, momentum basert på eksponentielt gjennomsnitt med kryssignaler.ExponentialAverage, utjevningskomponenten i den interne logikken.Momentum, rå N-bars prisdifferanse.Stochastic, oscillator for posisjon i range med sine egne signalkonvensjoner.Supertrend, indikator for trendtilstand, et annet signal av kategorisk type.SAR, stopp- og reverseringspunkter, en alternativ generator for inngang og utgang.