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
Vous devez cependant vous rappeler. L'EA ferme uniquement les transactions en cours. Vous devez ouvrir la transaction vous-même.
100%, pas de problème, c'est exactement ce que j'essaie de faire... Je ne veux pas que l'EA ouvre une transaction, c'est MON travail... Je veux juste qu'il la ferme si plus de 2 ordres sont ouverts avec un profit X et qu'il tienne compte du spread ! Lentement, j'y arrive... cette programmation aurait dû être enseignée à l'école... dommage, je suis des années 80, je n'ai jamais pensé que je devrais passer par là, mais plus je lis le fichier d'aide, plus je trouve cela intriguant... aussi, ce forum a beaucoup d'aide, grâce à des gars comme vous.
Et si je pouvais ajouter une boucle IF et ensuite coller le reste du code ci-dessous qui démarre la boucle ?
La condition IF doit vérifier que le total des commandes est => 2 afin que le contrôle soit transmis pour fermer tous les ordres ouverts à un profit X après le spread ?
Je ne suis pas sûr de ce que vous voulez vraiment dire par " Lacondition IF devrait vérifier que le OrdersTotal est => 2 afin que le contrôle soit passé pour fermer tous les ordres ouverts à un profit X après le spread ".
mais je suis presque sûr que rien de vraiment mauvais ne se produira si vous essayez. Et si cela ne fonctionne pas, il n'y a rien à perdre. Au moins, vous aurez essayé.
100%, pas de problème, c'est exactement ce que j'essaie de faire... Je ne veux pas que l'EA ouvre une transaction, c'est MON travail... Je veux juste qu'il la ferme si plus de 2 ordres sont ouverts avec un profit X et qu'il tienne compte du spread ! Lentement, j'y arrive... cette programmation aurait dû être enseignée à l'école... dommage, je suis des années 80, je n'ai jamais pensé que je devrais passer par là, mais plus je lis le fichier d'aide, plus je trouve cela intriguant... aussi, ce forum a beaucoup d'aide, grâce à des gars comme vous.
Il suffit d'inclure "spread" dans "totalprofit".
Je ne suis pas sûr de ce que vous voulez dire par "La condition IF devrait vérifier que le OrdersTotal est => 2 afin que le contrôle soit passé pour fermer tous les ordres ouverts à un profit X après spread".
mais je suis presque sûr que rien de vraiment mauvais n'arrivera si vous essayez. Et si cela ne fonctionne pas, il n'y a rien à perdre. Au moins, vous aurez essayé.
Je ne suis pas sûr de ce que vous voulez dire par "La condition IF devrait vérifier que le OrdersTotal est => 2 afin que le contrôle soit passé pour fermer tous les ordres ouverts à X profit après le spread".
Hmm... Ok, ce que je veux dire c'est que
SI ... le nombre total d'ordres ouverts est supérieur ou égal à 2 ... alors seulement allez-y et suivez le reste du code...
SI le nombre total d'ordres ouverts [ OrdersTotal() ? ? ] ... est inférieur à 2 ... ce qui signifie que c'est soit 1 soit 0, alors ne faites rien ....
Maintenant, voici un problème pour moi, le fichier d'aide de mql 4 dit que OrdersTotal() compte tous les ordres, marché ET en attente ... J'essaie de chercher une fonction qui peut obtenir seulement les ordres du marché en direct, pas ceux en attente, OU, il peut être calculé mathématiquement comme la plupart du temps je n'ai que 2 trades maximum en cours d'exécution à la fois de toute façon.
Cette explication est-elle plus claire ?
Merci pour le temps que vous m'accordez.
thrdel veut que vous essayiez d'abord et voyez ce qui se passe, bien que je sois assez sûr de ce qui pourrait se passer.
thrdel veut que vous essayiez d'abord et voyez ce qui se passe.
Oui, je consulte le fichier d'aide pour trouver la fonction appropriée qui ne donne que les ordres ouverts.
Montrez-nous votre code lorsque vous réussirez à le compléter et nous vous aiderons si nous le pouvons.
Bien reçu ! Merci beaucoup...
..
et je n'ai pas réussi à trouver une fonction qui ne renvoie que les transactions ouvertes ... C'est ok, donc j'ai ajouté la boucle IF comme ci-dessous ...
J'ai ajouté la condition IF au début qui va si (OrdersTotal()>=2) ... [ Surligné dans le code ci-dessus avec le commentaire ].
Maintenant, il y avait un problème pour fermer les {} car lors de ma première tentative, j'ai essayé comme suit
donc en tant que codeur débutant, j'ai essayé de mettre cette condition if pour être vérifiée EN PREMIER... ça n'a pas compilé...
J'ai donc fermé le {} en mettant la condition à l'intérieur... maintenant il a compilé avec seulement 2 avertissements et aucune erreur...
La valeur de retour de 'OrderSelect' devrait être vérifiée Testcode 1.mq4 56 8
Tous les chemins de contrôle ne retournent pas une valeur Testcode 1.mq4 86 2
Donc, il compile ... est-il logiquement correct ?
[Je n'enlève pas les informations de copyright, j'ajoute juste une ligne, enlever ses détails serait totalement injuste de ma part... quelle est la règle à ce sujet ? ]
Oui, j'ai parcouru le fichier d'aide pour trouver la bonne fonction qui ne donne que les ordres ouverts.
Vraiment désolé, comme je l'ai déjà dit, je ne suis pas très bon pour expliquer. Je comprends que vous voulez trouver une fonction qui ne comptera que les ordres d' achat ou de vente ouverts, je vous ai demandé de regarder mon code, je vous l'ai expliqué au mieux de mes capacités et je n'ai pas été aussi bon que je l'espérais .
Tu te souviens de la première étape que j'ai mentionnée à propos de ce code ?
C'était : CountMyOrders. Maintenant, si vous regardez le code comme je vous l'ai demandé, voici ce que vous allez trouver.
Il est écrit :
Vous devez savoir ce que signifie OP_BUY et OP_SELL.
Il n'y a pas d'ordres en attente, pas de stop d'achat ouvert, pas de stop de vente ouvert, pas de limite d'achat ou de vente, juste un achat ouvert et une vente ouverte.
Comment mieux expliquer ce morceau de code et ce qu'il fait ?
Vous pouvez continuer à chercher dans la documentation et vous familiariser avec elle, mais je peux vous dire que la fonction que vous recherchez n'est pas là.
Mon EA dit que s'il n'y a pas encore d'ordres, il faut attendre :
Vous voulez que votre attende 2 ordres. Si vous aviez prêté un peu d'attention à ce que j'ai dit, vous auriez probablement remarqué que tout ce que vous devez faire est :
Voilla. Maintenant, il attend que les 2 ordres soient en place - pas d'attente, seulement achat ou vente !
Comprenez bien que j'ai essayé d'assembler ce code pour qu'il convienne à d'autres personnes qui pourraient chercher un moyen de gérer des transactions ouvertes, et non pour qu'il soit conçu dans un but précis.
Il est destiné à servir d'exemple, prenez ce que vous pensez être bon, laissez le reste de côté, améliorez-le, changez-le, apprenez de lui si vous le pouvez et expérimentez avec lui.
J'espère que cela a du sens.
Vraiment désolé, comme je l'ai déjà dit, je ne suis pas très bon pour expliquer. Je comprends que tu veuilles trouver une fonction qui ne comptera que les ordres d'achat ou de vente ouverts, je t'ai demandé de regarder mon code, je te l'ai expliqué au mieux de mes capacités et je n'ai pas été aussi bon que je l'espérais .
Tu te souviens de la première étape que j'ai mentionnée à propos de ce code ?
C'était : CountMyOrders. Maintenant, si vous regardez le code comme je vous l'ai demandé, voici ce que vous allez trouver.
Il est écrit :
Vous devez savoir ce que signifie OP_BUY et OP_SELL.
Il n'y a pas d'ordres en attente, pas de stop d'achat ouvert, pas de stop de vente ouvert, pas de limite d'achat ou de vente, juste un achat ouvert et une vente ouverte.
Comment mieux expliquer ce morceau de code et ce qu'il fait ?
Vous pouvez continuer à chercher dans la documentation et vous familiariser avec elle, mais je peux vous dire que la fonction que vous recherchez n'est pas là.
Mon EA dit que s'il n'y a pas encore d'ordres, il faut attendre :
Vous voulez que votre attende 2 ordres. Si vous aviez prêté un peu d'attention à ce que j'ai dit, vous auriez probablement remarqué que tout ce que vous devez faire est :
Voilla. Maintenant, il attend que les 2 ordres soient en place - pas d'attente, seulement achat ou vente !
Comprenez bien que j'ai essayé d'élaborer ce code pour qu'il convienne à d'autres personnes qui pourraient chercher un moyen de gérer des transactions ouvertes, et non pas pour qu'il soit conçu dans un but précis.
Il est destiné à servir d'exemple, prenez ce que vous pensez être bon, laissez le reste de côté, améliorez-le, changez-le, apprenez de lui si vous le pouvez et expérimentez avec lui.
J'espère que ça a du sens.