WeightedAverage
WeightedAverage en ProBuilder devuelve la media móvil ponderada (WMA) de un precio a lo largo de N bars, dando más peso a los bars recientes. Sintaxis, fórmula, ejemplos.
Sintaxis
WeightedAverage[N](price)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
N | entero | 20 | Periodo de referencia en bars. Determina tanto la longitud de la ventana como el esquema de ponderación. |
price | fuente de precio | close | La serie que se promedia. Acepta close, open, high, low, typicalprice, medianprice, o cualquier variable personalizada. |
Fórmula
WMA = (N*price + (N-1)*price[1] + ... + 2*price[N-2] + 1*price[N-1])
/ (N + (N-1) + ... + 2 + 1)El denominador es la suma de los pesos, N * (N + 1) / 2. Los pesos decrecen linealmente desde la bar más reciente hasta la más antigua.
Cómo funciona
Una media móvil simple trata igual a todos los bars de la ventana, por lo que un movimiento grande que entra o sale de la ventana desplaza la línea en la misma medida sin importar cuándo ocurrió. La media móvil ponderada, en cambio, multiplica cada bar por su posición en la ventana: el último bar cuenta N veces más que el más antiguo. El resultado es una línea que se ajusta más al precio actual y gira antes en los puntos de swing.
Comparado con ExponentialAverage, la WMA usa una ventana estricta: los bars más antiguos que N periodos no tienen influencia alguna, mientras que una EMA da a todos los bars pasados un peso pequeño que decae exponencialmente. En la práctica ambas se comportan de forma parecida, con la WMA algo más sensible a lo que ocurre en el borde de su ventana.
La WMA también es un componente de otras medias. HullAverage, por ejemplo, combina varias medias ponderadas de distintas longitudes para reducir aún más el retardo.
Ejemplos
Ejemplo 1, WMA básica de 20 periodos (Indicador)
// 20-period weighted moving average of closing prices
myWMA = WeightedAverage[20](close)
RETURN myWMACalcula y representa la media móvil ponderada de 20 bars del cierre, el uso estándar conservado de la documentación original.
Ejemplo 2, Cruce de WMA frente a 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 ponderada actúa como la línea rápida y reactiva en un sistema de cruce clásico, entrando long cuando cruza por encima de la media simple más lenta y saliendo con el cruce opuesto.
Ejemplo 3, Búsqueda de precio por encima de una WMA ascendente (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")Conserva solo los instrumentos cuyo precio está por encima de una WMA de 30 bars que a su vez es más alta que cinco bars atrás, y los ordena por su distancia por encima de la línea.
Interpretación
Las medias ponderadas se leen como cualquier media móvil. El precio por encima de una WMA ascendente indica una tendencia alcista, el precio por debajo de una WMA descendente indica una tendencia bajista, y los cruces entre el precio y la línea, o entre dos WMA de longitudes distintas, se utilizan como señales de cambio de tendencia.
Debido a su ponderación concentrada al principio, una WMA de longitud N se comporta aproximadamente como una media simple más corta: gira antes, pero también produce más sierras en mercados laterales. Elegir entre Average, WeightedAverage, y ExponentialAverage es sobre todo un compromiso entre retardo y ruido, no una diferencia de naturaleza.
Errores y trampas habituales
- Tipos de corchetes incorrectos. El periodo va entre corchetes y la fuente de precio entre paréntesis:
WeightedAverage[20](close). EscribirWeightedAverage(20, close)es un error de sintaxis. - Esperar una suavidad similar a la de la SMA. Para el mismo
N, una WMA es notablemente más brusca que una media simple. Al sustituirAverage[N]conWeightedAverage[N]en un sistema existente, la frecuencia de señales aumenta y los resultados del backtest cambian. - Confundirlo con
WeightedClose.WeightedClosees una constante de precio de un solo bar,(high + low + 2 * close) / 4. Es una entrada válida para esta función, pero un concepto completamente distinto. - Un periodo demasiado corto. Muy pequeño
Nvalores hacen que la línea sea casi idéntica al precio en bruto, añadiendo cálculo sin un suavizado apreciable.
Instrucciones relacionadas
Average, media móvil simple con pesos iguales.ExponentialAverage, pesos que decaen exponencialmente sobre todo el histórico.WilderAverage, la media suavizada utilizada dentro del RSI y del ATR.HullAverage, media de bajo retraso construida a partir de medias ponderadas.TriangularAverage, media doblemente suavizada con énfasis ponderado en el centro.TimeSeriesAverage, media móvil basada en regresión lineal.ZLEMA, media móvil exponencial sin retraso.WeightedClose, precio ponderado de un solo bar que a menudo se usa como entrada de las medias.