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: