BollingerBandWidth
BollingerBandWidth i ProBuilder returnerer avstanden mellom det øvre og det nedre Bollinger-båndet, et direkte volatilitetsmål. Syntaks, formel, eksempler.
Syntaks
BollingerBandWidth[N](price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
N | heltall | 20 | Perioden som brukes for det glidende gjennomsnittet og standardavviket som ligger under båndene. 20 er standardinnstillingen til Bollinger. |
price | priskilde | lukk | Prisserien båndene beregnes på, vanligvis close. |
Formel
Upper = Average[N](price) + 2 * STD[N](price)
Lower = Average[N](price) - 2 * STD[N](price)
BollingerBandWidth = Upper - Lower = 4 * STD[N](price)Fordi det øvre og nedre båndet ligger symmetrisk to standardavvik fra det glidende gjennomsnittet, reduseres bredden til fire ganger N-perioders standardavvik for prisen.
Slik fungerer det
Bollinger-bånd utvider seg når prisen spres og trekker seg sammen når prisen samler seg rundt gjennomsnittet. BollingerBandWidth trekker ut denne utvidelsen og sammentrekningen i en enkelt linje, slik at man ikke trenger å anslå avstanden mellom to tegnede bånd med øyemål.
Verdien er uttrykt i prisenheter. Den stiger i volatile faser, enten markedet trender eller krakker, og faller under konsolideringer. Langvarig sammentrekning, ofte kalt en squeeze, indikerer et marked som kveiler seg sammen i en trang range. Squeezer har ikke noe retningsinnhold, men de identifiserer forhold der den neste retningsbestemte bevegelsen har en tendens til å gå lenger, og det er derfor breakout-systemer ofte betinger inngangene sine på båndbredde.
Siden standardavviket skalerer med prisnivået, er rå breddeavlesninger bare sammenlignbare med samme instruments egen historikk. Å dividere med midtbåndet eller med prisen gjør avlesningen om til et relativt tall som egner seg for screening på tvers av markeder.
Eksempler
Eksempel 1, Rask og langsom båndbredde (Indikator)
// 20-period width against a slower 30-period width for context
BBwidth = BollingerBandWidth[20](close)
BBwidthSlow = BollingerBandWidth[30](close)
RETURN BBwidth coloured(0,100,100), BBwidthSlow AS "more laggy BandWidth"Tegner to bredder side om side. Versjonen med 30 perioder reagerer langsommere, så avstanden mellom de to linjene fremhever ferske volatilitetsskift.
Eksempel 2, Squeeze-screener (ProScreener)
// Instruments whose band width sits at a 100-bar low
bw = BollingerBandWidth[20](close)
squeeze = bw <= Lowest[100](bw)
SCREENER[squeeze]((bw / close) * 100 AS "Width % of price")Returnerer instrumenter i maksimal kompresjon relativt til sin egen nylige historikk, uttrykt som prosent av prisen slik at resultatene er sammenlignbare på tvers av markeder.
Eksempel 3, Breakout-inngang betinget av økende bredde (ProOrder)
// Buy a channel breakout only when volatility is expanding from a squeeze
bw = BollingerBandWidth[20](close)
expanding = bw > bw[3]
wasTight = bw[3] < Average[50](bw)[3]
IF NOT LongOnMarket AND close CROSSES OVER BollingerUp[20](close) THEN
IF expanding AND wasTight THEN
BUY 1 CONTRACT AT MARKET
ENDIF
ENDIF
IF LongOnMarket AND close CROSSES UNDER Average[20](close) THEN
SELL AT MARKET
ENDIFBåndbreddebetingelsene krever at breakouten kommer ut av kompresjon og at volatiliteten utvider seg aktivt, noe som filtrerer ut båndberøringer som skjer inne i etablerte faser med høy volatilitet.
Tolkning
| Observasjon | Avlesning |
|---|---|
| Bredde på flerukers bunner | Squeeze. Markedet er komprimert, utvidelse følger ofte. Ingen retningsbias. |
| Bredden stiger kraftig | Volatilitetsutvidelse, vanligvis sammen med en breakout eller en nyhetsbevegelse. |
| Bredde på ekstreme topper | Volatilitet i sen fase. Bevegelser som er så strukket, pauser ofte eller gir mean reversion. |
| Bredden faller etter en spike | Impulsen fordøyes, trendfortsettelsen blir mindre eksplosiv. |
Båndbredden identifiserer volatilitetsregimet, ikke retningen. Den svarer på når et marked sannsynligvis vil bevege seg betydelig, og andre verktøy må svare på hvilken vei.
Vanlige feil og fallgruver
- Rå bredde er ikke sammenlignbar på tvers av instrumenter. Verdien er i prisenheter og skalerer med prisnivået. Screen eller sammenlign ved hjelp av
width / closeellerwidth / Average[N](close)i stedet. - Å behandle en squeeze som et retningssignal. Kompresjon forutsier utvidelse, ikke retning. Å gå long utelukkende fordi bredden er lav, er å kjøpe et myntkast; en separat breakout- eller trendbetingelse må gi retningen.
- Å forveksle bredde med %B eller båndposisjon. BollingerBandWidth måler avstanden mellom båndene. Den sier ingenting om hvor prisen ligger inne i dem. Plassering inne i båndene krever at prisen sammenlignes med
BollingerUpogBollingerDowndirekte. - Korte perioder gjør squeeze-begrepet meningsløst. Med små
N, svinger bredden så raskt at squeezer oppstår hele tiden. Mønsterets verdi kommer fra vedvarende kompresjon på standardinnstillinger som 20 perioder.
Relaterte instruksjoner
BollingerUp, det øvre Bollinger-båndet.BollingerDown, det nedre Bollinger-båndet.STD, standardavvik, kjernen i breddeberegningen.Average, det glidende gjennomsnittet som utgjør båndets midtlinje.KeltnerBandUp, alternativ volatilitetskanal basert på gjennomsnittlig range.KeltnerBandDown, nedre linje i Keltner-kanalen.DonchianChannelUp, breakout-kanal basert på høyeste topper.AverageTrueRange, komplementært volatilitetsmål i prisenheter.