Discussion de l'article "Un Gestionnaire de Commande Virtuelle pour suivre les commandes dans l'environnement MetaTrader 5 axé sur la position" - page 2
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
C'est exact, wackena. Ce que vous avez fait est d'aller directement sur le serveur pour passer un ordre conventionnel, donc il n'y a pas d'ordre virtuel ouvert. Vous devez utiliser le VirtualOrderManagerTester pour passer un ordre virtuel manuel.
J'aurais dû préciser dans l'article que si un EA VOM est introduit sur un symbole particulier, tous les autres EA négociant ce symbole doivent également être activés par le VOM, en raison du code SL de protection contre les désastres dans le VOM.
Paul
Merci Paul.
Le VirtualOrderManager.mqh peut-il être utilisé dans le testeur de stratégie MT-5 ? Si oui, comment l'EA doit-il être configuré avec VOM ?
Merci Paul.
Le VirtualOrderManager.mqh peut-il être utilisé dans le testeur de stratégie MT-5 ? Si oui, comment l'EA doit-il être configuré avec le VOM ?
J'ai travaillé avec VOM sur un EA de type Martingale. Avec plusieurs Sell trades ouverts, du même type et de la même paire de devises, cette fonction CloseAllOrders semble ne fermer que le dernier trade, laissant les trades précédents toujours ouverts.
VOM.CloseAllOrders(_Symbol,VIRTUAL_ORDER_TYPE_SELL);Avec plusieurs ordres virtuels (vo) ouverts, du même type et de la même paire de devises, cette fonction doit-elle initier la fermeture d'un seul ordre vo ou doit-elle fermer tous les ordres vo ouverts.
VOM.OrdersTotal() suit assez bien le nombre d'ordres virtuels ouverts.
J'ai travaillé avec VOM sur un EA de type Martingale. Avec plusieurs transactions de vente ouvertes, du même type et de la même paire de devises, cette fonction CloseAllOrders semble ne fermer que la dernière transaction, laissant les transactions précédentes toujours ouvertes.
Avec plusieurs ordres virtuels (vo) ouverts, du même type et de la même paire de devises, ce code de fonction doit-il initier la fermeture d'un ordre vo ou doit-il fermer tous les ordres vo ouverts.
VOM.OrdersTotal() suit assez bien le nombre d'ordres virtuels ouverts.
Bonjour wackena,
Je viens d'ajouter un bouton Close all à VirtualOrderManagerTester, voir ci-joint. Cela fonctionne bien, même si j'admets que c'est une façon maladroite de fermer tous les ordres virtuels - une meilleure façon serait de les additionner et d'émettre un seul ordre de serveur, et j'envisagerai de le faire dans la prochaine version.
N'hésitez pas à m'envoyer une copie d'un journal LOG_VERBOSE EA pour que je puisse mieux voir ce qui se passe.
Paul
Bonjour wackena,
Je viens d'ajouter un bouton Close all à VirtualOrderManagerTester, voir ci-joint. Cela fonctionne bien, même si j'admets que c'est une façon maladroite de fermer tous les ordres virtuels - une meilleure façon serait de les additionner et d'émettre un seul ordre de serveur, et j'envisagerai de le faire dans la prochaine version.
N'hésitez pas à m'envoyer une copie du journal LOG_VERBOSE EA pour que je puisse mieux comprendre ce qui se passe.
Paul
Le fichier journal est joint.
Merci - d'après ce que je peux voir dans le journal, les seuls appels à OrderClose se produisent lorsqu'un takeprofit virtuel a été atteint, c'est-à-dire que le code que vous avez pour fermer explicitement les ordres (comme CloseAllOrders) n'est pas atteint ou est atteint alors qu'il n'y a plus d'ordres à fermer.
Mise à jour des annexes de l'article :
La documentation, le guide de l'utilisateur et les commentaires sur le code source de la bibliothèque Virtual Order Manager sont désormais disponibles en russe.
Nouvel article Un gestionnaire d'ordres virtuel pour suivre les ordres dans l'environnement MT5 centré sur la position est publié :
Auteur : Paul
Il y a un problème majeur avec cette bibliothèque. Les transactions ouvertes avec VOM et fermées manuellement sont vues ouvertes par VOM.
De plus, lorsque dans VOM j'essaie de fermer ces transactions, VOM ouvre des transactions dans la direction opposée.
Par exemple :
- J'ouvre 5 ordres d'achat avec VirtualOrderManagerTester et tout se passe bien.
- Je ferme manuellement les 5 ordres : dans MT5 je ne vois aucun ordre et sur le graphique (VOM) 5 ordres ouverts.
- Je ferme les 5 ordres de VirtualOrderManagerTester : Je vois 5 ordres de vente dans MT5 et aucun dans VOM(VirtualOrderManagerTester)
A mon avis, il s'agit d'un problème majeur car si les ordres de mon EA sont fermés par le broker ou un autre EA, lorsque mon EA essaiera de les fermer à l'aide de VOM, il ouvrira des ordres dans la direction opposée.
Existe-t-il une solution à ce problème ?
Il y a un problème majeur avec cette bibliothèque. Les transactions ouvertes avec VOM et fermées manuellement sont vues ouvertes par VOM.
De plus, lorsque dans VOM j'essaie de fermer ces transactions, VOM ouvre des transactions dans la direction opposée.
Par exemple :
- J'ouvre 5 ordres d'achat avec VirtualOrderManagerTester et tout se passe bien.
- Je ferme manuellement les 5 ordres : dans MT5 je ne vois aucun ordre et sur le graphique (VOM) 5 ordres ouverts.
- Je ferme les 5 ordres de VirtualOrderManagerTester : Je vois 5 ordres de vente dans MT5 et aucun dans VOM(VirtualOrderManagerTester)
A mon avis, il s'agit d'un problème majeur car si les ordres de mon EA sont fermés par le courtier ou un autre EA, lorsque mon EA essaiera de les fermer en utilisant VOM, il ouvrira des ordres dans la direction opposée.
Existe-t-il une solution à ce problème ?
Bonjour mbt22,
Ce que vous soulignez est certainement une limitation de cette bibliothèque - tous les EAs fonctionnant sur un compte doivent utiliser le VOM, et cela inclut les trades manuels.
Il faut cependant garder à l'esprit que cette limitation de la sociabilité des EAs VOM est susceptible d'être observée dans de nombreux EAs MQL5. En d'autres termes, ces EAs peuvent également échouer en cas de transactions manuelles ou d'autres EAs de n'importe quel type opérant sur le même symbole.
Voici un exemple d'échec de la sociabilité d'un EA non VOM : supposons que les transactions (manuelles et/ou générées par l'EA) externes à cet EA totalisent 1,0 lot à découvert, et que l'EA émette un ordre d'achat de 0,1 lot avec un stop de 50 pip.Je ne me souviens pas exactement de la façon dont la fonction OrderSend de l'EA fonctionnerait (si elle s'exécute ou renvoie une erreur de stop), mais ce qui est certain, c'est que le stop ne peut pas être appliqué 50 pips en dessous de la taille de la position résultante de 0,9 lot à découvert.
L'EA test est capable de gérer des transactions manuelles à l'aide du VOM, mais si la situation en arrive aux ordres de clôture du courtier, le VOM a perdu le contrôle et une évaluation minutieuse du compte est nécessaire.
L'une des principales raisons pour lesquelles le VOM n'est pas sociable avec les activités non VOM est sa gestion du stop de protection contre les désastres, qui est un élément essentiel de la gestion des risques dans tout processus de fermeture d'une transaction basé sur le client.
Paul
Bonjour mbt22,
Ce que vous soulignez est certainement une limitation de cette bibliothèque - tous les EAs fonctionnant sur un compte doivent utiliser le VOM, et cela inclut les trades manuels.
Gardez à l'esprit que cette limitation de la sociabilité des EAs VOM est susceptible d'être observée dans de nombreux EAs MQL5. En d'autres termes, ces EAs peuvent également échouer en cas de transactions manuelles ou d'autres EAs de n'importe quel type opérant sur le même symbole.
Voici un exemple d'échec de la sociabilité d'un EA non VOM : supposons que les transactions (manuelles et/ou générées par l'EA) externes à cet EA totalisent 1,0 lot à découvert, et que l'EA émette un ordre d'achat de 0,1 lot avec un stop de 50 pip.Je ne me souviens pas exactement de la façon dont la fonction OrderSend de l'EA fonctionnerait (si elle s'exécute ou renvoie une erreur de stop), mais ce qui est certain, c'est que le stop ne peut pas être appliqué 50 pips en dessous de la taille de la position résultante de 0,9 lot à découvert.
L'EA de test est capable de gérer les transactions manuelles à l'aide de la VOM, mais si la situation en arrive à la fermeture des ordres du courtier, la VOM a perdu le contrôle et une évaluation minutieuse du compte est nécessaire.
L'une des principales raisons pour lesquelles le VOM n'est pas sociable avec les activités non VOM est sa gestion du stop de protection contre les désastres, qui est un élément essentiel de la gestion des risques dans tout processus de fermeture de transaction basé sur le client.
Paul
D'accord, je vous remercie pour la rapidité de votre réponse.
Merci pour votre réponse rapide.