Estrategia de compra de la caja de Darvas

El autor:¿ Qué pasa?, Fecha: 2024-01-29 09:53:55
Las etiquetas:

img

Resumen general

La estrategia de compra de la caja de Darvas es una versión modificada de la estrategia de la caja de Darvas que solo se hace larga durante un mercado alcista.

Estrategia lógica

Esta estrategia se basa en la teoría de la caja de Darvas. La teoría de la caja de Darvas cree que cuando el precio sale de la caja después de una consolidación, es una buena señal de entrada larga.

Específicamente, la estrategia primero calcula el mínimo más bajo en los últimos 5 días para trazar la banda inferior de la caja. Luego calcula el máximo más alto en los últimos 5 días para trazar la banda superior. Cuando el precio de cierre se rompe por encima de la banda superior, indica que la tendencia se ha vuelto alcista y va largo en el precio de cierre.

Después de ir largo, la estrategia establece el stop loss cerca de la banda inferior de la caja, y el take profit en 5 veces el tamaño del stop loss.

Análisis de ventajas

Las ventajas de esta estrategia incluyen:

  1. Usar la teoría de la caja para identificar las entradas largas de persecución puede filtrar efectivamente algo de ruido.

  2. Solo ir largo en la señal de ruptura clara evita muchas operaciones al azar innecesarias.

  3. Tener un stop loss y un take profit predefinidos puede controlar bien el riesgo.

  4. Sólo comprar breakouts durante el mercado alcista evita los riesgos de mercados agitados y bajistas.

Análisis de riesgos

También hay algunos riesgos con esta estrategia:

  1. La teoría de la caja no es perfecta, la ruptura no garantiza un mayor aumento.

  2. En el caso de los instrumentos financieros, el riesgo de pérdida se calcula en función de la situación de los activos financieros.

  3. No hay mecanismo de salida, la retención a largo plazo puede ser riesgosa.

  4. Los parámetros pueden necesitar ajustes para diferentes mercados.

Algunos métodos para optimizar y mejorar en función de los riesgos:

  1. Combinar con más indicadores para confirmar la fiabilidad de las señales de ruptura.

  2. Considere esperar a que vuelva a hacerse la prueba o el segundo escape para confirmarlo antes de entrar.

  3. Agregue el stop loss para bloquear las ganancias.

  4. Prueba y optimización de parámetros utilizando diferentes datos de mercado.

Direcciones de optimización

Algunas direcciones en las que esta estrategia puede mejorarse son:

  1. Optimizar el parámetro de la caja, probar si diferentes parámetros del día pueden obtener mejores resultados.

  2. Añadir indicadores de filtrado para garantizar que las compras se ajusten a una tendencia al alza.

  3. Optimizar el stop loss y obtener ganancias para diferentes mercados.

  4. Agregue el stop loss para seguir las ganancias.

  5. Agregue señales de salida para obtener ganancias cuando haya una retirada.

Conclusión

La estrategia de compra de la caja Darvas es una estrategia simple pero efectiva de búsqueda de tendencias basada en la teoría de Darvas. Solo se utiliza para señales de compra claras para evitar operaciones al azar innecesarias. También tiene un stop loss predefinido y toma ganancias para controlar el riesgo.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Darvas Box Strategy - Buy Only", overlay=true)

start_date = timestamp(2023, 10, 15, 0, 0)

boxp = input(5, "BOX LENGTH")

LL = lowest(low, boxp)
k1 = highest(high, boxp)
k2 = highest(high, boxp - 1)
k3 = highest(high, boxp - 2)

NH = valuewhen(high > k1[1], high, 0)
box1 = k3 < k2
TopBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, NH, 0)
BottomBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, LL, 0)

plot(TopBox, linewidth=2, color=color.green, title="TopBox")
plot(BottomBox, linewidth=2, color=color.red, title="BottomBox")

// Define entry conditions
enterLong = crossover(close, TopBox)

// Define exit conditions
exitLong = false  // No specific exit condition mentioned in the original script

// Define stop loss level
stopLoss = BottomBox

// Define take profit level (2 times the stop loss)
takeProfit = stopLoss * 5

// Execute buy trade and set stop loss and take profit
strategy.entry("Buy", strategy.long, when = enterLong)
strategy.exit("Exit", "Buy", stop = stopLoss, limit = takeProfit)

// Plot buy signal arrow
plotshape(enterLong, title = "Buy Signal", style = shape.labelup, location = location.belowbar, color = color.green)

// Plot stop loss level
plot(stopLoss, linewidth=2, color=color.red, title="Stop Loss Level")

// Plot take profit level
plot(takeProfit, linewidth=2, color=color.rgb(19, 202, 111), title="Take Profit Level")

// Hide sell signal arrow
plotshape(false, title = "Sell Signal", style = shape.labeldown, location = location.abovebar, color = color.red, transp = 100)

Más.