La Estrategia de Reversión de 3 Días de Turtle Trading es una modificación de la Estrategia de Reversión Media de 3 Días del libro High Probability ETF Trading de Larry Connors y Cesar Alvarez.
A través de la práctica y backtesting, he encontrado que la estrategia funciona mejor cuando se utiliza una EMA en lugar de una SMA para la línea de tendencia.
La estrategia funciona de la siguiente manera:
La EMA de salida es por defecto la EMA de 5 días, su duración es ajustable.
La idea principal de la estrategia es aprovechar la reversión media a corto plazo. Cuando los precios disminuyen continuamente, es probable que se recuperen a corto plazo. La estrategia identifica las oportunidades de reversión media comprobando si los precios se han reducido durante 3 días consecutivos por debajo de una EMA a corto plazo. Una vez que ocurre la reversión, sale rápidamente cuando el precio se rompe por encima de la EMA de salida.
En comparación con las estrategias tradicionales de cruce de medias móviles, esta estrategia presenta las siguientes ventajas:
El uso de estrechamiento de 3 días consecutivos para identificar reversiones mejora la calidad de la señal.
La filtración con EMA largas y cortas evita el comercio en mercados de tendencia.
El uso de EMA en lugar de SMA para la línea de tendencia es más sensible para detectar reversiones.
La longitud EMA de salida ajustable permite personalizar la estrategia de stop loss en función de las condiciones del mercado.
La baja frecuencia de negociación con períodos de retención de 1-2 días evita los riesgos asociados con las apuestas direccionales largas.
La estrategia también presenta los siguientes riesgos:
Riesgo de reversión fallido: el precio puede no rebotar y continuar disminuyendo después de la señal de reversión.
El precio podría alcanzar repetidamente el stop loss en mercados agitados.
El riesgo de optimización de parámetros. La EMA de salida y otros parámetros necesitan pruebas y ajustes continuos basados en la evolución de los mercados. El rendimiento podría degradarse sin ajuste.
El riesgo de sobreajuste La optimización debe evitar el sobreajuste Los parámetros deben ser robustos.
Los riesgos pueden reducirse:
Seguir estrictamente las reglas de stop loss para controlar la pérdida de una sola operación.
Ajuste de parámetros robusto durante la optimización para equilibrar el riesgo y el rendimiento.
Ajuste del tamaño de las posiciones para reducir el riesgo por operación.
La estrategia puede mejorarse en los siguientes aspectos:
Prueba diferentes longitudes de EMA para la entrada y salida para encontrar parámetros óptimos.
Añadir otros filtros como el volumen para asegurar que las señales de inversión sean más confiables.
Mejore el stop loss con métodos como ATR o trailing stops para mayor flexibilidad.
Incorporar un filtro de tendencia para evitar señales de reversión en las tendencias existentes.
Combinar con otras estrategias de optimización y diversificación de cartera.
Emplear el aprendizaje automático para ajustar parámetros adaptativos.
La Estrategia de Reversión de 3 días de Turtle Trading identifica oportunidades de reversión a corto plazo al detectar patrones de estrechamiento de 3 días por debajo de una EMA corta. En comparación con las estrategias tradicionales de promedios móviles, tiene señales de entrada más confiables y EMA de salida ajustable para la optimización de stop loss. La estrategia funciona bien para mercados agitados de rango y capturar rebotes cortos.
/*backtest start: 2023-10-05 00:00:00 end: 2023-10-12 00:00:00 period: 10m basePeriod: 1m 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/ // @version = 5 // Author = TradeAutomation strategy(title="ETF 3-Day Reversion Strategy", shorttitle="ETF 3-Day Reversion Strategy", process_orders_on_close=true, overlay=true, commission_type=strategy.commission.cash_per_order, commission_value=1, initial_capital = 10000000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Backtest Date Range Inputs // StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time') EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time') InDateRange = true // Strategy Rules // DayEMA5 = ta.ema(close, 5) Rule1 = close>ta.ema(close, 200) Rule2 = close<DayEMA5 Rule3 = high<high[1] and low<low[1] and high[1]<high[2] and low[1]<low[2] and high[2]<high[3] and low[2]<low[3] ExitEMA = ta.ema(close, input.int(5, "EMA Length For Exit Strategy", tooltip = "The strategy will sell when the price crosses over this EMA")) plot(DayEMA5) plot(ExitEMA, color=color.green) // Entry & Exit Functions // if (InDateRange) strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3) // strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop)) strategy.close("Long", when = ta.crossover(close, ExitEMA)) if (not InDateRange) strategy.close_all()