Estrategia de negociación de tortugas de Don Anqi


Fecha de creación: 2024-02-26 14:35:02 Última modificación: 2024-02-26 14:35:02
Copiar: 0 Número de Visitas: 899
1
Seguir
1617
Seguidores

Estrategia de negociación de tortugas de Don Anqi

Descripción general

La estrategia de comercio de la playa de Dong An es una estrategia de comercio de la playa muy simplificada. Es muy diferente de la estrategia de comercio de la playa original. La estrategia utiliza dos canales de Dong An, el canal rápido y el canal lento. El ciclo de canal es configurado por el usuario y el valor predeterminado es de 20 líneas K para el canal rápido y 50 para el canal lento.

Principio de estrategia

La lógica central de esta estrategia es la siguiente:

  1. Cálculo de la vía rápida: toma el valor máximo de la línea K de la raíz rápida más cercana como la vía ascendente y el valor mínimo como la vía descendente. La vía media es el valor promedio de la vía ascendente y descendente.

  2. Calcula el canal lento: el precio más alto de la línea K de raíz lenta más cercana es el de la vía de arriba y el precio más bajo es el de la vía de abajo.

  3. Cuando no se mantiene la posición, hacer más señales para que el precio toque la vía lenta para subir a la vía; hacer más señales para que el precio toque la vía lenta para bajar a la vía.

  4. La línea de pérdidas de la vía rápida después de abrir el depósito.

  5. Durante el proceso de mantenimiento de la posición, cuando la señal de negociación es opuesta a la señal de apertura de la posición, la posición baja se retira.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Las reglas son sencillas y fáciles de ejecutar. El canal de Dongxian y el stop móvil son fáciles de entender y son adecuados para los principiantes.

  2. Parámetros personalizables. El usuario puede ajustar los parámetros según la variedad de transacciones y el período de tiempo para adaptarse a diferentes entornos de mercado.

  3. Menos señales de negociación de conflicto. Solo confía en que los precios rompan el canal para subir y bajar. Generar, evitar las situaciones en las que los indicadores comunes producen señales falsas.

  4. Gestión automática de los riesgos de pérdidas. Se pueden limitar las pérdidas de pérdidas individuales.

Análisis de riesgos

La estrategia se enfrenta a los siguientes riesgos:

  1. Cuando las tendencias de los movimientos de precios no son evidentes, se producen más paros. Esto afecta la rentabilidad de la estrategia.

  2. La retirada puede ser grande. Cuando la tendencia se produce un giro, las pérdidas en la dirección del movimiento frontal se convierten en pérdidas reales.

  3. La configuración incorrecta de los parámetros puede conducir a ser demasiado radicales o conservadores. Esto requiere una prueba repetida para obtener los valores adecuados.

  4. La dependencia de las transacciones automatizadas es alta. Se debe garantizar la estabilidad del servidor y evitar anomalías que impidan la automatización normal de las transacciones.

Para reducir los riesgos mencionados anteriormente, se pueden mejorar mediante la optimización de la configuración de los parámetros, limitar adecuadamente el tamaño de la posición y agregar módulos de control de viento.

Dirección de optimización

La estrategia se puede optimizar en las siguientes direcciones:

  1. Aumentar las condiciones de filtración para abrir posiciones y evitar señales perdidas en los puntos de inflexión de tendencias. Por ejemplo, el análisis de tendencias se determina mediante indicadores como el índice de tendencias.

  2. Optimización de la configuración de los parámetros para que se adapte mejor a las diferentes variedades de operaciones. Por ejemplo, el ciclo de canal rápido y lento, el tamaño de la posición, etc.

  3. Aumentar los módulos de control de riesgo, como la retirada máxima, los límites de pérdidas diarias, etc. Evitar que los eventos de riesgo causen grandes pérdidas.

  4. Optimización de las estrategias de stop loss. Las estrategias de stop loss dinámicas, como las trailing stops, se adaptan mejor a las tendencias del mercado.

Resumir

La estrategia de trading de la playa de Tainan es una estrategia de seguimiento de tendencias muy simple. Sus ventajas son su facilidad de comprensión, su fácil ejecución automatizada y su adecuación a la negociación programada. Pero también existe un cierto riesgo, que requiere una optimización adicional para que sus parámetros se ajusten más a la situación real del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-15 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2020

//@version=4
strategy("Noro's SimpleTurtle Strategy", shorttitle = "SimpleTurtle str", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 100, commission_value = 0.1)

//Settings
needlong  = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
sizelong  = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot long, %")
sizeshort = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot short, %")
fast      = input(20, minval=1)
slow      = input(50, minval=1)
showof    = input(true, defval = true, title = "Show offset")
showll    = input(true, defval = true, title = "Show lines")
showdd    = input(false, defval = true, title = "Show label (drawdown)")
showbg    = input(true, defval = true, title = "Show background")
fromyear  = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear    = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth   = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday   = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today     = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Donchian price channel fast
hf = highest(high, fast)
lf = lowest(low, fast)
center = (hf + lf) / 2

//Donchian price chennal slow
hs = highest(high, slow)
ls = lowest(low, slow)

//Lines
colorpc = showll ? color.blue : na
colorsl = showll ? color.red : na
offset = showof ? 1 : 0
plot(hs, offset = offset, color = colorpc)
plot(ls, offset = offset, color = colorpc)
plot(center, offset = offset, color = colorsl)

//Background
size = strategy.position_size
colorbg = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(colorbg, transp = 70)

//Orders
truetime = true
lotlong = 0.0
lotshort = 0.0
lotlong := size != size[1] ? strategy.equity / close * sizelong / 100 : lotlong[1]
lotshort := size != size[1] ? strategy.equity / close * sizeshort / 100 : lotshort[1]

//Orders
strategy.entry("Long", strategy.long, lotlong, stop = hs, when = needlong and strategy.position_size == 0 and truetime)
strategy.entry("Short", strategy.short, lotshort, stop = ls, when = needshort and strategy.position_size == 0 and truetime)
strategy.exit("Long", stop = center, when = needlong and strategy.position_size > 0)
strategy.exit("Short", stop = center, when = needshort and strategy.position_size < 0)
if true
    strategy.close_all()
    strategy.cancel("fast L")
    strategy.cancel("fast S")
    strategy.cancel("slow L")
    strategy.cancel("slow S")
    
if showdd

    //Drawdown
    max = 0.0
    max := max(strategy.equity, nz(max[1]))
    dd = (strategy.equity / max - 1) * 100
    min = 100.0
    min := min(dd, nz(min[1]))
    
    //Label
    min := round(min * 100) / 100
    labeltext = "Drawdown: " + tostring(min) + "%"
    var label la = na
    label.delete(la)
    tc = min > -100 ? color.white : color.red
    osx = timenow + round(change(time)*10)
    osy = highest(100)
    la := label.new(x = osx, y = osy, text = labeltext, xloc = xloc.bar_time, yloc = yloc.price, color = color.black, style = label.style_labelup, textcolor = tc)