Perguntas sobre a MQL4 - página 10

 
Slawa,
OK. Obrigado.
Agora tenho que meditar por um tempo...
 
Mal posso esperar por um ME atualizado e uma nova construção.
É impossível escrever bem qualquer coisa...
O fórum é indispensável nesse sentido.
Mais uma vez, obrigado.
 
Myxu
tente usar o ArrayCopy();


experimentou. não faz absolutamente nenhum sentido. a velocidade é idêntica.

e com variáveis locais, é 5 vezes mais rápida.
 
<br / translate="no"> tentou. não faz absolutamente nenhum sentido. a velocidade é idêntica.
É 5 vezes mais rápido com variáveis locais.


Quanto tempo leva em seu código?
 
Eu tenho um peru onde ele leva o tempo todo, praticamente. :)
analisador de padrões cronométricos estatísticos :)

Em cada barra ele acessa diferentes Close[] cerca de 2000 vezes,
e depois é preciso muito para as arrays. Tenho que verificar antes de cada acesso à array com um monte de if()'s.
Eu nem estou tentando convertê-lo para HLC :)

mas eu gostaria de desenvolver a idéia, pois ela traz alguns lucros.
 
1. Quanto tempo ainda leva a tarefa?
2. Não há nenhum loop ou loop infinito no indicador?
 
Eu também uso IndicatorCounted(), mas a inicialização leva 10-30 segundos em Athlon 1700... e quero acrescentar mais truques...

Se eu apenas inserir esta construção em um lugar, a velocidade aumenta 2 vezes.

e, em geral, a velocidade de acesso a arrays e variáveis locais difere 10 vezes.
 
Eu estava pensando... talvez eu devesse fazer uma DLL...
alguém pode recomendar um compilador pequeno e rápido?
De preferência C ou Pascal.
 
Com tanto tempo, há claramente algo de errado com o código.
Estou trabalhando em um loop infinito, aproximadamente. 2000 linhas de código, incluindo matrizes de processamento e redesenho de objetos gráficos. Um loop leva cerca de 10-12 ms. Entre carrapatos, consegue enrolar cerca de 30-500 vezes.
O MT é muito rápido. Procure o problema em seu código.
 
er... tente você mesmo algo como isto...
    t2=LocalTime(); for(d=5000 ;d>0;d--) for(k=1;k<5000;k++){ z=Fechar[k];y=Fechar[k+1];x=Fechar[k+2]; z=Abrir[k];y=Abrir[k+1];x=Abrir[k+2]; }