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

 
Dimka-novitsek:

Quoi qu'il en soit, voici la fonction et son appel

volume" - un opérateur attendu htghtgfhthf.mq5 104 15

Lot" - l'expression n'a pas d'effet htghtgfhthf.mq5 104 22

C'est la structure elle-même qui est réprimandée. Dowble variable. Un lot est un lot. Je ne comprends pas !

Il manque au moins un point-virgule :

request.price=BID
 
Oh, MERCI ! !! Désolé, j'ai vraiment mis du temps à le remarquer. Oui, c'est ça ! !! Je veux dire, il a compilé. Merci encore ! !!
 
Droit, 10016
TRADE_RETCODE_INVALID_STOPS
Arrêts incorrects dans la requête
 
Dimka-novitsek:

Bonjour ! Supposons que je ferme une partie d'une position en ouvrant une position inverse. Quels stop loss et profit dois-je fixer ? Probablement que ce sera celui que j'ai défini, et non celui que j'avais ? Non, c'est impossible, je vais ouvrir une transaction inverse pour réduire la position et les profits et les pertes sont les mêmes que dans la transaction précédente. En somme, je me suis embrouillé. Je veux en savoir plus.

...

Pour comprendre cette question dans MQL5, nous devons d'abord comprendre une phrase simple (mais fondamentale) :


Un ordre de transaction est un ordre visant à modifier l'état d'une position commerciale.


Ainsi, si nous devons clôturer une position, son type ne changera pas, ce qui signifie que nous copierons le stop et le profit de la position dans un nouvel ordre et l'enverrons.

Si la position doit être inversée, nous réorganisons les champs.

En fait, un stop est un CCA (un ordre en attente qui est lié à l'existence de la position et qui a automatiquement la même taille et le même type inverse que la position) et un ordre de changement de volume est une demande distincte non stop pour exécuter une transaction en ce moment.

La complexité de la compréhension vient du fait que ces différentes actions de modification de position sont réalisées par une seule requête.

Mais vous pouvez envoyer une demande de changement de volume et une demande de changement d'arrêt séparément. Dans certaines opérations (par exemple l'exécution du marché), l'inverse n'est pas vrai.

En général, regardez bien la bibliothèque standard, il y a beaucoup de choses implémentées là.

 
Urain: Mais vous pouvez envoyer un ordre séparément pour les changements de volume et séparément pour les changements de stop.
Hmm, je ne comprends pas. Si vous envoyez uniquement un " ordre de changement de volume", alors SL==TP==0.0 dans un tel ordre, n'est-ce pas ? Mais lorsqu'une telle offre est exécutée, les niveaux SL/TP de la position doivent être réinitialisés. Vous parlez donc d'un jumelage obligatoire de <d'ordre de modification de volume'+'ordre de modification d'arrêt'> ?
 
Yedelkin:
Hm, je ne comprends pas. Si nous envoyons seulement une demande de changement de volume, dans une telle demande SL==TP==0.0, n'est-ce pas ? Mais lorsqu'une telle offre est exécutée, les niveaux SL/TP de la position doivent être réinitialisés. Vous voulez donc parler de la connexion obligatoire de <'ordre de modification du volume'+'ordre de modification de l'arrêt'> ?

Je parle de...

Référence MQL5 / Constantes, énumérations et structures standard / Constantes commerciales / Types d'opérations commerciales

TRADE_ACTION_DEAL et TRADE_ACTION_SLTP spécifiquement , la façon dont vous les reliez dépend de vous, mais c'est possible.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 
Urain: Je parle de... Référence MQL5 / Constantes, énumérations et structures standard / Constantes de commerce / Types d'opérations de commerce

TRADE_ACTION_DEAL et TRADE_ACTION_SLTP spécifiquement , et la façon dont vous les reliez dépend de vous, mais c'est possible .

OK, laissez-moi clarifier une question : Si nous envoyons seulement une "demande de changement de volume", cela implique que SL==TP==0.0 dans une telle demande, n'est-ce pas ?
 
Yedelkin:
OK, je vais clarifier la question : si nous envoyons seulement une "demande de changement de volume", alors il est supposé que SL==TP==0.0 dans une telle demande, n'est-ce pas ?

premièrement. Vous avez appelé MqlTradeRequest d'une manière étrange et non "russe", avec un contexte qui me donne l'impression que l'ordre est différent de la position.

Deuxièmement, si vous répondez vous-même à la question de savoir ce qu'est une application, la question de SL==TP disparaîtra immédiatement.

Pour la troisième fois, pourquoi n'essayez-vous pas dans le terminal ? Est-il vraiment nécessaire de discuter de chaque malentendu dans la base de connaissances du forum ?

alors la question de SL==TP disparaîtra. allez à la documentation, à la pratique dans le terminal, au testeur, au scripting.

et seulement ensuite, venez et demandez

avec montré pour une discussion spécifique du problème - les résultats de ce que vous avez fait et où vous avez obtenu la contradiction.

 

sergeev:

Yedelkin:
OK, permettez-moi de clarifier la question : si l'on envoie uniquement une "demande de changement de volume", on suppose que dans une telle demande, SL==TP==0.0, correct ?

Tout d'abord. Vous avez appelé MqlTradeRequest de façon étrange et pas "en russe".

Malheureusement, vous avez cessé de suivre le sujet le soir. Si quelqu'una appelé MqlTradeRequestd' une manière étrangeet non russe , ce n'était certainement pas moi. Veuillez prêter attention aux guillemets et à la référence à l'auteur de la déclaration citée. Je ne fais que communiquer avec l'auteur dans le cadre de la terminologie qu'il a suggérée. Personnellement, cela ne m'ennuie pas du tout.

sergeev : Tout d'abord, j'ai l'impression que nous ne comprenons pas en quoi un ordre diffère d'une position.

Deuxièmement, lorsque vous répondez vous-même à la question "Qu'est-ce qu'une application ?

Oui, c'est la même chose.

sergeev : Et troisièmement, pour la énième fois, pourquoi n'essayez-vous pas dans le terminal ? Est-ce que chaque éternel malentendu doit être discuté sur le forum ?

allez à la documentation, à la pratique dans le terminal, au testeur, aux essais de script.

Une fois de plus, vous n'avez pas remarqué que la question ne s'adresse pas à vous, mais à l'auteur en question. Et en utilisant sa terminologie (celle de l'auteur). Pour obtenir une réponse à une telle question, il n'est pas nécessaire d'activer la méthode du poke scientifique. Il suffit d'entendre la réponse de l'auteur, qui affirme des choses bien précises. Est-ce vraiment si difficile à comprendre ?

Quatrièmement, le sujet est "Pour les débutants". Est-il vraiment si difficile de répondre à une question de manière définitive dans ce fil de discussion, sans faire référence à votre méthode préférée ? Auriez-vous pu remarquer qui a soulevé la question principale, et après quel message mes questions ont été exprimées ?

 
Yedelkin:

l'idiot demandera ce que dix intelligents ne répondront pas.