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

 
Igor Makanu:

Ich danke Ihnen!

Ja, genau das habe ich gesucht, wenn ich mit SB nicht in "fünf Zeilen" schreiben kann.

Aber wie sehr habe ich verstanden, dass ein SB CTrade nicht in der Lage sein wird, mein Problem zu lösen, und dass ich auch CPositionInfo verwenden muss? - Wenn ich 9 Positionen von mehreren TFs gleichzeitig begleiten möchte?

ZS: Ich sitze in der MQL5-Hilfe mit Smart-TV - recht gut beschriebene Handelsfunktionen, die Verwendung von SatB ist unter einer Frage .... ich denke, es macht Sinn, SB für primitive Strategien zu verwenden, ein bisschen komplizierter - die Funktionalität ist unzureichend oder nicht offensichtlich zu verwenden, vielleicht brauche ich mehr Übung - ich werde versuchen, die SB zu "verdrehen"


Nochmals vielen Dank!

Es ist OK für "Öffnen-Schließen einer Position" im Tester, oder für Trainingscodes als Ersatz. Andernfalls sollten Sie Ihren eigenen Code erstellen oder ihn von CTrade erben, um Ihre eigene vollwertige Klasse für Handelsoperationen zu erstellen, die verschiedene Nuancen berücksichtigt.
Es gibt viel schönere Dinge in SB - man kennt sie und nutzt sie.

 
fxsaber:

Hier liegt kein Fehler vor, da die Liste durch HistorySelectByPosition erzeugt wird.

Ja, ich habe übersehen, dass es sich nicht um eine vollständige Liste handelt.

 
Artyom Trishkin:

SB hat viel schönere Dinge - man kennt sie und nutzt sie.

Das sind also die schönen Dinge, die irreführend sind! - Ich hatte gehofft, dass die Entwickler nach so vielen Jahren aufgeräumt und die erwartete Funktionalität hergestellt haben und ich nur ein Benutzer bin, der nicht in der Lage war, 2 Klicks von SB zu verwenden, aber es stellt sich heraus, dass ich nicht der Benutzer bin - Traurigkeit, Traurigkeit im Allgemeinen!

SZY: Die MQL5-Hilfe ist sehr gekonnt geschrieben, voll von Aufträgen ... Aber es heißt ja: Solange man die Reihenfolge der Wörter nicht vergisst, ist es hoffnungslos!

 
Igor Makanu:

Das sind also die schönen Dinge, die irreführend sind! - Ich hatte gehofft, dass die SB-Entwickler in so vielen Jahren die erwartete Funktionalität ausgefeilt und hergestellt haben und ich nur ein Benutzer bin, der nicht in der Lage war, SB mit 2 Klicks zu benutzen, aber es stellte sich heraus, dass ich nicht der Benutzer bin - Traurigkeit im Allgemeinen!!!

SZY: Die MQL5-Hilfe ist sehr gekonnt geschrieben, voll von Aufträgen ... Aber es heißt ja: Solange man die Reihenfolge der Wörter nicht vergisst, ist es hoffnungslos!

Hier ist es ganz einfach. Auftrag -> Handel -> Position. Auch in MQL5 können wir Aufträge nicht vermeiden - sie sind da, und sie sind der Anfang von allem. Wir senden eine Handelsanfrage an den Server (es handelt sich um eine Bestellung), der Server akzeptiert/empfängt sie und gibt den Code zurück. In manchen Fällen, wenn die Anfrage nicht korrekt ist, wird die Bestellung gar nicht an den Server gesendet, sondern auf der Ebene des Terminals blockiert. Sobald der Auftrag erfolgreich an den Server gesendet und in die Warteschlange für die Ausführung gestellt wurde, warten wir darauf, dass dieser Auftrag ausgelöst wird (seine Ausführung, mit anderen Worten - ein Geschäft), und als Ergebnis dieser Transaktion (unabhängig davon, ob es sich um einen Markt- oder einen schwebenden Auftrag handelt) wird eine Position gebildet (nicht immer - beim Netting, und wenn es eine Position in der gleichen Richtung gibt, wird einfach das Volumen der bestehenden Position hinzugefügt, wenn es sich um die entgegengesetzte Richtung handelt, wird die aktuelle Position je nach dem Volumen des zugesagten Geschäfts entweder teilweise geschlossen oder umgekehrt).

Auch Bestellungen haben ihre eigene Eintrittskarte. Das gilt auch für Handel und Positionen. Aber auch eine Position hat eine Kennung. Die Kennung einer Position ist immer gleich dem Ticket des allerersten Auftrags - dem Auftrag zur Eröffnung dieser Position.

Ein Marktauftrag hat nur ein Ticket. Und die Eigenschaft der Positionskennung wird erst gefüllt, wenn der Auftrag ausgelöst wird. D.h. nur ein historischer Auftrag hat eine Positionskennung - sie wird zum Zeitpunkt des Abschlusses - zum Zeitpunkt der Auslösung dieses Auftrags - eingegeben. Wenn es sich um einengelöschten schwebenden Auftrag handelt, wird auch seine Positionskennung nicht gefüllt - es gab keinen Abschluss bzw. keine Position.

Das Geschäft hat ein Ticket (sein Ticket), es gibt eine Kennung des Auftrags - aufgrund dessen dieses Geschäft ausgeführt wurde, und es gibt eine Positionskennung - die Position, die infolge der Ausführung dieses Geschäfts entstanden ist oder die Position, die infolge der Ausführung dieses Geschäfts geändert wurde

Die Position hat ein Ticket, das ihr zugewiesen wird, wenn sie eröffnet oder geändert wird. Wenn die Position nur eröffnet wird, ist ihr Ticket gleich ihrer Kennung - einer eindeutigen Positionsnummer, die sich während der gesamten Laufzeit der Position nicht ändert. Während sich das Ticket einer Position wiederholt ändern kann und mit dem Ticket eines Auftrags korrespondiert - durch das Auslösen dieses Auftrags entsteht ein neuer Abschluss, der diese Position verändert - wird das Ticket dieses Auftrags dem Ticket der Position zugeordnet.

Wenn wir all diese Metamorphosen in einer Position genau beobachten, können wir das Verhalten der Position in mql4 während ihrer teilweisen Schließung leicht erkennen - ihr Ticket ändert sich auch dort.

 
Artyom Trishkin:

Wenn Sie all diese Metamorphosen in der Position genau beobachten

Danke! Ich beobachte es den zweiten Tag, aber man muss nur üben, heute habe ich den SB herausgefunden...naja, herausgefunden ;)

PS: Sie erklären gut, Talent ist sicher!

 
Igor Makanu:

Ich danke Ihnen! Ich beobachte es den zweiten Tag, aber alles was es braucht ist Übung, also habe ich heute die SB in Ordnung gebracht...naja, in Ordnung gebracht ;)

PS: gut erklärt, definitiv ein Talent!

Ich helfe gerne ;)

 
Artyom Trishkin:

..................

Eine Bestellung hat auch ein eigenes Ticket. Das gilt auch für Handel und Positionen. Aber auch eine Position hat eine Kennung. Die Positionskennung ist immer gleich dem Ticket des allerersten Auftrags - dem Auftrag zur Eröffnung dieser Position.

Ein Marktauftrag hat nur ein Ticket. Und die Eigenschaft der Positionskennung wird erst gefüllt, wenn der Auftrag ausgelöst wird. Das heißt, nur ein historischer Auftrag hat eine Positionskennung - sie wird zum Zeitpunkt der Ausführung des Geschäfts - zum Zeitpunkt der Auslösung dieses Auftrags - eingegeben. Wenn es sich um einen gelöschten schwebenden Auftrag handelt, wird auch seine Positionskennung nicht gefüllt - es gab keinen Abschluss bzw. keine Position.

Das Geschäft hat ein Ticket (sein Ticket), es gibt einen Identifikator des Auftrags - aufgrund dessen dieses Geschäft ausgeführt wurde, und es gibt einen Positionsidentifikator - die Position, die infolge der Ausführung dieses Geschäfts entstanden ist oder die Position, die infolge der Ausführung dieses Geschäfts geändert wurde

Die Position hat ein Ticket, das ihr zugewiesen wird, wenn sie eröffnet oder geändert wird. Wenn die Position nur eröffnet wird, ist ihr Ticket gleich ihrer Kennung - einer eindeutigen Positionsnummer, die sich während der gesamten Laufzeit der Position nicht ändert. Während das Ticket einer Position wiederholt geändert werden kann und mit dem Orderticket korrespondiert - als Folge der Auslösung dieser Order erscheint ein neuer Abschluss, der diese Position ändert - wird das Ticket dieser Order dem Positionsticket zugeordnet.

Wenn wir all diese Metamorphosen in einer Position genau beobachten, können wir das Verhalten der Position in mql4 während ihrer teilweisen Schließung leicht erkennen - ihr Ticket ändert sich auch dort.

Es stellt sich also heraus, dass die Diskrepanz aufgrund der Verzögerung bei der Umwandlung des Auftrags in einen Handel - eine Position - entstanden ist. Sogar im Testgerät...? Das ist erstaunlich.

Nachdem der Auftrag erteilt wurde, müssen wir also noch sicherstellen, dass die Position eröffnet wird... Wie lange muss man warten? Soll die Eule aufgehängt werden, bis alle Umstellungen bestätigt sind? Oder wie ist es im Allgemeinen?

 
Сергей Таболин:

Es stellte sich heraus, dass die Diskrepanz auf die Verzögerung bei der Umwandlung des Auftrags in einen Abschluss - eine Position - zurückzuführen war. Sogar im Testgerät...? Was für ein Schwachsinn.

Nachdem der Auftrag erteilt wurde, müssen wir also noch sicherstellen, dass die Position eröffnet wird... Wie lange muss man warten? Soll die Eule aufgehängt werden, bis alle Umstellungen bestätigt sind? Oder wie ist es im Allgemeinen?

Wir haben einen Handelsauftrag erteilt (wir haben uns das Handelsticket gemerkt) und die Warteflagge gesetzt - sobald wir einen garantierten Trigger in OnTradeTransaction - Transaktionstyp TRADE_TRANSACTION_DEAL_ADD - erhalten haben, überprüfen wir das Handelsticket. Wenn alles zusammenpassen würde - gut.

Das ist das wirkliche Leben - Ereignisse können mit unterschiedlichen Intervallen, Verbindungsabbrüchen ... auftreten. Es können viele Dinge passieren. Das ist die Realität - es gibt keine starre Kette.

 
Vladimir Karputov:

Wir haben einen Handelsauftrag platziert (das Transaktions-Ticket wurde gespeichert) und das Pending-Flag gesetzt - sobald OnTradeTransaction einen garantierten Trigger - Transaktionsart TRADE_TRANSACTION_DEAL_ADD - erhalten hat, überprüfen wir das Transaktions-Ticket. Wenn alles zusammenpassen würde - gut.

Das ist das wirkliche Leben - Ereignisse können mit unterschiedlichen Intervallen, Verbindungsabbrüchen ... auftreten. Es können viele Dinge passieren. Das ist die Realität - es gibt keine starre Kette.

Nun, das ist im Grunde genommen das Aufhängen des Ratsmitglieds... Warten auf die Bestätigung, ob sie kommt oder nicht... Ich bin hier ratlos... Wie kann ich diese Wartezeit überbrücken? Verwendung von while() ?

 
Сергей Таболин:

Nun, im Grunde genommen wird der Berater gehängt... Warten auf die Bestätigung, ob sie kommt oder nicht... Ich bin hier ratlos. Wie kann ich diese Wartezeit überbrücken? Verwendung von while() ?

Nein. Schlaf und Während sind kategorisch verboten.

Grund der Beschwerde: