AdaptiveAverage
AdaptiveAverage in ProBuilder restituisce la Adaptive Moving Average, una media mobile che adatta la propria velocità alla volatilità. Sintassi, parametri, esempi.
Sintassi
AdaptiveAverage[MAperiod, fastSC, slowSC](price)Parametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
MAperiod | intero | 9 | Periodo di lookback utilizzato per misurare quanto è stato direzionale il movimento recente del prezzo. |
fastSC | intero | 2 | Periodo della costante di livellamento veloce. Controlla la rapidità con cui la media reagisce quando il prezzo segue un trend pulito. |
slowSC | intero | 30 | Periodo della costante di livellamento lenta. Controlla quanto diventa lenta la media quando il prezzo è rumoroso. |
price | fonte di prezzo | chiusura | La serie di prezzo da smussare, come close, open, o typicalprice. |
Formula
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 è il rapporto di efficienza. Si avvicina a 1 quando il prezzo si muove in linea retta nella finestra di osservazione e si avvicina a 0 quando il prezzo oscilla avanti e indietro senza progressi netti. La costante di livellamento al quadrato SC poi interpola tra le velocità delle EMA rapida e lenta.
Come funziona
Una media mobile a periodo fisso impone un unico compromesso a ogni condizione di mercato: i periodi corti producono falsi segnali nelle fasi laterali, i periodi lunghi ritardano nei trend. La Adaptive Moving Average aggira il compromesso ricalcolando la propria costante di livellamento su ogni bar.
Quando il rapporto di efficienza è alto, cioè quando le bar recenti si sono mosse prevalentemente in una sola direzione, la costante di livellamento si sposta verso l'estremo veloce e la media segue da vicino il prezzo. Quando il rapporto è basso, cioè quando il prezzo ha percorso molta distanza senza arrivare da nessuna parte, la costante si sposta verso l'estremo lento e la media si appiattisce, ignorando il rumore.
L'effetto pratico è una linea che si appiattisce durante i consolidamenti e accelera quando inizia un movimento direzionale. Questo riduce sia la penalizzazione del ritardo delle medie lente sia quella dei falsi segnali delle medie veloci, al costo di due parametri aggiuntivi da configurare.
Esempi
Esempio 1, AMA standard sui prezzi di chiusura (Indicatore)
// Adaptive average: 9-bar efficiency window, fast constant 2, slow constant 30
myAMA = AdaptiveAverage[9, 2, 30](close)
RETURN myAMALa configurazione classica. Tracciata sul grafico dei prezzi, la linea resta vicina al prezzo nei trend e diventa quasi orizzontale durante le fasi laterali.
Esempio 2, Filtro di trend adattivo per gli ingressi (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
ENDIFUn sistema a incrocio che utilizza la linea adattiva invece di una media a periodo fisso. Poiché l'AMA si appiattisce nelle fasi laterali, gli incroci durante il consolidamento si addensano meno rispetto a una media mobile semplice di velocità simile.
Esempio 3, Screening per prezzo sopra un'AMA in salita (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")Restituisce gli strumenti in cui il prezzo si trova sopra una media adattiva con pendenza positiva, ordinati per distanza percentuale dalla linea.
Interpretazione
| Osservazione | Lettura |
|---|---|
| Prezzo sopra un'AMA in salita | Movimento direzionale al rialzo in corso. |
| Prezzo sotto un'AMA in discesa | Movimento direzionale al ribasso in corso. |
| AMA quasi piatta | Rapporto di efficienza basso, il prezzo è in fase laterale. Qui i segnali di incrocio sono inaffidabili. |
| La pendenza dell'AMA aumenta | Il rapporto di efficienza è in aumento, il movimento sta diventando più unidirezionale. |
Lo stato di linea piatta è già di per sé informativo. Molti sistemi usano la pendenza dell'AMA come filtro di regime, accettando i segnali di altri indicatori solo quando la linea adattiva ha una pendenza netta.
Errori e insidie comuni
- L'ordine dei parametri è importante. La firma è
[MAperiod, fastSC, slowSC]. Scambiare le costanti fast e slow, per esempio[9, 30, 2], inverte il comportamento adattivo e produce una linea che accelera nel rumore e rallenta nei trend. - Le costanti di livellamento sono periodi, non alfa.
fastSCeslowSCsono espressi come periodi EMA equivalenti (2 e 30), non come fattori di attenuazione decimali. Passare0.6667dove2è previsto non genera un errore ma produce un calcolo diverso da quello desiderato. - Gli incroci continuano a fallire nelle fasi laterali strette. L'AMA riduce i falsi segnali, non li elimina. In fasi laterali molto strette, il prezzo può attraversare ripetutamente la linea piatta. Una condizione di pendenza minima o di distanza minima ne filtra la maggior parte.
- Un MAperiod corto destabilizza il rapporto di efficienza. Valori inferiori a circa 5 fanno saltare il rapporto in modo irregolare da bar a bar, il che vanifica lo scopo dell'adattamento. Mantieni la finestra di efficienza di lunghezza moderata e regola invece la reattività con le costanti di livellamento.
Istruzioni correlate
Average, media mobile semplice, il riferimento a velocità fissa.ExponentialAverage, EMA con un fattore di livellamento costante.WilderAverage, livellamento di Wilder, una variante più lenta dell'EMA.HullAverage, media a basso ritardo che utilizza medie ponderate.ZLEMA, media mobile esponenziale a lag zero.TEMA, media mobile esponenziale tripla.DEMA, media mobile esponenziale doppia.TimeSeriesAverage, media mobile basata sulla regressione lineare.WeightedAverage, media mobile ponderata linearmente.