
A estratégia de movimentos multicíclicos de confirmação de gráficos técnicos é um sistema de negociação baseado na identificação de formas de vários gráficos clássicos e na confirmação de movimentos. A estratégia é baseada na identificação de formas técnicas comuns no mercado, como o topo do ombro, o topo do ombro, o topo do ombro, o duplo topo, o duplo fundo, o triângulo (simétrico, ascendente, descendente), a bandeira, a constelação, etc., e confirma os sinais de entrada quando a forma se rompe. A estratégia combina habilmente o indicador ATR para definir níveis de stop loss e de queda dinâmicos, controlar o risco e bloquear os lucros.
O princípio central da estratégia é identificar as diferentes formas de gráficos através de uma série de funções condicionais e confirmar os sinais de negociação quando o preço ultrapassa os níveis críticos:
Identificação do ombro acima/abaixo da cabeça: Identificar a estrutura característica da forma de omoplatação por meio da comparação da relação de posicionamento de pontos altos/baixos consecutivos. A forma de omoplatação ocorre quando o ponto alto 1 é maior que o ponto alto 0, 2, 3, 4 e o ponto alto 0 é menor que os pontos altos 2 e 3.
Identificação dupla topo/base: Identifique as formas de topo duplo e fundo duplo através da análise da sequência de pontos altos / baixos. Na forma de topo duplo, o ponto alto 1 deve ser maior que o ponto alto circundante; na forma de fundo duplo, o ponto baixo 1 deve ser menor que o ponto baixo circundante.
Identificação de forma triangular:
Identificação da forma da bandeira: Identificar padrões de mudança contínua através da análise de altos e baixos.
Confirmação do sinal de transação:
Gestão de Riscos:
Identificação de formas sistematizadasA estratégia permite a identificação automática de vários tipos de gráficos clássicos, através da definição de funções condicionais claras, reduzindo o desvio causado pelo julgamento subjetivo.
Mecanismo de confirmação de sinalA estratégia não só identifica as formas de gráficos, mas também requer que o preço quebre os níveis críticos como confirmação, reduzindo o risco de falsas quebras.
Gestão de Riscos Dinâmicos: Use o indicador ATR para definir os níveis de stop loss e stop loss dinâmicos, para que o controle de risco seja mais adaptado às mudanças na volatilidade do mercado.
Cobertura multiformeA estratégia inclui vários formatos de gráficos clássicos, aumentando as oportunidades de negociação e adaptando-se a diferentes ambientes de mercado.
Apresentação visual: A estratégia usa a função plotshape para visualizar as formas identificadas no gráfico, ajudando o comerciante a entender e validar a lógica da estratégia.
Risco e retorno são razoáveisA estratégia estabelece três vezes o ATR como um stop, 1,5 vezes o ATR como um stop loss, com uma relação de risco-retorno de 1:2, de acordo com os princípios da gestão de risco eficaz.
Precisão limitada em reconhecimento de formasOs algoritmos atuais de reconhecimento de formas são relativamente simples e podem gerar erros ou omissões, especialmente em situações de grande ruído no mercado.
Sensibilidade do parâmetroA configuração do ciclo ATR e a configuração do múltiplo de stop loss e stop loss têm um impacto significativo na performance da estratégia e precisam ser otimizadas de acordo com diferentes mercados e prazos.
Risco de Falso BreakoutO mercado de criptomoedas continua a sofrer com o fenômeno das falsas rupturas, que podem levar a perdas desnecessárias de transações, apesar dos mecanismos de confirmação.
Identificação de forma repetidaAlgumas funções de reconhecimento de forma no código atual são semelhantes na lógica (como o topo de cabeça e ombro e o topo duplo) e podem levar a vários sinais a serem acionados no mesmo cenário de mercado, aumentando a frequência e o custo das transações.
Falta de filtragem de tendênciasA estratégia não leva em consideração a direção da tendência do mercado em geral, podendo gerar um sinal de reversão em uma tendência forte, resultando em negociações adversas.
Como evitar o risco:
Algoritmo de reconhecimento de forma melhorado:
Adição de confirmação de volume:
Filtragem de tendências:
Optimizar a gestão de riscos:
Aumentar o tempo de filtragem:
Análise de Multi-Framas de Tempo:
Essas melhorias podem aumentar significativamente a robustez e a eficiência das estratégias, porque:
A estratégia de confirmação de gráficos tecnológicos de dinâmica multicíclica é um sistema de negociação sistematizado, com regras claras, que gera sinais de negociação através da identificação de várias configurações de gráficos clássicos e combina a confirmação de ruptura. A estratégia utiliza o indicador ATR para gerenciamento de risco dinâmico, definindo uma taxa de retorno de risco razoável. Embora a versão atual do algoritmo de identificação de configurações seja relativamente simplificada, fornece uma boa base para otimização adicional.
/*backtest
start: 2024-02-29 00:00:00
end: 2025-02-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Chart Pattern Strategy - Full Set", overlay=true)
// ATR settings for stop loss and take profit
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)
stopLoss = atrValue * 1.5 // Stop loss 1.5 ATR
takeProfit = atrValue * 3 // Take profit 3 ATR
// Head and Shoulders Detection
isHeadAndShoulders() =>
high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]
// Double Top Detection
isDoubleTop() =>
high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]
// Double Bottom Detection
isDoubleBottom() =>
low[1] < low[2] and low[1] < low[0] and low[1] < low[3] and low[1] < low[4] and low[0] > low[2] and low[0] > low[3]
// Symmetrical Triangle Detection
isSymmetricalTriangle() =>
high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] > low[2]
// Ascending Triangle Detection (Bullish)
isAscendingTriangle() =>
high[2] < high[1] and low[2] > low[1] and high[3] < high[2] and low[3] > low[2]
// Descending Triangle Detection (Bearish)
isDescendingTriangle() =>
high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] < low[2]
// Flags/Pennants Detection
isFlagPattern() =>
high[1] < high[0] and low[1] > low[0] and high[2] < high[1] and low[2] < low[1]
// Entry Logic (Confirmation based on Breakouts)
longSignal = (isHeadAndShoulders() or isDoubleBottom() or isAscendingTriangle()) and close > high[1]
shortSignal = (isDoubleTop() or isDescendingTriangle() or isFlagPattern()) and close < low[1]
// Plotting Chart Patterns on the Chart
plotshape(isHeadAndShoulders(), title="Head and Shoulders", location=location.abovebar, color=color.red, style=shape.labelup, text="HS")
plotshape(isDoubleTop(), title="Double Top", location=location.abovebar, color=color.red, style=shape.labelup, text="DT")
plotshape(isDoubleBottom(), title="Double Bottom", location=location.belowbar, color=color.green, style=shape.labeldown, text="DB")
plotshape(isSymmetricalTriangle(), title="Symmetrical Triangle", location=location.top, color=color.blue, style=shape.triangledown, text="ST")
plotshape(isAscendingTriangle(), title="Ascending Triangle", location=location.belowbar, color=color.green, style=shape.labelup, text="AT")
plotshape(isDescendingTriangle(), title="Descending Triangle", location=location.abovebar, color=color.red, style=shape.labeldown, text="DT")
plotshape(isFlagPattern(), title="Flag Pattern", location=location.abovebar, color=color.orange, style=shape.triangledown, text="Flag")
// Executing Trades based on Patterns
if (longSignal)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=close - stopLoss, limit=close + takeProfit)
if (shortSignal)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=close + stopLoss, limit=close - takeProfit)