MT4 iMAOnArray e iBandsOnArray efeito do número de elementos nos cálculos - página 4

 
Sergey Efimenko:
E esta biblioteca calcula corretamente, se eu definir o cálculo não de toda a matriz, mas apenas de sua última parte (valores atuais)? Além disso, isto é apenas metade do problema, mas e o iBandsOnArray?

Há aí um parâmetro de "início", tente limitá-lo.

Houve um tempo em que a funçãoiMAOnArray era muito lenta. Bem, eu tinha um código que foi otimizado por cerca de três horas usandoiMAOnArray, mas depois esta função tornou-se lenta e a otimização levou cerca de 30 horas.

Não sei, talvez tenha sido consertado agora. Mas quando criei o indicadorMovingAverages.mqh omesmo código foi computado em cerca de uma hora e meia, ou seja, o tempo foi reduzido pela metade.

Não tenho nada a dizer sobre o iBandsOnArray, não vi um arquivo tão inclusivo com a mesma tarefa em mql4.

 
Com iBandsOnArray, o indicador é lento na partida. Mudado para iStdDevOnArray, ele começa instantaneamente.
 
Alexey Viktorov:

Aqui está.

Sim, bem... Caramba, vá dar uma volta.
 
Dmitry Fedoseev:
Com iBandsOnArray, o indicador é lento na partida. Mudado para iStdDevOnArray, ele começa imediatamente.
Mas no testador, ele fica desfasado tanto comiBandsOnArray quanto com iStdDevOnArray.
 
Dmitry Fedoseev:
Exceto que, no testador, ele se atrasatanto comiBandsOnArray quanto com iStdDevOnArray.
Eu costumava achar que você era um bom programador. Tudo o que você realmente pode fazer é abrir os dedos e discutir. Você não tem nenhum, é por isso que você está tão bravo?
 
Alexey Viktorov:

Aqui está.

E agora compare o resultado de seu código e o original no modo de suavização de linha reta LWMA ou SMMA e obtenha valores diferentes, porque estes dois tipos de suavização usam seus próprios valores anteriores em seus cálculos, e usando apenas N elementos de período cada vez que você, respectivamente, perde estes dados, além de que eu eventualmente preciso de períodos de cálculo diferentes para iBands e iMA, então eu tenho que copiá-los duas vezes. E a matriz inicial para o cálculo é usada da mesma forma. A lógica de seu raciocínio é clara para mim, mas está errada, pois ao reduzir o comprimento da matriz, mas ao mesmo tempo fazendo cada cópia e recalculando todos os seus elementos você finalmente aumenta o tempo total do cálculo do indicador durante a otimização ou trabalha com várias versões do indicador para diferentes TFs. No meu caso, ele retarda apenas o cálculo inicial, depois disso apenas 1 novo elemento é calculado. O problema está na implementação destas funções na MQL. As versões autoescritas funcionam melhor e mais rapidamente. Conclusões.
 
Dmitry Fedoseev:
Sim, bem... Caramba, vá dar uma volta.
Isso não é um menino, é um homem muito maduro. Embora o hábito de se referir a todos como "você" não lhe faça nenhuma justiça, imho :)
 
Sergey Efimenko:
Este não é um menino, mas um homem muito maduro. Embora o hábito de se referir a todos como "você" não o torne respeitável, imho :)
Muito maduro como? Um homem aposentado em seu estágio?
 
Sergey Efimenko:
E agora compare o resultado de seu código e o original no modo de suavização de linha reta LWMA ou SMMA e obtenha valores diferentes, porque estes dois tipos de suavização usam seus próprios valores anteriores em seus cálculos, e usando apenas N elementos de período cada vez que você, respectivamente, perder estes dados, além de precisar de períodos de cálculo diferentes para iBands e iMA, então precisarei copiá-los duas vezes. E a matriz inicial para o cálculo é usada da mesma forma. A lógica de seu raciocínio é clara para mim, mas está errada, pois ao reduzir o comprimento da matriz, mas ao mesmo tempo fazendo cada cópia e recalculando todos os seus elementos você finalmente aumenta o tempo total do cálculo do indicador durante a otimização ou trabalha com várias versões do indicador para diferentes TFs. No meu caso, ele retarda apenas o cálculo inicial, depois disso apenas 1 novo elemento é calculado. O problema está na implementação destas funções na MQL. As versões autoescritas funcionam melhor e mais rapidamente. Por favor, tire suas próprias conclusões.
Ainda que MODE_SMA seja o mesmo, eu não deveria usá-lo.
 
Alexey Viktorov:
Eu costumava achar que você era um bom programador. Na realidade, tudo o que você pode fazer é abrir os dedos e lutar. Você não recebe nenhum porque está com tanta raiva?
Bem, continue sonhando.