Questions des débutants MQL5 MT5 MetaTrader 5 - page 363
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
Je ne pense pas que vous posiez la question ici. Créez un fil de discussion distinct, joignez-y le code de l'indicateur et espérez que quelqu'un vous aidera. Sans le code... il est peu probable que quelqu'un vous aide.
Lors de la rédaction des TdR, j'ai rencontré une situation où je ne comprends pas comment décrire correctement l'algorithme. Pouvez-vous nous conseiller sur la possibilité d'une fermeture partielle d'une position dans le travail de l'EA ?
Lors de la rédaction des TdR, j'ai rencontré une situation où je ne comprends pas comment décrire correctement l'algorithme. Pouvez-vous me dire si une fermeture partielle d'une position est possible dans le travail d'un EA?
Qu'est-ce qui est si compliqué ? Si la position n'est pas divisée de manière égale (par exemple 0,09), fermez-en la plus grande partie (0,05) et déplacez le stop jusqu'au seuil de rentabilité, puis une autre distance de fermeture et à nouveau la moitié de celle qui reste (0,02) et déplacez le stop jusqu'à la prochaine étape de fermeture dans le positif et ainsi de suite jusqu'à ce que la position entière soit fermée ou atteigne le stop. Le pas peut être fixe ou calculé à partir d'une plage quelconque, selon le système de négociation.
Est-ce que j'ai bien compris ? Le langage de programmation MQL4 permet de formaliser la clôture de la moitié seulement du volume des ordres de marché... comme le lot 10 et fermer 5 lots lorsque le prix atteint un certain niveau.
Ou est-il possible de fermer 1/3 ?
Ou bien, il serait plus facile de mettre en œuvre cette idée dans un EA en plaçant différents ordres. Lorsque le prix atteint un niveau requis, un ordre est fermé et l'autre reste en place de la fermeture partielle du volume d'ordres au marché. Qu'en pensez-vous ?
Pour ce faire, vous devez spécifier un lot plus petit que le lot de la position dans l'ordre de clôture (ceci si MT4, dans MT5 vous pouvez ouvrir la position opposée avec un lot plus petit, et ils se chevaucheront à la fin). La position avec le lot restant restera sur le marché.
Est-ce que j'ai bien compris ? Le langage de programmation MQL4 permet de formaliser la clôture de la moitié seulement du volume des ordres de marché... comme le lot 10 et fermer 5 lots lorsque le prix atteint un certain niveau.
Ou est-il possible de fermer 1/3 ?
Ou bien, il serait plus facile de mettre en œuvre cette idée dans un EA en plaçant différents ordres. Lorsque le prix atteint un niveau requis, un ordre est fermé et l'autre reste en place de la fermeture partielle du volume d'ordres au marché. Qu'en pensez-vous ?
Nous pouvons faire les deux. OrderClose vous permet de fermer le volume qui lui est indiqué. https://docs.mql4.com/ru/trading/orderclose
Bien entendu, vous pouvez ouvrir plusieurs ordres avec des niveaux de profit différents. En cas de défaillance de la connexion, il sera encore plus fiable, car les niveaux TP sont stockés sur le serveur et seront exécutés si le prix les croise.
Vous pouvez faire les deux. OrderClose permet de fermer le volume qui lui est indiqué. https://docs.mql4.com/ru/trading/orderclose
Bien entendu, vous pouvez également ouvrir plusieurs ordres avec des niveaux de profit différents. En cas de défaillance de la connexion, cela sera encore plus fiable, car les niveaux TP sont stockés sur le serveur et seront exécutés si le prix les franchit.
Bonjour à tous, je suis confronté à un problème, j'aimerais avoir l'avis de professionnels ou d'utilisateurs de MT5 plus expérimentés. J'ai écrit un indicateur et une classe CEventBase, qui permet à l'indicateur de générer des événements. Lors de l'exécution des conseillers experts qui traitent ces événements tôt ou tard, lors de l'exécution en temps réel, je reçois des erreurs : 4001, 4102, 4104. Quand ils commencent à "s'empiler", ils ne cessent pas de le faire) Je joins le code de la fonction Generate, qui est en fait la source de tous ces problèmes. Je serai très heureux d'entendre votre avis...)
Bonne journée à tous !
Bonjour à tous, je suis confronté à un problème, j'aimerais avoir l'avis de professionnels ou d'utilisateurs de MT5 plus expérimentés. J'ai écrit un indicateur et une classe CEventBase, qui permet à l'indicateur de générer des événements. Lors de l'exécution des conseillers experts qui traitent ces événements tôt ou tard, lors de l'exécution en temps réel, je reçois des erreurs : 4001, 4102, 4104. Quand ils commencent à "s'accumuler", ils ne cessent de se produire) Je joins le code de la fonction Generate, qui est en fait la source de tous ces problèmes. Je serai très heureux d'entendre votre opinion à ce sujet ...)
Bonjour à tous !
De toute évidence, la méthode que vous avez présentée est une méthode de transit. L'erreur ne s'y trouve probablement pas. Les données que vous avez présentées n'indiquent pas clairement ce qui se passe. Il peut y avoir plusieurs variantes :
- Identifiant de carte incorrect (c'est ce que dit l'erreur 4101).
- Des requêtes trop fréquentes ;
- Autres paramètres incorrects (identifiants d'événements par exemple).
A en juger par le niveau de code que vous avez écrit, on peut dire que l'erreur peut se trouver n'importe où et n'importe quand.