
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.
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:
Modelo Horn de várias cabeças:
Modo Horn em branco:
Condições de confirmação:
Condições de filtragem:
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
/*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