Obter o número de casas decimais de quaisquer números (não apenas citações) contornando Dígitos() em MQL4 e MQL5 - página 15

Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
se ArrayCopy() for feito da mesma forma que Cysh memmove(),
Eu acho que a velocidade do ArrayCopy() depende da velocidade de alocação de memória, se a memória intermediária do buffer estiver pronta para copiar, o ArrayCopy() será executado muito rapidamente, se a memória não for alocada, você iniciará solicitações ao sistema operacional para alocar memória
você pode tentar testá-lo - fazer uma chamada ao ArrayCopy() com um grande volume de dados, preparando assim a memória buffer para a troca, e então fazer um loop com o ArrayCopy() com um volume de dados menor para ser copiado e então medir a velocidade
Em nosso exemplo atual, a cópia é executada em uma matriz estática, mas em geral é interessante, é claro, quando o ArrayCopy é mais lento do que uma simples cópia. Se você precisar alocar memória, você terá que fazê-lo de qualquer maneira, não importa como você o faça.
Em nosso exemplo atual, a cópia é feita para uma matriz estática, mas em geral é interessante, é claro, quando o ArrayCopy é mais lento do que simples. Se precisarmos alocar memória, teremos que fazê-lo de qualquer forma.
Não importa estática ou dinâmica, não sabemos como o ArrayCopy() é implementado, apenas assumi que é um "invólucro" sobre funções Cish padrão, memmove() normalmente funciona através de buffer adicional... bem, como sempre, é assim que foi escrito antes, é difícil dizer como e qual compilador funciona
SZY: Eu simplesmente não sei como testar o tempo de execução em MQL ((( - Já tentei algumas vezes, acho que tirei exemplos de ajuda, os resultados são de alguma forma muito diferentes, e ignorei esta questão por necessidade - eu não testei o desempenho, eu geralmente procuro no perfilador, o que e como é executado no tempo
Eu simplesmente não sei como testar a velocidade de execução em MQL ((( - Eu tentei algumas vezes, acho que tirei exemplos da ajuda, mas os resultados foram muito diferentes por alguma razão, então eu desisti deste assunto porque eu não testei o desempenho, eu geralmente uso o perfilador para ver como e o que é executado no tempo
aqui está a maneira mais fácil, que eu usei acima
aqui está a maneira mais fácil que usei acima
Obrigado, entendi, vou testá-lo amanhã.
Sim, isto funcionará muito mais rápido (substituído, quando possível, pelo ArrayCopy, o resto é o mesmo):
Eu lhe disse, escrevi a primeira coisa que me veio à mente sem nenhum teste))
Esta variante não é diferente da minha. As medidas (tempo mínimo em 10 tentativas) comprovam isso.
Você pode ver que a variante com ciclo é mais rápida, porque o ciclo de 60 /4 = 15 elementos.
Esta variante não é diferente da minha.
Aparentemente sim, apenas o tipo de estrutura e o tipo de matriz são arbitrários.
Pode-se ver que a variante de loop é mais rápida, porque o loop de 60 /4 = 15 elementos.
Estranhamente, fiquei mais rápido que o ArrayCopy com os mesmos MqlTicks e int...
Estranhamente, fiquei mais rápido que o ArrayCopy com os mesmos MqlTicks e int...
Estou executando-o em MT5x64.
Aparentemente, sim, mas o tipo de estrutura e o tipo de matriz são arbitrários.
Evitei propositadamente o caso comum para permitir a participação de mais pessoas.
Até agora
Funcionando em MT5x64.
Puramente contornou o caso geral para que mais pessoas pudessem participar.
Até o momento.
Acho que seu código já é mais rápido :)
Tenho que adicionar muito código de serviço lá para melhorar a funcionalidade do ArrayCopy (início da fonte, início do destino, contagem) e verificar os parâmetros para a exatidão...
Em geral, você tem tantas obras/libris legais que é estranho que você pergunte e discuta a melhor solução no fórum :)
É estranho que você pergunte e discuta a melhor solução no fórum :)
Preciso de uma para a biblioteca HistoryTicks. Obrigado por participar.