Bibliotecas: SmoothAlgorithms

 

SmoothAlgorithms:

Biblioteca de algoritmos de média; no artigo "Média de séries de preços, sem buffers adicionais para cálculos intermédios" encontra-se uma descrição detalhada.

Fig.2. Indicador EMA, na janela do terminal MetaTrader4

Autor: Nikolay Kositsin

 
Boa tarde! Por favor, me avise... Depois de atualizar para a versão mais recente, os erros em "SmoothAlgorithms" começaram a aparecer. E as médias sma, lwma, parma e vidya pararam de funcionar. Ele avisa nesta linha:"array out of range in 'SmoothAlgorithms.mqh' (3394,9)". Como consertar isso? Obrigado!
 
007yurik:
Boa tarde! Por favor, me avise... Depois de atualizar para a versão mais recente, os erros em "SmoothAlgorithms" começaram a aparecer. E as médias sma, lwma, parma e vidya pararam de funcionar. Ele avisa nesta linha: "array out of range in 'SmoothAlgorithms.mqh' (3394,9)". Como corrigir isso? Obrigado!

Não corrijo nenhuma irregularidade no código ou em sua compilação. Não está absolutamente claro do que você está falando?

 
Nikolay Kositsin:

Não detecto nenhuma violação na operação ou compilação do código. Não estou entendendo nada, do que você está falando?

Levando em conta meu baixo nível de conhecimento de mql, tentarei explicar com os dedos)Antes das últimas atualizações do terminal, tudo estava bem.Agora, após a atualização, ao adicionar qualquer indicador com SmoothAlgorithms ao gráfico, nem todos os métodos de média funcionam.Por exemplo, vamos pegar seu indicador XFisher_org_v1_Vol, eu faço o download e compilo - tudo está normal, sem erros.Quando tento alterar o método de suavização para sma, smma, lwma, parma, vidya e ama, recebo uma janela de indicador vazia. Todos os outros métodos funcionam normalmente.A seguinte linha aparece na guia Expert Advisors nas ferramentas:2018.11.20 17:20:49.028 XFisher_org_v1_Vol_Supr (Si-12.18,M1) array out of range in 'SmoothAlgorithms.mqh' (3394,9).


 
É claro que talvez eu esteja no lugar errado e não se trate de SmoothAlgorithms, mas ainda não tenho nenhuma outra ideia. Se você puder me dizer algo, ficarei grato.
 
007yurik:
É claro que talvez eu não esteja no lugar certo e não se trate do SmoothAlgorithms, mas ainda não tenho nenhuma outra ideia. Se você puder me dizer algo, ficarei grato.

Se eu tivesse algo assim em meu computador, seria possível fazer alguma coisa, mas só há uma maneira de resolver o problema: baixar o arquivo de instalação do site da Metaquotes e instalá-lo em uma pasta vazia. E verificar o funcionamento dos indicadores no novo terminal.

E o número de barras na janela deve ser mais ou menos decente. Caso contrário, não haverá nada para calcular a média, e são os métodos problemáticos de cálculo de média que exigem mais barras do que outros métodos de cálculo de média.

 

Se você adicionar a diretiva #property strict no código.

e na função PriceSeries substituir Open por open, Low por low, etc.

ele será compilado no MT4 sem erros e avisos. Talvez o autor faça esse pequeno detalhe?

 
Sergey Tselikov:

Se você adicionar a diretiva #property strict no código.

e na função PriceSeries, substitua Open por open, Low por low, etc.

ele será compilado no MT4 sem erros e avisos. Talvez o autor faça essa pequena coisa?

O fato é que eu não acompanho as mudanças na linguagem MQL4 e, em geral, não as faço, porque não tenho tempo para esse tipo de trabalho. Há uma variante do SmoothAlgorithms para mql4 no arquivo Zip no anexo da publicação, mas não sei se funciona bem. De qualquer forma, os indicadores não serão compilados diretamente.

 
A biblioteca compila e funciona. Apenas este pequeno detalhe está faltando. Acho que é incorreto publicar o código cosmeticamente corrigido de outra pessoa.
 
Na verdade, o proposto não altera o funcionamento de seu código de forma alguma. Cosméticos.
 
Nikolay Kositsin:

Se eu tivesse algo assim em meu computador, poderia fazer algo a respeito, mas a única maneira de resolver o problema é baixar o arquivo de instalação do site da Metaquotes e instalá-lo em uma pasta vazia. E verificar o funcionamento dos indicadores em um novo terminal.

E o número de barras na janela deve ser mais ou menos decente. Caso contrário, não haverá nada para calcular a média, e são os métodos problemáticos de cálculo de média que exigem mais barras do que outros métodos de cálculo de média.

Confirmado. O erro ocorre, mas nem sempre. Às vezes funciona normalmente, às vezes trava. O erro ocorre com mais frequência se você executar o indicador no testador. Por exemplo, o mesmo XFisher_org_v1_Vol_Supr, depois de compilado na última compilação (1980) e executado no testador no instrumento RTS Splice, apresenta o erro "array out of range in 'SmoothAlgorithms.mqh' (3394,9)". O erro ocorre não apenas nesse indicador, mas também em muitos outros que usam a biblioteca SmoothAlgorithms.mqh. Nikolai, por favor, verifique.

XFisher_org_v1_Vol
XFisher_org_v1_Vol
  • www.mql5.com
Осциллятор XFisher_org_v1 в виде цветной гистограммы с использованием объемов. Формула вычисления: По вполне понятным причинам, в таком модифицированном осцилляторе пересчет уровней перекупленности и перепроданности должен происходить по этой же формуле, что и было выполнено. В итоговом варианте эти...