Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 36

 
Dimka-novitsek:

Wie auch immer, hier ist die Funktion und ihr Aufruf

'volume' - irgendein Operator erwartet htghtgfhthf.mq5 104 15

Lot' - Ausdruck hat keine Wirkung htghtgfhthf.mq5 104 22

Es ist die Struktur selbst, die gescholten wird. Variabel dowble. Los ist gleich Los. Ich verstehe das nicht!

Es fehlt zumindest ein Semikolon:

request.price=BID
 
Oh, DANKESCHÖN!!! Tut mir leid, ich habe wirklich lange gebraucht, um es zu bemerken. Ja, das ist es!!! Ich meine, es wurde zusammengestellt.
 
Rechts, 10016
TRADE_RETCODE_INVALID_STOPS
Falsche Haltestellen im Antrag
 
Dimka-novitsek:

Guten Tag! Angenommen, ich schließe einen Teil einer Position, indem ich eine umgekehrte Position eröffne. Welchen Stop-Loss und Gewinn sollte ich setzen? Wahrscheinlich wird es die sein, die ich eingestellt habe, und nicht die, die ich hatte? Nein, das kann nicht sein. Ich eröffne einen umgekehrten Handel, um die Position zu reduzieren, und der Gewinn und der Verlust sind die gleichen wie im vorherigen Handel. Alles in allem habe ich mich selbst verwirrt. Ich möchte mehr darüber erfahren.

...

Um diese Frage in MQL5 zu verstehen, müssen wir zunächst einen einfachen (aber grundlegenden) Satz verstehen:


Ein Handelsauftrag ist ein Auftrag zur Änderung des Zustands einer Handelsposition


Wenn wir also eine Position schließen müssen, ändert sich ihr Typ nicht, d. h. wir kopieren den Stop und den Gewinn der Position in einen neuen Auftrag und senden ihn ab.

Wenn die Position umgekehrt werden soll, ordnen wir die Felder neu an.

Ein Stop ist ein CCA (ein schwebender Auftrag, der an das Vorhandensein der Position gebunden ist und automatisch dieselbe Größe und denselben inversen Typ wie die Position hat), und ein Volumenänderungsauftrag ist ein separater Non-Stop-Antrag zur sofortigen Ausführung einer Transaktion.

Die Komplexität des Verständnisses ergibt sich aus der Tatsache, dass diese verschiedenen Positionsänderungsaktionen durch eine einzige Anfrage ausgeführt werden.

Sie können jedoch einen Volumenänderungsantrag und einen Stoppänderungsantrag separat senden. Bei einigen Geschäften (z. B. bei der Marktausführung) funktioniert es nicht umgekehrt.

Im Allgemeinen sollten Sie sich die Standardbibliothek genau ansehen, da dort eine Menge Dinge implementiert sind.

 
Urain: Sie können jedoch einen Auftrag separat für Volumenänderungen und separat für Stoppänderungen senden.
Hmm, das verstehe ich nicht. Wenn Sie nur einen "Volumenänderungsauftrag" senden, dann ist SL==TP==0,0 in einem solchen Auftrag, richtig? Wenn jedoch ein solches Gebot ausgeführt wird, sollten die SL/TP-Niveaus der Position zurückgesetzt werden. Sie sprechen also von einer obligatorischen Verknüpfung von <Volumenänderungsauftrag'+Stop-Änderungsauftrag'>?
 
Yedelkin:
Hm, das verstehe ich nicht. Wenn wir nur eine Anfrage zur Änderung des Volumens senden, ist in einer solchen Anfrage SL==TP==0.0, richtig? Wenn jedoch ein solches Gebot ausgeführt wird, sollten die SL/TP-Niveaus der Position zurückgesetzt werden. Sie meinen also die obligatorische Kombination von <Volumenänderungsauftrag'+'Stoppänderungsauftrag'>?

Ich spreche von...

MQL5 Referenz / Standardkonstanten, Aufzählungen und Strukturen / Handelskonstanten / Arten von Handelsoperationen

TRADE_ACTION_DEAL und TRADE_ACTION_SLTP im Einzelnen , wie Sie sie verbinden, ist Ihnen überlassen, aber es ist möglich.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 
Urain: Ich spreche von... MQL5 Referenz / Standardkonstanten, Aufzählungen und Strukturen / Handelskonstanten / Arten von Handelsoperationen

TRADE_ACTION_DEAL und TRADE_ACTION_SLTP im Einzelnen , und wie Sie sie miteinander verbinden, bleibt Ihnen überlassen, aber es ist möglich .

OK, lassen Sie mich eine Frage klären: Wenn wir nur eine "Volumenänderungsanfrage" senden, bedeutet das, dass SL==TP==0.0 in einer solchen Anfrage, richtig?
 
Yedelkin:
OK, ich kläre die Frage: Wenn wir nur eine "Volumenänderungsanfrage" senden, dann wird angenommen, dass SL==TP==0.0 in einer solchen Anfrage, richtig?

Erstens. Sie haben MqlTradeRequest auf eine merkwürdige und nicht "russische" Art und Weise aufgerufen, mit einem Kontext, der mir den Eindruck vermittelt, dass der Auftrag von der Position verschieden ist.

Zweitens, wenn Sie sich selbst die Frage beantworten, was eine Bewerbung ist, dann wird die Frage nach SL==TP sofort verschwinden.

Warum versuchen Sie es nicht zum dritten Mal im Terminal? Ist es wirklich notwendig, jeden Anflug von Missverständnis in der Wissensdatenbank im Forum zu diskutieren?

dann wird die Frage der SL==TP verschwinden. gehen Sie zur Dokumentation, zum Üben im Terminal, zum Tester, zum Skripting.

und erst dann kommen und fragen

mit einer spezifischen Erörterung des Problems - den Ergebnissen Ihrer Arbeit und der Ursache des Widerspruchs.

 

sergeev:

Yedelkin:
OK, lassen Sie mich die Frage klären: Wenn man nur eine "Volumenänderungsanforderung" sendet, dann ist es implizit, dass in einer solchen Anforderung SL==TP==0.0, richtig?

Zuallererst. Sie haben MqlTradeRequest seltsam und nicht "auf Russisch" genannt.

Leider haben Sie am Abend aufgehört, das Thema zu verfolgen. Wenn jemandMqlTradeRequestauf eine seltsameund nicht-russische Art und Weisegenannt hat , dann war das sicher nicht ich. Achten Sie bitte auf die Anführungszeichen und den Hinweis auf den Autor der zitierten Aussage. Ich kommuniziere lediglich mit dem Autor innerhalb der von ihm vorgeschlagenen Terminologie. Mich persönlich stört das überhaupt nicht.

sergeev : Erstens habe ich den Eindruck, dass wir nicht verstehen, wie sich ein Befehl von einem Standpunkt unterscheidet.

Zweitens - wenn Sie sich die Frage beantworten, was eine Bewerbung ist

Ja, das ist das Gleiche.

sergeev : Und drittens, zum x-ten Mal, warum probieren Sie es nicht im Terminal aus? Muss denn jeder Anflug von Missverständnis im Forum diskutiert werden?

zur Dokumentation, zum Üben im Terminal, zum Testen, zu den Skripting-Tests.

Sie haben wieder einmal nicht bemerkt, dass die Frage nicht an Sie, sondern an den jeweiligen Verfasser gerichtet ist. Und unter Verwendung seiner (des Autors) Terminologie. Um eine Antwort auf eine solche Frage zu erhalten, müssen Sie nicht die Methode des wissenschaftlichen Stocherns einschalten. Es genügt, die Antwort des Autors zu hören, der ganz bestimmte Dinge behauptet. Ist das wirklich so schwer zu verstehen?

Viertens: Das Thema ist "Für Anfänger". Ist es wirklich so schwer, eine Frage in diesem Thread eindeutig zu beantworten, ohne auf Ihre Lieblingsmethode zu verweisen? Hätten Sie bemerkt, wer genau die Hauptfrage gestellt hat und nach welchem Beitrag meine Fragen gestellt wurden?

 
Yedelkin:

wird der Dumme fragen - was zehn Kluge nicht beantworten werden.