AdaptiveAverage
AdaptiveAverage i ProBuilder returnerer Adaptive Moving Average, et glidende gjennomsnitt som tilpasser hastigheten sin til volatiliteten. Syntaks, parametere, eksempler.
Syntaks
AdaptiveAverage[MAperiod, fastSC, slowSC](price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
MAperiod | heltall | 9 | Tilbakeblikksperiode som brukes til å måle hvor retningsbestemt den siste prisbevegelsen har vært. |
fastSC | heltall | 2 | Periode for rask utjevningskonstant. Styrer hvor raskt gjennomsnittet reagerer når prisen trender rent. |
slowSC | heltall | 30 | Periode for langsom utjevningskonstant. Styrer hvor treg gjennomsnittet blir når prisen er støyende. |
price | priskilde | lukk | Prisserien som utjevnes, for eksempel close, open, eller typicalprice. |
Formel
ER = Abs(price - price[MAperiod]) / Sum of Abs(price - price[1]) over MAperiod bars
fast = 2 / (fastSC + 1)
slow = 2 / (slowSC + 1)
SC = (ER * (fast - slow) + slow)^2
AMA = AMA[1] + SC * (price - AMA[1])ER er effektivitetsforholdet. Det nærmer seg 1 når prisen beveger seg i en rett linje over tilbakeblikksvinduet, og nærmer seg 0 når prisen går fram og tilbake uten netto framdrift. Den kvadrerte utjevningskonstanten SC interpolerer deretter mellom rask og langsom EMA-hastighet.
Slik fungerer det
Et glidende gjennomsnitt med fast periode tvinger fram ett og samme kompromiss i alle markedsforhold: korte perioder gir whipsaw i sideveis markeder, lange perioder henger etter i trender. Adaptive Moving Average omgår kompromisset ved å beregne sin egen utjevningskonstant på nytt for hver bar.
Når effektivitetsforholdet er høyt, altså når de siste barene i hovedsak har beveget seg i én retning, forskyves utjevningskonstanten mot den raske enden, og gjennomsnittet følger prisen tett. Når forholdstallet er lavt, altså når prisen har tilbakelagt mye distanse, men endt opp på samme sted, forskyves konstanten mot den langsomme enden, og gjennomsnittet flater ut og ignorerer støyen.
Den praktiske effekten er en linje som flater ut under konsolideringer og akselererer når en retningsbestemt bevegelse starter. Dette reduserer både forsinkelsesulempen ved langsomme gjennomsnitt og whipsaw-ulempen ved raske, til prisen av to ekstra parametere som må konfigureres.
Eksempler
Eksempel 1, Standard AMA på lukkekurser (Indikator)
// Adaptive average: 9-bar efficiency window, fast constant 2, slow constant 30
myAMA = AdaptiveAverage[9, 2, 30](close)
RETURN myAMADen klassiske konfigurasjonen. Tegnet inn i prisdiagrammet holder linjen seg nær prisen i trender og blir nesten horisontal i sideveis faser.
Eksempel 2, Adaptivt trendfilter for innganger (ProOrder)
// Trade long only while price holds above a flattening-resistant average
ama = AdaptiveAverage[10, 2, 30](close)
IF NOT LongOnMarket AND close CROSSES OVER ama THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND close CROSSES UNDER ama THEN
SELL AT MARKET
ENDIFEt kryssingssystem som bruker den adaptive linjen i stedet for et gjennomsnitt med fast periode. Fordi AMA flater ut i sideveis markeder, klumper kryssinger seg mindre under konsolidering enn med et enkelt glidende gjennomsnitt med tilsvarende hastighet.
Eksempel 3, Screening for pris over en stigende AMA (ProScreener)
// Instruments trading above an adaptive average that slopes upward
ama = AdaptiveAverage[9, 2, 30](close)
rising = ama > ama[5]
SCREENER[close > ama AND rising]((close / ama - 1) * 100 AS "% above AMA")Returnerer instrumenter der prisen ligger over et adaptivt gjennomsnitt med stigende helning, sortert etter prosentvis avstand fra linjen.
Tolkning
| Observasjon | Avlesning |
|---|---|
| Pris over en stigende AMA | Retningsbestemt oppadgående bevegelse pågår. |
| Pris under en fallende AMA | Retningsbestemt nedadgående bevegelse pågår. |
| AMA nesten flat | Lavt effektivitetsforhold, prisen går sideveis. Kryssingssignaler er upålitelige her. |
| AMA-stigningen blir brattere | Effektivitetsforholdet stiger, bevegelsen blir mer ensrettet. |
Tilstanden med flat linje er informativ i seg selv. Mange systemer bruker AMA-helningen som et regimefilter, og godtar bare signaler fra andre indikatorer så lenge den adaptive linjen har en klar helning.
Vanlige feil og fallgruver
- Rekkefølgen på parameterne har betydning. Signaturen er
[MAperiod, fastSC, slowSC]. Å bytte om de raske og langsomme konstantene, for eksempel[9, 30, 2], inverterer den adaptive atferden og gir en linje som akselererer i støy og bremser i trender. - Utjevningskonstanter er perioder, ikke alfaer.
fastSCogslowSCuttrykkes som ekvivalente EMA-perioder (2 og 30), ikke som desimale glattingsfaktorer. Å sende0.6667der2forventes, gir ikke en feil, men gir en annen beregning enn tiltenkt. - Kryssinger svikter fortsatt i trange sideveis markeder. AMA reduserer whipsaw, den fjerner det ikke. I svært trange sideveis markeder kan prisen gjentatte ganger ligge på begge sider av den flate linjen. En betingelse om minimumshelning eller minimumsavstand filtrerer bort de fleste av disse.
- Kort MAperiod destabiliserer effektivitetsforholdet. Verdier under omtrent 5 gjør at forholdstallet hopper uregelmessig fra bar til bar, noe som undergraver hele poenget med tilpasningen. Hold effektivitetsvinduet på moderat lengde og juster responsen med utjevningskonstantene i stedet.
Relaterte instruksjoner
Average, enkelt glidende gjennomsnitt, utgangspunktet med fast hastighet.ExponentialAverage, EMA med en konstant utjevningsfaktor.WilderAverage, Wilders utjevning, en langsommere EMA-variant.HullAverage, gjennomsnitt med lav forsinkelse basert på vektede gjennomsnitt.ZLEMA, zero-lag eksponentielt glidende gjennomsnitt.TEMA, trippelt eksponentielt glidende gjennomsnitt.DEMA, dobbelt eksponentielt glidende gjennomsnitt.TimeSeriesAverage, glidende gjennomsnitt basert på lineær regresjon.WeightedAverage, lineært vektet glidende gjennomsnitt.