Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 414
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
Pour commencer :
variables, visibilité des variables
comment sont-elles déclarées, où ?
L'objectif est d'ouvrir un ordre
Ce qui n'est pas clair, je l'expliquerai si nécessaire.
Je ne vois pas pourquoi je devrais utiliser une fonction de comptage personnalisée s'il existe un total de commande prêt à l'emploi.
Car le standard renvoie le nombre total d'ordres et de positions dans le compte, indépendamment du symbole, du magicien et du type.
Bonjour à tous ! Pouvez-vous me dire comment définir la condition de franchissement d'une ligne horizontale par le prix ? Et comment réaliser cette fonction avec une précision maximale (qui réagirait à chaque tick) ?
Merci d'avance))
L'objectif est d'ouvrir un ordre.
A chaque tick, le terminal reçoit la dernière cotation du serveur ainsi que les informations sur les ordres. Lorsque le terminal envoie la commande OrderSend() au serveur, ce dernier a besoin d'un certain temps pour traiter cette commande et ouvrir l'ordre. Jusque là, il enverra l'information sur l'absence d'un ordre à chaque tick (appelons-le vide). La fonction OrdersTotal() renvoie zéro, et le robot envoie un nouvel OrderSend().
Lorsque le serveur ouvre l'ordre, les ticks vides se terminent. La fonction OrdersTotal() renvoie une valeur positive, le robot se calme. Si les cotations changent fréquemment, les ticks seront fréquents, et il y aura beaucoup de ticks vides. Le robot va envoyer plusieurs OrderSend(). Le serveur va ouvrir de nombreuses commandes.
La conclusion est que nous devons faire une pause après OrderSend().
A chaque tick, le terminal reçoit du serveur la dernière cotation ainsi que des informations sur les ordres. Lorsque le terminal envoie la commande OrderSend() au serveur, ce dernier a besoin d'un certain temps pour traiter la commande et ouvrir l'ordre. Jusque là, il enverra l'information sur l'absence d'un ordre à chaque tick (appelons-le vide). La fonction OrdersTotal() renvoie zéro, et le robot envoie un nouvel OrderSend().
Lorsque le serveur ouvre l'ordre, les ticks vides se terminent. La fonction OrdersTotal() renvoie une valeur positive, le robot se calme. Si les cotations changent fréquemment, les ticks seront fréquents, et il y aura beaucoup de ticks vides. Le robot va envoyer plusieurs OrderSend(). Le serveur va ouvrir beaucoup de commandes.
Conclusion - nous devrions faire une pause après OrderSend().
Si la réponse à OrderSend() est positive, qu'il y a un ticket et que, par conséquent, une position a été ouverte/un ordre a été placé, nous devrions redemander l'environnement de transaction, au lieu d'attendre indéfiniment.
Qu'en est-il de la fonction qui prend et modifie une non-magie?
Mais pourquoi les autres fonctions ne placent-elles pas des ordres multiples, mais seulement SellLimit ?
Qu'en est-il d'une fonction qui prend et modifie une non-magie ?
L'ordre magik ne peut pas être modifié.