Errori, bug, domande - pagina 656

 

Il test si basa quindi su questi valori:

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.

Basta così, se volete continuare, dovete creare un thread, altrimenti ingombrerete il thread dei bug e delle domande.

 
2012.02.27 22:37:03 Terminale CPU: AuthenticAMD AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ con OpenCL 1.1 (2 unità, 2009 MHz, 2047 Mb, versione 2.0)
2012.02.27 22:37:03 Terminale GPU: NVIDIA Corporation GeForce 8500 GT con OpenCL 1.0 (2 unità, 918 MHz, 256 Mb, versione 285.62)

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

Questo è il risultato quando il grafico viene scalato verticalmente per adattarsi al maggior numero possibile di oggetti:

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

e anche così:

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


Quindi il test mostrerà risultati diversi per tutti, anche se i computer degli utenti saranno identici in termini di hardware.

 
Urain:

E se prima misurate una serie completa di ridisegni senza ChartRedraw e poi con esso, e fate una deduzione, è corretto?

No, non sarà corretto.

Sfortunatamente, non è possibile calcolare i ritardi per la coda asincrona, che ha una serie di trucchi di ottimizzazione. Usare un metodo diverso - perché cercare di modificare gli oggetti?

 
Renat:

No, non sarà corretto.

Sfortunatamente, non è possibile calcolare i ritardi di una coda asincrona, che ha una serie di trucchi di ottimizzazione. Usa un altro metodo - perché stai cercando di modificare gli oggetti?

Ho pensato che senza modificare gli oggetti ridisegnare il grafico potrebbe in qualche modo essere sabotato, e in questo modo si deve ridisegnare il grafico.
 

Renat:

Usa un metodo diverso - perché stai cercando di modificare gli oggetti?

Bene, muoviamoci:

#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");  
  }
//+------------------------------------------------------------------+

Ma temo che non vi piacerà. A me, per esempio, non piace - il grafico si contrae e si raddoppia. E volevo fare meglio - spostarlo dolcemente al posto giusto...

// La cosa interessante è che funziona due volte più velocemente con ChartRedraw() che senza. Allo stesso tempo, si contrae di più.

 
Anche il test di successo non ha aiutato.
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 solo la scivolata l'ha avvicinata alla mappatura desiderata.

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");  
  }

Ma poi si è perso il senso dello stress test...

 

costruire 597

dopo l'installazione di un nuovo disco rigido, il terminale mt5 ha smesso di salvare nome utente e password, ora ogni volta che si avvia li chiede di nuovo, "salva le impostazioni personali e i dati all'avvio" è selezionato

qualche suggerimento su come risolvere il problema?

 

Domanda dell'amministrazione: c'è di nuovo un problema con il forum foursome, o sono stato troppo chiacchierone?

 
tara:

Domanda dell'amministrazione: c'è di nuovo un problema con il forum foursome, o sono stato troppo chiacchierone?

È stato un aggiornamento minore, ora funziona tutto.
 

Grazie

Motivazione: