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

 
MetaQuotes:

1. Nous avons mentionné les paramètres dans start/init/deinit parce qu'ils ne devraient jamais s'y trouver, mais nous avons rencontré des exemples de code source où les auteurs ont ajouté des paramètres inutiles par erreur. Dans l'ancien MQL4, il était ignoré sans bruit, alors que dans MQL5, il est déjà signalé comme une erreur. Il n'y a pas de problème ici - seule une erreur très rare sera immédiatement visible.

2. Si vous avez rencontré des problèmes avec les DLL et le passage de tableaux de chaînes multidimensionnelles dans les DLL, ils seront rassurés. Les développeurs ont toutes les possibilités de travailler avec des structures et il n'est pas nécessaire de construire des béquilles sur des cordes.

La nouvelle version de MQL4 offre un grand nombre de nouvelles fonctionnalités, tout en maintenant la compatibilité.

1. J'en ai beaucoup où cette fonction est utilisée. Je ne pense pas être le seul.

2. Le surlignage est génial ! Mais laissez la compatibilité avec l'ancien !

MetaQuotes:

Il n'y a pas lieu de paniquer. Téléchargez le paquet IDE+MQL proposé et vérifiez vos développements.

Le compilateur dispose maintenant d'un très bon analyseur et donne facilement des avertissements sur les mélanges dangereux d'expressions logiques. Essayez-le vous-même.

C'est génial aussi ! Les codes de la base de code n'ont pas seulement été écrits par des professionnels. Il est certain qu'il n'y a pas de parenthèses dans les expressions logiques. Ces codes ne fonctionneront pas. Faites une clé pour que le compilateur saute par les anciennes règles.
 
MetaQuotes:

Ceux qui ont eu du mal avec DLL, et même avec le passage de tableaux de chaînes multidimensionnelles dans DLL, au contraire, poussent un soupir de soulagement. Les développeurs pourront travailler avec des structures et ne devront plus construire des béquilles sur des ficelles.

Pourquoi y a-t-il des béquilles ? Quel est le problème avec un tableau de chaînes de caractères ? Au fait, j'ai d'abord mal lu ce paragraphe, et il s'avère qu'il concerne les tableaux de chaînes de caractères, et pas seulement les tableaux multidimensionnels. Comment est-ce possible ? Comment suggérez-vous de remplacer le tableau transmis par la structure ? Par exemple, vous devez effectuer les opérations suivantes pour un tableau de 1000 chaînes de caractères

struct StrStruct { string a1 ; string a2 ; string a3 ; .... chaîne a1000 ; } A ; Et ensuite chaque membre doit être initialisé ? C'est absurde.

La nouvelle version de MQL4 apporte beaucoup de nouvelles fonctionnalités tout en gardant la compatibilité.

Seulement la compatibilité n'est pas complète.
 
Meat:

Pourquoi des béquilles ? Quel est le problème avec un tableau de chaînes de caractères ? Au fait, je n'ai pas lu ce point attentivement au début, et il s'avère qu'il ne s'agit pas seulement des tableaux multidimensionnels mais des tableaux de chaînes en général. Comment cela peut-il être ainsi ? Comment suggérez-vous de remplacer le tableau transmis par la structure ? Par exemple, vous devez effectuer les opérations suivantes pour un tableau de 1000 chaînes de caractères

struct A { string a1 ; string a2 ; string a3 ; ..... string a1000 ; } ; Et ensuite chaque membre doit être initialisé ? C'est absurde.

Seule la compatibilité n'est pas complète.


Une structure est passée comme une chaîne de caractères et est entièrement équivalente à celle-ci. Toute opération sur la chaîne de caractères est applicable à la structure.
 
Zhunko:

1. Et ça ? !

Très fidèle à la forme, d'ailleurs. Ce n'est pas une fonctionnalité sous-commentée. Je l'utilisais beaucoup aussi.
 
tara:

Une structure est passée comme une chaîne de caractères et est entièrement équivalente à celle-ci. Toute opération sur une chaîne de caractères est applicable à la structure.

Je ne comprends pas. Comment ça ?
 
Meat:

Je ne comprends pas. Qu'est-ce que tu veux dire ?

En termes de base de données, les champs fusionnent. Ils fusionnent.
 
tara:

Dans le cas des bases de données, les champs fusionnent. Ils sont fusionnés.
Ça n'a aucun sens. Quelles sont les bases de données ? D'où viennent-ils dans MQL ? Ici nous avons un tableau : string A[1000] ; Comment le passer à la DLL ?
 
Meat:
Ça n'a aucun sens. Quelles autres bases de données existe-t-il ? D'où viennent-ils dans MQL ? Ici, nous avons un tableau : string A[1000] ; comment le passer dans la DLL ?


Alexey, si vous avez un tableau de chaînes de caractères à deux dimensions, vous pouvez facilement le remplacer par un tableau de structures à une dimension.

D'ailleurs, ce serait une combinaison plus expressive :)

 

Vadik est juste en colère à cause de l'inévitable compétition. ;) // imha auto-sabotage

Il était une "panacée" avec ses bibliothèques, mais maintenant elles seront beaucoup moins demandées - presque tout peut être fait sans elles, et beaucoup de ce qui ne peut pas être fait peut être trouvé tout fait dans kodobase à mql5.com

Vadim, cherchez les pros, il y en a des ordres de grandeur plus importants.

 
MetaDriver:

Vadik est juste en colère à cause de l'inévitable compétition. ;) // imha auto-sabotage

Il était une "panacée" avec ses bibliothèques, mais maintenant elles seront beaucoup moins demandées - presque tout peut être fait sans elles, et beaucoup de ce qui ne peut pas être fait peut être trouvé tout fait dans kodobase à mql5.com

Vadim, cherchez les pros, il y en a des ordres de grandeur plus importants.

Votre code est "plus proche de la réalité". Il y a rarement quelque chose dans le domaine public qui ne vaille pas la peine d'être refait.
Raison: