Erreurs, bugs, questions - page 1724
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
Tout va bien ici, le placement des ordres doit être contrôlé par OnTradeTransaction, d'ailleurs, si vous vous connectez à l'échange directement par Plaza2, la situation est la même - vous devez contrôler l'arrivée des messages concernant le placement des ordres. Dans MT4, cette fonction est synchrone, mais la même option est disponible dans MT5, seulement dans ce cas, la logique s'arrêtera jusqu'à ce que la fonction ne reçoive aucune réponse.
Si vous voulez, je peux vous envoyer la classe de contrôle, mais elle est écrite pour le placement de marché, mais bientôt je la finaliserai pour les limiteurs.
Je vous demande instamment de poster quelque chose sur la kodobase ! A des fins éducatives.
Impossible pour la raison que vous avez vous-même indiquée https://www.mql5.com/ru/forum/1111/page1743#comment_2877482. Récemment je n'ai pas pu localiser l'erreur, j'ai passé beaucoup de temps à former le code source en servicedesk - à la fin rien n'est sorti à cause des nombreuses références croisées (l'une tire l'autre en progression géométrique) - j'ai envoyé .ex5
À des fins pédagogiques, je peux suggérer la tâche suivante : sans introduire de variables supplémentaires, simplifiez h() de sorte que f() soit appelé dans tous les cas une fois.
Erreur de compilation
(*) En général, dans le schéma (1), on peut substituer à la place de T à la fois A->(2) et A->(3).
Pourquoi ça ? Un motif avec const ne peut pas accepter non-const - cela viole le contrat.
À des fins pédagogiques, je peux suggérer la tâche suivante : sans introduire de variables supplémentaires, simplifiez h() de sorte que f() soit appelée une fois dans tous les cas
Pourquoi ça ? Un modèle avec const ne peut pas accepter non-const - cela viole le contrat.
Quelqu'un a-t-il rencontré un problème similaire ? Un "bug" dans le terminal ou le mien ?
MT5-OrderSend n'est PAS entièrement synchronisé - il n'y a pas de synchronisation avec l'environnement de trading. Cela signifie que les relevés historiques ne correspondent pas à la situation réelle.
Aucun temps mort n'est envisageable. Il n'existe pas de solution fiable à ce problème, car vous devez traiter les questions de synchronisation au niveau du terminal, et non au niveau du serveur.
En fait, les utilisateurs de MT5 sont confrontés à ce que les développeurs de ponts MT4 rencontrent.
Si un OrderSend est envoyé, vous devez vous RAPPELER (c'est là que réside la vulnérabilité potentielle) qu'il a été effectué. Ensuite, ignorez l'historique actuel (environnement de trading) jusqu'à ce que le message correspondant arrive dans OnTrade. Une fois qu'il est arrivé, N'OUBLIEZ PAS d'oublier.
Lorsqu'il n'y a pas de REMEMBER, vous pouvez vous fier à l'historique comme dans MT4.
MT4-OrderSend est TOTALEMENT synchronisé.J'ai cru comprendre que si vous utilisez OrderSendAsync de manière asynchrone, vous pouvez gérer à la fois OnTrade et OnTradeTransaction. Avec OrderSend, je veux avoir un comportement simple, comme dans MT4. Une fois qu'il est appelé, nous obtenons en sortie les positions ouvertes déjà modifiées et l'historique.
Il y a un point subtil. Si l'état actuel est stocké dans une variable globale et que l'attente des changements d'état prend un temps relativement long, et que le trader parvient à modifier les paramètres de l'EA, les variables globales seront réinitialisées et l'état sera écarté.
Il ne s'agit pas vraiment d'une simplification. Dans la version originale MACRO+2*f+g1+g2=5 - vous avez : MACRO+2*f+2*g1+2*g2=7.