Indicadores: Previsão de preço pelo Vizinho mais Próximo encontrado por um coeficiente de correlação ponderada - página 3

 
Amos Tsopotsa #:

Esse código precisa de pequenos aprimoramentos, mas, okjustask, sua ideia faz sentido

Fiz pequenos aprimoramentos no código:

  • Adicionando uma variável no escopo global para b, e
  • Adicionei uma variável lastPatternStartTime, uma condição que a compara com a hora de início de um novo padrão e chama ChartRedraw() se não forem iguais.
(Pelo que pude perceber em algumas horas de teste, o caos da linha vertical aparecia quando um novo padrão era encontrado).
Arquivos anexados:
 

Mais alguns pequenos aprimoramentos:

  • Alterado o OnInit() de um void para um int, de modo que agora ele retorna INIT_SUCCEEDED,
  • Adicionada uma GlobalVariable (GV) em todo o terminal que armazena o primeiro valor de preço futuro do indicador (CopyBuffer() não funciona em um EA com "valores futuros do indicador Buffer ") e
  • Adicionado OnDeinit() em que a GV é automaticamente excluída do terminal.

O objetivo dessas alterações é tornar o indicador mais adequado para a negociação automatizada. Se você precisar de mais valores de preços futuros para seus objetivos, basta percorrer as barras de 0 a 48 no final do código e atualizar o valor GV.

Arquivos anexados:
 
Ryan L Johnson #:


  • Foi adicionada uma GlobalVariable (GV) em todo o terminal que armazena o primeiro valor de preço futuro do indicador(CopyBuffer() não funciona em um EA com "valores futuros do indicador Buffer "),

O objetivo dessas alterações é tornar o indicador mais adequado para a negociação automatizada. Se você precisar de mais valores de preços futuros para seus objetivos, basta percorrer as barras de 0 a 48 no final do código e atualizar o valor GV.

Por que isso acontece? Você pode acessar qualquer valor dos buffers do indicador, até mesmo do futuro.
MQL5 Book: Getting timeseries data from an indicator: CopyBuffer / Creating application programs
MQL5 Book: Getting timeseries data from an indicator: CopyBuffer / Creating application programs
  • www.mql5.com
An MQL program can read data from the indicator's public buffers by its handle. Recall that in custom indicators, such buffers are arrays specified...
 
Stanislav Korotky #:
Por que isso acontece? Você pode acessar qualquer valor dos buffers do indicador, mesmo do futuro.

Consegui fazer isso em indicadores, mas não em EAs. Você tem outro exemplo/artigo que faça isso em um EA, por favor?

 
Ryan L Johnson #:

Consegui fazer isso em indicadores, mas não em um EA. Você tem outro exemplo/artigo que faça isso em um EA, por favor?

Favor desconsiderar minha postagem nº 24. Suspeito que eu esteja usando a forma errada de Copybuffer() em um EA. A forma correta parece ser:

"[I]n the parameters CopyBuffer ( first form) one must giveoffset equal to (- N)..."

int CopyBuffer(int handle, int buffer, int offset, int count, double &array[])
 

@Stanislav Korotky, Obrigado por me indicar a documentação. A "primeira forma" é muito útil para copiar valores futuros do buffer - especialmente em gráficos personalizados.

@Vladimir, obrigado, embora tardiamente, por publicar o código-fonte desse indicador. Eu não tinha ideia de como esses padrões de preços de décadas atrás poderiam ser válidos hoje. Eu o usei para capturar duas negociações vencedoras logo de cara. Uma foi por volta de 1999 e a outra por volta de 2005.

Aqui está o código do indicador que estou usando agora (com o GV removido):

Arquivos anexados:
 

É possível que surja um novo padrão de preço com o mesmo horário de início, mas com um horário de término diferente do padrão atual, por isso acrescentei o horário de término do padrão à função condicional ChartRedraw() - anexada. Tanto uma diferença de horário de início quanto uma diferença de horário de término chamarão ChartRedraw().

Arquivos anexados:
 

Esse indicador pode ser testado

É necessário adicionar duas linhas verticais ao indicador - o início do cálculo e o fim do cálculo

E você poderá ver imediatamente onde estará a linha vermelha e como o gráfico foi formado, ou seja, a previsão é viável?

 
Renat Akhtyamov linhas verticais ao indicador - o início do cálculo e o fim do cálculo

E você poderá ver imediatamente onde estará a linha vermelha e como o gráfico foi formado, ou seja, a previsão é viável?

Esse é o objetivo da linha azul que desenha os preços de abertura do padrão histórico como uma sobreposição.
 
Aqui está um indicador de preço de abertura de barra "estupidamente simples" para comparar, por assim dizer, com a linha azul histórica.
Arquivos anexados: