
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
Pas en temps réel.
Merci pour ces informations. Je ne savais pas que "OrderClosePrice()" était mis en mémoire tampon. Je suppose donc que ni "OrderClosePrice()" ni les "Ask"/"Bid" ne constituent la solution idéale en temps réel.
Cependant, êtes-vous d'accord pour dire que "OrderClosePrice()" est une meilleure solution globale que l'utilisation de "Ask"/"Bid" après que "OrderSelect()" ait été effectué ?
Et pour une solution en temps réel, si elle est effectivement nécessaire, alors je suppose que nous pouvons nous rabattre sur les alternatives :
Pourquoi essayez-vous de réinventer la roue ?
Regardez ici - vous trouverez tout ce dont vous avez besoin.
Sinon, commencez à modifier son code source.
Merci à tous pour l'aide apportée jusqu'à présent. Je pense avoir résolu le problème de l'erreur 130, mais il y a quelque chose qui ne va pas du tout avec ma fonction OrderSelect, ce qui est très probablement la raison pour laquelle elle ne modifie parfois que certains des ordres. Voici une liste des éléments que j'ai imprimés. Le numéro de ticket d'ordre est complètement erroné. Ce numéro de ticket appartient à une transaction que j'ai ouverte pour l'EURAUD. Bien que je n'aie pas inclus tous les résultats, il y a en fait plusieurs paires pour lesquelles les numéros de ticket d'ordre ne correspondent pas à la paire dans le terminal de transaction.
Quelqu'un peut-il jeter un coup d'œil et me dire ce qui ne va pas avec OrderSelect ? Merci.
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15 : ticket = 0 Je pense que le ticket devrait imprimer la même valeur que OrdersTotal, il semble donc que mon compteur ne fonctionne pas.
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15 : OrderSelect = true
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15 : OrdersTotal = 11
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15 : Selectbypos = 0
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15 : Selectbyticket = 1
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15 : OrderTicket = 50213357
Bonjour à tous, merci pour votre aide. J'ai trouvé l'erreur et les problèmes ont été résolus. Comme je n'utilise pas de Stoploss, la valeur de OrderStopLoss() est toujours 0. Ce n'est pas un problème lorsque je modifie l'ordre d'achat car 0 est toujours inférieur à Bid-TrailingStop*Pip. Mais avec l'ordre de vente, 0 ne peut jamais être supérieur à Ask+Trailingstop*Pip. J'ai donc dû ajouter le or(|| OrderStopLoss()) à cette ligne :
Merci beaucoup pour votre aide. Oui, il y a définitivement un problème avec OrderSelect car il ne fonctionne que sur certains graphiques. L'autre problème est que je ne peux pas inclure un MagicNumber car les transactions sont placées manuellement. J'ai utilisé la partie du code que je pense être pertinente, mais je n'arrive pas à le compiler. Il affiche cette erreur :
'MySelect' - la fonction ne peut être déclarée que dans la portée globale Trailing_v26.mq4 31 13
et la ligne 31 est celle-ci :
Voici l'ensemble de l'EA :
Oui, il y a définitivement un problème avec OrderSelect parce qu'il ne fonctionne que sur certains graphiques. L'autre problème est que je ne peux pas inclure un MagicNumber parce que les transactions sont placées manuellement. J'ai utilisé la partie du code qui me semble pertinente, mais je n'arrive pas à le faire compiler.
Je vous ai donné un code squelette parfaitement bon sur lequel vous pouvez vous baser, qui résout vos problèmes et les a même listés auparavant, mais vous choisissez de l'ignorer et continuez à vous battre en vous demandant pourquoi votre code ne fait pas ce que vous voulez !
Pourquoi ? Voulez-vous que votre code ne fonctionne pas ? Utilisez l'exemple et testez-le vous-même !