WeightedAverage
WeightedAverage in ProBuilder restituisce la media mobile ponderata (WMA) di un prezzo su N bar, dando più peso ai bar recenti. Sintassi, formula, esempi.
Sintassi
WeightedAverage[N](price)Parametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
N | intero | 20 | Periodo di lookback in bar. Determina sia la lunghezza della finestra sia lo schema di ponderazione. |
price | fonte di prezzo | chiusura | La serie di cui si calcola la media. Accetta close, open, high, low, typicalprice, medianprice, o qualsiasi variabile personalizzata. |
Formula
WMA = (N*price + (N-1)*price[1] + ... + 2*price[N-2] + 1*price[N-1])
/ (N + (N-1) + ... + 2 + 1)Il denominatore è la somma dei pesi, N * (N + 1) / 2. I pesi diminuiscono linearmente dalla bar più recente alla più vecchia.
Come funziona
Una media mobile semplice tratta allo stesso modo ogni bar nella finestra, quindi un movimento ampio che entra o esce dalla finestra sposta la linea della stessa quantità indipendentemente da quando è avvenuto. La media mobile ponderata invece moltiplica ogni bar per la sua posizione nella finestra: il bar più recente conta N volte di più rispetto alla più vecchia. Il risultato è una linea che segue più da vicino il prezzo corrente e gira prima sui punti di swing.
Rispetto a ExponentialAverage, la WMA usa una finestra rigida: le bar più vecchie di N periodi hanno influenza nulla, mentre una EMA attribuisce a tutti i bar passati un peso piccolo che decade esponenzialmente. In pratica le due si comportano in modo simile, con la WMA leggermente più sensibile a ciò che accade al bordo della sua finestra.
La WMA è anche un elemento costitutivo di altre medie. HullAverage, per esempio, combina più medie ponderate di lunghezze diverse per ridurre ulteriormente il ritardo.
Esempi
Esempio 1, WMA base a 20 periodi (Indicatore)
// 20-period weighted moving average of closing prices
myWMA = WeightedAverage[20](close)
RETURN myWMACalcola e traccia la media mobile ponderata a 20 bar della chiusura, l'uso standard conservato dalla documentazione di origine.
Esempio 2, Incrocio WMA contro SMA (ProBacktest)
// Fast weighted average against a slower simple average
fastWMA = WeightedAverage[10](close)
slowSMA = Average[40](close)
IF fastWMA CROSSES OVER slowSMA THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF fastWMA CROSSES UNDER slowSMA THEN
SELL AT MARKET
ENDIFLa media ponderata funge da linea veloce e reattiva in un classico sistema di incrocio, entrando long quando incrocia al rialzo la media semplice più lenta e uscendo sull'incrocio opposto.
Esempio 3, Screening del prezzo sopra una WMA in salita (ProScreener)
// Instruments trading above a rising 30-bar weighted average
wma = WeightedAverage[30](close)
rising = wma > wma[5]
SCREENER[close > wma AND rising](((close / wma) - 1) * 100 AS "% above WMA")Mantiene solo gli strumenti il cui prezzo è sopra una WMA a 30 bar che è essa stessa più alta di cinque bar fa, e li ordina in base alla loro distanza sopra la linea.
Interpretazione
Le medie ponderate si leggono come qualsiasi media mobile. Il prezzo sopra una WMA in salita indica un trend al rialzo, il prezzo sotto una WMA in calo indica un trend al ribasso, e gli incroci tra il prezzo e la linea, o tra due WMA di lunghezze diverse, sono usati come segnali di cambio di trend.
A causa della sua ponderazione concentrata sui dati recenti, una WMA di lunghezza N si comporta più o meno come una media semplice più corta: gira prima ma produce anche più falsi segnali nei mercati laterali. La scelta tra Average, WeightedAverage, e ExponentialAverage è soprattutto un compromesso tra lag e rumore, non una differenza di natura.
Errori e insidie comuni
- Tipi di parentesi errati. Il periodo va tra parentesi quadre e la fonte di prezzo tra parentesi tonde:
WeightedAverage[20](close). ScrivereWeightedAverage(20, close)è un errore di sintassi. - Aspettarsi una regolarità simile alla SMA. Per lo stesso
N, una WMA è notevolmente più nervosa di una media semplice. Quando si sostituisceAverage[N]conWeightedAverage[N]in un sistema esistente, la frequenza dei segnali aumenta e i risultati del backtest cambiano. - Confonderlo con
WeightedClose.WeightedCloseè una costante di prezzo di un singolo bar,(high + low + 2 * close) / 4. È un input valido per questa funzione, ma un concetto del tutto diverso. - Periodo troppo breve. Molto piccolo
Nvalori rendono la linea quasi identica al prezzo grezzo, aggiungendo calcoli senza una lisciatura significativa.
Istruzioni correlate
Average, media mobile semplice con pesi uguali.ExponentialAverage, pesi che decadono esponenzialmente su tutta la storia.WilderAverage, la media smussata usata all'interno di RSI e ATR.HullAverage, media a basso ritardo costruita da medie ponderate.TriangularAverage, media a doppio smoothing con enfasi ponderata al centro.TimeSeriesAverage, media mobile basata sulla regressione lineare.ZLEMA, media mobile esponenziale a ritardo zero.WeightedClose, prezzo ponderato di un singolo bar spesso usato come input delle medie.