Bug de redimensionnement des tableaux dans la version bêta 530 - page 4

 
SDC:

Avez-vous déjà codé en MQL5 angevoyageur ?

Oui. Pourquoi ?
 
angevoyageur: Oui, vous avez raison, la transition sera difficile. Cependant, je pense qu'elle ne sera pas difficile pour les débutants mais pour les codeurs mql4 expérimentés qui ne connaissent pas encore mql5. En général, les débutants ne lisent pas la documentation.

Je suis d'accord avec vous cette fois-ci . La plupart des personnes qui ont investi du temps dans l'apprentissage de mql4 redouteraient de réapprendre la nouvelle syntaxe.

mql4 a maintenant plus de niveaux que mql5 (imaginez ça).

  • Il y a la syntaxe mql4_non_oop.
  • il y a la syntaxe mql5_non_oop.
  • il y a la syntaxe mql5_object_oriented.

La bonne nouvelle est que vous n'êtes pas obligé d'utiliser ce que vous ne connaissez pas. Je pense que j'aime la façon dont metaQuotes facilite la transition des programmeurs mql4_ vers mql5 et la POO.

Pour les fans de metaTrader, ce langage est probablement le langage de l'avenir ; donc plus vite nous nous y mettrons, mieux ce sera ..... ; ce ne sont que mes opinions .

 
SDC: Je pense que lorsque la nouvelle version sortira, cela causera beaucoup de confusion sur le forum pour les nouveaux venus car la nouvelle documentation mql4 est basée sur le codage mql5. Cela signifie que beaucoup de ce qui est décrit sur ce forum et dans la base de code sera contredit par la documentation mql4. Configuration d'un tampon indicateur à partir de la nouvelle documentation mql4 : (Ceci contient des erreurs et ne compile pas)
Je pense que ce sera un peu comme mql5.com. Certains débutants ne recevront pas d'aide pour coder sur le forum en fonction du style qu'ils utilisent. Exemple : si le style qu'ils utilisent est mql5_oop, la plupart des réponses les dirigeront vers les mql5_docs. Cependant, s'ils postent leurs codes mql4_codes, il y aura beaucoup plus de personnes capables de lire les codes réels.
 
ubzen:

Je suis d'accord avec vous cette fois-ci. La plupart des personnes qui ont investi du temps dans l'apprentissage de mql4 redouteraient de réapprendre la nouvelle syntaxe.

mql4 a maintenant plus de niveaux que mql5 (imaginez ça).

  • Il y a la syntaxe mql4_non_oop.
  • il y a la syntaxe mql5_non_oop.
  • il y a la syntaxe mql5_object_oriented.

La bonne nouvelle est que vous n'êtes pas obligé d'utiliser ce que vous ne connaissez pas. Je pense, j'aime la raison pour laquelle metaQuotes facilite les programmeurs mql4_ vers mql5 et OOP.

Pour les fans de metaTrader, ce langage est probablement le langage de l'avenir ; donc plus vite nous nous y mettrons, mieux ce sera ...... Ce ne sont que mes opinions.

Vous avez raison, mais je dirais plutôt : vous n'avez pas à utiliser ce dont vous n'avez pas besoin.
 
ubzen:

La bonne nouvelle, c'est que vous n'êtes pas obligé d'utiliser ce que vous ne connaissez pas. Je pense, j'aime la façon dont metaQuotes facilite l'accès des programmeurs mql4_à mql5 et à la POO.

Pour les fans de metaTrader, ce langage est probablement le langage de l'avenir ; donc le plus tôt nous nous y mettrons, le mieux ce sera..... juste mon opinion .

Je suis d'accord et c'est quelque chose que j'ai repoussé à plus tard... mais plus pour longtemps, si quelqu'un trouve une bonne introduction aux principes de la POO, envoyez-moi un message.


Mon plus grand souci est la documentation, j'espère qu'elle ne sera pas laissée à l'abandon au lieu de recevoir le temps et l'attention dont elle a besoin... Espérons que mes craintes sont sans fondement.

 
angevoyageur:
Oui. Pourquoi ?

Parce que je veux vous demander si vous pensez que l'apprentissage de mql5 en valait la peine ? Avez-vous accompli des choses dans mql5 que vous pensez ne pas avoir pu faire dans l'ancienne mql4 ? Etes-vous également un programmeur expérimenté en matière d'OOP ?

Vous avez raison, ce sera une transition difficile, je ne sais pas si j'aurai un jour le temps d'apprendre toutes ces nouvelles choses.

Je me demande aussi pourquoi cet exemple de codage ne compile pas, les ENUM's sont des constantes prédéfinies ?

La première erreur est 'ENUM_APPLIED_PRICE' - déclaration sans type TestCopyBuffer1.mq4 23 7...

 
RaptorUK:

Je suis d'accord et c'est quelque chose que j'ai repoussé à plus tard... mais plus pour longtemps, si quelqu'un trouve une bonne introduction aux principes de la POO, envoyez-moi un message.


Ma plus grande préoccupation est la documentation, j'espère qu'elle ne sera pas laissée à l'abandon au lieu de recevoir le temps et l'attention dont elle a besoin... Espérons que mes craintes sont sans fondement.

Je pense que je suis d'accord aussi, je ne suis pas sûr dans quelle mesure oop va vraiment être nécessaire cependant. D'autres personnes sont-elles d'accord pour dire que l'OOP concerne davantage la structure d'un programme que sa fonction ou ses capacités ? Ou allons-nous vraiment devoir penser oop pour tirer le meilleur parti des fonctionnalités de mql5 ?

 

J'ai une astuce pour tous ceux qui veulent expérimenter la nouvelle version bêta mais qui veulent aussi garder 509 pour des raisons de sécurité. D'autres ont dit que si vous mettez à jour un terminal vers la version bêta, la mise à jour en direct mettra à jour tous les autres terminaux que vous avez aussi. Cela ne m'est pas arrivé, j'ai réalisé que l'UAC protège mon terminal de trading principal des interférences de la mise à jour automatique.

Vous pouvez donc installer un 509 dans les fichiers de programme et activer l'UAC. Ce sera votre principal terminal de trading.

Installez un autre 509 dans un dossier séparé, il peut être dans Program Files aussi, cela n'a pas d'importance. J'ai utilisé ProgramFiles/MetaTraderBeta/ Connectez ce terminal au serveur de test MT4 et laissez-le se mettre à jour vers la version bêta 530.

Maintenant, lorsque vous fermez la version bêta et ouvrez le terminal de trading 509, l'UAC vous informe qu'un programme a besoin de votre permission pour continuer. C'est le liveupdate. Si vous ne donnez pas cette autorisation, le terminal se chargera normalement et restera en version 509. Cela se produira chaque fois que vous redémarrez 509.

 
SDC:

Parce que je veux vous demander si vous pensez que l'apprentissage de mql5 en valait la peine ? Avez-vous accompli des choses dans mql5 que vous pensez ne pas avoir pu faire dans l'ancienne mql4 ? Etes-vous également un programmeur expérimenté en matière d'OOP ?

Vous avez raison, ce sera une transition difficile, je ne sais pas si j'aurai un jour le temps d'apprendre toutes ces nouvelles choses.

Je me demande aussi pourquoi cet exemple de codage ne compile pas, les ENUM's sont des constantes prédéfinies ?

La première erreur est 'ENUM_APPLIED_PRICE' - déclaration sans type TestCopyBuffer1.mq4 23 7...

Je ne suis probablement pas un bon exemple, car je suis un programmeur professionnel. Ce n'est donc pas un gros effort pour moi, et j'aime apprendre de nouveaux langages de programmation. J'ai aussi un peu d'expérience avec oop.

Je pense que beaucoup de programmeurs mql4 ne sont pas des programmeurs professionnels et qu'ils ont appris mql4 pour avoir la possibilité d'automatiser le trading avec l'espoir de gagner de l'argent. Même sans parler de oop, mql5 est plus difficile à apprendre que mql4. mql5 est plus structuré, moins permissif. Je ne prends qu'un seul exemple, l'utilisation de iCustom. Avec mql4, vous devez utiliser un appel à iCustom, avec les paramètres nécessaires, pour obtenir la valeur d'un tampon pour une bougie donnée. Avec mql5, vous devez travailler en 2 étapes, d'abord utiliser iCustom pour obtenir un handle vers l'indicateur, et ensuite utiliser une fonction CopyBuffer pour obtenir les données (1 valeur ou 10000 valeurs avec 1 appel). Donc un codeur amateur en mql4 peut plus facilement comprendre qui utiliser iCustom pour obtenir 1 valeur, avec mql5 vous devez comprendre le concept d'un handle, puis maîtriser la fonction CopyBuffer. Plus difficile. Mais plus efficace si vous avez besoin de récupérer 3, 4, 10 ou même 1000 valeurs du buffer d'un indicateur.

Il y a aussi beaucoup d'améliorations, par exemple presque tout ce qui nécessite l'utilisation de la dll Windows (postMessage...) avec mql4 peut être fait directement avec mql5. Vous n'avez pas besoin d'utiliser oop, toutes les fonctionnalités sont disponibles de manière procédurale.

En conclusion, ne vous inquiétez pas pour l'oop. À mon avis, la meilleure chose à faire est de procéder étape par étape. Ce que vous avez utilisé jusqu'à présent est toujours disponible avec des modifications mineures. Lorsque vous avez besoin d'une solution pour un nouveau problème, voyez si les nouvelles possibilités peuvent offrir une solution.


 
SDC:<br/ translate="no">

J'ai une astuce pour tous ceux qui veulent expérimenter la nouvelle version bêta mais qui veulent aussi garder 509 pour des raisons de sécurité. D'autres ont dit que si vous mettez à jour un terminal vers la version bêta, la mise à jour en direct mettra à jour tous les autres terminaux que vous avez aussi. Cela ne m'est pas arrivé, j'ai réalisé que l'UAC protège mon terminal de trading principal des interférences de la mise à jour automatique.

Vous pouvez donc installer un 509 dans les fichiers de programme et activer l'UAC. Ce sera votre principal terminal de trading.

Installez un autre 509 dans un dossier séparé, il peut être dans Program Files aussi, cela n'a pas d'importance. J'ai utilisé ProgramFiles/MetaTraderBeta/ Connectez ce terminal au serveur de test MT4 et laissez-le se mettre à jour vers la version bêta 530.

Maintenant, lorsque vous fermez la version bêta et ouvrez le terminal de trading 509, l'UAC vous informe qu'un programme a besoin de votre permission pour continuer. C'est le liveupdate. Si vous ne donnez pas cette autorisation, le terminal se chargera normalement et restera en version 509.

Soyez patient au sujet de la bêta. Metaquotes a supprimé son sujet à ce sujet car la version actuelle n'est pas encore prête pour un test de masse.

Si vous voulez tester, et éviter la mise à jour des autres terminaux, vous devez supprimer le dossier suivant :

  • Windows 7 : C : \ ProgramData \ MetaQuotes \ WebInstal après une mise à jour réussie, le terminal de test vers les autres terminaux ne sont pas mis à jour.
  • Windows XP : C : \ Documents and Settings \ All Users \ Application Data \ MetaQuotes \ Webinstall \