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.
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?
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.
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?
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
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.
Aqui está.
Com iBandsOnArray, o indicador é lento na partida. Mudado para iStdDevOnArray, ele começa imediatamente.
Exceto que, no testador, ele se atrasatanto comiBandsOnArray quanto com iStdDevOnArray.
Aqui está.
Sim, bem... Caramba, vá dar uma volta.
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 :)
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.
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?