Bli medlem i dag
Indikatorer/probuilder · probacktest · proorder · proscreener

Repulse

Repulse i ProBuilder måler det bullish eller bearish presset som utøves på hver candlestick over n barer, og oscillerer rundt null. Syntaks, formel, eksempler.

Syntaks

probuilder
Repulse[n](price)

Parametere

NavnTypeStandardBeskrivelse
nheltallingenAntall barer som analyseres. Små verdier som 1 til 5 leser presset på enkelte candles, større verdier som 15 eller mer beskriver den bredere bølgen.
pricepriskildelukkPrisserien som brukes i beregningen. Vanligvis close, godtar også open, high, eller low.

Formel

Den vanlig siterte definisjonen sammenligner en oppadrettet kraft mot en nedadrettet kraft, hver uttrykt som en prosentandel av close og utjevnet eksponentielt:

kode
up   = 100 * (3 * close - 2 * lowest low over n - open) / close
down = 100 * (open + 2 * highest high over n - 3 * close) / close
Repulse = ExponentialAverage[5n](up) - ExponentialAverage[5n](down)

Den oppadrettede kraften vokser når close legger seg langt over de nylige lows, den nedadrettede kraften vokser når close legger seg langt under de nylige highs. Deres utjevnede differanse oscillerer rundt null.

Slik fungerer det

Repulse prøver å besvare et candlestick-spørsmål numerisk: over de siste n barer, hvem som presset hardest, kjøpere eller selgere. En candle som åpner lavt og lukker nær toppen av sitt nylige spenn viser at kjøpere absorberer tilbudet, og det løfter den bullish komponenten. Det motsatte tilfellet løfter den bearish komponenten. Nettoberegning av de to gir én enkelt linje der fortegnet oppsummerer hvilken side som vinner.

Indikatoren oppfører seg som andre nullsentrerte oscillatorer. Fortegnet gir retningen, stigningstallet gir endringen i press, og divergenser mot prisen varsler om at den pågående bevegelsen går tom for deltakere. Fordi utjevningsperioden skalerer med n (fem ganger analysevinduet), større n verdier gir merkbart tregere, jevnere linjer.

En vanlig teknikk kjører flere instanser samtidig, for eksempel Repulse[1], Repulse[5] og Repulse[15], for å lese korte, middels og lengre trykkbølger i samme diagram. Når alle tre ligger på samme side av null, regnes det som et sterkere signal enn én enkelt linje.

Eksempler

Eksempel 1, Flagg for bullish og bearish press (Indikator)

probuilder
i1 = Repulse[10](close)
IF i1 > 0 THEN
  bullish = 1
  bearish = 0
ELSIF i1 < 0 THEN
  bullish = 0
  bearish = 1
ENDIF
RETURN bullish coloured(127,255,0), bearish coloured(255,64,64)

Gjør 10-bars Repulse om til to binære flagg, tegnet grønt for kjøpspress og rødt for salgspress. Merk at når i1 er nøyaktig null, beholder begge flaggene sine tidligere verdier fordi variabler består på tvers av barer.

Eksempel 2, Inngang på nullkryss med trendfilter (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

pressure = Repulse[5](close)
trend    = Average[100](close)

// Buy when pressure turns positive in an established uptrend
IF NOT LongOnMarket AND close > trend AND pressure CROSSES OVER 0 THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

// Exit when pressure flips negative
IF LongOnMarket AND pressure CROSSES UNDER 0 THEN
  SELL AT MARKET
ENDIF

Gjennomsnittet over 100 barer holder inngangene på trendsiden, og Repulse-nullkrysset tidfester inngangen til øyeblikket kjøpspresset tar tilbake kontrollen.

Eksempel 3, Samsvarende press over flere perioder (ProScreener)

probuilder
shortP = Repulse[1](close)
midP   = Repulse[5](close)
longP  = Repulse[15](close)
aligned = shortP > 0 AND midP > 0 AND longP > 0
SCREENER[aligned](midP AS "Repulse 5")

Returnerer instrumenter der Repulse-verdiene for 1, 5 og 15 barer alle er positive, samsvarsbetingelsen som ofte brukes som en bullish bekreftelse.

Tolkning

AvlesningBetydning
Repulse > 0Netto bullish press over vinduet.
Repulse < 0Netto bearish press over vinduet.
Stiger gjennom 0Kjøperne tar kontroll, momentum skifter opp.
Faller gjennom 0Selgerne tar kontroll, momentum skifter ned.
Divergens mot prisNytt prisekstremum uten et nytt ekstremum i oscillatoren, presset bak bevegelsen avtar.

Repulse-avlesninger er relative, ikke avgrensede, så ekstremverdier varierer med instrument og med n. Den leses normalt for fortegn, stigning og divergens heller enn absolutt nivå, og bekreftes med volum eller kontekst fra støtte og motstand.

Vanlige feil og fallgruver

  • Utjevningen skalerer med perioden. Den interne eksponensielle utjevningen bruker et multiplum av n, så dobling n mer enn dobler forsinkelsen. En Repulse[15] linjen reagerer mye senere enn intuisjonen basert på et 15-barers tilbakeblikk tilsier.
  • Ingen faste grenser. I motsetning til RSI eller Stochastic finnes det ingen universelle overkjøpte eller oversolgte nivåer. Terskler som > 20 må kalibreres per instrument og tidsramme.
  • Whipsaw rundt nullkrysset ved liten n. Repulse[1] skifter fortegn ofte i rolige markeder. Å handle rene nullkryssinger uten et trendfilter gir en strøm av tapende rundturer.
  • Ubehandlet likhetstilfelle. I forgreningslogikk som i Eksempel 1 treffer en verdi på nøyaktig null ingen av > 0 heller ikke < 0, så flaggvariabler beholder stille den forrige barens verdi. Legg til en ELSE gren når en definert tilstand kreves på hver bar.
  • RepulseMM, variant med glidende gjennomsnitt som tar parametere for kort, lang og utjevning.
  • SmoothedRepulse, forhåndsutjevnet versjon av samme konsept.
  • RSI, avgrenset momentum-oscillator med fast skala fra 0 til 100.
  • Stochastic, avgrenset oscillator som plasserer close innenfor sitt nylige spenn.
  • CCI, oscillator basert på avvik fra gjennomsnittet med en sammenlignbar nullsentrert verdi.
  • Momentum, rå prisdifferanse over N barer.
  • ROC, prosentvis endringsrate for prisen.
  • ExponentialAverage, utjevningsmetoden som brukes inne i Repulse.