Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
En général, pour un manuel, il est préférable d'écrire entre parenthèses:
Tous les opérateurs de la forme @=, où chien signifie le symbole d'une opération quelconque, sont toujours exécutés sur l'opérande de droite, entièrement compté avant l'exécution de l'opération. Ce point est abordé dans la partie 2, sous la rubrique Opérations de modification.
Le fichier de calcul des marges est décrit dans la sixième partie, où l'on suppose que les parties précédentes ont été maîtrisées. La complexité augmente vers la fin du livre - je n'en disconviens pas, c'est pourquoi j'ai essayé de faire référence aux grands concepts et principes des sections précédentes dans les sections suivantes, où ils ont été utilisés comme éléments de base (pour vous rafraîchir la mémoire), mais pas pour de si petites choses.
...La complexité augmente vers la fin du livre, ce qui n'est pas contestable. Pour les grands concepts et principes des sections précédentes, j'ai essayé de faire référence aux sections suivantes où ils étaient utilisés comme éléments constitutifs (pour me rafraîchir la mémoire), mais pas pour de si petites choses.
Stanislav, j'ai un niveau de programmation plus modeste que le vôtre. J'essaie d'écrire le code de manière à ce qu'il soit plus facile de le vérifier dans le débogueur. C'est pourquoi je n'utilise pas souvent l'opérateur ternaire. Et si je le fais, je l'utilise avec des parenthèses... Il existe des personnes habiles qui écrivent plusieurs opérateurs ternaires inclus les uns dans les autres. Cela se rapproche du style de programmation macro de mon collègue fxsaber. Il est probable que chaque approche a droit à la vie. Et c'est déjà une question de goût...
Grand respect et respect pour le tutoriel ! Certaines choses intéressantes sont décrites plus en détail que dans la documentation.
De toute façon, cela ne sert pas à grand-chose, car en fin de compte, la marge est toujours comptée de manière incorrecte si le volume est supérieur à trois.
Calcul de la marge pour dix contrats.
Veuillez joindre le script pour vérification. Je l'ai maintenant exécuté sur l'ensemble du marché - il coïncide avec la fonction standard, quel que soit le volume.
Et le compilateur est furieux :
Quelque chose a probablement changé dans le compilateur. Au moment de la publication du livre, toutes les sources se compilaient sans avertissement ni erreur, sauf dans les cas où il y avait des irrégularités délibérées à des fins de démonstration.
J'essaie d'écrire le code de manière à ce qu'il soit plus facile de le vérifier dans le débogueur. C'est pourquoi je n'utilise pas souvent l'opérateur ternaire. Et si je le fais, je l'utilise avec des parenthèses....
Je suis d'accord. Je m'en tiens également à cette règle, sauf dans les cas simples - mais ici, chacun a sa propre barrière de simplicité. La lisibilité du code est traitée individuellement, mais nous cherchons généralement un "juste milieu" entre l'approche "tout sur une seule ligne" et "chaque élément sur une ligne séparée". Avec des crochets - de la même manière. Les éditeurs de logiciels ont généralement un ensemble de règles sur la présentation du code source - dans ce cas, il n'y en avait pas.
Veuillez joindre le script pour vérification. Je l'ai maintenant exécuté sur l'ensemble du marché - il coïncide avec la fonction standard, quel que soit le volume.
Oh, mon Dieu. Je n'arrive pas à croire que je n'ai pas vu ce message. C'est vrai.
En fait, rien n'a changé pour moi.
Serveur Metaquot, terminal version 4420.
Le code est le suivant
Le résultat est le suivant.
Quelqu'un compte mal.
Je ne sais pas ce que c'est et pourquoi c'est nécessaire, mais cela ne m'a pas permis de compiler l'EA.
En fait, j'ai juste supprimé la ligne namespace MPM, les accolades après et renommé OrderCalcMargin, en ajoutant le trait de soulignement.
En général, le fichier a été compilé sous cette forme. Est-il possible que l'erreur vienne de là ?
Le code est le suivant
Le résultat est le suivant
Quelqu'un a mal compté.
Voici ce que l'on trouve dans les nouvelles pour le début de 2024 (c'est-à-dire après l'écriture du livre) à propos de la version 4150 - https://www.metatrader5.com/en/releasenotes/terminal/2342.
Dans les paramètres du serveur et l'interface de spécification des symboles, ils ont ajouté la dépendance de la marge par rapport au volume.
Je n'ai pas trouvé comment accéder à ces propriétés à partir de MQL5.
Dans un courtier/instrument particulier, ce paramètre de marge flottante peut ne pas être activé, c'est pourquoi je n'ai pas vu de différence lorsque je n'ai pas vérifié sur MQ demo.
Ajout de la dépendance de la marge de volume aux paramètres du serveur et à l'interface de spécification des symboles.
Je n'ai pas trouvé comment accéder à ces propriétés à partir de MQL5.
@Renat Fatkhullin
Est-il prévu d'ajouter la possibilité d'obtenir ces propriétés depuis MQL5 ?
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Expert Advisors : MQL5 Programming for Traders - codes sources du livre. Partie 7
Stanislav Korotky, 2024.11.23 20:26
J'ai trouvé dans les nouvelles du début de 2024 (c'est-à-dire après l'écriture du livre) la version 4150 - https://www.metatrader5.com/en/releasenotes/terminal/2342.
Dans les paramètres du serveur et l'interface de spécification des symboles, ils ont ajouté la dépendance de la marge sur le volume.
Je n'ai pas trouvé comment accéder à ces propriétés à partir de MQL5.
Dans un courtier/instrument particulier, ce paramètre de marge flottante peut ne pas être activé, c'est pourquoi je n'ai pas vu de différence lorsque je n'ai pas vérifié sur MQ demo.