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

Breakout dinâmico da caixa Darvas com sistema de negociação de confirmação de tendência de média móvel

Autora:ChaoZhang, Data: 2024-11-18 16:00:53
Tags:MA25SMA

img

Resumo

Este artigo apresenta um sistema de negociação de tendência que combina o Darvas Box e a média móvel de 25 períodos (MA25). A estratégia identifica zonas de consolidação de preços através da formação de caixa e confirma tendências com médias móveis para capturar fortes movimentos de mercado durante breakouts.

Princípios de estratégia

A estratégia consiste em três componentes principais:

  1. Construção da caixa de Darvas: O sistema determina os limites da caixa calculando os preços mais altos e mais baixos em 5 períodos.
  2. Confirmação da tendência da média móvel: uma média móvel simples de 25 períodos é introduzida como um filtro de tendência, considerando apenas as posições quando o preço está acima do MA25.
  3. Geração de sinais comerciais:
    • Comprar sinal: o preço quebra acima do box top e está acima do MA25
    • Sell Signal: Preço quebra abaixo do fundo da caixa

Vantagens da estratégia

  1. Forte tendência de capacidade:
    • Captura o início da tendência através de quebras de caixa
    • A filtragem MA25 assegura a negociação na direcção da tendência primária
  2. Optimização da qualidade do sinal:
    • Mecanismo de confirmação dupla reduz o risco de falha
    • Condições claras de entrada e saída evitando julgamentos subjetivos
  3. Controle de riscos abrangente:
    • O fundo da caixa forma naturalmente o nível de stop-loss
    • O MA25 fornece uma proteção de tendência adicional

Riscos estratégicos

  1. Risco de mercado turbulento:
    • As falhas frequentes podem conduzir a paradas consecutivas
    • Recomendado para utilização em mercados de forte tendência
  2. Risco de atraso:
    • A formação de caixas requer tempo, pode perder os primeiros movimentos.
    • O MA25 como média a médio prazo tem um atraso inerente
  3. Risco de gestão do dinheiro:
    • Requer uma adequada alocação de capital por negócio
    • Sugestão para ajustar dinamicamente o tamanho da posição com a volatilidade

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

  1. Optimização de parâmetros:
    • Período de enquadramento ajustável com base nas características do mercado
    • O período de MA pode ser ajustado às características do ciclo do mercado
  2. Reforço do sinal:
    • Pode adicionar o mecanismo de confirmação de volume
    • Considerar a implementação de stop-loss dinâmico
  3. Melhoria do controlo dos riscos:
    • Adicionar filtro de volatilidade
    • Implementar dimensionamento de posição dinâmica

Resumo

A estratégia constrói um sistema de negociação robusto, combinando a teoria clássica da caixa de Darvas com a tendência de média móvel. Sua principal vantagem reside em capturar efetivamente os mercados de tendência enquanto controla o risco através de múltiplos mecanismos de filtragem. Embora haja algum atraso inerente, a estratégia pode alcançar um desempenho estável nos mercados de tendência através da otimização adequada de parâmetros e gerenciamento de riscos.


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

//@version=5
strategy("DARVAS BOX with MA25 Buy Condition", overlay=true, shorttitle="AEG DARVAS")

// Input for box length
boxp = input.int(5, "BOX LENGTH")

// Calculate 25-period moving average
ma25 = ta.sma(close, 25)

// Lowest low and highest high within the box period
LL = ta.lowest(low, boxp)
k1 = ta.highest(high, boxp)
k2 = ta.highest(high, boxp - 1)
k3 = ta.highest(high, boxp - 2)

// New high detection
NH = ta.valuewhen(high > k1[1], high, 0)

// Logic to detect top and bottom of Darvas Box
box1 = k3 < k2
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 top and bottom Darvas Box lines
plot(TopBox, linewidth=3, color=color.green, title="Top Box")
plot(BottomBox, linewidth=3, color=color.red, title="Bottom Box")
plot(ma25, color=#2195f31e, linewidth=2, title="ma25")

// --- Buy and Sell conditions ---

// Buy when price breaks above the Darvas Box AND MA15
buyCondition = ta.crossover(close, TopBox) and close > ma25

// Sell when price drops below the Darvas Box
sellCondition = ta.crossunder(close, BottomBox)

// --- Buy and Sell Signals ---

// Plot BUY+ and SELL labels
plotshape(series=buyCondition, title="Buy+ Signal", location=location.abovebar, color=#72d174d3, style=shape.labeldown, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.belowbar, color=color.rgb(234, 62, 62, 28), style=shape.labelup, text="SELL")

// --- Strategy execution ---

if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.close("Buy")


Relacionados

Mais.