Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1913
![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
Je ne vois pas l'erreur ici.
même chose
if(TimeFrame != 0)
Je ne vois pas d'erreur ici.
PERIOD_CURRENT est 0 - la constante magique.
Il devrait être _Period (la période du graphique actuel) au moins et il est toujours différent de 0.
Je ne vois pas d'erreur ici.
Lorsque ce morceau de code est pris, il y a également un paramètre d'entrée
Par conséquent, nous obtenons la condition si 0 n'est pas égal à 0.
Mais si nous remplaçons PERIOD_CURRENT par toute autre période dans le paramètre d'entrée, la condition sera maintenue quelle que soit la période du graphique. Quel est donc l'intérêt de cette condition ?
Lorsque ce morceau de code est pris, il y a aussi un paramètre d'entrée
Corrélativement, on obtient la condition si 0 n'est pas égal à 0
Mais si nous remplaçons PERIOD_CURRENT par toute autre période dans le paramètre d'entrée, la condition sera maintenue quelle que soit la période du graphique. Quel est donc l'intérêt de cette condition ?
Cela n'a de sens qu'une seule fois, afin que la fonction ChartSetSymbolPeriod() ne vous dérange pas trop ;
Il s'agit d'un seul point, afin que la fonction ChartSetSymbolPeriod() ne soit pas tirée inutilement ;
En principe, oui. Mais la question portait sur la présence d'erreurs, pas sur l'opportunité de cette condition...
Bonjour, chers développeurs !
Je suis confronté à la nécessité de regrouper les commandes pour travailler avec chaque groupe séparément (fermeture, complément, etc.). Je pense que la tâche n'est pas trop difficile, mais je n'ai aucune idée de la façon de la résoudre. J'ai une idée très floue, c'est tout. Personne n'a été confronté à un tel problème ? Le regroupement peut se faire de n'importe quelle manière( terminal devariables globales, commentaires, etc.). Je vous serais reconnaissant de toute aide.
Pourquoi tu ne veux pas utiliser Magik ? Parce qu'il peut y avoir plus d'un magicien dans un EA...
Pourquoi un magicien ne convient-il pas ? Après tout, il peut y avoir plus d'un magicien dans un conseiller...
Magik convient également. Je suppose que toutes ces options auront presque le même algorithme. Donc, ça n'a pas d'importance. L'essentiel est de trouver la solution).
Magik
Magik convient également. Je suppose que toutes ces options auront presque le même algorithme. Donc, c'est la même chose. L'essentiel est de trouver une solution).
Bien sûr, la solution est la même. Vous définissez le critère selon lequel l'ordre appartient à tel ou tel groupe et vous l'identifiez en fonction de ce critère...
Merci de votre participation. L'énoncé de mission est clair pour moi. Je suis coincé avec l'implémentation...
J'ai essayé avec les commentaires. Jusqu'au deuxième groupe, il numérote correctement. Au troisième, il en retourne un pour le commentaire, bien que le premier groupe soit encore sur le marché. L'idée n'est pas de multiplier les numéros, mais de prendre ceux qui sont vacants. J'espère l'avoir expliqué clairement).
for(int a=1 ; a<10 ; a++)
{
commentaire=" ;
for(int i=0 ; i<OrdersTotal() ; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
{
//Print(OrderComment() ;
si(OrderComment()==IntegerToString(a)) continue ;
sinon
{
commentaire=IntegerToString(a) ;
pause ;
}
}
}
}
if(comment!="") break ;
}
if(CountOfBuy(magic)<1 && CountOfSell(magic)<1) comment="1" ;