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
Une fois encore, pour les "candidats", les "médecins", les "professeurs" et les "universitaires".
Tout événement provenant de OnTradeTransaction() peut être perdu.
C'est pourquoi je pense que c'est une erreur qu'après avoir reçu l'événement significatifTRADE_TRANSACTION_HISTORY_ADD
les données dans le terminal ne seront pas mises à jour !
Dans l'aide(https://www.mql5.com/ru/docs/basis/function/events#ontradetransaction):
Une demande de transaction envoyée manuellement depuis le terminal ou via les fonctionsOrderSend()/OrderSendAsync() peut générer plusieurs transactions consécutives sur le serveur de transactions. L'ordre d'arrivée de ces transactions dans le terminal n'est pas garanti. Nous ne pouvons donc pas construire notre algorithme de négociation en attendant l'arrivée de certaines transactions commerciales après d'autres. En outre, les transactions peuvent être perdues lors de leur transfert du serveur au terminal.
Par conséquent, on ne voit pas bien pourquoi cette fonction est nécessaire. Vous ne devez pas l'utiliser, c'est tout. Vous devez analyser vous-même l'historique des commandes et des transactions.
Dans l'aide(https://www.mql5.com/ru/docs/basis/function/events#ontradetransaction):
Il n'est donc pas évident de savoir pourquoi cette fonction est nécessaire. Tu ne devrais pas l'utiliser, c'est tout. Vous devez analyser vous-même l'historique des ordres et des transactions.
Quant aux ordres, positions et transactions.
Comme il est écrit dans l'aide - la séquence des transactions n'est pas garantie - la transaction de transfert d'ordre vers l'historique peut être reçue avant la transaction de transaction.
Lamodification d'une position dans le terminal est strictement le résultat de la réception d'une transaction commerciale, de sorte que sa réception est une garantie que la position a changé.
L'obtention d'une transaction pour transférer un ordre dans l'historique garantit uniquement que l'ordre a cessé d'être actif (ouvert) et a été déplacé dans l'historique des ordres.
Quant à cette phrase.
Il semble être resté dans la documentation de l'une des premières versions du terminal avec échanges asynchrones. Il sera supprimé dans un avenir proche. Les coupables seront exécutés.
Quant aux ordres, positions et transactions.
Comme indiqué dans l'aide - la séquence des transactions n'est pas garantie - une transaction de transfert d'ordre vers l'historique peut être reçue plus tôt qu'une transaction de transaction.
Lamodification d'une position dans le terminal est strictement le résultat de la réception d'une transaction commerciale, de sorte que sa réception est une garantie que la position a changé.
L'obtention d'une transaction pour transférer un ordre dans l'historique garantit uniquement que l'ordre a cessé d'être actif (ouvert) et a été déplacé dans l'historique des ordres.
Quant à cette phrase.
Il semble être resté dans la documentation de l'une des premières versions du terminal avec échanges asynchrones. Il sera supprimé dans un avenir proche. Les coupables seront exécutés.
Merci beaucoup !
Et moi une mitraillette (ou au moins un fusil), pour participer au tir ? :)
MQ Alexander !
J'aimerais avoir une explication plus détaillée des transactions et des positions.
Parce que VOUS avez écrit :
Et en fait, il en ressort ce qui suit :
Ouverture de la démo de Test Expert Advisor build 1375 (a été exécuté 2 fois)
Et voici les résultats :
Les deux fois, TRADE_TRANSACTION_HISTORY_ADD est arrivé en premier, mais
dans le premier cas, il n'y avait pas de position, mais dans le deuxième cas, il y en avait une !
Comment dois-je le comprendre?
J'ai oublié de joindre le journal du terminal :
prostotrader, laissez-moi vous poser une question intime. Pourquoi aimez-vous tant les commandes historiques et pas les transactions? :-))
MQ Alexander a déclaré :
Что касается ордеров, позиций и сделок.
Comme il est écrit dans l'aide - la séquence des transactions entrantes n'est pas garantie - la transaction de transfert d'ordre vers l'historique peut être reçue avant la transaction.Lechangement d'une position dans le terminal est strictement le résultat de la réception d'une transaction commerciale, donc sa réception est une garantie que la position a changé.
L'obtention d'une transaction pour transférer l'ordre dans l'historique garantit seulement que l'ordre a cessé d'être actif (ouvert) et a été déplacé dans l'historique des ordres.
Et dans votre cas
presque vide...
Et une autre remarque lyrique. Dans le concept de MT5, la présence d'un ordre historique reflète le fait qu'il y a eu une tentative de transaction. Et ce n'est pas le fait qu'il ait été exécuté. Et pour le savoir, il faut se référer au métier. Il reflète déjà le résultat de l'opération commerciale. Il est alors plus logique de traiter les transactions dans votre code...
prostotrader, laissez-moi vous poser une question intime. Pourquoi aimez-vous tant les commandes historiques et pas les transactions? :-))
MQ Alexander a déclaré :
Et dans votre cas
est presque vide...
Je réponds à votre question intime.
Vous travaillez probablement sur le marché FOREX et traitez un ordre unique,
Vous vous obstinez donc à "mentir" sur une question que vous ne comprenez même pas.
Imaginez qu'il y ait deux volants dans une voiture et deux conducteurs qui regardent tous deux uniquement l'écran de contrôle.
la route. Comment le premier conducteur peut-il savoir que l'autre conducteur braque (disons vers la droite) ?
Regardez aussi attentivement:
Toute votre logique primitive est basée sur l'exécution d'un ordre de marché, donc..,
Je vous signale qu'il y a des ordres limités et en attente.
qui peuvent ne pas être entièrement exécutés mais peuvent être exécutés en partie.
Aussi, regardez bien:
Et qu'est-ce que je devrais voir là-bas ? !
Réalisez-vous que vous obtenez accidentellement des informations sur la position dans le cas TRADE_TRANSACTION_HISTORY_ADD ?
Et on vous a déjà dit que...prostotrader:
Toute votre logique primitive est basée sur l'exécution d'un ordre de marché, donc..,
Je voudrais porter à votre attention qu'il y a des ordres limités et en attente
qui peut ne pas être exécuté en totalité mais en partie.
Ce n'est pas à vous de juger ma logique primitive...
Et qui doit juger ?
Je juge vos capacités par vos déclarations !
La photo n'est clairement pas jolie :(
Est-ce plus clair, "Professeur" ?
Et je ne me souviens pas queMQ Alexander vous ait délégué pour répondre à sa place.