Únete hoy
Indicadores/probuilder · probacktest · proorder · proscreener

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

probuilder
Average[N](price)
Average[N,M](price)

Parámetros

NombreTipoPor defectoDescripción
Nentero20Nú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.
Mentero0Selector opcional del tipo de media. Consulta la tabla siguiente.
pricefuente de preciocloseLa serie que se va a promediar. Acepta cualquier constante de precio o variable personalizada, incluidos otros indicadores.

Valores para M:

MTipo de media
0Media móvil simple (SMA)
1Media móvil exponencial (EMA)
2Media móvil ponderada (WMA)
3Media móvil de Wilder
4Media móvil triangular
5Media móvil de punto final
6Media móvil de series temporales
7Media móvil de Hull (ProRealTime™ v11 y posteriores)
8Media móvil Zero-Lag (ProRealTime™ v11 y posteriores)

Fórmula

código
SMA = (price + price[1] + ... + price[N-1]) / N

Con 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)

probuilder
// 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)

probuilder
// 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
ENDIF

La 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)

probuilder
// 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. M fuera 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 ,1 se 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.