Estratégia de negociação unidirecional de rompimento de intervalo diário

OHLC ADX ATR MA RSI BB
Data de criação: 2024-12-11 15:23:37 última modificação: 2024-12-11 15:23:37
cópia: 1 Cliques: 382
1
focar em
1617
Seguidores

Estratégia de negociação unidirecional de rompimento de intervalo diário

Visão geral

Esta é uma estratégia de negociação de ruptura de intervalos baseada nos altos e baixos do dia anterior. A estratégia procura oportunidades de negociação identificando os altos e baixos do dia anterior, executando apenas uma transação em cada direção de ruptura ou queda. A estratégia usa uma configuração de stop loss de 50 pontos fixos e reinicializa o marcador de negociação no início de cada dia de negociação para garantir a ordem de negociação.

Princípio da estratégia

A lógica central da estratégia é a seguinte:

  1. Geração de sinais de negociação: O sistema determina a direção da negociação julgando se o preço de fechamento atual ultrapassou o máximo ou o mínimo do dia anterior. Quando o preço de fechamento ultrapassa o máximo do dia anterior, o sistema emite um sinal de multiplo; Quando o preço de fechamento cai o mínimo do dia anterior, o sistema emite um sinal de fechamento.
  2. Controle de frequência de transação: A estratégia usa marcas de ponto para garantir que cada direção executa apenas uma transação por dia. Este design evita transações repetidas na mesma zona de preços, reduzindo os custos de transação.
  3. Gerenciamento de Risco: Cada transação tem um limite fixo de 50 pontos de parada e perda. Esta forma de gerenciamento de risco simétrica permite controlar eficazmente o risco de uma única transação.
  4. Mecanismo de reinicialização diária: no início de cada dia de negociação, o sistema reinicializa o marcador de negociação para preparar o novo dia de negociação. Este mecanismo garante que a estratégia possa capturar novas oportunidades de negociação.

Vantagens estratégicas

  1. Lógicas de negociação claras: estratégias baseadas em uma simples teoria de ruptura de preços, regras de negociação claras, fáceis de entender e executar.
  2. Controle de risco rigoroso: o risco de cada transação é controlado de forma eficaz com um número fixo de pontos de stop-loss e um limite de negociação unidirecional.
  3. Evite o excesso de negociação: apenas uma transação por dia é permitida em cada direção, evitando os prejuízos causados por negociações frequentes em mercados turbulentos.
  4. Alto grau de automação: A execução da estratégia pode ser totalmente automatizada, sem necessidade de intervenção humana.
  5. Adaptabilidade: A estratégia pode ser aplicada em diferentes ambientes de mercado, especialmente em mercados com tendências evidentes.

Análise de Riscos

  1. Risco de Falsa Breakout: O mercado pode ter uma falsa breakout, resultando em perda de negociação. Recomenda-se a confirmação em combinação com outros indicadores técnicos.
  2. Risco de mercado de choque: Em mercados de choque horizontal, a frequência de rupturas e quedas pode levar a perdas contínuas. Isso pode ser melhorado com a adição de condições de filtragem.
  3. Risco de stop loss fixo: um número fixo de pontos de stop loss pode não ser adequado para todas as circunstâncias do mercado e pode parar prematuramente em mercados com maior volatilidade.
  4. Risco de deslizamento: Em situações de forte volatilidade do mercado, o deslizamento pode levar ao desvio do ponto de parada real das expectativas.

Direção de otimização

  1. Definição de stop loss dinâmico: o número de pontos de stop loss pode ser ajustado dinamicamente de acordo com a volatilidade do mercado (como o indicador ATR).
  2. Aumentar o filtro de tendência: Combine indicadores de tendência (como a média móvel ou ADX) para filtrar os sinais de negociação.
  3. Otimizar a confirmação de ruptura: pode-se aumentar a confirmação de volume de transação ou outros indicadores técnicos para melhorar a confiabilidade da ruptura.
  4. Filtragem de tempo: pode ser adicionado um filtro de tempo para evitar a negociação em períodos de maior volatilidade.
  5. Optimização da gestão de posições: o tamanho das posições pode ser ajustado dinamicamente de acordo com a volatilidade do mercado e a capacidade de assumir o risco da conta.

Resumir

A estratégia é um sistema de negociação clássico baseado em breakouts em intervalos de linha do sol, apropriado para acompanhar a tendência unidirecional do mercado por meio de um rigoroso gerenciamento de negociações e controle de risco. Embora existam alguns riscos inerentes, a estabilidade e a lucratividade da estratégia podem ser aumentadas com otimização e melhoria razoáveis. A chave para o sucesso da estratégia é lidar corretamente com o risco de falso breakout, definir de forma razoável o stop loss e manter a adaptabilidade da estratégia em diferentes ambientes de mercado.

Código-fonte da estratégia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("US 30 Daily Breakout Strategy (Single Trade Per Breakout/Breakdown, New York Time)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, trim_orders = true)

// Set pip size for US 30 (1 pip = 1 point)
var float pip = 1.0

// Set take profit and stop loss in points (1 pip = 1 point)
take_profit_pips = 50
stop_loss_pips = 50

// Calculate the previous day's high and low (assumes chart timezone is set to New York)
prevDayHigh = request.security(syminfo.tickerid, "D", high[1])
prevDayLow = request.security(syminfo.tickerid, "D", low[1])

// Initialize flags to track if a breakout/breakdown trade has been taken
var bool breakout_traded = false
var bool breakdown_traded = false

// Reset flags at the start of a new day in New York timezone (as per chart setting)
if (ta.change(time("D")))
    breakout_traded := false
    breakdown_traded := false

// Condition for a long entry: candle closes above the previous day's high and no breakout trade has been taken
longCondition = close > prevDayHigh and strategy.opentrades == 0 and not breakout_traded

// Condition for a short entry: candle closes below the previous day's low and no breakdown trade has been taken
shortCondition = close < prevDayLow and strategy.opentrades == 0 and not breakdown_traded

// Execute long trade if the condition is met, and set the breakout flag
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", limit=close + take_profit_pips * pip, stop=close - stop_loss_pips * pip)
    breakout_traded := true  // Set breakout flag

// Execute short trade if the condition is met, and set the breakdown flag
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Short", limit=close - take_profit_pips * pip, stop=close + stop_loss_pips * pip)
    breakdown_traded := true  // Set breakdown flag

// Plotting the previous day's high and low for visualization
plot(prevDayHigh, color=color.green, linewidth=1, title="Previous Day High")
plot(prevDayLow, color=color.red, linewidth=1, title="Previous Day Low")