Conteúdo do artigo

Evidências e escopo

O material citado fundamenta a terminologia e o contexto da pesquisa. Os limiares numéricos, a máquina de estados, a política de execução e os exemplos sintéticos apresentados a seguir são propostos por este projeto de pesquisa. Nenhum novo backtest foi realizado e as referências não comprovam a rentabilidade desta configuração.

Dados e mercadosUtilize dados validados OHLC com eventos corporativos tratados de forma consistente. Registre a bolsa, o tipo de instrumento e a unidade de volume. Um feed de volume de ticks de câmbio não representa o volume total do mercado; o volume à vista e o volume de contratos perpétuos não devem ser misturados.
Períodos gráficos da pesquisaH1, H4 e as barras diárias são configurações de pesquisa separadas. Os comprimentos das janelas, os custos de execução e os atrasos de confirmação devem ser calibrados em uma amostra de desenvolvimento. Nenhum período de tempo foi estabelecido como ideal para este detector.
O preço sobe, testa duas máximas perto de 100 e depois fecha abaixo da linha de pescoço em 96, com aumento de volume.Abrir ilustração em tamanho completo
Ilustração sintética criada para este artigo. As máximas são confirmadas posteriormente aos seus horários extremos. A linha de alvo é uma projeção, não uma previsão.

Fluxo de trabalho prático

Fluxo de trabalho de Topo e fundo duplos: neckline, volume e algoritmo causal
As etapas completas aparecem abaixo. Em cada etapa, dados ausentes ou condições não atendidas exigem o registro de um motivo de rejeição.
  1. Confirme os extremosAguarde H1–L1–H2, ou a sequência invertida de fundo duplo.
  2. Fixe a linha de pescoçoSalve o nível intermediário, a profundidade, as tolerâncias e o prazo de validade.
  3. Aguarde um cruzamento confirmado pelo fechamentoAceite o cruzamento somente depois da criação do candidato.
  4. Verifique a recompensa disponívelCalcule a meta geométrica e o risco a partir de um preço executável.
  5. Registre o resultado.Mantenha as negociações, os candidatos expirados e os candidatos invalidados.

O que a estrutura nos diz

Um topo duplo apresenta duas máximas semelhantes separadas por uma mínima; um fundo duplo inverte essa relação. O extremo intermediário define a linha de pescoço. A quebra dessa linha de pescoço completa a estrutura do gráfico descrita pela IG. [1] A fonte fornece uma definição de padrão, não evidências de que toda implementação ou limite de volume será lucrativo.

Uma interpretação útil é que o preço tenta continuar na direção anterior e falha. Dois toques, porém, não identificam quem distribui ou acumula posições. Antes do rompimento da linha de pescoço, a estrutura pode ser apenas uma pausa na tendência existente. Portanto, publique separadamente candidato criado, confirmação observada e candidato invalidado ou expirado. Essa separação impede registrar uma observação não negociada como ganho ou perda.

Regras que utilizam informações já disponíveis

Todos os limiares nesta implementação são propostas de pesquisa. Use pivôs que exigem três barras à esquerda e três à direita. Publique um pivô somente após o fechamento da terceira barra à direita: os pivôs têm um atraso de confirmação. [2] Quando o segundo topo estiver disponível, congele A = ATR(14), epsilon = max(2 ticks, 0.15A) e o buffer de breakout b = max(2 ticks, 0.10A).

Para a sequência cronológica H1, L1, H2, defina a profundidade D = min(H1,H2) − L1. Requer-se D ≥ 1.5A e |H2−H1| ≤ max(2epsilon, 0.1D). Os dois máximos devem estar separados por pelo menos sete barras. Uma tendência de alta antes de H1 pode ser definida como dois pares de máximos/mínimos mais altos já confirmados. Selecione essa regra de contexto antes de avaliar os resultados; não infira a tendência anterior a partir do que acontece após o padrão.

Defina a linha de pescoço como N=L1. Considere apenas o primeiro fechamento qualificado abaixo de N−b após a confirmação de H2 e a criação do padrão candidato. Se o preço cruzar a linha de pescoço durante o atraso de confirmação do pivô, esta versão ignora esse cruzamento. Não deve retroceder um sinal no tempo. Deixe o padrão candidato expirar após metade da duração do padrão, arredondada para cima, com um mínimo de cinco barras.

Armazene tanto o timestamp extremo quanto o timestamp de confirmação. Por exemplo, um sinal H2 que ocorre na barra 45 torna-se disponível após a barra 48 quando a janela à direita é de três barras. Um sinal candidato criado no fechamento de 48 pode começar a procurar um cruzamento na barra 49. Essa separação também possibilita testar se a adição de novas barras nunca altera um sinal já publicado.

on_close(t):
  update_confirmed_pivots(left=3, right=3)
  if new_H2 and valid(H1,L1,H2): freeze(candidate, A, N, D, expiry)
  if candidate and t > candidate.created:
    if High[t] > max(H1,H2)+epsilon: cancel
    elif t > expiry: expire
    elif Close[t-1] >= N-b and Close[t] < N-b: emit SHORT
# For double bottoms, reverse comparisons and use L1-H1-L2 with LONG.

Atribua uma função específica ao volume

Teste o volume em camadas separadas: sem filtro de volume, volume menor em torno da segunda máxima e volume maior na quebra da linha de pescoço. Para dados diários, uma medida proposta é RVOL = V[t]/median(V[t−20:t−1]). Um limiar de 1.5 é uma configuração experimental, não uma regra universal. Compare janelas de igual duração em torno das máximas; caso contrário, uma primeira alta mais longa pode parecer mais ativa simplesmente por conter mais barras.

Menor atividade na segunda tentativa é compatível com uma hipótese de falha em continuar, mas atividade alta também pode acompanhar absorção. Uma coluna de volume não prova que os compradores enfraqueceram. Para dados intradiários, compare os mesmos horários de sessões anteriores. Registre volume ausente ou zero anormal como indisponível, sem tratá-lo como evidência muito forte de contração do volume.

Exemplos numéricos e casos de falha

Exemplo sintético: H1=100, L1=96, H2=100.2, A=1 e tamanho do tick size=0.01. Então D=4, epsilon=0.15 e b=0.10. A diferença de 0.2 entre as máximas está dentro da tolerância de 0.4. Um fechamento em 95.85 confirma o rompimento. Se for possível vender a descoberto em 95.75, o stop estrutural é 100.35 e o alvo projetado N−D é 92. O ganho potencial é 3.75 para risco de 4.60: apenas 0.82R antes dos custos. O padrão é válido, mas não atende ao mínimo proposto de 1.5R.

Exemplo de falha: após a mesma estrutura inicial, o preço fecha em 96.05 e depois sobe para 100.6. Não houve fechamento abaixo de 95.90, portanto o candidato foi invalidado sem que a operação fosse realizada. Em um caminho diferente, uma posição vendida já aberta em 95.75 pode atingir seu stop loss. Essa operação permanece como prejuízo, mesmo que um gráfico posterior mostre o rompimento como obviamente falso. Validade do padrão, validade do gatilho e resultado da operação são termos diferentes.

Entrada, invalidação e saídas

A linha de base entra no próximo evento executável após o fechamento de confirmação. Posicione o stop acima do pico mais alto mais epsilon e fixe o alvo em N−D. Um stop acima de H2 isoladamente constitui uma estratégia separada com uma distribuição de risco diferente. Para fundos duplos, posicione o stop abaixo do vale mais baixo e projete o alvo para N+D.

Antes de enviar a ordem, use uma cotação executável para calcular risco por unidade e tamanho da posição dentro de um orçamento fixo. Um gap observado depois da execução não pode cancelar retroativamente a operação. Se stop e alvo estiverem na faixa da mesma barra OHLC posterior, use dados mais detalhados ou uma convenção conservadora previamente registrada sobre a sequência dos eventos.

Um teste útil insere um salto de preço entre a confirmação e a próxima cotação negociável. O detector mantém o mesmo horário do sinal e os níveis estruturais; a camada de execução muda o preço executado, tamanho da posição ou motivo de rejeição antes do envio. Isso separa falta de viabilidade econômica da operação de falha em reconhecer o padrão. Inclua spread, comissões e slippage na relação final recompensa/risco.

Testando o valor incremental

Um controle útil é romper a mínima mais recente após uma tendência de alta, sem exigir máximas semelhantes. Compare expectativa líquida, drawdown, oportunidades e candidatos rejeitados por baixa recompensa em relação ao risco. Não avalie apenas se o preço começou na direção esperada. Separe cronologicamente amostras de desenvolvimento e teste, fixando tolerâncias antes do teste final. [3] oferece contexto de pesquisa, sem validar esta configuração.

Salve todos os candidatos assim que forem criados, incluindo aqueles que expiram. Coletar apenas padrões concluídos remove sistematicamente as falhas antes da confirmação. Combine candidatos sobrepostos na mesma faixa de preço em um único evento ou aplique uma política de uma posição por região. Separe as tentativas de reversão das falhas de continuação ao relatar os resultados.

As verificações de implementação devem incluir máximas desiguais dentro e fora da tolerância, um toque na linha de pescoço sem um fechamento qualificado, um cruzamento antecipado durante o atraso do pivô, expiração imediatamente antes de um cruzamento e uma barra que viola a invalidação estrutural, bem como a linha de pescoço. O pseudocódigo atribui prioridade de invalidação para esse último caso. Uma ordem diferente é possível, mas deve ser uma versão nomeada, em vez de uma escolha feita após a observação do resultado.

Erros comuns

Entrando no segundo extremo

Essa é uma estratégia antecipatória com um momento diferente da confirmação da linha de pescoço; relate-a separadamente.

Redesenhar as máximas para salvar um candidato

Congele as âncoras. Se as atualizações forem permitidas, crie uma nova versão candidata com seu próprio carimbo de data/hora.

Alvo atraente, risco excessivo

A altura do padrão não garante recompensa suficiente para cobrir a distância de parada e os custos de execução.

Lista de verificação antes de usar este método

Marque cada item após verificá-lo nos seus dados. O progresso fica salvo neste navegador; isso não certifica que a estratégia seja lucrativa.

0/6 itens

Perguntas frequentes

Os dois picos precisam ter exatamente o mesmo preço?

Não. Uma tolerância baseada em ATR e no tamanho do tick evita a dependência do preço nominal. Teste tolerâncias próximas em vez de escolher uma que se ajuste a alguns exemplos atraentes.

O reteste da linha de pescoço é obrigatório?

Não. A entrada no reteste é uma variante separada, com prazo de espera, gatilho de reação e regra para oportunidades sem execução. Não suponha que todo rompimento retorne à linha de pescoço.

Fontes de pesquisa

Cada fonte sustenta a definição ou evidência descrita ao lado. O pseudocódigo, os exemplos sintéticos e os parâmetros propostos exigem validação separada.

  1. IG: How to trade double tops and double bottomsIG. Geometria de padrões e terminologia de confirmação; a seção pública relevante foi lida. Verificado em: .
  2. TradingView: RepaintingTradingView. Atraso na confirmação do pivô e repintura. Verificado em: .
  3. Lo, Mamaysky, Wang: Foundations of Technical AnalysisNBER / Columbia University. Contexto de pesquisa sistemática de padrões; o estudo citado não testa esta configuração. Verificado em: .

Métodos relacionados

Nota de risco

Este conteúdo apoia a educação e o planejamento de pesquisas, não constitui aconselhamento financeiro. O Backtest é uma simulação histórica, não garante desempenho futuro e não executa operações reais. Os métodos desta biblioteca não são necessariamente recursos disponíveis no aplicativo. Consulte a metodologia e a central de aprendizado.

Valide as regras antes de arriscar capital real

Verifique o suporte do aplicativo, os dados e cada operação simulada; detectores avançados podem exigir uma implementação própria.

Baixe o Backtest na App Store