Michael, la commande existe-t-elle toujours après ces messages ? Est-ce que, par hasard, c'est quelques ms avant que la transaction n'aurait pas pu être exécutée ?
Oui, la commande existe toujours après l'erreur.
Cela n'a pas d'importance, car avant de supprimer (modifier) l'ordre, on vérifie s'il existe :
Je vois que la commande a été acceptée (ce qui signifie qu'elle peut être traitée), mais la demande n'est pas correcte.
Dans le carnet de bord, le journal se présente comme suit :
2015.11.26 18:05:16.725 Trades '1007642': failed cancel order #35817112 buy 0.00 at market [Invalid request]
2015.11.26 18:05:16.693 Trades '1007642': cancel order #35817112 buy limit 1.00 RTS-12.15 at 87780
2015.11.26 18:05:16.691 Trades '1007642': deal #4375646 buy 1.00 RTS-12.15 at 87780 done (based on order #35817112)
C'est-à-dire qu'au moment où l'ordre a été supprimé, une transaction a été exécutée sur celui-ci. Et ensuite, le robot essaie de supprimer l'ordre qui n'existe plus.
Maintenant, j'essaie de décider ce qu'il faut faire.
Pourquoi je demande, je suis dans cette situation :
Journal de bord (experts) :
Je vois que la commande a été acceptée (ce qui signifie qu'elle peut être traitée), mais la demande n'est pas correcte.
Dans le carnet de bord, le journal se présente comme suit :
C'est-à-dire qu'au moment où l'ordre a été supprimé, une transaction a été exécutée sur celui-ci. Et ensuite, le robot essaie de supprimer l'ordre qui n'existe plus.
J'essaie maintenant de décider ce qu'il faut faire.
J'ai également eu ce problème, mais je l'ai résolu.
Quelle commande utilisez-vous pour définir la fonction OrderSend() ou OrderSendAsync() ?
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Génial !
Temps d'installation - 15:07:31.849
Heure de la suppression - 15:07:31.865
Et c'est déjà la 25ème semaine de lademande Invalide, et c'est très sérieux. Maintenant je comprends pourquoi Servicedesk est silencieux.
Dans ce cas, le conseiller peut recevoir un code :
TRADE_RETCODE_REJECTSergei !
Vous avez eu raison. Bogue MQ
Leterminal ne met pas à jour le statut de la commande:
J'ai reçu une commande, mais son état est toujoursORDER_STATE_STARTED.
Sergei !
Vous avez eu raison. Bogue MQ
Leterminal ne met pas à jour le statut de la commande:
J'ai reçu la commande, mais son état est toujoursORDER_STATE_STARTED.
Michael, la commande existe-t-elle toujours après ces messages ? Par hasard, un marché n'aurait-il pas été conclu quelques secondes auparavant ?
Michael, la commande existe-t-elle toujours après ces messages ? Est-ce que, par hasard, c'est quelques ms avant que la transaction n'aurait pas pu être exécutée ?
Oui, la commande existe toujours après l'erreur.
Cela n'a pas d'importance, car avant de supprimer (modifier) l'ordre, on vérifie s'il existe :
Pourquoi je demande, je suis dans cette situation :
Journal de bord (experts) :
Je vois que la commande a été acceptée (ce qui signifie qu'elle peut être traitée), mais la demande n'est pas correcte.
Dans le carnet de bord, le journal se présente comme suit :
C'est-à-dire qu'au moment où l'ordre a été supprimé, une transaction a été exécutée sur celui-ci. Et ensuite, le robot essaie de supprimer l'ordre qui n'existe plus.
Maintenant, j'essaie de décider ce qu'il faut faire.
Oui, l'ordre existe bien après l'erreur.
Mais cela n'a pas d'importance, car avant de supprimer (modifier) l'ordre, on vérifie qu'il existe :
Pourquoi je demande, je suis dans cette situation :
Journal de bord (experts) :
Je vois que la commande a été acceptée (ce qui signifie qu'elle peut être traitée), mais la demande n'est pas correcte.
Dans le carnet de bord, le journal se présente comme suit :
C'est-à-dire qu'au moment où l'ordre a été supprimé, une transaction a été exécutée sur celui-ci. Et ensuite, le robot essaie de supprimer l'ordre qui n'existe plus.
J'essaie maintenant de décider ce qu'il faut faire.
J'ai également eu ce problème, mais je l'ai résolu.
Quelle commande utilisez-vous pour définir la fonction OrderSend() ou OrderSendAsync() ?
J'ai eu ce problème aussi, mais je l'ai résolu.
Quelle commande utilisez-vous pour définir OrderSend() ou OrderSendAsync() ?
Envoi de la commande()
Le fait est que lorsqu'un ordre est en cours d'exécution, vous ne contrôlez pas son exécution et vous ne bloquez donc pas OnTick() ou OnBookEvent().
Vous devez traiter l'événement de transaction dans OnTradeTransaction() pour contrôler rapidement l'ordre en cours d' exécution.
Je posterai bientôt le code pour le faire...