La estrategia de Richard para el comercio de tortugas

El autor:¿ Qué pasa?, Fecha: 2024-02-06 11:56:47
Las etiquetas:

img

Resumen general

La estrategia de negociación de tortuga de Richard es una estrategia de negociación basada en las técnicas de negociación de tortuga de Richard Dennis. Utiliza las rupturas de precios para rastrear tendencias.

Estrategia lógica

La lógica central de la estrategia de trading de tortuga de Richard es rastrear las tendencias basadas en las rupturas de precios. Específicamente, la estrategia monitorea continuamente los precios más altos (_20_day_highest) y más bajos (_20_day_lowest) en los últimos 20 días. Cuando el precio de cierre rompe el máximo de 20 días, señala un avance ascendente, lo que desencadena una orden larga. Cuando el precio de cierre cae por debajo del mínimo de 20 días, señala un avance descendente, lo que desencadena una orden corta.

Después de ingresar posiciones, la estrategia utiliza el rango verdadero promedio (ATR) para calcular el precio de la parada de pérdida. También rastrea los precios altos y bajos de 10 días para la parada de pérdida de deslizamiento. Cuando se activa la parada de pérdida larga o la parada de pérdida de deslizamiento, cerrará la posición larga. Cuando se activa la parada de pérdida corta o la parada de pérdida de deslizamiento, cerrará la posición corta.

Ventajas

La estrategia de comercio de tortugas de Richard tiene las siguientes ventajas:

  1. Puede identificar automáticamente las inversiones de tendencia y ajustar las posiciones en consecuencia.
  2. El mecanismo ATR de pérdida de parada controla eficazmente la pérdida de parada única.
  3. El mecanismo de stop loss de deslizamiento bloquea algunas ganancias y reduce las reducciones.
  4. La lógica de la estrategia es simple y fácil de entender para los principiantes.
  5. No hay necesidad de predecir las tendencias del mercado o cálculos complejos, sólo un simple comercio basado en reglas.

Los riesgos

También hay algunos riesgos con la estrategia de comercio de tortugas de Richard:

  1. Las operaciones de ruptura son propensas a quedar atrapadas, generando a veces una frecuencia de operaciones excesiva.
  2. El ATR y el stop loss por deslizamiento pueden ser demasiado estrictos, causando ocasionalmente un stop loss prematuro.
  3. Sólo utiliza datos de precios sin combinar otros factores para predecir la continuidad de la tendencia.
  4. El riesgo de sobreajuste de las pruebas de retroceso, los resultados reales de las operaciones pueden ser pobres.

Para mitigar estos riesgos, podemos optimizar las condiciones de entrada con más indicadores para predecir tendencias; ajustar los algoritmos de stop loss para reducir la frecuencia de stop loss.

Direcciones de optimización

La estrategia de comercio de tortugas de Richard puede optimizarse en los siguientes aspectos:

  1. Optimizar los parámetros para encontrar las combinaciones óptimas de parámetros, como ajustar el ciclo de cálculo o probar diferentes múltiplos de ATR.
  2. Incorporar más indicadores o algoritmos de aprendizaje automático para juzgar la continuidad de la tendencia, como promedios móviles, indicadores de impulso, etc.
  3. Optimizar los métodos de stop loss, como probar la pérdida de stop de deslizamiento flexible, la pérdida de stop de seguimiento, etc.
  4. Combina indicadores de sentimiento, noticias y más información para predecir los movimientos del mercado.

Conclusión

La estrategia de trading de tortuga de Richard es una estrategia de breakout muy típica. Es simple y práctica, buena para que los principiantes aprendan, y un paradigma de trading cuantificado. La estrategia se puede optimizar de muchas maneras para reducir riesgos y aumentar la rentabilidad.


/*backtest
start: 2023-02-05 00:00:00
end: 2024-02-05 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/
// © melodyera0822

//@version=4
strategy("Richard Strategy", overlay=true)

// User input
variable_for_stoploss = input(4,title="stop loss var")
lenght = input(20,title="lenght")

// high_low
_20_day_highest = highest(nz(close[1]), lenght)
_20_day_lowest = lowest(nz(close[1]), lenght)

_10_day_low = lowest(nz(close[1]), lenght/2)
_10_day_high = highest(nz(close[1]), lenght/2)

//indicators
atr20 = atr(20)
ema_atr20 = ema(atr20,20)

//vars
var traded = "false"
var buy_sell = "none"
var buyExit = false
var sellExit = false
var stoploss = 0

buyCon = close > _20_day_highest and traded == "false"
plotshape(buyCon,style = shape.triangleup,location = location.belowbar, color = color.green )
if (buyCon)
    strategy.entry("long", strategy.long, when = buyCon)
    traded := "true"
    buy_sell := "buy"
    stoploss := round(close - variable_for_stoploss * ema_atr20)
    
sellCon = close < _20_day_lowest and  traded == "false"
plotshape(sellCon,style = shape.triangledown, color = color.red )
if (sellCon)
    strategy.entry("short", strategy.short)
    traded := "true"
    buy_sell := "sell"
    stoploss := round(close - variable_for_stoploss * ema_atr20)

if traded == "true"
    if buy_sell == "buy" and ((close<stoploss)or(close<_10_day_low))
        strategy.close("long")
        buyExit := true
        traded := "false"
        
    if buy_sell == "sell" and ((close>stoploss)or(close>_10_day_high))
        strategy.close("short")
        sellExit := true
        traded := "false"
        
plotshape(buyExit,style = shape.triangleup,location = location.belowbar, color = color.yellow )
buyExit := false
plotshape(sellExit,style = shape.triangledown, color = color.yellow )
sellExit := false

Más.