MetaEditor. Problèmes et solutions. - page 6

 
1
Liric86 2011.02.27 14:15 2011.02.27 14:15:10

Bonjour, après avoir installé MQL5, j'ai rencontré quelques défauts dans l'affichage des textes du programme pendant l'édition. Lorsque je sélectionne le curseur, la position du texte change, de nouveaux caractères apparaissent sur le clavier et non à la position du curseur. La réinstallation du logiciel n'est d'aucune utilité. Comment puis-je résoudre le problème ?



 
Pouvez-vous me dire s'il est possible d'utiliser le carnet d'ordres en trading (EA) ?
 
Liric86:

1
Liric86 2011.02.27 14:15 2011.02.27 14:15:10

Bonjour, après avoir installé MQL5, j'ai rencontré quelques défauts dans l'affichage des textes du programme pendant l'édition. Lorsque je sélectionne le curseur, la position du texte change, de nouveaux caractères apparaissent sur le clavier et non à la position du curseur. La réinstallation du logiciel n'est d'aucune utilité. Comment le problème peut-il être résolu ?

La police que vous avez sélectionnée n'est pas monochrome.

Veuillez choisir la police Courier New avec une taille de police de 10 points.

 
todem:
Pouvez-vous me dire si vous pouvez utiliser le carnet d'ordres en trading (par EA) ?

Vous pouvez, mais pas dans le testeur de stratégie de trading.

Pour le moment, il y en a peu (il y a Alpari en mode test) qui proposent des piles forex.

 
Ce qui manque dans le débogueur, c'est un compteur de pas. Et un paramètre prédéfini pour faire la première pause à une étape donnée.
 
Urain:
Ce qui manque dans le débogueur, c'est un compteur de pas. Et un paramètre prédéfini pour faire la première pause à une étape donnée.

Les interruptions sont actuellement inconditionnelles, mais il est possible de contourner cette limitation en utilisant DebugBreak().
Документация по MQL5: Общие функции / DebugBreak
Документация по MQL5: Общие функции / DebugBreak
  • www.mql5.com
Общие функции / DebugBreak - Документация по MQL5
 
mql5:
Les ruptures sont actuellement inconditionnelles mais nous pouvons contourner cette limitation en utilisant DebugBreak().

Tout cela est vrai, mais j'ai été confronté à une situation où il y a plusieurs appels d'une classe universelle décrite dans un fichier à lier. Et différentes conditions provoquent des appels à des cellules de tableau inexistantes de cette classe. Le programme lui-même contient des milliers d'étapes d'algorithme, il est donc très difficile de savoir à quelle étape une défaillance se produit en utilisant DebugBreak()+F11.

Bien sûr, je me suis sorti de cette situation à l'ancienne (avec des empreintes et des suppositions logiques). Mais le coût de ceci, de nombreuses heures de travail. Le problème principal n'était pas de savoir quelle fonction donnait une erreur, mais quelle fonction ne calculait pas correctement la valeur, ce qui entraînait ensuite une erreur dans une autre fonction. En d'autres termes, nous n'avions pas besoin du point d'erreur lui-même, mais de savoir ce qui se passait juste avant.

C'est pourquoi nous avons besoin d'un traçage en ligne par étapes et de la possibilité d'aller à l'étape spécifiée immédiatement après un nouveau départ (en ayant rembobiné toutes les étapes précédentes).

 
Je faisais référence à un modèle comme celui-ci :

if(step==123124) DebugBreak();
 
mql5:

Je voulais dire une telle construction :

if(step==123124) DebugBreak();


Oui, c'est aussi ce dont je parle. L'entasser sur chaque ligne de 5 000 lignes de code est un problème. Et la localisation intermédiaire n'a pas fonctionné parce que la référence saute constamment entre les inludes, donc une première estimation approximative pour une localisation plus précise n'était pas possible.

J'ai décrit cette surcharge au début du dossier :

ulong cntDebugBreak=0;
void DebugBreak(ulong step)
  {
   if(step>=cntDebugBreak){cntDebugBreak++;DebugBreak();}
   else cntDebugBreak++;
  }

mais si l'appeler de manière invisible (dans le débogueur), avant chaque expression serait très cool.

PS a corrigé le code.

 

MetaEditor 4 avait une solution ingénieuse pour placer la fenêtre d'aide dans la boîte à outils, l'aide était toujours à portée de main directement dans la fenêtre d'édition du texte. La fenêtre d'aide pourrait-elle également être placée dans MetaEditor 5 ?

Raison: