Diskussion zum Artikel "Verständnis der Auftragsvergabe in MQL5"

 

Neuer Artikel Verständnis der Auftragsvergabe in MQL5 :

Bei der Entwicklung jedes Handelssystems gibt es eine Aufgabe, die wir effektiv bewältigen müssen. Diese Aufgabe besteht darin, Aufträge zu erteilen oder das erstellte Handelssystem automatisch mit Aufträgen umgehen zu lassen, da dies in jedem Handelssystem von entscheidender Bedeutung ist. Daher finden Sie in diesem Artikel die meisten Themen, die Sie über diese Aufgabe verstehen müssen, um Ihr Handelssystem in Bezug auf die Auftragsvergabe effektiv zu gestalten.

Auftrag: ist eine vom Handelsserver empfangene Aufforderung, einen Kauf- oder Verkaufshandel mit einem bestimmten Lot oder Volumen zu einem bestimmten Preis zu eröffnen. Es gibt zwei Arten von Aufträgen: den Marktauftrag und den schwebenden Auftrag.

  • Marktauftrag: ein Auftrag, der sofort zum aktuellen Marktpreis ausgeführt werden kann.
  • Schwebenden Auftrag oder Pending Order: ein Auftrag, der den Handel zu vorher festgelegten Bedingungen hinsichtlich des Preises, zu dem der Handel ausgeführt werden soll, und der Zeit, zu der der Handel ausgeführt werden soll, ausführt. 

Bei diesen schwebenden Aufträgen kann es sich um einen der folgenden handeln:

    • Buy stop: Es wird ein schwebender Kaufauftrag zu einem bestimmten Preis, der über dem aktuellen Marktpreis lieg, erteilt.
    • Buy limit: Es wird ein schwebender Kaufauftrag zu einem bestimmten Preis, der unter dem aktuellen Marktpreis liegt.
    • Sell stop: Es wird ein schwebender Verkaufsauftrag zu einem bestimmten Preis, der unter dem aktuellen Marktpreis liegt, erteilt.
    • Sell limit: Es wird ein schwebender Verkaufsauftrag zu einem bestimmten Preis, der über dem aktuellen Marktpreis liegt, erteilt.

Sobald der schwebende Auftrag platziert ist, unabhängig davon, ob es sich um eine Market- oder Pending-Order handelt, kann er in der Registerkarte "Handel" der Toolbox im MetaTrader 5 gefunden werden. Nachfolgend sehen Sie ein Beispiel:

1 Registerkarte Handel


Wenn der Auftrag geschlossen oder ohne Ausführung storniert wird, können wir sie in der Registerkarte History der Toolbox finden.

2 Registerkarte Historie

Wenn wir eine aktuelle Position mit MQL5 ändern wollen, müssen wir mit diesen Aufträgen genauso verfahren, wie wir es später bei der Änderung von Aufträgen tun werden.

Autor: Mohamed Abdelmaaboud

 

Guten Tag,


toller Text, tyvm.

Ich habe 1 kleinen Fehler gefunden:

in dem Feld unterTRADE_ACTION_SLTP haben Sie zweimal request.sl geschrieben, das zweite sollte request.tp sein, wie im Kommentar am Ende der Zeile angegeben.


Mit freundlichen Grüßen,

Gunther

Documentation on MQL5: Constants, Enumerations and Structures / Trade Constants / Trade Operation Types
Documentation on MQL5: Constants, Enumerations and Structures / Trade Constants / Trade Operation Types
  • www.mql5.com
Trade Operation Types - Trade Constants - Constants, Enumerations and Structures - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 
gunther64 #:

hallo,


toller Text, tyvm.

Ich habe 1 kleinen Fehler gefunden:

In dem Feld unterTRADE_ACTION_SLTP haben Sie zweimal request.sl geschrieben, das zweite sollte request.tp sein, wie im Kommentar am Ende der Zeile angegeben.


Mit freundlichen Grüßen,

Gunther

Hallo,

vielen Dank für Ihren freundlichen Kommentar. Sie haben Recht, es ist ein Fehler und wird berücksichtigt.


Mit freundlichen Grüßen,

 
Hallo!
Mit Hilfe Ihres Codes schreibe ich eine einfache Auftragserteilung für ein Instrument!


double Preis = 94500;

double stopLoss = Preis - (500 * _Point);

double takeProfit = price + (1000 * _Point);


ulong ticket = trade.OrderOpen(

"SiM4", // Symbol

ORDER_TYPE_BUY, // Auftragsart
1.0, // Auftragsvolumen
Preis, // StopLimit Preis
stopLoss, // Ausführungskurs
takeProfit, // StopLoss-Kurs
NULL
);
gibt GetLastError() = 0 zurück und die Order wird nicht platziert und es kommt kein Geschäft zustande
Ist es notwendig, ein spezielles Zugangstoken anzugeben, wenn eine Order vom Broker platziert wird?

 
rurubest #:
GetLastError() = 0 zurückgibt und der Auftrag nicht erteilt wird und es keine Transaktion gibt
Ist es notwendig, ein spezielles Zugangstoken anzugeben, wenn ein Auftrag vom Broker erteilt wird?
Sehen Sie sich die Protokolle an und analysieren Sie das Ergebnis der OrderSend-Ausführung.
 

Hallo Abdel Maaboud,

vielen Dank für die Freundlichkeit, mit der du dieses Tutorial geschrieben hast.

Dieses Tutorial gibt nur die Orderplatzierung an. Gibt es einen Code zum Schließen der Position(Take Profit oder Cut Loss) in Ihrem Artikel?

Mit besten Grüßen,

Ahmad Juniar

Mohamed Abdelmaaboud
Mohamed Abdelmaaboud
  • 2024.08.14
  • www.mql5.com
Trader's profile
 
Ich danke Ihnen sooooo soooo sehr für Ihre wertvolle und detaillierte Anleitung. Du hast mir viel Zeit und Recherche erspart. Nochmals vielen Dank!