![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
QUAND voulez-vous utiliser une variable STATIQUE - quels sont les problèmes que cela peut résoudre ?
QUAND voulez-vous mettre quelque chose dans la section INIT() - quels problèmes cela résout-il ?
Big BeDonc, une réponse à cette question, c'est à la place ou en plus des explications de la documentation MQ4 ?
Comment garder la trace de plusieurs ordres ?
Je suis en train de créer un EA qui n'a qu'une seule transaction ouverte à la fois.
J'ai beaucoup de variables pour garder la trace de ce qui se passe pendant cette transaction.
Si j'avais plus de transactions ouvertes en même temps, je pensais que je pourrais utiliser des tableaux pour ces variables avec le numéro de ticket comme clé. Mais si je comprends bien, les clés doivent être 0,1,2,3, etc. Ce ne serait donc pas possible.
Au lieu de cela, je pourrais avoir un tableau multidimensionnel comme ceci, j'espère que vous comprenez ma description en javascript/php.
barsSinceOpen = array(
0 => array(0 => 123123, 1 => 63)
1 => array(0 => 552352, 1 => 5)
) ;
0 dans la deuxième dimension serait le numéro de ticket, et 1 serait le nombre de barres depuis l'ouverture de la transaction.
barSinceOpen est juste un exemple... Je sais que je pourrais le calculer pour chaque transaction à chaque fois que je le voudrais, mais ce n'est pas la question. Il y a BEAUCOUP de choses dont je tiens compte pour une transaction.
Et pour sélectionner l'ordre correct, je devrais itérer sur le tableau et sélectionner le tableau de 2ème niveau avec le bon ticket.
Pensez-vous que ce soit une bonne idée ? Comment le feriez-vous ?
Autre question
Il semble que lorsque je fais un orderModify() pour définir un take profit par exemple.
Puis, avant le prochain tick ou avant de sélectionner à nouveau le même ordre, je fais un autre orderModify() pour définir un stop loss. Et dans cet ordre, j'utilise OrderTakeProfit() pour ne pas supprimer le take profit. Mais, il supprime quand même le take profit.
Dois-je attendre le prochain tick ou sélectionner à nouveau l'ordre pour que la fonction OrderTakeProfit() renvoie mon nouveau take profit ?
Quand voulez-vous utiliser une variable STATIQUE - quels problèmes peut-elle résoudre ?
QUAND voulez-vous mettre quelque chose dans la section INIT() - quels problèmes cela résout-il ?
Big BeDonc, une réponse à cette question, c'est à la place ou en plus des explications dans la documentation MQ4 ?
Ce serait en complément.
(J'essaie toujours de faire mes devoirs d'abord).
Peut-être ai-je besoin d'explications et d'exemple(s).
Big Be
Quand voulez-vous utiliser une variable STATIQUE - quels problèmes peut-elle résoudre ?
Quand voulez-vous mettre quelque chose dans la section INIT() - quels problèmes cela résout-il ?
Big BeUne variable statique restera la même à chaque appel de fonction dans laquelle elle se trouve, sauf si elle est modifiée dans la fonction bien sûr. Vous pouvez vouloir un nombre entier dans cette fonction seulement que vous voulez augmenter de 1 par exemple à chaque appel de fonction.
Mais vous pouvez aussi utiliser des variables globales pour cela.
Exemple de init :
int init() {
TakeProfit=TakeProfit*Point ;
StopLoss=StopLoss*Point ;
TrailingStop=TrailingStop*Point ;
breakEven=breakEven*Point ;
retour(0) ;
}
Ce sont des variables externes et vous définissez takeprofit à 50 par exemple si vous voulez 50 pips. Mais pour que cela fonctionne dans l'EA, il faut le multiplier par la valeur du pip de la devise 0,001 par exemple.
Une variable statique restera la même à chaque appel de fonction dans laquelle elle se trouve, sauf si elle est modifiée dans la fonction bien sûr. Vous pouvez avoir besoin d'un nombre entier dans cette fonction uniquement, que vous voulez augmenter de 1 par exemple à chaque appel de fonction.
Mais vous pourriez tout aussi bien utiliser des variables globales pour cela.
...
Simon-
Merci. S'il te plaît, aide-moi à clarifier les choses :
Cela signifie-t-il qu'une variable statique conserve la dernière valeur qui lui a été attribuée, même si elle n'est pas globale ?
En ce qui concerne init(), il semble qu'elle soit utilisée comme une fonction de configuration.
- Pouvez-vous me donner d'autres bons exemples pour cette fonction ?
- Faut-il la faire suivre de deinit() ?
Big Be
Demandez à
Bonjour à tous,
J'ai reçu de nombreux messages privés me demandant de l'aide pour certains morceaux de code.
Ici vous pouvez poster vos questions relatives à MQL4, et je ferai de mon mieux pour y répondre.Bonjour,
Je veux apprendre mql directement de vous j'ai lu votre tutoriel et j'ai été codage couple de EA.
ma couleur en fonction de la fermeture
HI,
Je voudrais savoir s'il existe un indicateur de ma qui change de couleur en fonction de la fermeture de la bougie, par exemple si la bougie ferme au-dessus de la SMA, la couleur de la ligne est bleue, mais si elle est inférieure à la MA, la couleur devient rouge.
Je sais qu'il y a un indicateur qui s'appelle "ma_in_color.mq4" désolé mais je ne sais pas comment le poster, ma question est de savoir s'il y a quelqu'un qui pourrait programmer une alerte sonore dans cet indicateur.
merci beaucoup
Quel est le moyen le plus simple pour que les valeurs des tampons d'un indicateur s'affichent sous forme de commentaire ou s'impriment dans le dossier des experts afin que je puisse voir les valeurs changer ? J'ai 8 tampons dans cet indicateur.
Dave
ctrl-D .