Erros, bugs, perguntas - página 656

 

O teste baseia-se, portanto, nestes valores:

2012.02.27 18:32:35     ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=36672 mk.c.
2012.02.27 18:25:50     ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=37938 mk.c.
2012.02.27 18:24:29     ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=37530 mk.c.

Já chega, se quiser continuar, precisa de criar um fio, caso contrário vai desorganizar o fio dos bugs e das perguntas.

 
2012.02.27 22:37:03 CPU terminal: AuthenticAMD AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ com OpenCL 1.1 (2 unidades, 2009 MHz, 2047 Mb, versão 2.0)
2012.02.27 22:37:03 GPU Terminal: NVIDIA Corporation GeForce 8500 GT com OpenCL 1.0 (2 unidades, 918 MHz, 256 Mb, versão 285.62)

2012.02.27 22:42:26 Teste 2D (EURUSD,M5) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=19920 mk.c.

Este é o resultado quando o gráfico é escalado verticalmente para caber o maior número de objectos possível:

2012.02.27 22:45:39 Teste 2D (EURUSD,M5) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=29016mk .c.

e mesmo assim:

2012.02.27 22:48:31 Teste 2D (EURUSD,M5) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=57798mk .c.


Assim, o teste irá mostrar resultados diferentes para todos, mesmo que os computadores dos utilizadores sejam idênticos em termos de hardware.

 
Urain:

E se primeiro medir um conjunto completo de linhas vermelhas sem ChartRedraw e depois com ele, e fizer uma dedução, será isto correcto?

Não, não será correcto.

Infelizmente, não é possível calcular atrasos para filas assíncronas, o que tem uma série de truques de optimização. Usar um método diferente - porquê tentar modificar objectos?

 
Renat:

Não, não será correcto.

Infelizmente, não se pode calcular os atrasos de uma fila assíncrona, que tem uma série de truques de optimização. Use outro método - porque é que está a tentar modificar objectos?

Pensei que, sem modificar os objectos que redesenharam o gráfico, poderia de alguma forma ser sabotado, e desta forma é preciso redesenhar o gráfico.
 

Renat:

Use um método diferente - porque é que está a tentar modificar objectos?

Bem, vamos a isto:

#property script_show_inputs
//--- input parameters
input uint      Count=1000;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   uint st=GetTickCount();
   for(int i=1;i<=Count;i++)
     {
      ChartNavigate(ChartID(),CHART_END,-i);
//      ChartRedraw();  
     }
    Print("Total time for ",Count," cicles = ",GetTickCount()-st, " ms");  
  }
//+------------------------------------------------------------------+

Mas receio que não vá gostar. Eu, por exemplo, não gosto - o gráfico trava e duplica. E queria fazer melhor - deslocá-lo suavemente para o sítio certo...

// O que é interessante, funciona duas vezes mais rápido com ChartRedraw( ) do que sem ele. Ao mesmo tempo, treme mais.

 
O teste de sucesso também não ajudou.
void OnStart()
  {
   uint st=GetTickCount();
   for(int i=1;i<=Count;i++)
     {
      do while (!ChartNavigate(0,CHART_END,-i));
//      ChartRedraw();  
     }
    Print("Total time for ",Count," cicles = ",GetTickCount()-st, " ms");  
  }

E só o deslize o aproximou do mapa desejado.

void OnStart()
  {
   uint st=GetTickCount();
   for(int i=1;i<=Count;i++)
     {
      do while (!ChartNavigate(0,CHART_END,-i));
      Sleep(1);
//      ChartRedraw();  
     }
    Print("Total time for ",Count," cicles = ",GetTickCount()-st, " ms");  
  }

Mas depois perdeu-se o significado do teste de stress.

 

construir 597

depois de instalar um novo disco rígido, o terminal mt5 deixou de guardar o nome de utilizador e a palavra-passe, agora sempre que os volta a pedir, "guardar definições pessoais e dados no arranque" é verificado

alguma sugestão sobre como repará-lo?

 

Pergunta da administração: existe novamente um problema com o fórum de quatro pessoas, ou tenho sido excessivamente tagarela?

 
tara:

Pergunta da administração: existe novamente um problema com o fórum de quatro pessoas, ou tenho sido excessivamente tagarela?

Foi uma pequena actualização, está tudo a funcionar agora.
 

Obrigado