TriangularAverage
TriangularAverage en ProBuilder devuelve una media móvil simple con doble suavizado del precio sobre N barras, produciendo una línea de tendencia extra suave. Sintaxis, ejemplos.
Sintaxis
TriangularAverage[N](price)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
N | entero | ninguno | Periodo total de análisis. Los valores mayores dan una línea más suave y más lenta. |
price | fuente de precio | ninguno | Serie a suavizar, normalmente close. Se acepta cualquier constante de precio o variable personalizada. |
Fórmula
TMA = SMA[m](SMA[m](price))
where m is approximately (N + 1) / 2El suavizado se aplica en dos pasadas: una media móvil simple de los datos brutos y después una media móvil simple de esa primera media. El esquema de ponderación combinado es triangular, las barras del centro de la ventana tienen el mayor peso y los pesos decrecen linealmente hacia ambos extremos, de donde viene el nombre.
Cómo funciona
Una media móvil simple pondera por igual todas las barras de su ventana, por lo que un solo valor atípico que entra o sale de la ventana desplaza la línea de forma apreciable. La media triangular suprime este efecto. Como la segunda pasada promedia la primera, los picos cortos se diluyen dos veces, y la línea resultante es una de las más suaves de la familia clásica de medias móviles.
El coste del doble suavizado es el retardo. Una TMA gira después de que lo haga la media simple equivalente, y mucho después que el propio precio. Por tanto es más adecuada para describir la tendencia establecida que para cronometrar entradas en los giros. En mercados en tendencia, la pendiente de la línea y el lado de la línea en el que cotiza el precio son las lecturas principales.
El periodo N se comporta como con otras medias: los valores pequeños siguen al precio más de cerca, los valores grandes enfatizan el ciclo más largo. Como el suavizado efectivo es doble, una TMA de periodo 20 se parece a una media simple notablemente más larga.
Ejemplos
Ejemplo 1, Línea de tendencia escalonada a partir de una TMA de 50 barras (Indicador)
// Hold the plotted value until the TMA moves at least 1% away from it
once ssMA = close
MA = TriangularAverage[50](close)
if(MA > ssMA + (MA/100)*1) THEN
ssMA = MA
ELSIF (MA < ssMA - (MA/100)*1) THEN
ssMA = MA
ELSE
ssMA = ssMA
ENDIF
RETURN ssMALa media triangular de 50 periodos se convierte en una línea escalonada que solo se actualiza cuando la TMA se desvía más de un 1 por ciento del último valor almacenado. Las oscilaciones menores de la media se ignoran y el gráfico cambia de nivel solo en movimientos significativos.
Ejemplo 2, Sistema de cruce de precio y TMA (ProOrder)
// Trend following on closes crossing the triangular average
tma = TriangularAverage[50](close)
IF close CROSSES OVER tma THEN
BUY 1 CONTRACT AT MARKET
ELSIF close CROSSES UNDER tma THEN
SELL AT MARKET
ENDIFComo la TMA es muy suave, los cruces del precio con la línea ocurren con menos frecuencia que con una media simple del mismo periodo, operando señales menos numerosas pero más largas.
Ejemplo 3, Escaneo de TMA ascendente (ProScreener)
tma = TriangularAverage[20](close)
SCREENER[tma > tma[5]] ((tma - tma[5]) AS "TMA slope")Devuelve los instrumentos cuya media triangular de 20 periodos es más alta que hace cinco barras, ordenados por el tamaño de la subida, un filtro básico de tendencia alcista.
Interpretación
Se aplican las convenciones estándar de las medias móviles. El precio por encima de una TMA ascendente indica una tendencia alcista, el precio por debajo de una TMA descendente una tendencia bajista, y una TMA plana un rango. Como la línea tiene doble suavizado, sus cambios de pendiente son más raros y más deliberados que los de otras medias, lo que hace que la TMA sea popular como filtro de tendencia: toma señales long de una herramienta más rápida solo mientras la TMA sube, y shorts solo mientras baja. Los cruces del precio y la TMA llegan tarde respecto al giro real, por lo que confirman los giros en lugar de anticiparlos.
Errores y trampas habituales
- Tipo de corchete incorrecto. El periodo va entre corchetes y el precio entre paréntesis:
TriangularAverage[50](close). EscribirTriangularAverage(50, close)es un error de sintaxis. - Esperar señales de giro oportunas. El doble suavizado hace de la TMA una de las medias habituales con más retardo. Las entradas tomadas en los giros de la TMA se producen mucho después del giro del precio, algo que la lógica de mean reversion en particular debería tener en cuenta.
- Subestimar el periodo efectivo. Una TMA de periodo
Nsuaviza aproximadamente como una media simple bastante más larga. Portar una estrategia desdeAverage[N]aTriangularAverage[N]cambia de carácter, reajusta el periodo. - Barras de calentamiento. Dos pasadas de promediado necesitan aproximadamente
Nbars de histórico antes de que la salida se estabilice. Los valores de los primeros bars del gráfico no son fiables.
Instrucciones relacionadas
Average, media móvil simple, la referencia de una sola pasada.ExponentialAverage, media ponderada exponencialmente con menos retardo.WeightedAverage, media ponderada linealmente que favorece las barras recientes.TimeSeriesAverage, media móvil basada en regresión.WilderAverage, el suavizado de Wilder utilizado dentro de RSI y ATR.HullAverage, media móvil diseñada para minimizar el retardo.DEMA, media móvil exponencial doble, con menos retardo que una SMA doble.TEMA, media móvil exponencial triple.ZLEMA, media móvil exponencial sin retardo.