Erreurs, bugs, questions - page 1627

 

Alexey Navoykov:
Насчёт ВСЕХ кодов - вы не погорячились? Откуда такая уверенность? Вы их все пробовали?

J'ai essayé beaucoup de choses...

Ok, je te donnerai un code pour le jouer dès que je serai devant mon ordinateur. Mais je suis déjà confus par vos histoires de dizaines de ms sur du matériel faible. Parlons-nous des mêmes choses ? Le fichier script est-il un .mq5 ? Et quel processeur avez-vous ?

Je clarifierai les données quand je serai devant mon ordinateur.
 
Slawa:
Qu'est-ce qu'il y a à revenir ?
Debug sur l'histoire, pour une raison quelconque, la visualisation complète est affichée. Si vrai est expliqué. Je vais également utiliser __DEBUG__. La documentation ne dit pas grand-chose sur le débogage visuel.
 
Les commentaires qui ne sont pas pertinents pour ce sujet ont été déplacés vers "Help with the gridiron".
 

J'ai cherché dans kodobase jusqu'à ce que je trouve de grands projets pour MT5. Mais ce qui m'a surpris, les sections des Expert Advisors et des indicateurs sont en fait pleines d'objets artisanaux de la même personne. Et il en produit plusieurs chaque jour depuis plusieurs années maintenant !Je ne sais pas pourquoi il est si pressé de faire ça et dans quel but... Peut-être que MQ le paie pour ça, je ne sais pas... Bien sûr, tout est préparé dans un seul ordre, mais personnellement, je serais fatigué de ne faire que des descriptions et des captures d'écran).

Le conseiller expert pèse environ 150-200 kb, mais d'abord, le code est assez étalé, et il y a beaucoup de fragments qui se répètent. C'est mon estimation, il me faudrait plusieurs fois moins en volume.Deuxièmement, le code lui-même est simple, il n'y a pas de fonctions virtuelles, de templates et également pas d'objets dynamiques et de pointeurs.C'est-à-dire, en fait, tout le code peut être inline. Il compile assez rapidement, dans les environs de 600-700 ms. Eh bien, en général, vous devez trouver un exemple vraiment volumineux et assez complexe. Et de mes développements, je n'ai finalisé que ce projet sous le nouveau compilateur, tous les autres j'utilise sous l'ancien, et passer du temps sur leurs révisions, je ne vois pas la nécessité, compte tenu de la situation actuelle.

 
Alexey Navoykov:

...

Et parmi mes développements je n'ai finalisé que ce projet pour le nouveau compilateur, tous les autres j'utilise l'ancien, et passer du temps sur leur ajustement, je n'en vois pas l'utilité pratique, vu la situation actuelle.

Version actuelle:Interfaces graphiques IX : éléments "Barre de progression" et "Graphique linéaire" (Chapitre 2)

 

Le premier test Expert Advisor TestLibrary01 a été compilé en 6,5 secondes. Cependant, nous devons encore estimer la quantité de code réellement utilisée par cet Expert Advisor. En outre, le mot "intelligent" sera un peu comique si nous le comparons à la vitesse de compilation dans l'ancienne version. Elle était instantanée. Si quelqu'un veut se familiariser avec lui, je joins le compilateur de la version 1159. Veuillez renommer le fichier, bien sûr.

En fait, nous pouvons tirer la conclusion suivante : le temps de compilation peut bien sûr varier plusieurs fois en fonction de la taille et de la complexité du code, mais une chose est immuable - il est beaucoup plus lent dans le nouveau compilateur que dans l'ancien. En même temps, j'ai vérifié qu'il n'y a pas de gain significatif en termes de vitesse du logiciel. Si quelqu'un veut prouver le contraire, allez-y.

Dossiers :
 
Alexey Navoykov:

Eh bien, le premier test Expert Advisor TestLibrary01 a été compilé pour moi en 6,5 secondes. Cependant, nous devons encore estimer la quantité de code réellement utilisée par cet Expert Advisor. De plus, le mot "intelligent" semble un peu comique quand on le compare à la vitesse de compilation dans l'ancienne version - elle est instantanée là-bas. Si quelqu'un veut se familiariser avec lui, je joins le compilateur de la version 1159. Veuillez renommer le fichier, bien sûr.

En fait, on peut en tirer la conclusion suivante : le temps de compilation peut bien sûr varier de nombreuses fois en fonction de la taille et de la complexité du code. Mais une chose reste inchangée : il est beaucoup plus rapide dans l'ancien compilateur que dans les nouveaux. Je l'ai vérifié et il n'y a pas de gain considérable en termes de vitesse du logiciel. Si quelqu'un veut prouver le contraire, allez-y.

Bien sûr, les projets les plus complexes dans MetaTrader 5 prennent trop de temps à compiler. Cela peut même prendre jusqu'à 11 secondes. Les mêmes versions dans MetaTrader 4 sont jusqu'à 25 fois plus rapides.

Par exemple, le même projet.

MetaTrader5:

0 error(s), 0 warning(s), compile time: 11054 msec              1       1

//---

MetaTrader4:

0 error(s), 0 warning(s), compile time: 434 msec                1       1

//---

Jusqu'à présent, on ne sait pas très bien à quoi elle est liée. Vous pouvez essayer de préparer du matériel pour les tests et l'envoyer à Servicedesk pour vérification. Si vous ne voulez pas montrer le code de vos projets, vous pouvez utiliser le code des articles de cette série comme exemple.

 
Anatoli Kazharski:

Bien sûr, mes projets les plus complexes dans MetaTrader 5 prennent également beaucoup de temps à compiler. Cela prend même jusqu'à 11 secondes. Exactement les mêmes versions, mais dans MetaTrader 4, elles peuvent être jusqu'à 25 fois plus rapides.

Par exemple, le même projet.

MetaTrader5:

//---

MetaTrader4:

//---

Jusqu'à présent, on ne sait pas très bien à quoi elle est liée. Vous pouvez essayer de préparer du matériel pour les tests et l'envoyer à Servicedesk pour vérification. Si vous ne souhaitez pas montrer le code de vos projets, vous pouvez utiliser le code des articles de cette série à titre d'exemple.

J'ai une supposition : parce que MT4 est 32-bit, il n'a pas été "totalement optimisé". Pour autant que je sache, cette woe-optimisation du compilateur a été déclarée comme étant censée améliorer le travail dans un environnement 64-bit. D'ailleurs, je devrais vérifier la version 32-bit de MT5. Peut-être que tout est ok avec elle. Mais je n'ai pas cette possibilité.

Si vous disposez de la version 32bit de metaeditor pour 5, veuillez la partager.

 
Anatoli Kazharski:

Bien sûr, mes projets les plus complexes dans MetaTrader 5 prennent également beaucoup de temps à compiler. Cela prend même jusqu'à 11 secondes. Exactement les mêmes versions, mais dans MetaTrader 4, elles peuvent être jusqu'à 25 fois plus rapides.

Par exemple, le même projet.

MetaTrader5:

//---

MetaTrader4:

//---

Jusqu'à présent, on ne sait pas très bien à quoi elle est liée. Vous pouvez essayer de préparer du matériel pour les tests et l'envoyer à Servicedesk pour vérification. Si vous ne souhaitez pas montrer le code de vos projets, vous pouvez utiliser le code des articles de cette série à titre d'exemple.

Il s'agit d'une optimisation du code.

Si vous écrivez OPTIMIZE=0 dans le champ [Experts] de metaeditor.ini, votre vitesse de compilation sera comme dans 4. J'ai des projets qui compilent en 20 secondes et d'autres qui entrent dans une boucle d'optimisation infinie :)

 
HistoryOrderGetInteger(OrderTicket, ORDER_TIME_DONE_MSC ) - retourne zéro dans le testeur !