Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 755
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
Bonjour. Je n'arrive pas à comprendre ce qui ne va pas.
Il y a deux ordres avec un volume plus petit et plus grand et un take profit différent. L'ordre avec le plus petit volume est ouvert en premier, puis l'ordre avec le plus grand volume. Nous devons trouver un Take Profit pour l'ordre avec un plus grand volume.
Tout semble correct, mais pour une raison quelconque, nous obtenons les valeurs de prise de bénéfices de l'ordre avec un volume plus faible (il a été ouvert en premier). Qu'est-ce qui ne va pas ?
P.S. total = OrdersTotal()
Bonjour. Je n'arrive pas à comprendre ce qui ne va pas.
Il y a deux ordres avec un volume plus petit et plus grand et un take profit différent. L'ordre avec le plus petit volume est ouvert en premier, puis l'ordre avec le plus grand volume. Nous devons trouver un Take Profit pour l'ordre avec un plus grand volume.
Tout semble correct, mais pour une raison quelconque, nous obtenons les valeurs de prise de bénéfices de l'ordre avec un volume plus faible (il a été ouvert en premier). Qu'est-ce qui ne va pas ?
P.S. Total = OrdersTotal()
Il semble que la fonction MaxLotBuy() contienne sa propre recherche d'ordre et qu'un autre ordre soit sélectionné lorsque nous revenons à cette fonction. Évitez le rebond des ordres en dehors de certains cycles de rebond des ordres. Je ne comprends pas ce que j'ai dit. Mais c'est vrai.
Dans cette situation, il vaut mieux déclarer une variable avant la boucle et lui attribuer la valeur OrderLots() à condition que la nouvelle valeur soit plus grande que la précédente.
La fonction MaxLotBuy() semble avoir sa propre boucle de commande et une autre commande est sélectionnée lors du retour à cette fonction. Vous devez éviter de passer par la commande en dehors de toute boucle de commande. Je ne comprends pas ce que j'ai dit. Mais c'est vrai.
Dans cette situation, il vaut mieux déclarer une variable avant la boucle et lui attribuer la valeur OrderLots() à condition que la nouvelle valeur soit plus grande que la précédente.
Merci. Oui,MaxLotBuy() a sa propre énumération d'ordres, mais la valeur de retour est la valeur maximale (je vais vous donner le code).
Mais j'ai compris votre idée, merci. Je vais l'essayer maintenant.
C'est probablement la bonne façon de faire.
Merci, cela semble mieux.
Je pense que la bonne chose à faire serait
Merci. Ce n'est pas seulement lorsque vous vous écrivez à vous-même que vous devez faire attention.
Bien que ce soit exactement ce que disent les mots.
Les gars, merci beaucoup, ça marche comme il faut. J'ai également ajouté une réinitialisation à la position originale.
Les gars, merci beaucoup, ça marche comme il faut. J'ai également ajouté une réinitialisation à la position originale.
Eh bien, oui. Mon exemple n'est pas complet. Je l'ai juste corrigé, complété et ma correction a coïncidé avec votre message dans le temps.
Peu importe qu'il ne soit pas complet, ce qui compte c'est la bonne idée, la bonne approche. Merci encore à tous.
Peu importe qu'il ne soit pas complet, ce qui compte c'est la bonne idée, la bonne approche. Je vous remercie tous une fois de plus.
Ensuite, c'est comme ça
Ensuite, cela ressemble à ceci
En fait, je n'ai pas posté tout le code, mais seulement une partie permettant de trouver le take profit de l'ordre avec le lot le plus élevé. Le principe est le suivant : lorsque le prix s'inverse, un ordre en attente avec un lot plus important est placé. Si cela fonctionne, un stop loss est fixé sur l'ordre opposé de sorte que lorsque l'ordre avec un gros lot est fermé au niveau du Take Profit, l'ordre avec un profit négatif au niveau du stop loss est également fermé. Le code complet de modification avec fixation d'un stop loss ressemble à ceci
P.S. Pendant les tests, il y a tellement de nuances qui doivent être "expliquées" au conseiller expert pour savoir comment il doit se comporter dans certains cas.