Estrategia de media móvil exponencial triple sólo larga

El autor:¿ Qué pasa?, fecha: 2023-11-15 10:54:39
Las etiquetas:

img

Resumen general

La Estrategia de Long Only es una estrategia de seguimiento de tendencias a largo plazo basada en el indicador TEMA. Utiliza TEMA para filtrar el ruido del mercado a corto plazo e identificar las direcciones de tendencia a mediano y largo plazo. La estrategia es larga cuando el precio cruza TEMA y sale cuando el precio cae por debajo de TEMA. Es adecuada para los inversores interesados en el comercio de tendencias a medio y largo plazo.

Estrategia lógica

La estrategia identifica tendencias a medio y largo plazo utilizando el indicador TEMA. TEMA es un indicador de tendencia suavizado derivado de la suavización exponencial triple de la EMA estándar.

Específicamente, la estrategia primero calcula la EMA (ema1) del período fastEmaPeriod, luego calcula otra EMA (ema2) de ema1 usando el mismo período, y finalmente calcula ema3 basada en ema2.

A través de la suavización exponencial múltiple, TEMA puede identificar eficazmente las direcciones de tendencia a medio y largo plazo a pesar de los zigzags y las reversiones, filtrando el ruido a corto plazo.

Análisis de ventajas

  • TEMA identifica eficazmente las tendencias a medio y largo plazo y filtra el ruido a corto plazo, evitando los problemas.

  • Solo las posiciones largas evitan riesgos a la baja ilimitados de cortocircuito.

  • En el caso de las entidades de crédito, el importe de las pérdidas derivadas de las operaciones de crédito se determinará en función de las condiciones de los activos financieros.

  • Las pruebas retroactivas de ventanas de tiempo optimizan los parámetros en períodos históricos específicos.

Análisis de riesgos

  • Los eventos graves de cisne negro pueden causar cambios bruscos durante largos períodos de retención, lo que conduce a grandes pérdidas.

  • TEMA puede no señalar cambios de tendencia para un stop loss oportuno.

  • El tamaño porcentual no limita el tamaño de la pérdida por operación, lo que requiere paradas.

  • Las pruebas de retroceso corren el riesgo de ser demasiado adecuadas, los parámetros optimizados pueden no adaptarse a los mercados futuros.

Direcciones de mejora

  • Añadir métricas de volatilidad para reforzar los parámetros.

  • Implementar el stop loss para controlar el tamaño de la pérdida de una sola operación.

  • Optimizar el tamaño de la posición para reducir el tamaño durante las reducciones.

  • Añadir indicadores de tendencia transitorios para mejorar la precisión de la tendencia.

  • Prueba diferentes parámetros de período de retención para obtener el óptimo.

Conclusión

En resumen, la Triple EMA Long Only Strategy identifica las direcciones de tendencia a través del indicador TEMA, mantiene posiciones a largo plazo para evitar el ruido a corto plazo, permanece solo por mucho tiempo para evitar la bajada ilimitada y capta efectivamente las tendencias a medio y largo plazo.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("TEMA_System_long_only", overlay=true)

//Collect inputs parameters

fastEmaPeriod = input(7, minval=1, title="Fast TEMA Period")

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 4, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2010, title = "From Year", minval = 2000)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2000)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

fastEma = ema(close, fastEmaPeriod)

//convert EMA into TEMA

ema1 = ema(close, fastEmaPeriod)
ema2 = ema(ema1, fastEmaPeriod)
ema3 = ema(ema2, fastEmaPeriod)

fastTEMA = 3 * (ema1 - ema2) + ema3


buy  = close > fastTEMA
sell = close < fastTEMA

plot(fastTEMA, title = 'TEMA', linewidth=3, color=white)

if window()
    strategy.entry("long",strategy.long, when = buy)
    strategy.close("long", when = sell )

Más.