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
Voici une explication simplifiée -> https://www.mql5.com/en/forum/117210. Les tableaux sont toujours passés par référence dans MQL4.
Oui, merci. Mais comme je l'ai demandé, cela implique-t-il que ce n'est pas le cas dans d'autres langages ? Si c'était la seule façon de l'amener en utilisant MQ/MT4 ou une autre construction linguistique, je suppose qu'ils n'auraient pas à se donner la peine de l'énoncer.
Je suppose que je demande les "détails techniques" comme vous l'avez dit dans ce message. Juste par curiosité, pas par nécessité.
En ce qui concerne la syntaxe, le langage MQL5 pour la programmation des stratégies de trading est très similaire au langage de programmation C++, à l'exception de certaines caractéristiques :
Comme ça, je peux laisser entendre qu'en C++ le contraire sera vrai... Merci quand même, Gordon.
Je suis désolé, mais ce n'est pas une réponse "technique" :) Pourriez-vous dire pourquoi il est préférable de passer une variable par référence plutôt qu'une variable globale ?
Beaucoup de raisons que je préfère ne pas répéter, je vous renvoie plutôt à ici -> https://en.wikipedia.org/wiki/Global_variable et ici -> http://www.c2.com/cgi/wiki?GlobalVariablesAreBad (vous pouvez chercher sur Google pour en savoir plus...). C'est un concept largement accepté et il y a beaucoup d'informations sur le net).
[...] cela implique-t-il que dans d'autres langues, ce n'est pas le cas ? [...]
Beaucoup de raisons que je préfère ne pas répéter, je vous renvoie plutôt à ici -> https://en.wikipedia.org/wiki/Global_variable et ici -> https://www.mql5.com/go?link=http://www.c2.com/cgi/wiki?GlobalVariablesAreBad (vous pouvez chercher sur Google pour en savoir plus...). C'est un concept largement accepté et il y a beaucoup d'informations sur le net).
Très intéressant ! Malheureusement, les EA ont besoin de paramètres, et parfois beaucoup, donc nous ne pouvons pas les éviter et devons faire attention pour toutes les raisons mentionnées dans https://www.mql5.com/go?link=http://www.c2.com/cgi/wiki?GlobalVariablesAreBad.
J'utilise des règles de nommage pour les GlobalVariables : beaucoup plus facile à gérer et à éviter certains bugs.
Merci Gordon.
Très intéressant ! Malheureusement, les EA ont besoin de paramètres, et parfois beaucoup, donc on ne peut pas les éviter [...].
Les externes sont en effet inévitables. Bien qu'ils aient une portée globale, ils ne sont pas identiques aux variables globales (à ne pas confondre avec les GV) ; plus précisément, il n'est pas recommandé de modifier leur valeur via le code, et ils ne devraient donc pas être utilisés pour transmettre des informations entre les fonctions (voir ici -> https://www.mql5.com/en/forum/123535).
J'utilise des règles de nommage pour les GlobalVariable : beaucoup plus facile à gérer et à éviter certains bugs.
Simple curiosité : existe-t-il des langages de programmation dont les fonctions renvoient plusieurs résultats ?
on pourrait peut-être faire en sorte qu'une fonction renvoie deux valeurs en les combinant de manière à pouvoir les décombiner à nouveau dans la fonction appelante
quelque chose comme ceci
a = 10 ;
b = 20 ;
a = a*1000
c = a+b // 10020
return(c) ;
puis dans la fonction d'appel
b = c%1000 // 20
a = c-b/1000 // 10
on pourrait peut-être faire en sorte qu'une fonction renvoie deux valeurs en les combinant de manière à pouvoir les décombiner à nouveau dans la fonction appelante
quelque chose comme ceci
[...]Pourquoi pas ?
Pourquoi pas ?