Discussão do artigo "Estudo de técnicas de análise de velas (Parte II): Busca automática de novos padrões"

 

Novo artigo Estudo de técnicas de análise de velas (Parte II): Busca automática de novos padrões foi publicado:

No artigo anterior, nós analisamos 14 padrões selecionados de uma grande variedade de formações de velas existentes. É impossível analisar todos os padrões um por um, portanto, outra solução foi encontrada. O novo sistema busca e testa novos padrões de velas com base nos tipos de velas conhecidos.

Para desenvolver o novo algoritmo de geração de padrão de velas, nós precisamos definir as regras principais:

  • Novos padrões consistirão em um, dois ou três tipos simples de velas.
  • Os tipos simples de vela são: vela de alta, vela de baixa, spinning top, doji, marubozu e martelo.
  • Os tipos de vela serão divididos com base na direção: alta e baixa. A exceção é para a vela doji.
  • Tipos simples de velas podem ser repetidos. Exemplo: um padrão de duas velas de alta baixista.

O esquema geral de criação de novos padrões é exibido na Figura 1.


Fig.1 Novos algoritmos de criação de padrões.

Assim, nós temos um certo conjunto de velas, dos quais novos padrões serão formados. Esses novos padrões conterão de 1 a 3 velas com ou sem repetições. O agrupamento conterá 11 velas básicas, no total. Os padrões de velas gerados serão analisados de acordo com o mesmo princípio, que foi discutido no primeiro artigo.

Autor: Alexander Fedosov

 

Seria útil dividir o intervalo analisado em dois segmentos - selecionar padrões promissores em um segmento e verificar sua consistência no segundo segmento (análogo a dentro e fora da amostra).

Ou fazer a configuração do intervalo em ambos os lados, de modo que você possa limitar o intervalo analisado manualmente.

 
Andrey Khatimlianskii:

Seria útil dividir o intervalo analisado em dois segmentos - em um segmento para selecionar padrões promissores e no segundo segmento para verificar sua consistência (análogo a dentro e fora da amostra).

Ou fazer a configuração do intervalo em ambos os lados, de modo que você possa limitar o intervalo analisado manualmente.

Tenho uma ideia um pouco diferente. Criar uma classe separada e um conjunto de métodos a serem usados em indicadores e Expert Advisors. Antes havia a teoria, agora há a aplicação prática.
E a consistência de qualquer padrão pode ser verificada de qualquer maneira. Se um padrão for encontrado, é imediatamente verificado para onde o preço foi, com que rapidez (1-3 velas) ele alcançará o lucro definido. Na tabela, esse é o coeficiente K.
 
Alexander Fedosov:
A consistência de qualquer padrão pode ser verificada. Se o encontrar, verifique imediatamente para onde o preço foi e com que rapidez (1-3 velas) atingirá o lucro definido. Na tabela, está o coeficiente K.

Eu quis dizer contar K em uma peça e verificar em outra.

 

Os modelos clássicos de candlestick não levam em conta importantes parâmetros "internos" do candlestick, a saber: a relação entre o corpo do candlestick e a amplitude do candlestick, a profundidade da correção dentro do candlestick, a amplitude relativa das sombras do candlestick.

Tudo isso reflete muito bem a dinâmica do processo. Se adicionarmos esses parâmetros, a previsão melhorará significativamente (especialmente se usarmos essa análise simultaneamente em várias escalas). Na verdade, isso é feito na teoria do equilíbrio de impulsos.

 

É possível classificar por qualquer valor? Ou é possível fazer upload da tabela para o Excel?

 
s22aa:

É possível classificar por qualquer valor? Ou é possível fazer upload da tabela para o Excel?

Levarei isso em consideração em uma atualização futura.

 
Alexander Fedosov:

Levarei isso em conta na atualização futura.

Eu mesmo queria começar a fazer análise de candlestick e agora ganhei esse presente na forma de um EA maravilhoso de você, Alexander.

Bem, então, tenho mais sugestões.

O Expert Advisor não vê os instrumentos da bolsa de valores russa. Ele vê apenas o instrumento no gráfico em que o Expert Advisor está sendo executado. Não é crítico.

É necessário escolher o período de teste, não apenas os últimos candles.

Seria bom poder testar os padrões um a um. Encontramos padrões promissores em um pequeno período de tempo e, em seguida, os executamos um a um em um período de tempo maior. É mais ou menos assim.

Usar a análise de candlestick de forma direta não deu resultados positivos. Escrevi um consultor comercial simples, que negocia com base nos resultados dos testes.

Este é o índice RTS de contratos de colagem.

P.S. Enquanto escrevia, pensei que talvez tivesse algo errado com o índice RTS. Como o teste do Expert Advisor negociando nos padrões de barras internas e externas mostrou resultados positivos nos últimos dois meses e resultados negativos se você testar o período de um ano. Vou verificar quais resultados serão obtidos no CME.

 
Alexander Fedosov:

Levarei isso em conta em uma atualização futura.

E, se não for difícil, diga-me em um artigo futuro como importar padrões de perspectiva. O código não é simples e é difícil para pessoas não avançadas entender o que está escrito, onde, de onde e de qual buffer os resultados podem ser obtidos.

Leva muito tempo para fazer isso manualmente, e há muitos padrões. Somente para compra, tenho a seguinte seleção de padrões promissores no M5

         if(paternDn(4,3,2,i,close[i]))  
         if(paternDn(8,2,9,i,close[i]))
         if(paternDn(2,2,5,i,close[i]))
         if(paternDn(9,5,3,i,close[i]))
         if(paternDn(2,2,9,i,close[i]))
         if(paternDn(9,8,1,i,close[i]))
         if(paternDn(2,9,8,i,close[i]))
         if(paternDn(9,8,2,i,close[i]))
         if(paternDn(6,9,8,i,close[i]))
         if(paternDn(8,1,3,i,close[i]))
         if(paternDn(9,8,5,i,close[i]))
         if(paternDn(2,8,8,i,close[i]))
         if(paternDn(5,1,2,i,close[i]))
         if(paternDn(9,2,2,i,close[i]))
         if(paternDn(5,2,2,i,close[i]))
         if(paternDn(4,2,2,i,close[i]))
         if(paternDn(3,4,8,i,close[i]))
         if(paternDn(8,8,6,i,close[i]))
         if(paternDn(1,1,2,i,close[i]))
         if(paternDn(4,8,5,i,close[i]))
         if(paternDn(9,2,1,i,close[i]))
         if(paternDn(8,4,9,i,close[i]))
         if(paternDn(9,8,9,i,close[i]))
         if(paternDn(9,2,2,i,close[i]))
         if(paternDn(8,2,8,i,close[i]))
         if(paternDn(4,9,1,i,close[i]))
         if(paternDn(3,2,9,i,close[i]))
         if(paternDn(1,6,9,i,close[i]))
         if(paternDn(8,5,8,i,close[i]))
         if(paternDn(8,9,9,i,close[i]))
         if(paternDn(9,2,9,i,close[i]))
         if(paternDn(3,3,8,i,close[i]))
         if(paternDn(1,8,1,i,close[i]))
         if(paternDn(8,8,1,i,close[i]))
         if(paternDn(8,10,11,i,close[i]))
         if(paternDn(8,8,10,i,close[i]))
         BuffDn[i]=EMPTY_VALUE;
 
s22aa:

E, se não for difícil, no próximo artigo você verá como importar padrões de perspectiva. O código é bastante simples e, para quem não é avançado, é difícil entender o que está escrito, onde, de onde e de qual buffer os resultados podem ser obtidos.

Leva muito tempo para fazer isso manualmente, e há muitos padrões. Somente para compra, tenho a seguinte seleção de padrões promissores no M5

Há alguns dias, enviei a terceira parte para teste. Há uma biblioteca para trabalhar com padrões. Você pode usá-la para criar indicadores e Expert Advisors. Haverá exemplos de como fazer isso.
No momento, estou recebendo solicitações para o desenvolvimento do Analyst. Assim que receber um número suficiente de solicitações, tentarei implementá-las.
 
Informações muito esclarecedoras.