Estrategia de negociación cruzada de TEMA doble

El autor:¿ Qué pasa?, Fecha: 2023-10-12 17:34:19
Las etiquetas:

Resumen general

La doble estrategia de negociación de cruce de TEMA es una estrategia común de seguimiento de tendencias que utiliza dos líneas de TEMA (Triple Exponential Moving Average) con diferentes parámetros. Genera señales largas cuando el TEMA más rápido cruza por encima del TEMA más lento, y cierra posiciones cuando el TEMA más rápido cruza por debajo del TEMA más lento. Esta estrategia puede rastrear efectivamente las tendencias de precios y obtener ganancias cuando la tendencia es clara.

Estrategia lógica

La estrategia utiliza el TEMA (Triple Exponential Moving Average) como el principal indicador técnico.

TEMA = (3EMA1) - (3EMA2) + EMA3

Donde EMA1, EMA2 y EMA3 son EMA del período N. Al calcular las EMA tres veces, TEMA puede responder más rápidamente a los cambios de precios.

La estrategia utiliza una TEMA de período más corto como línea rápida, y una TEMA de período más largo como línea lenta. Cuando la línea rápida cruza por encima de la línea lenta, lo que indica un movimiento al alza del precio, genera señales largas. Cuando la línea rápida cruza por debajo de la línea lenta, lo que indica un movimiento al alza del precio, cierra posiciones.

Las claves de esta estrategia se encuentran en el ajuste de parámetros y la lógica de la condición. La línea rápida con un período más corto como 20 días puede capturar rápidamente la dinámica del precio, mientras que la línea lenta con un período más largo como 60 días puede filtrar falsas rupturas. Cuando surge una tendencia alcista o bajista significativa, la línea rápida puede cruzar rápidamente por encima o por debajo de la línea lenta para producir señales comerciales.

Análisis de ventajas

Las ventajas de esta estrategia incluyen:

  1. TEMA puede responder más rápidamente a los cambios de precios y captar las inversiones de tendencia.

  2. La doble estructura TEMA ayuda a filtrar las falsas rupturas y entrar en operaciones de tendencia de alta probabilidad.

  3. Parámetros flexibles y ajustables para adaptarse a las diferentes condiciones del mercado.

  4. Lógica simple y clara, fácil de entender e implementar, alta utilización del capital.

  5. Se pueden obtener buenas ganancias en mercados de tendencia, especialmente los de tendencia fuerte.

Análisis de riesgos

Los riesgos de esta estrategia incluyen:

  1. Inclinado a las pérdidas comerciales frecuentes en los mercados de rango.

  2. Puede generar señales falsas excesivas si los parámetros no se ajustan correctamente.

  3. Incapaz de responder eficazmente a eventos repentinos y movimientos de precios a corto plazo.

  4. Las señales tardías pueden perder oportunidades a corto plazo.

  5. Altos riesgos de abrir posiciones frente a fuertes oscilaciones.

  6. Requiere experiencia en optimización de parámetros para adaptarse a los mercados cambiantes.

Medidas de gestión de riesgos:

  1. Optimice los parámetros para evitar la sensibilidad excesiva.

  2. Añadir otros indicadores para filtrar las señales de entrada.

  3. Utilice las pérdidas de parada para limitar las pérdidas de una sola operación.

  4. Reducir el tamaño de las posiciones para controlar el riesgo.

  5. Añadir reglas de optimización de parámetros y mecanismos de intervención manual.

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimizar los parámetros de línea rápida y lenta para diferentes productos y condiciones del mercado.

  2. Incorporar otros indicadores como MACD, Bandas de Bollinger para mejorar la validez de la señal.

  3. Agregue estrategias de stop loss como trailing stop, time stop, ATR stop para controlar las pérdidas.

  4. Evite abrir posiciones cuando el VIX es alto.

  5. Agregue indicadores de volumen, sólo considere entrar en la expansión obvia de volumen.

  6. Optimizar la gestión del dinero como el tamaño de la posición fraccionaria fija, control de extracción.

  7. Utilice el aprendizaje automático para optimizar los parámetros automáticamente.

Resumen de las actividades

La doble estrategia de cruce TEMA es una estrategia general de seguimiento de tendencias utilizando indicadores técnicos de tendencias. Ayuda a capturar las tendencias de precios y comerciar a lo largo de las tendencias. Pero los riesgos deben administrarse adecuadamente para evitar pérdidas por uso inadecuado.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © nickrober

//@version=4
strategy(title="TEMA Cross Backtest", shorttitle="TEMA_X_BT", overlay=true, commission_type=strategy.commission.percent, commission_value=0, initial_capital = 1000,  default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Backtest inputs
FromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
FromDay = input(defval=1, title="From Day", minval=1, maxval=31)
FromYear = input(defval=2020, title="From Year", minval=2010)
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=2017)

// Define backtest timewindow
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)  // backtest finish window
window() =>  true

//TEMA Section
xLength = input(20, minval=1, title="Fast Length")
xPrice = close
xEMA1 = ema(xPrice, xLength)
xEMA2 = ema(xEMA1, xLength)
xEMA3 = ema(xEMA2, xLength)
xnRes = (3 * xEMA1) - (3 * xEMA2) + xEMA3
xnResP = plot(xnRes, color=color.green, linewidth=2, title="TEMA1")

yLength = input(60, minval=1, title="Slow Length")
yPrice = close
yEMA1 = ema(yPrice, yLength)
yEMA2 = ema(yEMA1, yLength)
yEMA3 = ema(yEMA2, yLength)
ynRes = (3 * yEMA1) - (3 * yEMA2) + yEMA3
ynResP = plot(ynRes, color=color.red, linewidth=2, title="TEMA2")

fill(xnResP, ynResP, color=xnRes > ynRes ? color.green : color.red, transp=75, editable=true)

// Buy and Sell Triggers
LongEntryAlert = xnRes > ynRes
LongCloseAlert = xnRes < ynRes
ShortEntryAlert = xnRes < ynRes
ShortCloseAlert = xnRes > ynRes

// Entry & Exit signals
strategy.entry("Long", strategy.long, when = xnRes > ynRes and window()) 
strategy.close("Long", when = xnRes < ynRes)
//strategy.entry("Short", strategy.short, when = xnRes < ynRes and window())
//strategy.close("Short", when = xnRes > ynRes)

Más.