Average
Average en ProBuilder devuelve una media móvil de cualquier serie, con un argumento de tipo opcional que selecciona SMA, EMA, WMA, Wilder, Hull y más. Ejemplos.
Sintaxis
Average[N](price)
Average[N,M](price)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
N | entero | 20 | Número de bars de la media. Los periodos más cortos siguen el precio de cerca; los más largos suavizan más y van más por detrás. |
M | entero | 0 | Selector opcional del tipo de media. Consulta la tabla siguiente. |
price | fuente de precio | close | La serie que se va a promediar. Acepta cualquier constante de precio o variable personalizada, incluidos otros indicadores. |
Valores para M:
M | Tipo de media |
|---|---|
| 0 | Media móvil simple (SMA) |
| 1 | Media móvil exponencial (EMA) |
| 2 | Media móvil ponderada (WMA) |
| 3 | Media móvil de Wilder |
| 4 | Media móvil triangular |
| 5 | Media móvil de punto final |
| 6 | Media móvil de series temporales |
| 7 | Media móvil de Hull (ProRealTime™ v11 y posteriores) |
| 8 | Media móvil Zero-Lag (ProRealTime™ v11 y posteriores) |
Fórmula
SMA = (price + price[1] + ... + price[N-1]) / NCon M se omite o es 0, el resultado es la media aritmética de los últimos N valores. Cada otro M valor aplica el esquema de ponderación del tipo de media correspondiente; las instrucciones dedicadas (ExponentialAverage, WeightedAverage, WilderAverage, etc.) documentan esas definiciones.
Cómo funciona
Average es la función de suavizado de uso general de ProBuilder. En cada bar recalcula la media de los últimos N valores de la serie dada, lo que produce una línea que filtra el ruido de bar a bar a costa de reaccionar a los cambios con un retraso proporcional a N.
El segundo argumento entre corchetes convierte una función en nueve. Average[20,1](close) es equivalente a ExponentialAverage[20](close), Average[20,3](close) a WilderAverage[20](close), y así sucesivamente. Esto resulta cómodo cuando el propio tipo de media es una variable, por ejemplo cuando un optimizador o un ajuste de indicador debe alternar entre SMA y EMA sin reescribir código.
La entrada no tiene que ser un precio. Cualquier serie numérica funciona, así que Average se usa habitualmente para suavizar osciladores, volumen, spreads o la salida de otros cálculos.
Ejemplos
Ejemplo 1, Medias simples rápida y lenta (Indicador)
// Plot a 7-period and a 20-period simple moving average
FastMA = Average[7](Close)
SlowMA = Average[20](Close)
RETURN FastMA coloured(221,33,33), SlowMA coloured(35,194,57)Dibuja dos SMA del cierre, la rápida en rojo y la lenta en verde. El par visualiza el momentum de corto plazo frente a la deriva general.
Ejemplo 2, Sistema de cruce de medias móviles (ProOrder)
// Reverse position on each crossover of the 20 and 50 SMA
fastMA = Average[20](close)
slowMA = Average[50](close)
IF fastMA CROSSES OVER slowMA THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF fastMA CROSSES UNDER slowMA AND LongOnMarket THEN
SELL AT MARKET
ENDIFLa estrategia mantiene una posición long mientras la media de 20 periodos está por encima de la de 50 periodos y sale cuando la relación se invierte, la plantilla mínima de una lógica de seguimiento de tendencia.
Ejemplo 3, Distancia a la media de 200 bars (ProScreener)
// List instruments trading above their 200-period average
ma200 = Average[200](close)
gap = (close / ma200 - 1) * 100
SCREENER[close > ma200](gap AS "% above MA200")Filtra la lista de seguimiento para dejar los instrumentos por encima de su media de largo plazo y los clasifica por la diferencia porcentual, un escaneo sencillo de fuerza relativa.
Interpretación
El precio frente a la media. Que el precio se mantenga por encima de una media ascendente es la definición estándar de tendencia alcista en ese horizonte; el precio por debajo de una media descendente, de tendencia bajista. Las medias de 50 y de 200 periodos son las líneas de referencia más seguidas.
Cruces. Una media rápida que cruza por encima de una lenta indica que los precios recientes van por delante de los más antiguos, un cambio de momentum. Los cruces van por detrás por construcción, así que confirman las tendencias en lugar de anticiparlas, y producen señales falsas en mercados laterales.
Pendiente. La dirección de la propia media suele ser más informativa que un solo cruce. Una media plana indica un rango, donde las señales de cruce se degradan drásticamente.
Errores y trampas habituales
- Tipo de corchete incorrecto.
Average(20, close)genera un error de sintaxis. El periodo y el tipo van entre corchetes, la serie entre paréntesis:Average[20,1](close). - Selector de tipo no válido.
Mfuera del rango 0 a 8 no es un tipo de media válido. Los valores 7 y 8 requieren además ProRealTime™ v11 o posterior. - Suponer EMA por defecto. Con un solo argumento la función siempre devuelve una media simple. El código portado de plataformas cuyo valor por defecto es exponencial se comportará de forma distinta hasta que
,1se añade. - Sistemas de cruce en rangos. Dos medias de una serie lateral se cruzan repetidamente. Sin un filtro de tendencia o de volatilidad, la plantilla de cruce del Ejemplo 2 acumula operaciones perdedoras en mercados planos.
Instrucciones relacionadas
ExponentialAverage, EMA dedicada, equivalente aM = 1.WeightedAverage, media ponderada linealmente, equivalente aM = 2.WilderAverage, suavizado de Wilder, equivalente aM = 3.TriangularAverage, media doblemente suavizada, equivalente aM = 4.EndPointAverage, media del punto final de regresión, equivalente aM = 5.TimeSeriesAverage, media de la serie temporal, equivalente aM = 6.HullAverage, media Hull de bajo retardo, equivalente aM = 7.ZLEMA, media exponencial de retardo cero, equivalente aM = 8.RSI, oscilador que se suaviza con frecuencia conAverage.