Discussion de l'article "Guide étape par étape pour rédiger un conseiller expert en MQL5 pour les débutants" - page 22
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
Quelqu'un sait-il si je peux utiliser cet EA pour les mini-index ou les mini-dollars ?
Bonjour à tous.
Je suis dans le"Strategy Tester" avec ce fichier de la fin du Guide et il affiche l'erreur suivante :
*L'erreur a déjà été discutée dans cet article, mais aucune solution écrite n'a fonctionné pour moi et j'ai besoin de votre aide.
Le fichier se trouve à la fin du guide.
Comment puis-je résoudre ce problème ?
J'ai toujours cette erreur après avoir effectué les deux corrections suggérées :
ZeroMemory(mrequest) ;
et aussi
if(Achat_ouvert || Vente_ouverte)
Quelqu'un peut-il m'aider à résoudre l'erreur 4756 ? Il semble qu'il soit impossible de placer un ordre d'achat.
Vérifiez si vous avez utilisé la fonction SymbolInfoTick et écrit cette partie du code :
Puisque PositionSelect sélectionne la première position pour _Symbol, si l'EA ouvre une position d'achat, la variable Sell_opened sera toujours fausse tant que la position d'achat est ouverte, ce qui entraînera la réalisation de plusieurs positions de vente chaque fois qu'il y a un signal de vente.
Pour corriger cela et savoir s'il y a des positions d'achat et de vente ouvertes simultanément, la logique suivante peut être utilisée :
Bonjour à tous, bonjour.
Je suis dans le"Strategy Tester" avec ce fichier de la fin du Guide et il affiche l'erreur suivante :
*L'erreur a déjà été discutée ici dans cet article, mais aucune solution écrite n'a fonctionné pour moi et j'ai besoin de votre aide.
Le fichier se trouve à la fin du guide.
Comment puis-je résoudre ce problème ?
Vérifiez le prix de vente que vous demandez. Pour ce faire, utilisez un point d'arrêt pour déboguer les variables mrequest.price, mrequest.sl et mrequest.tp.
Essayez de changer
à :
Certains papiers ont des règles de stop loss minimum, lisez-en plus ici :https://www.mql5.com/pt/forum/319474
Bonjour,
Merci beaucoup pour l'article Samuel, tu es un crack !
J'ai eu un peu de mal à le faire fonctionner avec mon broker car l'article est en mode "net" et j'ai dû chercher des informations pour le mettre en mode "hedging". Le premier problème que j'ai rencontré est celui du mrequest.type_filling .
Pour le broker XM, celui qui fonctionne est :
Si vous ne savez pas quel type est autorisé par votre MT5, je vous recommande d'utiliser la fonction TypeFilling() dans un Print(TypeFilling()) ou un Comment( TypeFilling()) et elle renvoie le type ; si elle vous dit que c'est 1 (ORDER_FILLING_FOK) ou 2 (ORDER_FILLING_IOC), vous savez lequel vous devez mettre(https://www.mql5.com/docs/constants/tradingconstants/orderproperties#enum_order_type_filling) carORDER_FILLING_FOK (1) ne fonctionne pas pour moi avec ce courtier.
Une fois cela corrigé, le problème est que PositionSelect ouvre beaucoup de positions. Bien que Samuel ne le dise pas dans sa stratégie, je comprends que l'objectif est d'ouvrir une seule position d'achat ou de vente (selon ce qui vient en premier) avec les critères établis (les 4 étapes booléennes) et que tant que cette position n'est pas fermée, on ne peut pas en ouvrir une autre.
Ce que j'ai fait, c'est de changer ce code...
Pour celui-ci...
Note : Juste après vient la ligne...
De cette façon, cela a bien fonctionné pour moi. J'espère que cela vous sera utile.
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.
J'ai toujours cette erreur après avoir effectué les deux corrections suggérées :
ZeroMemory(mrequest) ;
et aussi
if(Achat_ouvert || Vente_ouverte)
Quelqu'un peut-il m'aider à résoudre l'erreur 4756 ? Il semble qu'il soit impossible de placer un ordre d'achat.
Peut-être que le type de remplissage de votre courtier est ORDER_FILLING_IOC, vous pouvez essayer d'éditer le code à partir de :
mrequest.type_filling = ORDER_FILLING_FOK;A :
mrequest.type_filling = ORDER_FILLING_IOC;J'ai eu le même problème et je l'ai résolu avec succès.