Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Kolleginnen und Kollegen, was halten Sie von dieser Idee? In eine solche Struktur(MqlPacketTradeResult) können Sie ein Feld schreiben, das die Anzahl der abgeschlossenen Aufträge usw. angibt.
Kolleginnen und Kollegen, was halten Sie von dieser Idee? In eine solche Struktur(MqlPacketTradeResult) können Sie ein Feld schreiben, das die Anzahl der abgeschlossenen Aufträge usw. angibt.
Но для этого придётся дожидаться ответа от сервера в рамках функции OrderSendAsync(). И асинхронность функции OrderSendAsync() сойдёт на нет. Ренат же уже пообещал, что будут иные функции, с помощью которых можно попытаться похимичить после срабатывания OrderSendAsync().
Ja, ich hatte nicht an die Asynchronität gedacht...
Das war's dann:
Ja, ich hatte nicht an die Asynchronität gedacht...
Nun, es geht los:
Asynchron bedeutet, dass sie arbeiten, ohne auf eine Antwort zu warten. Abfeuern (OrderSenAsync) und ausführen, ohne zu prüfen, ob das Ziel getroffen wird. Denn es bleibt keine Zeit.
Eine indirekte Reaktion wäre ein späteres Geräusch (OnTrade) - vielleicht hat der Schuss das Ziel getroffen, oder es ist gerade etwas heruntergefallen. Hier können Sie, wenn Sie möchten, alle Aufträge, Geschäfte, Positionen usw. einsehen und überprüfen.
Ja, ich hatte nicht an die Asynchronität gedacht...
Das war's dann:
Eine indirekte Antwort ist ein Geräusch, das später kommt (OnTrade) - vielleicht hat der Schuss das Ziel erreicht, oder es ist gerade etwas gefallen. Hier können Sie, wenn Sie möchten, nachsehen (alle Aufträge, Geschäfte, Positionen usw. überprüfen).
Asynchron bedeutet, dass sie arbeiten, ohne auf eine Antwort zu warten. Feuern (OrderSenAsync) und ausführen, ohne zu prüfen, ob das Ziel getroffen wird. Denn es bleibt keine Zeit.
Eine indirekte Antwort ist ein späteres Geräusch (OnTrade) - es kann sein, dass der Schuss das Ziel getroffen hat oder einfach etwas heruntergefallen ist. Hier können Sie, wenn Sie wollen, nachsehen (alle Aufträge, Geschäfte, Positionen usw. überprüfen).
Sie irren sich entweder wegen Ihrer geringen Erfahrung im asynchronen Handel oder wegen der schwachen Funktionalität von MT5 für diese Art von Betrieb.
Sie brauchen keine Asynchronität um der Asynchronität willen. Und sie wird nur dann eingesetzt, wenn es sich lohnt. Zum Beispiel beim Handel mit einem Portfolio, wenn das Portfolio hier und jetzt gekauft oder neu gewichtet werden muss. Mit anderen Worten: etwa ein Dutzend Handelsaufträge für verschiedene Symbole zu den aktuellen Kursen.
Und niemand wird es tun, wenn Sie die Asynchronität so behandeln, wie Sie es beschrieben haben - schießen und vergessen. Und die Reaktionen auf die Schüsse sollten auf der Grundlage der aktuellen Nettopositionen bewertet werden. Die Reaktionen sollten für jeden einzelnen Handelsauftrag spezifisch sein.
Wenn es eine Weiterleitung gab, sollten wir darüber informiert werden, oder wir sollten eine andere Antwort erhalten. Wir sollten uns nicht fragen, ob es ein neues Angebot gab oder nicht, denn die Nettoposition hat sich für ein oder zwei Sekunden nicht verändert.
Auf der ersten Seite dieser Diskussion finden Sie die Diagramme und die eingehenden Nachrichtenereignisse. Sie sind nicht einfach aus dem Nichts aufgetaucht, sondern verfügen über jahrelange Erfahrung im Bereich der Asynchronität. Es lohnt sich also, dieser Architektur ohne Zimperlichkeit Aufmerksamkeit zu schenken.
Kolleginnen und Kollegen, was halten Sie von dieser Idee? In eine solche Struktur(MqlPacketTradeResult) können Sie ein Feld schreiben, das die Anzahl der abgeschlossenen Aufträge usw. angibt.
Sie gehen davon aus, dass der Stapel von Aufträgen immer dieselben Felder enthält?
IMHO eine Charge von den gleichen Anforderungen ist nur für Demonstrationszwecke benötigt, für die Arbeit wird verwendet werden, Anforderungen der verschiedenen Zeichen, mit unterschiedlichen Volumina und natürlich verschiedene Richtungen. Und folglich muss jeder Antrag einzeln geprüft werden, so dass es keinen Sinn macht, einen Stapel von Anträgen zu versenden.
Und was Sie vermuten, ist nur eine Bindung der for-Schleife.
Wollen Sie damit sagen, dass in einem Stapel von Bewerbungen immer die gleichen Felder ausgefüllt sind?
IMHO wird ein Stapel identischer Bewerbungen nur zu Demonstrationszwecken benötigt, für die Arbeit werden Bewerbungen mit unterschiedlichem Charakter, unterschiedlichem Volumen und natürlich unterschiedlichen Richtungen verwendet. Und folglich muss jeder Antrag einzeln geprüft werden, so dass es keinen Sinn macht, einen Stapel von Anträgen zu versenden.
Und was Sie vermuten, ist nur eine Bindung der for-Schleife.
Was hindert sie daran, jeden Auftrag zyklisch zu erfüllen? Und dann ebenso zyklisch jedes Ergebnis verarbeiten?
Wenn Ihr Vorschlag nur die bestehende Funktion ergänzen wird, nichts, sonst ist es nicht klar, wie einfache Struktur MqlPacketTradeRequest ...
... Wenn die MqlPacketTradeRequest-Struktur die Struktur eines dynamischen Arrays von MqlTradeRequest-Strukturen ist, kann sie die gesamte Logik des Servers, die für einfache Abfragestrukturen ausgelegt ist, zerstören.
Andernfalls müssten wir auf der Terminalebene diesen Stapel in separate Anfragen aufteilen, was den Sinn der Einführung dieser Überlast zunichte macht.