[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 582
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
La dernière fonction publiée par Kim, GetPotentialLossInCurrency (https://forum.mql4.com/ru/11287/page107), ne prend en compte que les ordres ouverts :
J'ai essayé de l'élargir un peu en y incluant les ordres en attente (en ajoutant simplement d'autres types) : mais les ordres en attente ne sont pas pris en compte. Sont-ils comptés différemment ? La documentation ne dit rien à ce sujet.....Les ordres en suspens n'ont pas de "perte potentielle totale des positions ouvertes dans la devise de dépôt".
La fonction GetPotentialLossInCurrency() renvoie la perte potentielle totale des positions ouvertes dans la devise de dépôt.
Elle fait référence aux positions sur le marché. Appuyez sur F1 sur ces fonctions de marché, relisez attentivement les informations :
Lesordres en suspens n'ont pas de "perte potentielle totale des positions ouvertes dans la devise de dépôt".
La fonction GetPotentialLossInCurrency() renvoie la perte potentielle totale des positions ouvertes dans la devise de dépôt.
Nous parlons de positions sur le marché. Appuyez sur F1 sur ces fonctions de marché, relisez attentivement les informations :
Question aux programmeurs :
sur une nouvelle barre, l'Expert Advisor vérifie si l'ordre sur l'euro est vivant (par exemple), si non - il fait une nouvelle transaction, si oui - il laisse tout comme c'est.
mettre une telle condition :
Mais le code ne fonctionne pas. Où se trouve l'erreur ?
Voici une question pour les programmeurs :
sur une nouvelle barre, le conseiller expert vérifie si l'ordre EUR est vivant (par exemple, s'il ne l'est pas, il ouvre une nouvelle transaction, s'il l'est, il laisse tout en l'état.
J'ai posé une telle condition :
Mais le code ne fonctionne pas. Où se trouve l'erreur ?
Regardez ce qui se passe s'il y a une douzaine de commandes et que la vôtre est la septième (par exemple).
Vérifiez le premier - ce n'est pas le nôtre.
Vérifiez le deuxième, ce n'est pas le nôtre.
...
vérifier le septième - le nôtre
Vérifier le huitième, ce n'est pas le nôtre.
...
L'idée est que lorsque vous ouvrez un ensemble d'ordres sur une paire, vous pouvez fermer tous les ordres qui se chevauchent en un seul mouvement.
Modifier/supprimer une commande--->type---->Faire disparaître les commandes superposées
Il supprime les ordres superposés... Existe-t-il une telle fonction dans MQL ?
Oups, je l'ai trouvé : https://forum.mql4.com/ru/4822
voir ce qui se passe s'il y a une douzaine de commandes et que la vôtre est la septième (par exemple)
Vérifiez le premier - ce n'est pas le nôtre.
Vérifiez le deuxième, ce n'est pas le nôtre.
...
vérifier le septième - le nôtre
vérifiez le huitième, ce n'est pas le nôtre, établissez la commande
...
Il n'y a qu'un seul ordre ouvert sur cette paire. Je ne vérifie que pour le symbole EURUSD donné, mais je ne dois pas avoir défini la condition correctement.
si(OrderSymbol()!="EURUSD"||Tip>1){continue;}seulement{
nous avons besoin de if(OrderSymbol()= Symbol("EURUSD"){
Il n'y a qu'un seul ordre ouvert pour cette paire. Je ne vérifie que pour le symbole EURUSD donné, mais j'ai dû me tromper de condition.
si(OrderSymbol()!="EURUSD"||Tip>1){continue;}seulement{
besoin si(OrderSymbol()= Symbol("EURUSD"){
si vous n'en avez qu'un seul dans votre EA, vous pouvez simplement vous souvenir de son ticket et vérifier chaque fois qu'il est fermé ou non, sans passer par tous les ordres.
Merci beaucoup pour la recommandation, j'ai presque tout compris, mais je ne me souviens pas si l'ordre est déclenché, alors le ticket prend la valeur -10 ?
Les ordres en suspens n'ont pas de "perte potentielle totale des positions ouvertes dans la devise de dépôt".
La fonction GetPotentialLossInCurrency() renvoie la perte potentielle totale des positions ouvertes dans la devise de dépôt.
Elle fait référence aux positions sur le marché. Appuyez sur F1 sur ces fonctions de marché, relisez attentivement les informations :
Je comprends très bien que la fonction GetPotentialLossInCurrency() parle des positions ouvertes. J'ai une question : pourquoi les ordres en attente ne peuvent-ils pas être comptabilisés également ?
La documentation :
Il n'est dit nulle part que OrderOpenPrice et/ou OrderStopLoss ne s'appliquent qu'aux ordres ouverts.
Merci beaucoup pour la recommandation, j'ai presque trouvé la solution, mais je ne me souviens pas si l'ordre est déclenché, est-ce que le ticket prend une valeur de -10 ?