Estratégia de identificação de reversão de preço multibanda: baseada no padrão Horn e na tecnologia de filtragem de tendência EMA

ATR EMA 趋势过滤 价格结构 反转识别 波动率过滤
Data de criação: 2025-06-09 15:46:32 última modificação: 2025-06-09 15:46:32
cópia: 0 Cliques: 285
2
focar em
319
Seguidores

Estratégia de identificação de reversão de preço multibanda: baseada no padrão Horn e na tecnologia de filtragem de tendência EMA Estratégia de identificação de reversão de preço multibanda: baseada no padrão Horn e na tecnologia de filtragem de tendência EMA

Visão geral

A estratégia de identificação de reversão de preço de banda múltipla é uma estratégia de negociação baseada na estrutura de preços, cujo núcleo se baseia no “Horn Mode” (conformidade angular) para capturar oportunidades de reversão de curto prazo no mercado. A estratégia combina a identificação de forma, o filtro de tendência e a confirmação de taxa de flutuação em três dimensões, e aciona o sinal de negociação ao identificar um padrão de combinação de três K-linhas específicas e, quando a quarta K-linha (conformidade K) atende a condições específicas. A estratégia usa o EMA20 como principal ferramenta de filtragem de tendências, garantindo que a direção de negociação esteja de acordo com a tendência de médio prazo, enquanto o ATR é usado para filtrar o ambiente de baixa taxa de flutuação, melhorando efetivamente a qualidade de negociação.

Princípio da estratégia

O princípio central da estratégia baseia-se no “modelo Horn” da estrutura de preços, ou seja, um padrão de preço específico formado por três linhas K:

  1. Modelo Horn de várias cabeças

    • Requer três linhas K[3]、bar[2]、bar[1]) no meio da linha K ((bar[2]) é maior que o mínimo de ambos os lados da linha K
    • A primeira e a terceira linha K devem ser a linha Y (o preço de fechamento é maior que o preço de abertura)
    • Formação de uma estrutura em forma de W de “ponto baixo-ponto alto-ponto baixo”
  2. Modo Horn em branco

    • Exigir que o ponto mais alto da linha K do meio seja menor do que o ponto mais alto de cada lado da linha K
    • A primeira e a terceira raiz K devem ser negativas (o preço de fechamento é inferior ao preço de abertura)
    • Formação de uma estrutura em forma de M que forma um “ponto alto-ponto baixo-ponto alto”
  3. Condições de confirmação

    • Multi-cabeça: Quarta linha K (confirmando a linha K) O preço de fechamento deve ultrapassar o ponto mais alto das três primeiras linhas K e ser a linha Y
    • Sinal de cabeça vazia: o quarto fechamento da linha K deve ultrapassar o ponto mais baixo das três primeiras linhas K e ser a linha negativa
  4. Condições de filtragem

    • Filtragem de tendência: sinal de multi-cabeça requer confirmação de que o preço de fechamento da linha K está acima da EMA20 e sinal de cabecera requer confirmação de que o preço de fechamento da linha K está abaixo da EMA20
    • Filtragem de taxa de flutuação: a amplitude de flutuação da linha K confirmada ou da linha K anterior deve ser maior do que a ATR, garantindo a evitação de ambientes de baixa flutuação

A estratégia usa um método preciso de configuração de preço de entrada e gerenciamento de risco: a entrada de ticks adiciona uma unidade mínima de flutuação à entrada de ticks baseada na confirmação do preço de fechamento da linha K, e a entrada de ticks subtrai uma unidade mínima de flutuação à entrada de ticks baseada na confirmação da linha K. O ponto de parada é configurado no modelo Horn: o ponto de parada é 1R, o objetivo de parada é 1R, e a taxa de retorno do risco é 1: 1.

Vantagens estratégicas

  1. Lógica de transação estruturadaA estratégia baseia-se na estrutura de preços e identificação de formas claras, reduzindo o julgamento subjetivo e aumentando a consistência e a repetibilidade das transações.

  2. Mecanismo de filtragem múltiplaO filtro de tendência EMA e o filtro de taxa de flutuação ATR aumentaram significativamente a qualidade do sinal, evitando transações erradas em condições de mercado adversas.

  3. Acesso preciso e gestão de riscosA estratégia estabelece pontos de entrada, de parada e de parada definidos, o que torna a gestão de risco simples e eficaz, e o risco de cada transação é conhecido antecipadamente.

  4. Ajuda visualA estratégia: A estratégia traça as linhas de estrutura, as linhas de entrada e as linhas de preço de alvo do modelo Horn no gráfico, ajudando os comerciantes a entender intuitivamente a lógica de negociação e a movimentação de preços.

  5. Altamente adaptávelA estratégia aplica-se a vários intervalos de tempo (de 5 minutos a 1 hora) e variedades de alta volatilidade, com uma ampla gama de cenários de aplicação.

  6. Ajustabilidade dos parâmetrosOs parâmetros-chave, como o comprimento da EMA, o comprimento do ATR e os valores de variação de volatilidade, podem ser ajustados de acordo com as diferentes condições de mercado e preferências pessoais, aumentando a flexibilidade da estratégia.

Risco estratégico

  1. Risco de Falso BreakoutEm mercados de alta volatilidade, os preços podem formar falsas rupturas, revertendo rapidamente após o sinal de disparo, levando ao disparo do stop loss. A solução é adicionar indicadores de confirmação adicionais ou ajustar o tempo de entrada, por exemplo, esperando a chamada de retorno para entrar novamente.

  2. Incerteza sobre o ponto de viragem da tendência: perto do ponto de reversão de tendência, a filtragem EMA pode causar a perda do sinal de reversão inicial. Considere adicionar outras ferramentas de reconhecimento de tendência ou configurar parâmetros EMA mais sensíveis para mitigar este problema.

  3. Risco de um ambiente de baixa liquidez: Em um ambiente de baixa liquidez, o deslizamento pode levar o preço de entrada real a desviar-se do preço ideal, afetando a taxa de retorno do risco. Recomenda-se usar esta estratégia para negociar variedades de alta liquidez ou durante as principais negociações.

  4. Sensibilidade do parâmetro: A escolha dos parâmetros EMA e ATR tem um impacto significativo na performance da estratégia. Diferentes cenários de mercado podem exigir diferentes configurações de parâmetros. Recomenda-se a otimização dos parâmetros através da retrospectiva em diferentes condições de mercado.

  5. Risco de perdas contínuasQualquer estratégia de negociação tem a possibilidade de perdas contínuas, e um programa de gestão de fundos razoável é necessário para controlar o risco de uma única transação e evitar um grande retração da curva de fundos.

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

  1. Confirmação do Multi-TemposIntrodução de mecanismos de confirmação de tendências de prazos mais elevados, executando operações apenas quando as tendências de prazos mais elevados estão alinhadas, melhorando a qualidade do sinal. Isso pode ser feito adicionando EMAs de períodos mais longos ou outros indicadores de tendências.

  2. Mecanismo de travagem dinâmicaA estratégia atual usa um objetivo de parada 1R fixo, e pode considerar a introdução de mecanismos de parada dinâmica, como um stop loss de rastreamento ou uma parada dinâmica baseada em ATR, para obter mais lucro em uma tendência forte.

  3. A flutuação é auto-adaptávelA estratégia atual usa o limite ATR fixo para filtrar o ambiente de baixa volatilidade, podendo ser considerado um mecanismo de auto-adaptação da taxa de flutuação para ajustar o limite automaticamente de acordo com as características de flutuação do mercado recente.

  4. Optimização de entradaConsidere adicionar a lógica de entrada de retorno, esperando uma pequena retorno após o sinal de confirmação para entrar novamente, possivelmente obtendo um melhor preço de entrada e um melhor retorno de risco.

  5. Confirmação de comportamento de preçosBaseado no Modelo Horn Básico, o aumento de fatores de confirmação de comportamento de preços, como confirmação de volume de transação, confirmação de forma de gráfico, etc., aumenta ainda mais a qualidade do sinal.

  6. Integração de aprendizado de máquinaConsidere a introdução de algoritmos de aprendizagem de máquina para identificar os padrões de Horn com maior probabilidade de sucesso por meio de modelos de treinamento de dados históricos, para permitir a seleção inteligente da qualidade do sinal.

Resumir

A estratégia de identificação de reversão de preço de banda múltipla é um sistema de negociação que combina a identificação da estrutura de preços, a filtragem de tendências e a confirmação da taxa de flutuação, para executar a negociação em conformidade com a tendência de médio prazo, capturando sinais de reversão de hornos específicos. A vantagem da estratégia reside na lógica de negociação claramente estruturada, na gestão de riscos precisa e no mecanismo de filtragem múltipla, que é adequado para que os comerciantes de médio e curto prazo capturem oportunidades de reversão no mercado.

Os riscos estratégicos são gerados principalmente pela incerteza e sensibilidade de parâmetros de falsas rupturas e pontos de mudança de tendência, mas podem ser gerenciados de forma eficaz com o aumento de mecanismos de confirmação adicionais, configuração de parâmetros de otimização e gerenciamento de fundos melhorados. As direções de otimização futuras incluem confirmação de múltiplos quadros temporais, mecanismos de parada dinâmica, adaptação de taxa de flutuação e integração de aprendizado de máquina, que podem aumentar ainda mais a robustez e a lucratividade das estratégias.

Em geral, a estratégia oferece aos comerciantes uma maneira sistemática e quantificável de identificar e negociar os reversos de preços, combinada com uma gestão racional do risco e otimização contínua, com o potencial de ser uma ferramenta eficaz na caixa de ferramentas dos comerciantes.

Código-fonte da estratégia
/*backtest
start: 2024-06-09 00:00:00
end: 2024-12-03 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("🦌 Horn Pattern - Horn + FT - Ming Joo", overlay=true, max_lines_count=500)

// 样式设置
bullColor = input.color(color.green, "Bullish Horn")
bearColor = input.color(color.red, "Bearish Horn")
showEntry = input.bool(true, "Show Entry")

tightRangeThreshold = input.float(0.5, title="Panda Threshold (×ATR)")
atrLen = input.int(14, title="ATR Length")
atr = ta.atr(atrLen)


// bar 类型判断
isBull(i) => close[i] > open[i]
isBear(i) => close[i] < open[i]

// 熊猫烧香判断
//pandaHighRange = math.abs(math.max(high[1], high[2], high[3]) - math.min(high[1], high[2], high[3]))
//pandaLowRange = math.abs(math.max(low[1], low[2], low[3]) - math.min(low[1], low[2], low[3]))



// ========== Bull Horn 条件(bar[3], [2], [1])==========
bullHornPattern =  (low[2] > low[3] and    low[2] > low[1])  and  (  isBull(1)  and isBull(3) )


// ========== FT bar 确认(bar[0])==========
bullFT = bullHornPattern and    close > high[2] and    close > open and    high > math.max(high[3], high[2], high[1])


bearHornPattern =     high[2] < high[3] and    high[2] < high[1] and   (isBear(1)  and isBear(3))

// ========== FT bar 确认(bar[0])==========
bearFT = bearHornPattern and    close < low[2] and    close < open and    low < math.min(low[3], low[2], low[1])
// ========== 控制箭头的显示 ==========
var bool showBullArrow = false
var bool showBearArrow = false

tick = syminfo.mintick

emaLen = input.int(20, title="EMA Filter Length")
ema20 = ta.ema(close, emaLen)


contextFilter_bull = close > ema20  and  (math.abs(high[1]-low[1]) > atr or math.abs(high-low) > atr)
contextFilter_bear = close < ema20  and (math.abs(high[1]-low[1]) > atr or math.abs(high-low) > atr)

// === Bull Horn 执行逻辑 ===
if bullFT and contextFilter_bull
    hornLow = math.min(low[3], low[2], low[1])
    hornHigh = math.max(high[3], high[2], high[1])

    entry = close + tick

    stop = hornLow - tick
    r = entry - stop
    tp = entry + r

    strategy.entry("Long Horn", strategy.long,limit = entry)
    strategy.exit("Exit Long", from_entry="Long Horn", stop=stop, limit=tp)



// === Bear Horn 执行逻辑 ===
if bearFT and contextFilter_bear
    hornHigh = math.max(high[3], high[2], high[1])
    hornLow = math.min(low[3], low[2], low[1])

    entry = close - tick
    stop = hornHigh + tick
    r = stop - entry
    tp = entry - r


    strategy.entry("Short Horn", strategy.short,limit = entry)
    strategy.exit("Exit Short", from_entry="Short Horn", stop=stop, limit=tp)



// ========== 全局画箭头标记 ==========
plotshape(showBullArrow, location=location.belowbar, offset=-2, color=bullColor, style=shape.triangleup, size=size.small, title="Bull Arrow")
plotshape(showBearArrow, location=location.abovebar, offset=-2, color=bearColor, style=shape.triangledown, size=size.small, title="Bear Arrow")

// 重置
showBullArrow := false
showBearArrow := false