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
Désolé, je suis un peu confus.
if(iOpenOrders_Buy = 3)
Ici, si le total des ordres d'achat ouverts est égal à '3', le code passe à la partie suivante.
if(iOpenOrders_Buy > 0 )
Si le nombre total d'ordres d'achat ouverts est supérieur à '0', le code passe à la partie suivante.
if(iOpenOrders_Buy == 3)
Ensuite, si le nombre d'ordres d'achat ouverts est égal à 3, alors il ouvrira le BuyOrder_1, s'il est égal à '2', il ouvrira le BuyOrder_2 et ensuite leBuyOrder_3 si le nombre d'ordres d'achat ouverts est égal à 1.
Ai-je raison ?
Vous avez raison, regardez à nouveau le code modifié, est-ce que c'est correct ?
Vous avez raison, regardez à nouveau le code modifié, est-ce que c'est correct ?
Je ne pense pas.
if (Condition d'achat remplie && iOpenOrders_Buy == 0)
Cela signifie que la 'Condition d'achat est remplie' et qu'il n'y a pas d'ordres d'achat ouverts, n'est-ce pas ?
alors le code passera à la ligne suivante où iOpenOrders_Buy = 3;
Donc il est dit à l'EA qu'il y a déjà 3 ordres ouverts ici, n'est-ce pas ?
Mais si j'entre dans le code en sachant qu'il n'y a pas d'ordres d'achat ouverts, alors pourquoi assigner iOpenOrders_Buy = 3; ?
De plus, l'objectif est que l'une des trois transactions continue à fonctionner et que seul un 'nouvel' ordre d'achat soit ouvert lorsque la dernière transaction sera fermée.
Cela doit donc être
if(iOpenOrders_Buy== 0) // Il n'y a pas d'ordre d'achat ouvert, nous devons donc ouvrir de nouveaux ordres d'achat.
Lorsque l'EA obtient la condition d'achat, il ouvre trois transactions avec des prises de profits différentes.
Ensuite, si deux des trades sont fermés de toute façon (soit par le TP ou le SL), le troisième continuera à fonctionner.
Que pensez-vous de cela ? Est-ce que cela fonctionnerait comme indiqué ci-dessus ?
Salutations
Je ne pense pas.
Que pensez-vous de cela ? Cela aurait-il le même effet que celui indiqué ci-dessus ?
Salutations
non, que se passe-t-il si les ordres ne sont pas exécutés, comment vérifiez-vous quelle transaction vous devez ouvrir si l'une d'entre elles échoue ?
pourquoi assigner iOpenOrders_Buy = 3; ?
vous devez ouvrir 3 nouveaux trades si les ordres réussissent, donnez une nouvelle valeur à iOpenOrders_Buy.
Si iOpenOrders_Buy devient 0, nous avons nos 3 transactions.
non, que se passe-t-il si les ordres ne réussissent pas, comment vérifier quelle transaction vous devez ouvrir si l'une d'elles échoue ?
pourquoi assigner iOpenOrders_Buy = 3; ?
vous devez ouvrir 3 nouvelles positions si la fin des ordres réussit, ce qui donne une nouvelle valeur à iOpenOrders_Buy.
Si iOpenOrders_Buy devient 0, nous avons nos 3 transactions.
Oui, il est tout à fait possible que 'Ordersend()' ne parvienne pas à ouvrir un ordre.
J'ai maintenant compris pourquoi
if(iOpenOrders_Buy > 0 ) // nous devons ouvrir de nouveaux ordres d'achat.
était utilisé dans votre code. Comme nous avons déjà défini iopendOrders=3, cela va le vérifier.
Mais plus tard, j'ai été confus sur la façon dont la valeur de iopendOrders va continuer à changer.
Probablement à cause de mon cerveau limité, je n'ai pas réussi à comprendre le mécanisme. J'ai donc essayé de mettre en œuvre votre logique de la manière ci-dessus.
Est-ce que c'est ce que vous avez indiqué dans votre code ?
Salutations
Oui, il est tout à fait possible que 'Ordersend()' ne parvienne pas à ouvrir l'ordre.
J'ai maintenant compris pourquoi
if(iOpenOrders_Buy > 0 ) // nous devons ouvrir de nouveaux ordres d'achat.
était utilisé dans votre code. Comme nous avons déjà défini iopendOrders=3, cela va le vérifier.
Mais plus tard, j'ai été confus sur la façon dont la valeur de iopendOrders va continuer à changer.
Probablement à cause de mon cerveau limité, je n'ai pas réussi à comprendre le mécanisme. J'ai donc essayé d'implémenter votre logique de la manière décrite ci-dessus.
Est-ce que c'est ce que vous avez indiqué dans votre code ?
Salutations
S'il vous plaît ne vous dérange pas mais encore une fois je suis confus !
Si j'utilise
count=count-1 ; après
Print( "Buy Order 1 Opened successfully") ;
cela signifie que si le premier ordre d'achat a été ouvert, alors la valeur de count sera diminuée de 1.
Ainsi, en entrant dans la fonction suivante, voici la condition 'if' suivante :
if (count==2) {}
la valeur du compte est devenue '2'. [count=3-1=2]
Est-ce correct ?
S'il vous plaît ne vous dérange pas mais encore une fois je suis confus !
Si j'utilise
count=count-1 ; après
Print( "Buy Order 1 Opened successfully") ;
cela signifie que si le premier ordre d'achat a été ouvert, alors la valeur de count sera diminuée de 1.
Donc, en entrant dans la fonction suivante, voici la condition 'if' suivante :
if (count==2) {}
la valeur du compte est devenue '2'. [count=3-1=2]
Est-ce correct ?
essayez-le.... faire quelques tests
Essayez-le.... faire quelques essais
Je suis fatigué et voici le résultat.
Je n'ai probablement pas pu placer le code "Fermeture de l'ordre de vente avant l'achat" au bon endroit. D'où l'obtention d'un ordre de vente et d'achat alors que c'est contraire au code d'origine.
Et il y a "4" ordres d'achat en tout !
J'ai échoué :(
opps, j'ai oublié de mettre iOpenOrders_Buy ==0
Maintenant je le teste à nouveau avec ceci.