Erreurs, bugs, questions - page 656

 

Le test est donc basé sur ces valeurs :

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.

Assez de cela, si vous voulez continuer, vous devez créer un fil de discussion, sinon vous allez encombrer le fil des bugs et des questions.

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

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

C'est le résultat de la mise à l'échelle verticale d'un graphique pour qu'il puisse contenir le plus d'objets possible :

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

et quand bien même :

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


Le test donnera donc des résultats différents pour tous, même si les ordinateurs des utilisateurs sont identiques en termes de matériel.

 
Urain:

Et si vous mesurez d'abord un ensemble complet de redessinages sans ChartRedraw, puis avec lui, et que vous faites une déduction, est-ce correct ?

Non, ce ne sera pas correct.

Malheureusement, vous ne pouvez pas calculer les délais pour une file d'attente asynchrone, qui dispose d'un certain nombre d'astuces d'optimisation. Utilisez une méthode différente - pourquoi essayer de modifier des objets ?

 
Renat:

Non, ce ne sera pas correct.

Malheureusement, vous ne pouvez pas calculer les délais d'une file d'attente asynchrone, qui dispose d'un certain nombre d'astuces d'optimisation. Utilisez une autre méthode - pourquoi essayez-vous de modifier des objets ?

J'ai pensé que si l'on ne modifie pas les objets, le redessin du graphique pourrait être saboté d'une manière ou d'une autre, et que de cette façon, il faudrait redessiner le graphique.
 

Renat:

Utilisez une méthode différente - pourquoi essayez-vous de modifier des objets ?

Eh bien, allons-y :

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

Mais j'ai peur que vous ne l'aimiez pas. Moi, par exemple, je ne l'aime pas - le graphique bouge et se dédouble. Et je voulais faire mieux - le déplacer en douceur au bon endroit...

// Ce qui est intéressant, c'est qu'il fonctionne deux fois plus vite avec ChartRedraw() que sans. En même temps, il se contracte davantage.

 
Le test de réussite n'a pas aidé non plus.
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");  
  }

Et seule la glissade l'a rapproché de la cartographie souhaitée.

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

Mais alors le sens du test de stress a été perdu...

 

construire 597

après l'installation d'un nouveau disque dur, le terminal mt5 a cessé de sauvegarder le nom d'utilisateur et le mot de passe, maintenant à chaque démarrage il les demande à nouveau, "save personal settings and data at startup" est coché.

Des suggestions sur la façon de le réparer ?

 

Question de l'administration : y a-t-il encore un problème avec le forum des quatuors, ou ai-je été trop bavard ?

 
tara:

Question de l'administration : y a-t-il encore un problème avec le forum des quatuors, ou ai-je été trop bavard ?

C'était une mise à jour mineure, tout fonctionne maintenant.
 

Merci.