Souhaits pour le MQL5 - page 16

 
Veuillez nous envoyer vos commentaires sur MQL5.

Le développement de MQL5 bat son plein et c'est l'une de nos principales caractéristiques de la nouvelle plateforme de trading. Nous ne participons volontairement pas aux discussions pour des raisons de tranquillité d'esprit pour le moment. Mais dans quelque temps, nous commencerons à publier des informations sur le nouveau langage, les bibliothèques et l'environnement de programmation.
 
Renat:
Veuillez nous donner votre avis sur MQL5.
Seulement pour la langue, ou aussi pour l'éditeur avec le terminal ?
 
komposter:
Renat:
Veuillez exprimer vos souhaits pour le MQL5.
Seulement à la langue, ou aussi à l'éditeur avec le terminal ?
Pour la langue et l'éditeur. Pour le terminal - c'est dans un fil séparé. Pour l'instant, il serait préférable de parler de MQL5 et de l'éditeur.
 
  • En Fortran, il y avait une chose merveilleuse - un sous-programme. La liste des paramètres n'était pas seulement entrante mais aussi sortante. Maintenant, tout passe par le système mondial...
  • Il est souhaitable d'avoir des propriétés personnalisables des fonctions spéciales. Par exemple, un démarrage par tic-tac, un démarrage à une fréquence donnée, en boucle avecrafraîchissement automatique de l' environnement.
  • Possibilité d'appeler un autre programme d'application depuis l'Expert Advisor, par exemple un indicateur (standard ou personnalisé) avec la possibilité de l'afficher sur le graphique.
  • Accès aux noms des programmes chargés dans la fenêtre
  • Accès à la liste des programmes d'application et des bibliothèques disponibles (.
  • Accès à tous les tableaux d'indicateurs, chargés manuellement, à partir du conseiller expert et du script.
  • Échange d'informations entre terminaux et accès programmatique à la correspondance (il est possible que le commerce prenne le chemin des signaux de vente).
  • Couches graphiques multiples et liberté totale (par exemple, couche d'indicateurs en haut) (ou : une couche séparée pour chaque ordre, car dans l'environnement actuel à couche unique, les lignes d'ordres supérieures ne peuvent pas être sélectionnées s'il y a plusieurs ordres à un prix - horizon graphique).

----

  • L'éditeur, bien sûr, a besoin d'un débogueur.
  • Possibilité de réduire des groupes de lignes en une seule ligne.
  • Les étiquettes ne doivent pas disparaître lorsque le ME est fermé.
  • Faites ressortir les noms des fonctions personnalisées en couleur.
  • Des parenthèses clignotantes (si vous mettez en évidence celle de gauche, celle de droite clignote).
 
Possibilité d'imprimer en couleur directement à partir du ME.
 
Par l'éditeur :
  • l'autocomplétion lors de la saisie de variables et de fonctions utilisateur ;
  • des infobulles lors de la saisie des paramètres des fonctions définies par l'utilisateur (comme pour les fonctions normales) ;
  • commenter/décommenter un bloc ;
  • fenêtre "immédiatement" - exécution instantanée de la chaîne de code saisie ;
  • suppression des bogues avec la recherche de lignes courtes et l'ombrage du texte non commenté.

Pour l'interaction avec le terminal :
  • lors de la compilation de l'EA, ne le redémarrez que sur le graphique ou ne redémarrez rien du tout !
  • lorsque vous compilez un fichier qui est référencé à un autre fichier, compilez-le également ;
  • démarrer/arrêter le script/expert/indicateur depuis le code (depuis la même fenêtre "immédiatement").
Par la langue :
  • liste de symboles du code ;
  • TOUS les paramètres des symboles du code (afin que vous puissiez calculer tout ce que le terminal calcule) ;
  • événements - événements de commerce, d'interface, d'erreur ;
  • Fonction de commentaire - élargir la fonctionnalité (ne pas effacer le texte précédent, choisir la police et la couleur, l'angle de la reliure, ...) ;
  • Terminal devariables globales - possibilité de les masquer à l'utilisateur, de les enregistrer sur disque sur commande ou immédiatement après modification.
Eh bien, et je rejoins presque tous les intervenants précédents, j'en ai fini pour le moment.
 

Sans connaître les propriétés des fonctions spéciales de MQL5, il est difficile de le dire à l'avance, mais MQL4 a un tel problème.

Start() est mis en boucle. Ça marche. Un utilisateur se connecte à un autre compte. Les informations sur l'environnement du nouveau compte deviennent disponibles pour le conseiller expert dans la session actuelle avant que start() ne soit fermé de force. Le conseiller expert (sur la base de son analyse interne) signale que les ordres (qui se trouvaient sur le compte précédent) ont été fermés, que les swaps, les niveaux d'arrêt, etc. ont été modifiés, etc. avec toutes les conséquences qui en découlent.

Le Conseiller Expert ne suit pas non plus explicitement l'information sur un nouveau compte suivi d'une décision de désinitialisation(). Je n'ai pas réussi à attraper le modèle, mais la désinitialisation ne se produit pas toujours. Par exemple, si le terminal vient d'être chargé et que la connexion au compte A a été établie, la transition vers le compte B est effectuée sans désinitialisation. Au bout d'une minute, le passage de B à A se produit avec le démarrage prévu deinit-init-start et le passage ultérieur de A à B ou entre d'autres comptes est également normal. Il semble que le problème soit lié d'une manière ou d'une autre au fait de la première connexion au compte. L'effet est persistant.

En général, le souhait est le suivant : lorsque l'on passe à un autre compte, il faut d'abord désinitialiser le compte actuel dans l'environnement actuel, puis - comme si l'on partait de zéro (se connecter à un nouveau compte et exécuter dans le terminal les valeurs du nouvel environnement).

 

Si vous avez implémenté un modèle d'objet, alors regardez ce modèle d'objet, les méthodes disponibles, les propriétés, etc. ainsi que dans le débogage.

Sinon, tout ce qui est suggéré ci-dessus fait partie de ce qui est disponible dans la plupart des environnements de développement modernes, il suffit de reproduire, par exemple, le Visual Studio de Microsoft. Par exemple, lors du passage de VB 6 à VB .NET, peu de choses ont changé, les fonctions ont simplement fait partie d'une classe séparée, pour ceux qui ne trouvent pas immédiatement les alternatives, seule l'échelle des approches a augmenté. Seules les fonctions de bas niveau ont été supprimées, grâce auxquelles j'ai élargi mes connaissances et même changé de langage de programmation, bien sûr ceux qui ne connaissaient pas des fonctions comme objptr n'en avaient pas besoin :) Bien sûr, après cela, toutes les fonctions alternatives et les classes ont été appris, mais la facilité d'accès de telles petites fonctionnalités comme le travail avec des pointeurs, ne m'a pas permis de revenir au siècle dernier et a ouvert de nouveaux domaines, sans raisonnement logique dans le brouillard C + +, tandis que j'ai essayé d'écrire en VB, j'ai étudié ASM et a essayé de créer un langage de programmation, mais plus loin l'apprentissage de la programmation du système, m'a conduit au fait que le meilleur de tout ce qui a été créé pour la programmation appliquée est .NET, je n'ai jamais compris la logique de Java et avant

P.S. : Ceci est un exemple de ce vers quoi il faut tendre :)

La chose la plus importante qui a provoqué le développement sérieux de la technologie .NET est Reflection et la possibilité d'étudier le code source pour comprendre comment il fonctionne jusqu'au moindre détail, aucune description et aucun exemple ne donnera plus que la possibilité de voir à la racine. Tous les désassembleurs et les nombreux autres outils qui ont été développés pour les approches de bas niveau sont insignifiants. Par exemple, je connais de nombreux détails et différences entre .NET 1.0 et 1.1 et encore plus entre .NET 2.0, non pas parce que je sais que la nouvelle version est bonne ou meilleure, mais parce que j'ai vu la différence entre le code source et le code machine et que je vois encore tous les nouveaux sommets atteints par .NET.

Supposons que j'ai également étudié le terminal et sa langue et supposons qu'il y aura quelque chose à comparer en considération de ce que nous avons :) Je ne fais pas confiance aux mots, je fais confiance à mes yeux :)

 

1) glisser et déposer les commandes comme dans un programme, je ne me souviens plus du nom maintenant, il est magnifique)))

2) dans le testeur W1

3) Éditeur visuel d'EA, de sorte que tout débutant, ne connaissant pas du tout le langage MQL, puisse mettre en œuvre ses propres idées dans des EA pour les vérifier sur l'historique, car les idées se sont avérées être des illusions, et sans programmeur, il n'y a aucune chance de renoncer aux illusions)).

le dernier point semble fantastique, je comprends, mais s'il est mis en œuvre, mt fera un bond en avant, deviendra vraiment massivement populaire et laissera ses concurrents derrière lui pour toujours ;))

 
Possibilité de créer des stratégies visuellement, sur la base des règles appliquées aux indicateurs. Tout comme il est mis en œuvre dans l'environnement visuel de Trading Solutions. Il est pratique qu'il n'y ait pas besoin de s'occuper de l'indicateur, de créer le code du conseiller expert juste pour vérifier ses signaux.
Raison: