O recurso está a ser carregado... Carregamento...

Darvas Box Breakout e Gestão de Riscos

Autora:ChaoZhang, Data: 2024-07-29 14:22:29
Tags:MACDRSI

img

Resumo

A Estratégia de Gerenciamento de Risco e Breakout da Caixa Darvas é uma abordagem quantitativa de negociação que combina análise técnica com gerenciamento de risco. Baseada na teoria da Caixa Darvas de Nicholas Darvas, esta estratégia visa capturar potenciais tendências de alta identificando breakouts de preços acima de máximos históricos. A estratégia também incorpora vários indicadores técnicos e medidas de controle de risco para melhorar a precisão e segurança da negociação.

Analisando o código fornecido, podemos ver que o núcleo desta estratégia é construir caixas Darvas, gerando sinais de compra quando o preço quebra acima do limite superior da caixa e sinais de venda quando cai abaixo do limite inferior.

Princípios de estratégia

  1. Construção da caixa Darvas:

    • Utilize oinput.int() função para definir o período da caixa (boxp), por defeito para 5 períodos.
    • Calcular o mínimo mínimo (LL) e o máximo máximo (k1, k2, k3) no período.
    • Determinar as novas máximas (NH) e as condições de formação das caixas (caixa 1).
    • Defina a parte superior (TopBox) e inferior (BottomBox) da caixa.
  2. Geração de sinais de negociação:

    • Signal de compra (Buy): Ativado quando o preço de fechamento ultrapassa o limite superior da caixa.
    • O preço de fechamento é o preço de saída do mercado, o que significa que o preço de fechamento está abaixo do limite inferior da caixa.
  3. Execução da estratégia:

    • Utilize a função strategy.entry() para abrir uma posição longa quando um sinal de compra aparecer.
    • Usar a função strategy.close( para fechar a posição quando um sinal de venda aparecer.
  4. Visualização:

    • Use a função plot() para desenhar os limites superior e inferior da caixa Darvas.
    • Use a função plotshape() para marcar sinais de compra e venda no gráfico.
  5. Gestão de riscos:

    • Definir a proporção de fundos para cada transação utilizando os parâmetros default_qty_type e default_qty_value.
    • Controlar o tamanho da caixa, afetando indiretamente o intervalo de stop-loss, ajustando o parâmetro boxp.

Vantagens da estratégia

  1. Seguimento da tendência: A estratégia Darvas Box capta eficazmente as tendências de alta do mercado, particularmente adequada para gerar rendimentos substanciais em mercados fortes.

  2. Objectividade: a estratégia baseia-se em modelos matemáticos e indicadores técnicos claros, reduzindo os preconceitos resultantes de julgamentos subjetivos.

  3. Controle de riscos: Ao fixar uma proporção fixa de fundos para negociação, controla efetivamente a exposição ao risco de negociações individuais.

  4. Flexibilidade: os parâmetros da estratégia são ajustáveis, adaptando-se aos diferentes ambientes de mercado e instrumentos de negociação.

  5. Suporte visual: Ao exibir intuitivamente caixas Darvas e sinais de negociação no gráfico, facilita aos comerciantes a compreensão e monitoramento da execução da estratégia.

  6. Negociação automatizada: a estratégia pode ser facilmente integrada em sistemas de negociação automatizados, reduzindo a intervenção humana.

Riscos estratégicos

  1. Risco de Falsa Breakout: Em mercados oscilantes, podem ocorrer frequentes Falsa Breakouts, levando a sinais excessivos e errôneos.

  2. Lag: A formação de caixas Darvas leva tempo, potencialmente perdendo algumas oportunidades de mercado rápidas.

  3. Risco de retração: em mercados altamente voláteis, os preços podem recuar rapidamente após o desencadeamento de um sinal de compra, causando perdas significativas.

  4. Sensibilidade do parâmetro: o desempenho da estratégia é relativamente sensível à configuração do parâmetro boxp; parâmetros inadequados podem levar a um desempenho da estratégia fraco.

  5. Falta de mecanismo de obtenção de lucros: a estratégia atual não possui um mecanismo claro de obtenção de lucros, potencialmente perdendo oportunidades ideais de realização de lucros.

Para mitigar esses riscos, considere as seguintes medidas:

  • Combine outros indicadores técnicos como médias móveis ou RSI para filtrar falsos sinais de ruptura.
  • Adotar estratégias dinâmicas de stop-loss, tais como trailing stops, para melhor proteger os lucros.
  • Introduzir indicadores de volatilidade para ajustar o tamanho das operações ou pausar as operações durante períodos de alta volatilidade.
  • Otimizar o parâmetro boxp através de backtesting para encontrar a configuração mais adequada para o mercado-alvo.
  • Adicionar condições de obtenção de lucro, tais como o fechamento automático de posições quando os preços atingirem certos níveis de lucro.

Orientações para a otimização da estratégia

  1. Confirmação do sinal:

    • Integrar cruzamento de médias móveis ou indicadores MACD para confirmar a validade dos breakouts.
    • Introduzir análise de volume, confirmando sinais de ruptura apenas quando acompanhados de aumentos significativos de volume.
  2. Ajuste de parâmetros dinâmicos:

    • Ajustar dinamicamente o parâmetro boxp com base na volatilidade do mercado, utilizando boxp maior em períodos de baixa volatilidade e boxp menor em períodos de alta volatilidade.
    • Implementar tamanhos adaptáveis de caixas Darvas que se ajustem automaticamente com base na recente volatilidade dos preços.
  3. Optimização da gestão de riscos:

    • Adicionar mecanismos dinâmicos de stop-loss, tais como paradas percentual ou paradas ATR.
    • Implementar o dimensionamento das posições com base nos rácios risco-retorno, aumentando as posições para os rácios risco-retorno elevados e diminuindo para os baixos.
  4. Análise de vários prazos:

    • Construir caixas de Darvas em prazos maiores para determinar tendências gerais.
    • Procure oportunidades de entrada em prazos menores para melhorar a precisão da negociação.
  5. Integração de aprendizagem de máquina:

    • Usar algoritmos de aprendizagem de máquina para prever a probabilidade de sucesso de fuga de caixa Darvas.
    • Otimizar os parâmetros da estratégia através de modelos de aprendizagem profunda para melhorar o desempenho geral da estratégia.
  6. Adaptação ao ambiente de mercado:

    • Introduzir mecanismos de reconhecimento do ambiente de mercado, adotando diferentes estratégias de negociação para diferentes estados de mercado (tendência, oscilação, reversão).
    • Ajustar automaticamente a frequência e o tamanho das negociações durante períodos de alta volatilidade para se adaptar às alterações do mercado.

Estas direcções de otimização visam melhorar a estabilidade e a rentabilidade da estratégia, reduzindo simultaneamente os riscos.

Conclusão

A Estratégia de Gerenciamento de Riscos e Breakout da Caixa Darvas é uma abordagem quantitativa de negociação que combina métodos clássicos de análise técnica com conceitos modernos de controle de risco.

Através de uma análise e otimização aprofundadas, propusemos várias direções de melhoria, incluindo confirmação de sinal, ajuste de parâmetros dinâmicos, otimização do gerenciamento de riscos, análise de vários prazos, integração de aprendizado de máquina e adaptação ao ambiente de mercado.

Para os traders, entender e implementar corretamente essa estratégia requer profundo conhecimento do mercado e habilidades de análise técnica. O backtesting contínuo e a otimização de parâmetros também são fundamentais para manter a eficácia da estratégia. Como os ambientes de mercado mudam constantemente, a estratégia precisa evoluir continuamente para manter sua competitividade. Através da aprendizagem e melhoria contínua, a estratégia Darvas Box Breakout and Risk Management tem o potencial de se tornar uma ferramenta poderosa no arsenal de um trader.


/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Darvas Box Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Input settings
boxp = input.int(defval=5, title="Length", minval=1, maxval=500)

// Calculate the lowest low and highest highs
LL = ta.lowest(low, boxp)
k1 = ta.highest(high, boxp)
k2 = ta.highest(high, boxp - 1)
k3 = ta.highest(high, boxp - 2)

// Calculate New High (NH)
NH = ta.valuewhen(high > k1[1], high, 0)
box1 = k3 < k2

// Define the top and bottom of the Darvas Box
TopBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, NH, 0)
BottomBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, LL, 0)

// Plot the Darvas Box
plot(TopBox, linewidth=2, color=color.new(color.green, 0), title="TBbox")
plot(BottomBox, linewidth=2, color=color.new(color.red, 0), title="BBbox")

// Buy and Sell signals
Buy = ta.crossover(close, TopBox)
Sell = ta.crossunder(close, BottomBox)

// Set strategy orders
if (Buy)
    strategy.entry("Buy", strategy.long)
if (Sell)
    strategy.close("Buy")

// Alert conditions
alertcondition(Buy, title="Buy Signal", message="Buy")
alertcondition(Sell, title="Sell Signal", message="Sell")

// Plot Buy and Sell signals
plotshape(Buy, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), size=size.tiny, title="Buy Signal", text="Buy", textcolor=color.black)
plotshape(Sell, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny, title="Sell Signal", text="Sell", textcolor=color.white)


Relacionados

Mais.