Questions des débutants MQL5 MT5 MetaTrader 5 - page 302

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
A la vôtre ! Aujourd'hui, j'ai lancé mon premier EA sur MT5 !
La bonne situation sur le marché est arrivée et le conseiller expert a commencé à acheter et à acheter ! !! C'est bien qu'il ait réagi à temps. Pouvez-vous me dire ce qui ne va pas dans ce code ? Je pensais qu'il devait acheter un seul lot et définir immédiatement un Stop Loss et un Take Profit. Dès qu'il a acheté quelque chose, la variable Bye_opened doit devenir vraie et ne doit pas lui permettre d'effectuer une transaction ultérieure tant que les stops ne sont pas déclenchés. De même, comment puis-je connaître le prix de la dernière transaction pour y placer des stops ?
Mais il semble que j'ai fait quelque chose de mal. Veuillez signaler mon erreur.
Les ticks peuvent arriver plus vite que la position ne figure dans la liste des positions ouvertes. Donc, votre chèque
ne fonctionnera pas pendant un certain temps, et pendant ce temps, plusieurs entrées passeront. On suppose que le morceau de code ci-dessus se trouve dans le gestionnaire de tick.
mettez ce script dans le dossier des scripts, ouvrez ce script dans un unitor, compilez-le
Lorsque la bourse s'ouvre, faites glisser ce script sur le graphique
Bonsoir à tous, merci de partager le code pour le chalutage. Merci.
Veuillez utiliser la recherche sur le site - ce n'est pas difficile: https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B0%D0%BB
Veuillez utiliser la recherche sur le site - ce n'est pas difficile: https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B0%D0%BB
Les ticks peuvent arriver plus vite que la position est dans la liste des ouverts. Donc, votre chèque
ne fonctionnera pas pendant un certain temps, et pendant ce temps, il y aura plusieurs entrées. On suppose que le morceau de code ci-dessus se trouve dans le gestionnaire de tick.
Dima, le code se trouve dans le bloc de traitement des tics. Quelle est la bonne façon de résoudre ce problème ? J'avais le même problème dans QuickBooks, le robot achète souvent plus qu'il ne devrait. Je l'ai mis sur le compte de son deuxième retard et j'ai simplement ajouté une variable séparée qui change lorsque les conditions sont remplies, mais il a eu quelques problèmes là aussi. Parfois, l'ordre a été rejeté par la bourse et la variable avait déjà la valeur "deal" et le robot n'a pas négocié.
Comment résoudre correctement le problème dans MQL5 de sorte que le robot achète un nombre spécifié de lots à une condition donnée et n'achète pas plus que le nombre spécifié de lots jusqu'à ce qu'il ait vendu tous les lots qu'il a achetés ?
Doit-on faire une pause après l'achat pour attendre une réponse de l'échange à coup sûr ?
Sleep(1000) ; //Avez-vous fait une pause ?
Le stop loss ne bouge pas
écrit :
--Modifier l'ordre -> prix ouvert:1.3111 BID :1.3121 sl 1.3109
failed modify order #3 buy limit 1.00 at 1.31110 sl : 1.31080 tp : 0.00000 -> 1.31110, sl : 1.31090 tp : 0.00000 [Invalid stops]
--Modifier l'ordre <- résultat:10016
Pourquoi ?
Le stop loss ne bouge pas
écrit :
--Modifier l'ordre -> prix ouvert:1.3111 BID :1.3121 sl 1.3109
failed modify order #3 buy limit 1.00 at 1.31110 sl : 1.31080 tp : 0.00000 -> 1.31110, sl : 1.31090 tp : 0.00000 [Invalid stops]
--Modifier l'ordre <- résultat:10016
Pourquoi ?
Normaliser n'aide pas. La même chose, sop-loss n'est pas remonté.
--Créer un ordre -> ASK:1.3121 prix:1.3111 sl 1.3106
achat limite 1.00 EURUSD à 1.3111 (1.3121) sl : 1.3106 (1.3118 / 1.3121 / 1.3118)
--Modifier l'ordre -> prix ouvert:1.3111 BID :1.3119 sl 1.3107--Créer une commande <- résultat:10009
ordre modifié [#3 limite d'achat 1.00 EURUSD à 1.3111].
--Modifier l'ordre <- résultat:10009
--Modifier l'ordre -> prix ouvert:1.3111 BID :1.312 sl 1.3108ordre modifié [#3 limite d'achat 1.00 EURUSD à 1.3111].
--Modifier l'ordre <- résultat:10009
--Modifier l'ordre -> prix ouvert:1.3111 BID :1.3121 sl 1.3109failed modify order #3 buy limit 1.00 at 1.31110 sl : 1.31080 tp : 0.00000 -> 1.31110, sl : 1.31090 tp : 0.00000 [Invalid stops]
--Modifier l'ordre <- result:10016