Questions des débutants MQL5 MT5 MetaTrader 5 - page 1035

 
Roman Sharanov:

Je veux me familiariser avec le développement d'interfaces en MQL5 sur EasyAndFastGUI

Il y a 10 parties (ou quoi ?) d'articles sur les "interfaces graphiques" de 2015.

J'ai une question : sont-ils tous cohérents, ou n'y a-t-il aucun intérêt à lire les plus anciens ?

Si vous voulez le comprendre, lisez depuis le début. Si vous voulez apprendre par essais et erreurs, téléchargez la dernière version et étudiez les exemples.
 

Bonjour à tous, j'ai une question sur MQL5.
Je n'ai pas trouvé de bon exemple de la manière de clôturer correctement un ordre. Je sais comment fermer un ordre et utiliser la classe CTrade, mais existe-t-il une bonne solution toute prête ?
L'idée n'est pas d'envoyer une commande de fermeture mais d'avoir une fonction qui renvoie vrai seulement après que j'ai reçu la réponse "OUI, LA POSITION EST COMPLÈTEMENT FERMÉE, RELAX" du courtier).
Je connais aussi trade.ResultRetcode() et TRADE_RETCODE_DONE, mais je ne veux pas réinventer la roue, quelqu'un a-t-il une solution toute prête ?

 
Evgeny Dyuka:

Bonjour, j'ai une question sur MQL5.
Je n'ai pas trouvé de bon exemple de la manière de clôturer correctement un ordre. Je sais comment fermer un ordre et utiliser la classe CTrade, mais existe-t-il une bonne solution toute prête ?
L'idée n'est pas d'envoyer une commande de fermeture mais d'avoir une fonction qui renvoie vrai seulement après que j'ai reçu la réponse "OUI, LA POSITION EST COMPLÈTEMENT FERMÉE, RELAX" du courtier).
Je connais aussi trade.ResultRetcode() et TRADE_RETCODE_DONE, mais je ne veux pas réinventer la roue, quelqu'un a-t-il une solution toute prête ?

OrderClose de MT4Orders retournera vrai avec la même logique que dans MT4 - quand la position sera fermée.

 
fxsaber:

OrderClose de MT4Orders retournera vrai avec la même logique que dans MT4 - lorsque la position est fermée.

Je pense que, comme la dernière fois, des adeptes de MT5 vont apparaître et critiquer votre bibliothèque, ce serait bien... mais peu de gens savent comment utiliser le système d'ordres de MT5 )))).

 
fxsaber:

L'OrderClose de MT4Orders retournera vrai avec la même logique que dans MT4 - lorsque la position est fermée.

Merci, je n'étais pas au courant de l'existence de cette bibliothèque.
 
Igor Makanu:

Je pense que comme la dernière fois, les adeptes de MT5 vont venir critiquer votre bibliothèque, ce serait bien... mais peu de gens savent comment utiliser le système d'ordres de MT5 )))).

Il est étrange qu'il n'y ait pas de solution toute faite de la part des développeurs de mql5. L'ordre, l'accord et la position sont destructeurs de cerveau. La position est quelque chose d'ouvert, mais si elle est déjà fermée, qu'est-ce que c'est ? Que retourne HistoryOrdersTotal si, logiquement, un ordre ouvre une position et l'autre la ferme, c'est-à-dire deux par position... dans ce cas, le ticket de l'ordre d'ouverture (parfois, peut-être, peut-être) élève l'id de position, mais alors quel est le ticket de l'ordre de clôture un ????
 
Evgeny Dyuka:
Il est étrange qu'il n'y ait pas de solution toute faite disponible auprès des développeurs de mql5. L'ordre, la transaction et la position déchirent vraiment le cerveau. La position est quelque chose qui est ouvert, et si elle est déjà fermée, qu'est-ce que c'est ? Que retourne HistoryOrdersTotal si, logiquement, un ordre ouvre une position et l'autre la ferme, c'est-à-dire deux par position... dans ce cas, le ticket de l'ordre d'ouverture (parfois, peut-être, peut-être) élève l'id de position, mais alors quel est le ticket de l'ordre de clôture un ????
  • Un ordre est un ordre que vous donnez à un serveur pour faire quelque chose. Elle peut être exécutée, elle peut être partiellement exécutée (incomplètement exécutée), et elle peut être rejetée.
  • Transaction - Le résultat de l'exécution d'un ordre (votre ordre d'exécuter une action).
  • Une position est le résultat de l'exécution d'une transaction pour entrer sur le marché.
  • Position fermée (c'est quand il n'y a pas de position et qu'il est inutile d'en parler comme d'une chose tangible - il n'y a pas de position) - le résultat de l'exécution d'une transaction pour sortir du marché.
  • Une transaction de sortie est obtenue lors de l'exécution d'un ordre, c'est-à-dire votre ordre de fermer la position.
  1. Vous envoyez un ordre au serveur pour ouvrir une position d'achat - l'ordre avec le type ORDER_TYPE_BUY
  2. Si l'ordre est accepté par le serveur et entièrement exécuté, une transaction sera formée - un ordre d'entrée sur le marché avec le type DEAL_ENTRY_IN.
  3. En conséquence, vous avez une position du type POSITION_TYPE_BUY
  4. Vous envoyez un ordre au serveur pour fermer la position à acheter - un ordre du type ORDER_TYPE_SELL avec la même taille que la position à fermer.
  5. Si l'ordre est accepté par le serveur et entièrement exécuté, une transaction sera conclue - une transaction de sortie de type DEAL_ENTRY_OUT.
  6. En conséquence, vous n'avez pas de position du type POSITION_TYPE_BUY - elle est complètement fermée, et son historique peut être consulté dans le journal de l'historique du terminal client - tous les ordres et transactions de cette position et d'autres positions s'y trouvent.
En bref - pour une première compréhension. Et en plus, vous pouvez tout trouver sur le Forum et dans les articles. Si seulement vous en aviez le désir.
 
Evgeny Dyuka:
Il est étrange qu'il n'y ait pas de solution toute faite de la part des développeurs de mql5.

C'est le cas.

Документация по MQL5: Стандартная библиотека / Торговые классы
Документация по MQL5: Стандартная библиотека / Торговые классы
  • www.mql5.com
Стандартная библиотека / Торговые классы - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:
  • Un ordre est un ordre que vous donnez à un serveur pour faire quelque chose. Elle peut être exécutée, elle peut être partiellement exécutée (incomplètement exécutée), et elle peut être rejetée.
  • Transaction - Le résultat de l'exécution d'un ordre (votre ordre d'exécuter une action).
  • Une position est le résultat de l'exécution d'une transaction pour entrer sur le marché.
  • Position fermée (c'est quand il n'y a pas de position et qu'il est inutile d'en parler comme d'une chose tangible - il n'y a pas de position) - le résultat de l'exécution d'une transaction pour sortir du marché.
  • Une transaction de sortie est obtenue lors de l'exécution d'un ordre, c'est-à-dire votre ordre de fermer la position.
  1. Vous envoyez un ordre au serveur pour ouvrir une position d'achat - l'ordre avec le type ORDER_TYPE_BUY
  2. Si l'ordre est accepté par le serveur et entièrement exécuté, une transaction sera formée - un ordre d'entrée sur le marché avec le type DEAL_ENTRY_IN.
  3. Par conséquent, vous avez une position du type POSITION_TYPE_BUY
  4. Vous envoyez un ordre au serveur pour fermer la position à acheter - un ordre du type ORDER_TYPE_SELL avec la même taille que la position à fermer.
  5. Si l'ordre est accepté par le serveur et entièrement exécuté, une transaction sera conclue - une transaction de sortie de type DEAL_ENTRY_OUT.
  6. En conséquence, vous n'avez pas de position du type POSITION_TYPE_BUY - elle est complètement fermée, et son historique peut être consulté dans le journal de l'historique du terminal client - tous les ordres et transactions de cette position et d'autres positions s'y trouvent.
En bref - pour une première compréhension. Et en plus, vous pouvez tout trouver sur le Forum et dans les articles. Tout ce dont vous avez besoin, c'est d'une forte volonté.
Merci, je vais m'en occuper.
 
Artyom Trishkin:
  • Un ordre est un ordre que vous donnez à un serveur pour faire quelque chose. Elle peut être exécutée, elle peut être partiellement exécutée (incomplètement exécutée), et elle peut être rejetée.
  • Transaction - Le résultat de l'exécution d'un ordre (votre ordre d'exécuter une action).
  • Une position est le résultat de l'exécution d'une transaction pour entrer sur le marché.
  • Position fermée (c'est quand il n'y a pas de position et qu'il est inutile d'en parler comme d'une chose tangible - il n'y a pas de position) - le résultat de l'exécution d'une transaction pour sortir du marché.
  • Une transaction de sortie est obtenue lors de l'exécution d'un ordre, c'est-à-dire votre ordre de fermer la position.
  1. Vous envoyez un ordre au serveur pour ouvrir une position d'achat - l'ordre avec le type ORDER_TYPE_BUY
  2. Si l'ordre est accepté par le serveur et entièrement exécuté, une transaction sera formée - un ordre d'entrée sur le marché avec le type DEAL_ENTRY_IN.
  3. Par conséquent, vous avez une position du type POSITION_TYPE_BUY
  4. Vous envoyez un ordre au serveur pour fermer la position à acheter - un ordre du type ORDER_TYPE_SELL avec la même taille que la position à fermer.
  5. Si l'ordre est accepté par le serveur et entièrement exécuté, une transaction sera conclue - une transaction de sortie de type DEAL_ENTRY_OUT.
  6. En conséquence, vous n'avez pas de position du type POSITION_TYPE_BUY - elle est complètement fermée, et son historique peut être consulté dans le journal de l'historique du terminal client - tous les ordres et transactions de cette position et d'autres positions s'y trouvent.
En bref - pour une première compréhension. Et en plus, vous pouvez tout trouver sur le forum, et dans les articles. Tout ce dont vous avez besoin, c'est d'une forte volonté.
Vous écrivez"Une position fermée (c'est quand il n'y a pas de position et il est inutile d'en parler comme quelque chose de perceptible - elle n'existe pas) - le résultat de l'exécution d'une transaction pour sortir du marché". Il s'avère qu'il n'existe pas d'entité unique de ce type dans l'historique, mais un ensemble d'événements - ordre->opération (ouverture), ordre->opération (fermeture) - et tout cela n'a pas de nom unique.
Je n'arrive pas à résoudre un problème trivial - je dois accéder à cette dernière entité (par tickit probablement) et collecter des informations à son sujet - heure d'ouverture/fermeture, volume, etc. Supposons que cette chose ait été ouverte par un ordre et fermée par un ordre également. Donc, nous devrions prendre les deux dernières commandes de HistoryOrderTotal et les utiliser pour une analyse ? Et si les types de tickets sont différents...
Comment une telle référence à l'histoire est-elle résolue dans la pratique ?
Raison: