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
OrderGetInteger - fonctionne uniquement avec les ordres en attente sur le marché
HistoryOrderGetInteger - travaille avec les commandes remplies dans l'historique
Si quelqu'un d'autre est intéressé, le code, l'exécutable et le fichier journal de l'EA sont joints.
MT-5 FORTS
Conclusions :
1. Tant que l'ordre n'est pas complètement exécuté ou supprimé, il n'y a PAS d'historique sur celui-ci.
L'ORDER_POSITION_ID de l'ordre partiellement exécuté n'est pas défini.
Merci à tous, je l'ai eu.
DK 0 10:29:26.734 Trades : deal #4522435 vendre 1.00 SBPR-9.14 à 5255 fait (basé sur l'ordre #4988265)
maintenant c'est une exécution partielle.
Les gars, allez, ce listing montre qu'un ordre (#4988265) a été exécuté par deux transactions (#4522435 �) et n'a rien à voir avec une exécution partielle.
Voici comment cela fonctionne : disons que nous voulons acheter 50 contrats VTBR-9.14 sur le marché. Nous ne pouvons acheter qu'auprès des fournisseurs de liquidités, ceux qui passent des ordres de vente limités. Leur niveau et leur volume sont visibles dans la moitié supérieure de la coupe. Regardons ça :
Nous passons un ordre d'achat. Notre ordre ne peut être exécuté que par 4 vendeurs différents. Nous pouvons voir que nous pouvons acheter 1 contrat à 3874, 40 contrats à 3875, 1 contrat à 3876 et 28 contrats à 3877. Cela signifie que notre commande serait remplie par 4 vendeurs en même temps par 4 transactions :
Volume/
le volume disponible.
Total
Volume
Faites attention à l'heure. Le moment où l'on effectue une transaction ne coïncide pas nécessairement avec le moment où l'on passe un ordre. Permettez-moi de donner un autre exemple pour que ce soit plus clair :
Exécution partielle.
Supposons que nous voulions acheter 100 contrats VTBR-9.14 à un prix qui ne soit pas inférieur à 3873. Nous avons fixé une limite d'achat pour 100 contrats au niveau de 3873. Cependant, au moment où nous passons l'ordre, il y a déjà plusieurs vendeurs qui vendent leurs contrats à un meilleur prix que celui spécifié dans notre ordre :
Immédiatement après le placement de cet ordre limite, 5 transactions auront lieu, qui exécutera partiellement notre ordre limite. pour un montant de 70 contrats (1+3+1+39+26).
Les transactions exécutées seront placées dans l'historique des transactions et l'ordre à cours limité lui-même sera toujours actif et sera visible dans l'onglet "Trade" de ce formulaire :
Une fois que notre ordre aura fusionné les ordres à cours limité de sens opposé, son prix sera la meilleure offre pour ceux qui souhaitent vendre leurs contrats :
Comme notre offre est meilleure et que le marché est liquide, notre ordre sera exécuté par d'autres participants au marché ayant des ordres opposés, au marché ou en attente.
Après un certain temps, la commande sera remplie et ira dans l'"Historique".
Si nous analysons l'ensemble du processus en termes de temps, nous obtenons ce qui suit :
1. Nous avons fixé un ordre limite. Son temps de réglage correspond à ORDER_TIME_SETUP_MSC.
2. Les transactions initiées par cet ordre commencent à se déclencher. Ces transactions sont immédiatement ajoutées à l'historique. L'ordre lui-même se trouve toujours dans l'onglet "Trade" et se présente comme indiqué dans la figure ci-dessus.
3. Après un certain temps, toutes les transactions se déclenchent, l'ordre gagne le volume nécessaire et est déplacé vers l'historique des ordres. Son heure d'exécution ORDER_TIME_DONE correspond généralement à la dernière transaction exécutée.
L'ordre n'a pas atteint le volume nécessaire pour certaines raisons (manque de liquidité, expiration de l'ordre). Dans ce cas, il sera déplacé vers l'historique dans l'état "partiellement exécuté". Cela signifie que tous les volumes demandés ne seront pas exécutés par des transactions.
Notez la capture d'écran de cet ordre :
L'ordre a été exécuté en 25 secondes ( !) et pendant tout ce temps il était dans l'onglet des ordres actifs. Et seul le dernier échange a été déplacé dans l'histoire. Son ORDER_TIME_DONE, respectivement, est maintenant égal à l'heure de la dernière transaction.
P/S Comme je l'avais promis (concernant la publication de la réponse de Servicedesk).
Je n'obtiendrai pas de réponse du Service Desk parce que j'ai retiré ma demande car elle n'était plus nécessaire.
Je remercie komposter pour sa proposition d'écrire un EA de test avec
Je vous tiendrai au courant et vous fournirai des comptes rendus détaillés.
D'accord ! Ne voulez-vous pas remercier Integer, qui vous a accompagné toute la soirée et vous a fait réfléchir ?
Aidez-vous après une telle attitude...
D'accord ! Ne voulez-vous pas remercier Integer, qui vous a accompagné toute la soirée et vous a fait réfléchir ?
Aidez-vous après une telle attitude...
C'est son erreur, il n'aurait pas dû l'aider à penser, mais l'a fait pour lui.
sandex :
Vous cherchez dans la mauvaise partie,OrderGetInteger(ORDER_POSITION_ID) - vous essayez de chercher dans la partie qui n'a pas été impliquée dans l'ouverture/la modification/la fermeture de la position.
vous devez ressembler à ceci HistoryOrderGetInteger(ticket,ORDER_POSITION_ID)
-----------------
Votre commentaire ?
Voulez-vous continuer ?
sandex :
Vous cherchez dans la mauvaise partie,OrderGetInteger(ORDER_POSITION_ID) - vous essayez de chercher dans la partie qui n'a pas été impliquée dans l'ouverture/la modification/la fermeture de la position.
vous devez ressembler à ceci HistoryOrderGetInteger(ticket,ORDER_POSITION_ID)
-----------------
Votre commentaire ?
Voulez-vous continuer ?
Pourquoi ? Pourquoi faites-vous cela ? Comme si l'homme avait écrit des bêtises ? Ce ne serait pas une absurdité si tu n'avais pas écrit ta propre absurdité. Vous avez écrit que l'entrée de l'ordre apparaît dans l'historique des ordres et qu'il est toujours sur le marché.
Voulez-vous continuer ?
L'achèvement, je pense, est le dernier.
Aucun forum auquel j'ai déjà participé ou auquel je participe actuellement.
Les utilisateurs du forum n'ont pas cette attitude les uns envers les autres !
Un forum est une communauté de personnes partageant les mêmes idées qui résolvent (discutent)
C'est une communauté de personnes partageant les mêmes idées qui peuvent travailler ensemble pour résoudre des problèmes et s'entraider.
Toutes les personnes sont DIFFÉRENTES - l'une saisit l'essence de la question à la volée, l'autre a besoin de temps,
pour le comprendre.
Pensez-y à loisir !
P / S Et je remercie Yurich et komposter, précisément parce que.
J'ai dit merci à Yurich et à komposter parce qu'ils n'ont rien dit d'inutile.
A un homme (même s'il a tort ou se trompe).
Ils sont un exemple de vrais utilisateurs du forum !
Je suis déjà assis dans le parterre. J'ai hâte d'y être.... :)