Souhaits pour MT5 - page 113

 

Ce qui manque dans MQL, c'est une fonction qui produirait le nombre de barres modifiées pour un symbole/une ligne de temps spécifié(e). A chaque fois, je dois vérifier l'historique complet et le comparer avec l'historique précédent pour trouver les changements. C'est très irrationnel, cela demande une mémoire gaspillée pour sauvegarder l'historique complet dans un tableau, plus le coût pour obtenir et comparer l'historique lui-même.Surtout avec MT5 où l'historique précédent est périodiquement effacé de la mémoire et doit ensuite être téléchargé du disque. Et je ne parle même pas de compliquer le code. Tant de difficultés ridicules, au lieu de simplement demander à Metatrader qui sait exactement si l'historique a été modifié ou non.

Les indicateurs ont un mécanisme similaire (paramètre prev_calculated), mais seulement pour le symbole et la période sur lesquels l'indicateur fonctionne. Et différents symboles peuvent participer aux calculs. Par conséquent, nous avons besoin d'une fonction qui renvoie le nombre de barres mises à jour (ou le temps à partir duquel les barres mises à jour commencent) pour tout symbole.

 
Messieurs les développeurs, avez-vous l'intention de faire une coloration syntaxique normale dans MetaEditor ? C'est-à-dire que les types/classes sont d'une couleur, les variables d'une autre, les fonctions d'une troisième, les macros d'une quatrième, etc. En général, comme dans les IDEs normaux. Sinon, seuls les outils MQL standard sont mis en évidence. En conséquence, lorsque vous utilisez activement la POO, le code entier se transforme en un texte noir solide (sans compter les opérateurs). Vous ne serez pas en mesure de distinguer immédiatement les noms des classes, des objets et des fonctions. C'est très difficile à lire. Je me surprends souvent à penser qu'il est beaucoup plus agréable d'utiliser les primitives standard pour la clarté du code (afin qu'il ne ressemble pas à une masse noire). Et ça ne devrait pas être comme ça.
 
meat:
Messieurs les développeurs, avez-vous l'intention de faire une coloration syntaxique normale dans MetaEditor ? C'est-à-dire que les types/classes sont d'une couleur, les variables d'une autre, les fonctions d'une troisième, les macros d'une quatrième, etc. En général, comme dans les IDEs normaux. Sinon, seuls les outils MQL standard sont mis en évidence. En conséquence, lorsque vous utilisez activement la POO, le code entier se transforme en un texte noir solide (sans compter les opérateurs). Vous ne serez pas en mesure de distinguer immédiatement les noms des classes, des objets et des fonctions. C'est très difficile à lire. Je me surprends souvent à penser qu'il vaut mieux utiliser des primitives standard pour la clarté du code (afin qu'il ne ressemble pas à une masse noire). Mais ça ne devrait pas être comme ça.
Ouvert dans d'autres compilateurs !!!
 

Dommage qu'aucun des développeurs ne réponde dans ce fil de discussion. Je me demande même s'ils regardent ici... Dans le service-desk aussi, toutes les suggestions restent généralement sans réponse (seuls les bugs sont traités). Pas bon.

Mais passons à autre chose.

De temps en temps, je suis confronté à un problème tel qu'il est impossible d'identifier de manière unique le conseiller expert/indicateur en cours d'exécution. Par exemple, un conseiller expert crée et utilise un fichier (ou une variable globale) qui est utilisé spécifiquement pour cet EA (ou plutôt, pour cette instance).Et les autres EA ne devraient pas utiliser ce fichier / variable globale, ils ont leurs propres fichiers. Donc, comment l'EA doit-il retrouver son fichier / variable après le redémarrage du terminal ou après la réinitialisation des paramètres ?

Si le fichier est nommé par le nom de l'EA / symbole / timeframe, alors toute autre instance de cet EA sur un graphique similaire ouvrira ce fichier. Si le fichier est nommé par le handle de la fenêtre, alors le handle sera invalide après le rechargement.

En bref, nous avons besoin d'un ID unique pour l'EA/indicateur, qui ne changerait pas lors du rechargement. Par exemple, il peut s'agir de l'heure de liaison de l'EA au graphique. Je suggère d'ajouter ce paramètre à MQLInfoInteger.

 

Dans le MetaEditor, nous voulons pouvoir revenir en arrière.

C'est-à-dire l'appel de la fonction "Fonction_B" à partir de la fonction "Fonction_A" :

bool Function_A(void)
  {
   Function_B()
   return(true);
  }

Après avoir cliqué sur le texte"Function_B", puis sur le bouton du milieu ou sur Alt+G, la Function_B est activée. Après avoir examiné le code, il est nécessaire de revenir à l'endroit de l'appel - à Function_A. Mais cette fonctionnalité n'existe pas. Et nous le voulons.

 
Karputov Vladimir:

Dans le MetaEditor, nous voulons pouvoir revenir en arrière.

C'est-à-dire l'appel de la fonction "Fonction_B" à partir de la fonction "Fonction_A" :

Après avoir cliqué sur le texte"Function_B", puis sur le bouton du milieu ou sur Alt+G, la Function_B est activée. Après avoir examiné le code, il est nécessaire de revenir à l'endroit de l'appel - à Function_A. Mais cette fonctionnalité n'existe pas. Mais nous l'aimerions.

Oui, ce serait pratique. Écrivez également au Service Desk.

Nous avons un accès rapide à la définition(Alt+G). Nous avons besoin d'un passage rapide de la définition à l'arrière.

 
Karputov Vladimir:

Dans le MetaEditor, nous voulons pouvoir revenir en arrière.

C'est-à-dire appeler la fonction "Fonction_B" à partir de la fonction "Fonction_A" :

Après avoir cliqué sur le texte"Function_B" et ensuite cliqué sur le bouton du milieu ou Alt+G - la fonction_B est activée. Après avoir examiné le code, il est nécessaire de revenir au lieu d'appel - à Function_A. Mais cette fonctionnalité n'existe pas. Et nous le voulons.

avancer Ctrl+-, reculer Ctrl+Shift+-
 
Vitalie Postolache:
avancer Ctrl+-, reculer Ctrl+Shift+-
C'est faux. Ça ne marche pas.
 
Karputov Vladimir:
C'est faux. Ça ne marche pas.

C'est étrange, ça marche pour moi. J'ai appuyé sur Alt+G sur l'appel de fonction et je suis passé à la définition de la fonction, puis j'ai appuyé sur Ctrl+- et je suis revenu en arrière.

J'ai mélangé les combinaisons ci-dessus, c'est l'inverse : avancer Ctrl+Shift+-, reculer Ctrl+-, désolé.

 
Karputov Vladimir:
C'est faux. Ça ne marche pas.
J'ai essayé. Ça marche pour moi. )