Questions des débutants MQL5 MT5 MetaTrader 5 - page 476
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Au fait, pourquoi déclarer une fonction comme int si elle renvoie vrai dans votre version, et toujours ? )
Pouvez-vous me dire comment faire pour que l'indicateur OnCalculate ne soit pas appelé à chaque tick, mais seulement à chaque nouvelle barre?
Cette fonction sera appelée à chaque tick, mais vous pouvez faire un nouveau contrôle de barre à l'intérieur de la fonction.
Merci, ça s'est plus ou moins arrangé. En comparantprev_calculated et rates_total vous pouvez voir l'apparition de nouvelles barres. Et dans EA, c'est plus compliqué avec la nouvelle barre - contrôle de l'heure, etc.
Ne les comparez pas, ce n'est pas un moyen très fiable : la variable prev_calculated peut être mise à zéro dans certaines conditions. Mémorisez l'heure du bar actuel et vérifiez son changement lors du prochain appel :
PS. Il s'agit d'un exemple pour MT5. En quatre (et en cinq si le tableau time[] est une série temporelle), remplacez time[rates_total-1] par time[0].
J'ai décidé de créer un conseiller expert simple après avoir lu l'article "A Step-by-Step Guide to Writing".
MQL5 Expert Advisor pour les débutants" (https://www.mql5.com/ru/articles/100).
J'ai testé le conseiller expert sur l'historique et je me suis demandé comment l'améliorer.
La première chose qui m'est venue à l'esprit, en dehors de l'optimisation
Appliquer un stop-loss de suivi. Il existe un bon article sur ce sujet :
"Comment créer un stop suiveur - Articles MQL5" ().
(https://www.mql5.com/ru/articles/134). Cependant, un
Cependant, un problème s'est posé, l'Expert Advisor joint à l'article ne fonctionne pas... c'est-à-dire.
(mon_premier_ea_sartrailing.ex5) compile mais ne négocie pas
le journal dit :
2015.11.28 22:54:38.973 2015.02.04 17:00:00 Alert : La demande d'établissement d'un ordre de vente a échoué - code d'erreur:4756
2015.11.28 22:54:38.973 2015.02.04 17:00:00 échec de la vente instantanée de 0.10 EURUSD à 1.14051 sl : 1.17051 tp : 1.04051 [Requête invalide].
Aidez-nous à résoudre ce problème.
PS. Il s'agit d'un exemple pour MT5.
Bonjour.
Pouvez-vous me dire quelle est la méthode la plus rapide et la plus correcte pour supprimer tous les ordres existants placés par l'EA ? Est-il vraiment possible de créer un tableau avec des numéros de commande et de supprimer chacun d'entre eux ? Est-il impossible d'obtenir également une liste des commandes en cours ?
Bonjour.
Pouvez-vous me dire quelle est la méthode la plus rapide et la plus correcte pour supprimer tous les ordres existants placés par l'EA ? Est-il vraiment possible de créer un tableau avec des numéros de commande et de supprimer chacun d'entre eux ? Peut-on également obtenir une liste des commandes en cours ?
Nous n'avons pas besoin d'un tableau. Quel terminal ?
Vous n'avez pas besoin d'un tableau. Quel terminal ?
MT5
Oui, j'aurais dû dire que cela doit être implémenté dans une EA.
J'ai trouvé un script sur mql4 - n'est-il pas pertinent pour 5 ? Il y a quelques jours, j'ai vu quelque part une ligne avec une fonction du type "orderscancelbymagicnumber", mais je ne trouve rien dans la documentation... Confus.