Estratégia de negociação de momentum de ruptura de padrão combinada com método de otimização de stop-profit

TP SL
Data de criação: 2024-12-11 17:20:09 última modificação: 2024-12-11 17:20:09
cópia: 1 Cliques: 370
1
focar em
1617
Seguidores

Estratégia de negociação de momentum de ruptura de padrão combinada com método de otimização de stop-profit

Visão geral

A estratégia é um sistema de negociação de acompanhamento de tendências baseado na teoria de categorização de preços, que permite a automação de negociações através da identificação da estrutura de categorização de topo e fundo no mercado, combinando condições de disparo com um número fixo de pontos e configuração de paradas. O núcleo da estratégia é a configuração de pontos de entrada múltiplos no topo do tipo de fundo e pontos de entrada em branco no topo do tipo de topo, ao mesmo tempo em que o controle de risco é feito com os pontos de paragem correspondentes.

Princípio da estratégia

A lógica central da estratégia inclui os seguintes passos-chave:

  1. Identificação do tipo: identificação do tipo topo-base através da comparação dos pontos altos e baixos de três linhas K consecutivas. O tipo fundo é formado quando o ponto baixo da linha K intermediária é inferior aos dois lados da linha K; o tipo topo é formado quando o ponto alto da linha K intermediária é superior aos dois lados da linha K.
  2. Condições de admissão: após identificar o tipo inferior, coloque um preço de disparo único em 107 pontos acima dele; após identificar o tipo superior, coloque um preço de disparo único em 107 pontos abaixo dele.
  3. Estabelecimento de stop-loss: após a abertura de uma posição, o stop-loss é definido com o mesmo número de pontos (107 pontos) com base no preço de entrada.
  4. Gerenciamento de posições: O sistema mantém o controle de todas as posições atualizadas e atualiza o preço de entrada de acordo com o resultado.

Vantagens estratégicas

  1. Forte objetividade: a estratégia baseia-se em definições matemáticas claras para identificar a estrutura do mercado, evitando os desvios causados pelo julgamento subjetivo.
  2. Risco controlado: o parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro de parâmetro é definido.
  3. Boa adaptabilidade: a estratégia pode funcionar em diferentes ambientes de mercado, especialmente em mercados com maior volatilidade.
  4. Alto grau de automação: Todo o processo de transação, desde a identificação do sinal até a execução, é automatizado, reduzindo a intervenção humana.

Risco estratégico

  1. Risco de falsa ruptura: o mercado pode reverter imediatamente após uma ruptura de curto prazo, resultando em uma parada de perdas.
  2. Risco de mercado de turbulência: Em mercados de turbulência horizontal, a frequente classificação de topo e fundo pode levar a sinais de negociação excessivos.
  3. Risco de pontos fixos: o uso de pontos de entrada e de parada fixos pode não ser adequado para todos os cenários de mercado.
  4. Risco de deslizamento: em mercados altamente voláteis, pode haver um sério problema de deslizamento.

Direção de otimização da estratégia

  1. Otimização do número de pontos dinâmicos: o número de pontos de entrada e de parada pode ser ajustado dinamicamente de acordo com a volatilidade do mercado.
  2. Filtragem de tendências: adicionar indicadores de tendências e abrir posições apenas na direção das principais tendências.
  3. Identificação do cenário de mercado: adicionar um mecanismo de julgamento do cenário de mercado, usando diferentes configurações de parâmetros em diferentes estados de mercado.
  4. Optimização da gestão de posições: introdução de um sistema de gestão de posições dinâmico, ajustando o volume de abertura de posição de acordo com o valor líquido da conta e o risco de mercado.

Resumir

A estratégia, através da combinação da teoria de modelagem e da dinâmica de pensamento inovador, constrói um sistema de negociação completo. A vantagem da estratégia é o seu alto grau de objetividade e automação, mas também há um certo problema de adaptabilidade ao ambiente 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("Fractal Buy/Sell Strategy with 107 Pips Target", overlay=true)

// 输入参数
trigger_pips = input.int(107, title="Entry Distance (Pips)")  // 入场点距离底分型或顶分型的距离
take_profit_pips = input.int(107, title="Take Profit (Pips)") // 止盈点数

pip_value = syminfo.mintick * 10 // 点值(每点等于多少价格单位)

// 计算分型
is_bottom_fractal = low[1] < low[2] and low[1] < low[0] // 判断是否为底分型
is_top_fractal = high[1] > high[2] and high[1] > high[0] // 判断是否为顶分型

// 存储分型位置
var float last_bottom_fractal = na
var float last_top_fractal = na

// 更新分型值
if is_bottom_fractal
    last_bottom_fractal := low[1]
    
if is_top_fractal
    last_top_fractal := high[1]

// 计算开盘价格
bottom_trigger_price = na(last_bottom_fractal) ? na : last_bottom_fractal + trigger_pips * pip_value
top_trigger_price = na(last_top_fractal) ? na : last_top_fractal - trigger_pips * pip_value

// 交易逻辑:底分型多单和顶分型空单
if not na(last_bottom_fractal)
    if close <= bottom_trigger_price
        strategy.entry("Buy", strategy.long)
        strategy.exit("Take Profit", from_entry="Buy", limit=bottom_trigger_price + take_profit_pips * pip_value)
        
if not na(last_top_fractal)
    if close >= top_trigger_price
        strategy.entry("Sell", strategy.short)
        strategy.exit("Take Profit", from_entry="Sell", limit=top_trigger_price - take_profit_pips * pip_value)

// 绘制分型和触发价格
plotshape(series=is_bottom_fractal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bottom Fractal")
plotshape(series=is_top_fractal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Top Fractal")
plot(bottom_trigger_price, title="Buy Trigger", color=color.green, linewidth=1)
plot(top_trigger_price, title="Sell Trigger", color=color.red, linewidth=1)