Version bêta de l'IDE MetaTrader 4 comprenant un nouveau compilateur et un nouvel éditeur MQL4 - page 11

 
Renat:
Ce mois-ci.

Y aura-t-il une place de marché dans cette version ? Sera-t-il mis en œuvre comme dans MT5 (je veux dire la possibilité de tester la version de démonstration avant d'acheter) ?
 
Oui, un semblable va apparaître.
 
chief2000:
Il serait bien que dans la nouvelle version du langage toutes les GlobalVariables soient appelées Variables Terminales pour éviter l'éternelle confusion des "variables globales". Les commandes "Global- " pourraient encore fonctionner pour la compatibilité des versions.

C'est le poids que nous portons depuis les trois. Où il n'y avait pas de concept de fonctions.

Malheureusement, lorsque nous sommes passés à quatre, nous n'avons pas pu nous débarrasser du terme "variables globales". Toutefois, le nom officiel "variables globales du terminal du client" est assez proche du terme "variables du terminal" (qui n'est pas parfait non plus).

 
Renat:
Ce mois-ci.
Y aura-t-il une version bêta avant la sortie du logiciel ou celui-ci sera-t-il directement mis dans le domaine public ?
 
Renat:
Regardez la version de MT5 qui a été publiée hier. Il dispose d'un nouveau compilateur et éditeur MQL4 à part entière. Nous allons bientôt lancer le terminal MT4, ce qui n'est pas une mince affaire quand on pense à l'énorme quantité de fonctionnalités transférables depuis MT5.

La question est de savoir pourquoi transférer cette fonctionnalité si nous pouvions simplement ajouter MQL5 comme second langage à MT4 et laisser MQL4 tel quel, inchangé, pour la compatibilité avec les anciens programmes. Alors les moutons seraient mangés et les loups nourris. Tous les nouveaux programmes seront écrits en MQL5, puissant et pratique, tandis que les anciens programmes, écrits en MQL4, fonctionneront également correctement. Puis, en l'espace de quelques années, mettre progressivement fin à la prise en charge de l'ancien langage, afin de laisser aux gens le temps de refaire leurs anciens développements en toute tranquillité.

Mais au lieu de cela, un hybride de MQL4-MQ5 est créé qui n'est pas 100% compatible avec l'ancienne norme (déjà discuté dans ce fil). De plus, d'après ce que je comprends, cet hybride ne sera pas non plus entièrement compatible avec MQL5. Je parle de la syntaxe du langage elle-même, pas de l'API sous forme de fonctions.

Cela signifie qu'il y aura toujours deux langues, deux normes. Et les développeurs devront prendre en charge les deux. La question est de savoir pourquoi on fait tant d'histoires à ce sujet. L'option que j'ai décrite dans le premier paragraphe est beaucoup plus logique et pratique pour tous. Si nous avions une seule norme MQL5 + une seule norme MQL4 (qui deviendra peu à peu obsolète), il ne nous resterait plus que la norme MQL5.

Encore une fois, par norme linguistique, j'entends exactement sa syntaxe. Toutes les fonctions du terminal et les variables d'environnement ne sont pas liées à la langue.

 
Meat:

...........

Au lieu de cela, ils créent un hybride de MQL4-MQ5 qui n'est pas 100% compatible avec l'ancienne norme (déjà discuté dans ce fil).

De plus, d'après ce que je comprends, cet hybride ne sera pas non plus entièrement compatible avec MQL5. Je parle de la syntaxe du langage elle-même, pas de l'API en tant que fonctions.

Cela signifie qu'il y aura toujours deux langues, deux normes. Et les développeurs devront prendre en charge les deux. La question est de savoir pourquoi on fait tant d'histoires à ce sujet. L'option que j'ai décrite dans le premier paragraphe est beaucoup plus logique et pratique pour tous. Si nous avions une seule norme MQL5 + une seule norme MQL4 (qui deviendra peu à peu obsolète), il ne nous resterait plus que la norme MQL5.

Encore une fois, par norme linguistique, j'entends exactement sa syntaxe. Toutes les fonctions possibles du terminal et les variables d'environnement ne sont pas liées à la langue.

Pouvez-vous nous en dire plus ? // Je n'en ai jamais entendu parler.

 
MetaDriver:

Plus de détails ? // Je n'ai rien entendu à ce sujet.

Alors, qu'y a-t-il à entendre ? Ce n'est pas parce que l'ancien MQL4 sera mis à jour avec de nouvelles fonctionnalités qu'il deviendra le MQL5.

 
Meat:
Laviande:

Par norme linguistique, j'entends sa syntaxe. Et toutes sortes de fonctions terminales et de variables d'environnement ne font pas partie du langage.



Vous avez raison. C'est ainsi que les développeurs s'y sont pris, à mon avis.
 
Meat:

La question est de savoir pourquoi transférer cette fonctionnalité si l'on peut simplement ajouter MQL5 à part entière comme deuxième langage à MT4 et laisser MQL4 tel quel, inchangé, pour la compatibilité avec les anciens programmes.

La variante la plus logique consiste à étendre MQL4 à MQL5, qui devrait généralement être supprimé en tant que langage de test et de débogage qui n'a pas trouvé sa place sur le marché. Le terminal dispose également d'une solution simple pour la compensation, de sorte que les transactions soient toujours effectuées par un seul ordre sur le serveur. Sinon, nous devrons faire du désordre et conserver deux versions équivalentes pour le reste de notre vie, ce qui deviendra tôt ou tard ennuyeux en raison de l'absence de sens.
 
Andrei01:
La variante la plus logique est d'étendre MQL4 à MQL5 qui devrait être complètement liquidé en tant que méthode de test et de débogage qui n'a pas trouvé sa place sur le marché. Le terminal dispose également d'une solution simple pour la compensation, de sorte que les transactions soient toujours effectuées par un seul ordre sur le serveur. Sinon, nous devrons faire du désordre et conserver deux versions équivalentes pour le reste de notre vie, ce qui deviendra tôt ou tard ennuyeux en raison de l'absence de sens.

Pour ce faire, nous devons déclarer notre propre logique comme étant la plus correcte, tandis que toutes les autres logiques doivent être ignorées en raison de leur absence de sens.

P.S. Et ne réduisez pas le monde au primitivisme du "la logique est ou n'est pas". :)