Bli medlem idag
Indikatorer/probuilder · probacktest · proorder · proscreener

Repulse

Repulse i ProBuilder mäter det bullish eller bearish trycket på varje candlestick över n barer, och oscillerar runt noll. Syntax, formel, exempel.

Syntax

probuilder
Repulse[n](price)

Parametrar

NamnTypStandardBeskrivning
nheltalingenAntal barer som analyseras. Små värden som 1 till 5 läser trycket på enskilda candles, större värden som 15 eller mer beskriver den bredare vågen.
pricepriskällaclosePrisserien som används i beräkningen. Vanligtvis close, accepterar även open, high, eller low.

Formel

Den definition som oftast anges jämför en uppåtriktad kraft mot en nedåtriktad kraft, var och en uttryckt som en procentandel av close och exponentiellt utjämnad:

kod
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 uppåtriktade kraften växer när close lägger sig långt över de senaste lows, den nedåtriktade kraften växer när close lägger sig långt under de senaste highs. Deras utjämnade skillnad oscillerar runt noll.

Så fungerar det

Repulse försöker besvara en candlestick-fråga numeriskt: under de senaste n barer, vem som tryckte hårdare, köpare eller säljare. Ett ljus som öppnar lågt och stänger nära toppen av sitt senaste intervall visar köpare som absorberar utbud, vilket höjer den positiva komponenten. Det omvända fallet höjer den negativa komponenten. Att nettoberäkna de två ger en enda linje vars tecken sammanfattar vilken sida som vinner.

Indikatorn beter sig som andra nollcentrerade oscillatorer. Tecknet anger riktningen, lutningen anger förändringen i tryck, och divergenser mot priset varnar för att den pågående rörelsen håller på att tappa deltagare. Eftersom utjämningsperioden skalar med n (fem gånger analysfönstret), större n värden ger märkbart långsammare, jämnare linjer.

En vanlig teknik kör flera instanser samtidigt, till exempel Repulse[1], Repulse[5] och Repulse[15], för att läsa korta, mellanlånga och längre tryckvågor i samma diagram. När alla tre ligger på samma sida av noll behandlas det som en läsning med högre tillförlitlighet än någon enskild linje.

Exempel

Exempel 1, Flaggor för bullish och bearish tryck (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)

Omvandlar 10-barers Repulse till två binära flaggor, ritade i grönt för köptryck och rött för säljtryck. Observera att när i1 är exakt noll behåller båda flaggorna sina tidigare värden, eftersom variabler lever vidare mellan barer.

Exempel 2, Entry vid nollkorsning 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

Medelvärdet över 100 barer håller entries på trendens sida, och Repulses nollkorsning tidsätter entryn till det ögonblick då köptrycket återtar kontrollen.

Exempel 3, Trycksamstämmighet över flera 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")

Returnerar instrument där Repulse-värdena för 1, 5 och 15 barer alla är positiva, samstämmighetsvillkoret som ofta används som bullish bekräftelse.

Tolkning

AvläsningBetydelse
Repulse > 0Netto bullish tryck över fönstret.
Repulse < 0Netto bearish tryck över fönstret.
Stiger genom 0Köparna tar kontrollen, momentum skiftar uppåt.
Faller genom 0Säljarna tar kontrollen, momentum skiftar nedåt.
Divergens mot prisNytt prisextremvärde utan nytt extremvärde i oscillatorn, trycket bakom rörelsen avtar.

Repulse-värden är relativa, inte avgränsade, så extremvärden skiljer sig mellan instrument och mellan n. Den läses normalt för tecken, lutning och divergens snarare än absolut nivå, och bekräftas med volym eller stöd- och motståndssammanhang.

Vanliga fel och fallgropar

  • Utjämningen skalar med perioden. Den interna exponentiella utjämningen använder en multipel av n, så att en fördubbling n mer än dubblerar fördröjningen. En Repulse[15] linjen reagerar mycket senare än vad intuitionen utifrån en 15-bars lookback antyder.
  • Inga fasta gränser. Till skillnad från RSI eller Stochastic finns inga universella nivåer för överköpt eller översålt. Tröskelvärden som > 20 måste kalibreras per instrument och tidsram.
  • Whipsaw vid nollkorsning med litet n. Repulse[1] byter tecken ofta i lugna marknader. Att handla rena nollgenomgångar utan ett trendfilter ger en ström av förlustaffärer.
  • Ohanterat likhetsfall. I grenlogik som i exempel 1 matchar ett värde på exakt noll varken > 0 inte heller < 0, så flaggvariabler behåller tyst föregående bars värde. Lägg till en ELSE gren när ett definierat tillstånd krävs på varje bar.
  • RepulseMM, variant med glidande medelvärde som tar kort, lång och utjämning som parametrar.
  • SmoothedRepulse, förutjämnad version av samma koncept.
  • RSI, begränsad momentum-oscillator med fast skala från 0 till 100.
  • Stochastic, begränsad oscillator som placerar close inom sitt senaste intervall.
  • CCI, oscillator baserad på avvikelse från medelvärdet med jämförbart nollcentrerat värde.
  • Momentum, rå prisskillnad över N barer.
  • ROC, prisets procentuella förändringstakt.
  • ExponentialAverage, utjämningsmetoden som används inuti Repulse.