Prendre une deuxième commande sur le même bar
7 réponses
ryanbrignac9764
Il y a 8 ans #114680
J'ai essayé de consulter les forums mais je n'ai pas trouvé la réponse à ma question.
En tête de mon règlement, j'indique toujours "Le bar est-il ouvert ?", puis j'énumère mes règles.
Ensuite, j'entre au marché ou à l'ordre limité...
Donc, si j'entre dans un ordre de marché lorsque la barre d'ouverture est vraie et que sur cette même barre, il atteint mon objectif de profit et sort de la transaction avec un profit.... Comment puis-je lui dire que si pendant cette même barre, le prix revient à mon prix d'entrée sur la même barre il y a juste quelques secondes et qu'il est sorti avec un profit, il doit alors entrer à nouveau en position à ce même prix dans la même direction qu'il vient juste d'être ?
Mais une fois que la barre est terminée et que l'on passe à la barre suivante, je ne veux pas qu'il prenne la transaction.
Je veux seulement qu'il prenne la deuxième transaction s'il revient à mon prix d'entrée après que le premier prix d'entrée ait été un succès.
R.B.
![](https://h8v7k6i3.rocketcdn.me/wp-content/uploads/2021/07/tomas262_avatar-96x96.jpg)
tomas262
Il y a 8 ans #135263
Lorsque vous entrez en position à l'aide d'un ordre de marché, vous pouvez définir une variable waitForLimit = 1 et enregistrer votre objectif de profit.
L'EA attend alors que le marché atteigne ce prix et que la position du marché ne soit PAS plate jusqu'à la fermeture de la barre et place un ordre limite.
Ajoutez la condition "if isBarOpen = true AND waitForLimit = 1" que vous définissez à waitForLimit = 0 pour éviter de placer un ordre limite après la fermeture de la barre.
Attention, cela nécessite un backtesting précis pour obtenir des résultats significatifs.
Faites-moi savoir si vous avez besoin d'un exemple pour cela dans WIzard.
Fx Mena
Il y a 8 ans #135825
Même problème
J'ai besoin d'une fonction pour vérifier le dernier ordre clôturé (la plupart des ordres sont clôturés manuellement et l'EA ouvre une nouvelle transaction).
Ce dont j'ai besoin :
ACHETER si seulement le dernier ordre clôturé était VENDRE
SELL si seul le dernier ordre clôturé était BUY
Comment ajouter à l'EA ?
![](https://h8v7k6i3.rocketcdn.me/wp-content/uploads/2021/07/tomas262_avatar-96x96.jpg)
tomas262
Il y a 8 ans #135835
Ceci pourrait faire l'affaire. Il existe deux fonctions : Dernière commande et Dernière commande aujourd'hui ... tout dépend de ce que vous préférez.
Fx Mena
Il y a 8 ans #135847
Ceci pourrait faire l'affaire. Il existe deux fonctions : Dernière commande et Dernière commande aujourd'hui ... tout dépend de ce que vous préférez.
Bien, cela résout une partie du système, si je purge SL=0, et que j'active le Reverse trading CloseSell/OpenBuy vs CLoseBuy openSell, après quelques trades, EA arrêtera de faire Reset/Set traded=0 ou 1, et continuera avec un trade (short/long) qui ne peut pas être fermé si le TP n'est pas atteint.
Le problème de : Dernière commande & Dernière commande aujourd'hui qui nous renvoie l'opération ACTIVE en cours, et non les opérations clôturées, n'est-ce pas ?
Comment modifier la fonction personnalisée suivante et extraire les règles de stratégie en tant que : || ou && Pour renvoyer les règles si la dernière position fermée était VENDRE ou ACHETER.
Source :
http://forum.mt5.com/showthread.php?434-Mql4-useful-functions&p=1547&viewfull=1#post1547
int sqGetLastOrderHist(int type = -1) { int ticket = -1 ; datetime dt = 0 ; int cnt = HistoryTotal() ; for (int i=0 ; i dt) { dt = OrderCloseTime() ; ticket = OrderTicket() ; } } return (ticket) ; }
![](https://h8v7k6i3.rocketcdn.me/wp-content/uploads/2021/07/tomas262_avatar-96x96.jpg)
tomas262
Il y a 8 ans #135885
La fonction Dernier ordre renvoie le dernier ordre. Comme je l'ai expliqué dans l'exemple, l'EA attend que la position soit égale à zéro et évalue la dernière transaction. Ensuite, il effectue la transaction inverse.
![](https://h8v7k6i3.rocketcdn.me/wp-content/uploads/2021/07/tomas262_avatar-96x96.jpg)
tomas262
Il y a 8 ans #136135
J'ai essayé de modifier votre fichier. Voir le projet d'assistant ci-joint.
En fait, j'ai supprimé la condition "Market Position is Flat" et j'ai remplacé "Last Order Was" par ma propre variable.
Faites-moi savoir si cela vous a aidé
Fx Mena
Il y a 8 ans #136154
Merci beaucoup, tout de suite mystères & Problem résolu avec l'assistant EA.
Cet exemple comprend toutes les actions et règles nécessaires à la mise en œuvre de stratégies complètes.
🙂 Je suis très content, 1 an à essayer de résoudre ce problème, vous méritez le meilleur. Monsieur Tomas
Affichage de 7 réponses de 1 à 7 (sur un total de 7)