Questions des débutants MQL5 MT5 MetaTrader 5 - page 360
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
Bon après-midi.
Pouvez-vous s'il vous plaît me conseiller comment écrire le code correctement lors de la négociation de l'EA dans MT4, je suis très nouveau à la programmation.
Je dois sélectionner le dernier ordre clôturé et comparer son profit. Je ne dois rien faire si son profit est supérieur à 0, s'il est inférieur à 0, je dois faire quelque chose.
J'ai beaucoup de respect, Alexander.
Bon après-midi.
Pouvez-vous s'il vous plaît me conseiller comment écrire le code correctement lors de la négociation de l'EA dans MT4, je suis très nouveau à la programmation.
Je dois sélectionner le dernier ordre clôturé et comparer son profit. Je ne dois rien faire si son profit est supérieur à 0, s'il est inférieur à 0, je dois faire quelque chose.
J'ai beaucoup de respect, Alexander.
Je me demande à quoi sert l'heure, pourquoi se souvenir de l'heure de fermeture, si on choisit de toute façon le dernier de la liste, et qu'en est-il du cycle ? Et pourquoi n'envisagez-vous pas l'échange et la commission ? Même si OrderProfit()>0, le bénéfice réel peut être négatif. Si vous travaillez directement avec la liste des commandes, vous ne devriez pas laisser des morceaux de code de la boucle recherchant la dernière au moment de la fermeture. Une chose est soit la fiabilité et la certitude, soit la rapidité. Ce que vous avez, c'est un fouillis.
Ce que vous suggérez, c'est que
Vous faites ça ?
La personne a seulement demandé un ordre de profit, pourquoi imposer ce que vous n'avez pas demandé ? Mais je suis d'accord avec vous ....
Veuillez indiquer comment fermer un ordre ouvert dans MQL4 sur MT4 après 20 barres, c'est-à-dire que lorsqu'un ordre est ouvert et que 20 nouvelles barres apparaissent, il est fermé. (une seule commande est toujours ouverte). Pour une raison quelconque, ce code ne fonctionne pas dans le testeur de stratégie, et nous avons besoin qu'il le fasse.
Le code a la signification suivante : nous vérifions si nous avons des ordres ouverts, si non, nous ouvrons un ordre et enregistrons dans la variable "z" le prix ouvert de la 1ère barre et ensuite à chaque tick nous vérifions le prix ouvert de la 20ème barre et quand la 1ère barre atteint finalement la 20ème barre, son prix sera le même que le prix enregistré dans la variable "z" et alors l'ordre sera fermé. (bien sûr pendant le processus, les prix peuvent coïncider, mais ce sera très rare, en outre, nous pouvons écrire plus de paramètres de la 1ère barre dans les variables)
Veuillez indiquer comment fermer un ordre ouvert dans MQL4 sur MT4 après 20 barres, c'est-à-dire que lorsqu'un ordre est ouvert et que 20 nouvelles barres apparaissent, il est fermé. (une seule commande est toujours ouverte). Pour une raison quelconque, ce code ne fonctionne pas dans le testeur de stratégie, et nous avons besoin qu'il le fasse.
Le code a la signification suivante : nous vérifions si nous avons des ordres ouverts, si non, nous ouvrons un ordre et enregistrons dans la variable "z" le prix ouvert de la 1ère barre et ensuite à chaque tick nous vérifions le prix ouvert de la 20ème barre et quand la 1ère barre atteint finalement la 20ème barre, son prix sera le même que le prix enregistré dans la variable "z" et alors l'ordre sera fermé. (bien sûr pendant le processus, les prix peuvent coïncider, mais ce sera très rare, en outre, nous pouvons écrire plus de paramètres de la 1ère barre dans les variables)
C'est tout, j'ai trouvé moi-même, j'aurais dû déclarer une variable en dehors de int start() - maintenant ça marche bien.
J'ai simplifié un peu votre code, mais il y a encore des erreurs dans votre code
Je suis en train d'écrire un EA multi-devises mais je n'arrive pas à comprendre pourquoi il renvoie des prix différents au même moment si je le lie à différentes devises.
En bref, le code :
à Init
dans OnTimer()
Si je teste mon EA sur l'EURNZD, par exemple
2015.05.18 00:07:00 Lat Ask : 1.5370
Si j'utilise une autre paire de devises
2015.05.18 00:07:00 Lat Ask : 1.5323
Cette valeur est totalement différente, et dans le second cas, d'après le graphique, il ne peut y avoir une telle valeur pendant au moins plusieurs heures.
Dans le testeur de stratégie, tous les ticks sont en mode commercial, j'ai l'impression que si ce n'est pas la paire principale, les valeurs dans le testeur de stratégie sont approximatives.
J'ai oublié d'ajouter que ceci est Meta Trade 5
J'ai découvert que la première fois que je le fais, le prix est faux et que la deuxième fois, le prix est normal.
Comment effacer complètement Autochartis ?