Repulse
Repulse meet in ProBuilder de bullish of bearish druk die over n bars op elke candlestick wordt uitgeoefend, oscillerend rond nul. Syntaxis, formule, voorbeelden.
Syntaxis
Repulse[n](price)Parameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
n | geheel getal | geen | Aantal geanalyseerde bars. Kleine waarden zoals 1 tot 5 lezen de druk op afzonderlijke candles, grotere waarden zoals 15 of meer beschrijven de bredere golf. |
price | prijsbron | close | De prijsreeks die in de berekening wordt gebruikt. Meestal close, accepteert ook open, high, of low. |
Formule
De vaak genoemde definitie vergelijkt een opwaartse kracht met een neerwaartse kracht, elk uitgedrukt als een percentage van de close en exponentieel gesmooth:
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)De opwaartse kracht groeit wanneer de close ver boven de recente lows uitkomt, de neerwaartse kracht groeit wanneer de close ver onder de recente highs uitkomt. Hun gesmoothe verschil oscilleert rond nul.
Hoe het werkt
Repulse probeert een candlestickvraag numeriek te beantwoorden: over de laatste n bars, wie harder duwde, kopers of verkopers. Een candle die laag opent en dicht bij de top van zijn recente range sluit, laat zien dat kopers aanbod opnemen, en dat verhoogt de bullish component. Het spiegelbeeld verhoogt de bearish component. De twee tegen elkaar wegstrepen levert één lijn op waarvan het teken samenvat welke kant wint.
De indicator gedraagt zich als andere rond nul gecentreerde oscillatoren. Het teken geeft de bias, de hellingsgraad geeft de verandering in druk, en divergenties tegen de prijs waarschuwen dat de huidige beweging deelnemers verliest. Omdat de smoothingperiode meeschaalt met n (vijf keer het analysevenster), groter n waarden leveren merkbaar langzamere, vloeiendere lijnen op.
Een gangbare techniek laat meerdere instanties tegelijk lopen, bijvoorbeeld Repulse[1], Repulse[5] en Repulse[15], om korte, middellange en langere drukgolven op dezelfde grafiek te lezen. Als alle drie aan dezelfde kant van nul staan, wordt dat gelezen als een sterkere aanwijzing dan één enkele lijn.
Voorbeelden
Voorbeeld 1, Bullish en bearish drukvlaggen (Indicator)
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)Zet de 10-bars Repulse om in twee binaire flags, groen getekend voor bullish druk en rood voor bearish druk. Merk op dat wanneer i1 exact nul is, behouden beide flags hun vorige waarden omdat variabelen over bars heen blijven bestaan.
Voorbeeld 2, Instap op nuldoorkruising met trendfilter (ProOrder)
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
ENDIFHet gemiddelde over 100 bars houdt instappen aan de trendzijde, en de nuldoorkruising van Repulse timet de instap op het moment dat de koopdruk de controle terugneemt.
Voorbeeld 3, Drukafstemming over meerdere periodes (ProScreener)
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")Geeft instrumenten waarbij de Repulse-waarden over 1, 5 en 15 bars allemaal positief zijn, de afstemmingsvoorwaarde die vaak als bullish bevestiging wordt gebruikt.
Interpretatie
| Stand | Betekenis |
|---|---|
| Repulse > 0 | Netto bullish druk over het venster. |
| Repulse < 0 | Netto bearish druk over het venster. |
| Stijgt door 0 | Kopers nemen de controle, momentum verschuift omhoog. |
| Daalt door 0 | Verkopers nemen de controle, momentum verschuift omlaag. |
| Divergentie t.o.v. de prijs | Nieuw prijsextreem zonder een nieuw extreem in de oscillator, de druk achter de beweging neemt af. |
Repulse-waarden zijn relatief en niet begrensd, dus extreme waarden verschillen per instrument en per n. Hij wordt normaal gelezen op teken, helling en divergentie in plaats van op absoluut niveau, en bevestigd met volume of de context van steun en weerstand.
Veelvoorkomende fouten en valkuilen
- Smoothing schaalt mee met de periode. De interne exponentiële smoothing gebruikt een veelvoud van
n, dus verdubbelennmeer dan verdubbelt de vertraging. EenRepulse[15]lijn reageert veel later dan de intuïtie op basis van een lookback van 15 bars suggereert. - Geen vaste grenzen. Anders dan bij RSI of Stochastic zijn er geen universele overbought- of oversold-niveaus. Drempels zoals
> 20moet per instrument en tijdframe worden gekalibreerd. - Whipsaw rond de nuldoorkruising bij een kleine n.
Repulse[1]wisselt vaak van teken in rustige markten. Traden op ruwe nuldoorgangen zonder trendfilter levert een stroom verliesgevende round trips op. - Niet-afgehandeld gelijkheidsgeval. In branchlogica zoals Voorbeeld 1 komt een waarde van precies nul overeen met geen van beide
> 0noch< 0, dus flagvariabelen behouden stilzwijgend de waarde van de vorige bar. Voeg eenELSEtak wanneer op elke bar een gedefinieerde toestand nodig is.
Gerelateerde instructies
RepulseMM, variant met voortschrijdend gemiddelde die parameters voor korte termijn, lange termijn en smoothing aanneemt.SmoothedRepulse, reeds gesmoothe versie van hetzelfde concept.RSI, begrensde momentum-oscillator met vaste schaal van 0 tot 100.Stochastic, begrensde oscillator die de close binnen zijn recente range plaatst.CCI, oscillator op basis van de afwijking van het gemiddelde met een vergelijkbare rond nul gecentreerde waarde.Momentum, ruw prijsverschil over N bars.ROC, procentuele veranderingssnelheid van de prijs.ExponentialAverage, de smoothing-methode die binnen Repulse wordt gebruikt.