Comment travailler correctement dans MT5 avec OrderSend ?

 
Renat Fatkhullin:

Mais c'est hors sujet, si vous voulez discuter de ces questions, faites-le dans les fils de discussion autochtones. Il s'agit de R.

Et la discussion avec vos collègues n'est tout simplement pas là. Par exemple, il n'y a pas un seul exemple de la façon de travailler correctement dans MT5 avec OrderSend, afin de naviguer dans un historique synchronisé.

La situation est la suivante. Le conseiller expert envoie un OrderSend puis lit immédiatement l'historique. Il voit qu'il n'y a pas de position ouverte et envoie un autre OrderSend. Où se trouve l'exemple dans la documentation où cela ne se produit pas ?

L'A100 implique ceci.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Erreurs, bugs, questions

fxsaber, 2016.10.08 12:13

Comment copier (en sauvegardant les chemins relatifs) tous les fichiers du projet dans un dossier séparé.

Ici, par exemple, je veux partager un code. Il extrait une douzaine de fichiers mqh de différents endroits.

Maintenant, je dois rechercher ces fichiers manuellement, souvent on ne peut pas tous les trouver ou on prend quelque chose d'inutile. Comment automatiser ce processus pour pouvoir partager les sources ?


Désolé pour les offtops, mais il n'y a pas de réponse.

 

Nous faisons une énorme quantité de travail. Mais nous n'avons pas l'intention de vous donner des conseils sur la programmation.

Ayez une conscience et passez votre temps à résoudre vos idées.
 
Renat Fatkhullin:

Nous faisons une énorme quantité de travail. Mais nous n'avons pas l'intention de vous donner des conseils sur la programmation.

Ayez une conscience et passez votre temps à résoudre vos propres idées.

Je demande un exemple de la manière de travailler correctement avec OrderSend. La documentation est trompeuse. Les exemples qui viennent de vous sont similaires.

Certaines personnes trouvent des béquilles. Ils émettent des hypothèses sur les raisons pour lesquelles il devrait en être ainsi et non autrement.

OrderSend est la fonction principale de la langue. Puis-je avoir un peu de temps pour expliquer comment travailler avec la fonction principale ?

Tout ce que tu fais, je le soutiens des deux mains. Mais il y a de vraies questions commerciales.

 
fxsaber:

Je demande un exemple de la manière de travailler correctement avec OrderSend. La documentation est trompeuse. Les exemples qui viennent de vous sont similaires.

Certaines personnes trouvent des béquilles. Ils émettent des hypothèses sur la raison pour laquelle il en est ainsi et non l'inverse.

OrderSend est la fonction principale de la langue. Puis-je avoir un peu de temps pour expliquer comment travailler avec la fonction principale ?

Tout ce que tu fais, je le soutiens des deux mains. Mais il y a de vraies questions commerciales.

Désolé, mais OrderSend est une fonction synchrone - envoyer et attendre une réponse...

Qu'est-ce que ça pourrait être d'autre ? Surtout depuis que la version 1395 a modifié le fonctionnement de OrderSend.

 
prostotrader:

Désolé, mais OrderSend est une fonction synchrone - envoyer et attendre la réponse...

Qu'est-ce que ça pourrait être d'autre ? Surtout depuis que la version 1395 a changé la façon dont OrderSend fonctionne.

Non synchrone

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Discuter de l'article "Distributions statistiques dans MQL5 - Taking the Best of R" (en anglais)

Renat Fatkhullin, 2016.10.10 22:13

Vous confondez les processus asynchrones avec le désir de voir la synchronicité.

Le travail de OrderSend est d'émettre la demande et d'obtenir une confirmation aussi rapidement que possible. Et le système s'en sort très bien.

Mais obtenir la transaction/opération terminée, la mettre dans l'historique et ensuite vous la délivrer sur demande est un processus différent et il n'a pas le droit de ralentir OrderSend.

Tout est donc correct - la transaction est exécutée rapidement, puis en une milliseconde (et en fait avant) dans le paquet suivant, on obtient la mise à jour du ticket et on l'utilise.


 
fxsaber:
Non synchrone

Vous confondez un ORDRE avec une transaction.

Tous les ordres envoyés ne donnent pas lieu à une transaction

 
fxsaber:
Non synchrone

Absolument synchrone.

Cela signifie que la fonction attend la réponse d'un cercle complet à sa demande. Et reçoit une réponse "oui, exécuté". Aussi vite que possible.

Vous vous méprenez complètement sur l'environnement et vous confondez les concepts. Vous essayez d'ajouter à la notion OrderSend le processus "doit obtenir la structure entièrement exécutée d'une transaction ou d'une position à partir de l'historique des transactions ou des positions ouvertes ".

 
prostotrader:

Vous confondez un ORDRE avec une transaction.

Tous les ordres envoyés ne donnent pas lieu à une transaction

J'ai mangé mon propre sang sur ce coup-là ! Le fait est qu'OrderSend et l'environnement commercial ne sont pas synchronisés. Ce qui conduit à des mésaventures dans les comptes réels, même si vous utilisez SB.
 
Renat Fatkhullin:

Absolument synchrone.

Vous vous méprenez complètement sur l'environnement et vous confondez les concepts.

Il s'agit déjà d'un argument terminologique. La mauvaise situation a été décrite en détail ci-dessus. Les bibliothèques standard ne prennent même pas cela en compte.
 
fxsaber:
Je suis dans le quartier depuis longtemps ! C'est à propos d'OrderSend et de l'environnement commercial qui ne sont pas synchronisés. Ce qui conduit à des mésaventures sur des comptes réels, même si vous utilisez SB.

Voulez-vous que je vous aide à contourner ces mésaventures (à partir de mon expérience personnelle de trading avec des robots MT5 sur un compte réel) ?

Ajouté

Totalement gratuit :)