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
Noch einmal: für "Kandidaten", "Ärzte", "Professoren" und "Akademiker".
Jedes Ereignis, das zu OnTradeTransaction() kommt, kann verloren gehen
Deshalb halte ich es für einen Fehler, dass nach dem Empfang des sinnvollen EreignissesTRADE_TRANSACTION_HISTORY_ADD
werden die Daten im Terminal nicht aktualisiert!
In der Hilfe(https://www.mql5.com/ru/docs/basis/function/events#ontradetransaction):
Ein Handelsauftrag, der manuell vom Terminal oder über dieOrderSend()/OrderSendAsync()-Funktionen gesendet wird, kann auf dem Handelsserver mehrere aufeinanderfolgende Handelsgeschäfte erzeugen. Die Reihenfolge, in der diese Transaktionen im Terminal ankommen, ist nicht garantiert, so dass wir unseren Handelsalgorithmus nicht darauf aufbauen können, dass wir auf das Eintreffen einiger Transaktionen nach anderen warten. Außerdem können Transaktionen verloren gehen, wenn sie vom Server zum Terminal übertragen werden.
Es ist daher nicht klar, warum diese Funktion überhaupt benötigt wird. Sie sollten es nur nicht verwenden, das ist alles. Sie müssen die Geschichte der Aufträge und Geschäfte selbst analysieren.
In der Hilfe(https://www.mql5.com/ru/docs/basis/function/events#ontradetransaction):
Es ist daher nicht klar, warum diese Funktion überhaupt benötigt wird. Sie sollten es nur nicht benutzen. Sie müssen die Historie der Aufträge und Abschlüsse selbst analysieren.
Wie bei Aufträgen, Positionen und Transaktionen.
Wie in der Hilfe beschrieben, ist die Reihenfolge der Transaktionen nicht garantiert - eine Transaktion der Auftragsübertragung in die Historie kann früher eingehen als eine Transaktion eines Geschäfts.
Die Änderung einer Position im Terminal ist ausschließlich das Ergebnis des Empfangs einer Handelstransaktion, so dass der Erhalt einer solchen Transaktion eine Garantie dafür ist, dass sich die Position geändert hat.
Die Einholung einer Transaktion zur Übertragung eines Auftrags in die Historie gewährleistet lediglich, dass der Auftrag nicht mehr aktiv (offen) ist und in die Auftragshistorie verschoben wurde.
Was diesen Satz betrifft.
Sie scheint in der Dokumentation einer der ersten Versionen des Terminals mit asynchronem Handel geblieben zu sein. Sie wird in naher Zukunft entfernt werden. Die Schuldigen werden hingerichtet.
Wie bei Aufträgen, Positionen und Transaktionen.
Wie in der Hilfe beschrieben, ist die Reihenfolge der Transaktionen nicht garantiert - eine Transaktion der Auftragsübertragung in die Historie kann früher eingehen als eine Transaktion eines Geschäfts.
Die Änderung einer Position im Terminal ist ausschließlich das Ergebnis des Empfangs einer Handelstransaktion, so dass der Erhalt dieser Transaktion eine Garantie dafür ist, dass sich die Position geändert hat.
Die Einholung einer Transaktion zur Übertragung eines Auftrags in die Historie gewährleistet lediglich, dass der Auftrag nicht mehr aktiv (offen) ist und in die Auftragshistorie verschoben wurde.
Was diesen Satz betrifft.
Sie scheint in der Dokumentation einer der ersten Versionen des Terminals mit asynchronem Handel geblieben zu sein. Sie wird in naher Zukunft entfernt werden. Die Schuldigen werden hingerichtet.
Herzlichen Dank!
Und ich ein Maschinengewehr (oder zumindest eine Pistole), um an der Schießerei teilzunehmen? :)
MQ Alexander!
Ich hätte gerne eine ausführlichere Erläuterung zu den Geschäften und Positionen.
Weil SIE geschrieben haben:
Und in der Tat stellt sich folgendes heraus:
Test Expert Advisor build 1375 demo opening (wurde 2 mal ausgeführt)
Und hier die Ergebnisse:
Beide Male stand TRADE_TRANSACTION_HISTORY_ADD an erster Stelle, aber
Im ersten Fall gab es keine Position, aber im zweiten Fall schon!
Wie soll ich das verstehen?
Ich habe vergessen, das Terminalprotokoll anzuhängen:
prostotrader, lassen Sie mich Ihnen eine intime Frage stellen. Warum sind Sie so versessen auf historische Aufträge und nicht auf den Handel? :-))
MQ Alexander sagte:
Что касается ордеров, позиций и сделок.
Wie in der Hilfe geschrieben - die Reihenfolge der eingehenden Transaktionen ist nicht garantiert - die Transaktion der Auftragsübertragung in die Historie kann vor der Transaktion empfangen werden.Die Änderung einer Position im Terminal ist ausschließlich das Ergebnis des Empfangs einer Handelstransaktion, so dass der Erhalt dieser Transaktion eine Garantie dafür ist, dass sich die Position geändert hat.
Die Einholung einer Transaktion zur Übernahme des Auftrags in die Historie garantiert nur, dass der Auftrag nicht mehr aktiv (offen) ist und in die Auftragshistorie übernommen wurde.
Und in Ihrem Fall
fast leer...
Und noch eine lyrische Bemerkung. Im Konzept von MT5 spiegelt das Vorhandensein eines historischen Auftrags die Tatsache wider, dass versucht wurde, einen Handel zu tätigen. Und es ist nicht die Tatsache, dass sie ausgeführt wurde. Und um das herauszufinden, müssen wir uns an den Handel wenden. Sie spiegelt bereits das Ergebnis der Handelsoperation wider. Dann ist es logischer, Transaktionen in Ihrem Code zu behandeln...
prostotrader, lassen Sie mich Ihnen eine intime Frage stellen. Warum sind Sie so versessen auf historische Aufträge und nicht auf den Handel? :-))
MQ Alexander sagte:
Und in Ihrem Fall
ist fast leer...
Ich antworte auf Ihre intime Frage.
Wahrscheinlich arbeiten Sie auf dem FOREX-Markt und handeln mit einem einzigen Auftrag,
Sie "lügen" also beharrlich in einem Bereich, den Sie nicht einmal verstehen.
Stellen Sie sich vor, es gäbe zwei Lenkräder in einem Auto und zwei Fahrer, die beide nur auf das Lenkrad schauen.
die Straße. Woher weiß der 1. Fahrer, dass der andere Fahrer lenkt (z. B. nach rechts)?
Schauen Sie auch genau hin:
Ihre gesamte primitive Logik basiert auf der Ausführung eines Marktauftrags, also,
Ich weise Sie darauf hin, dass es Limit- und Pending-Aufträge gibt
die nicht vollständig, sondern nur in Teilen ausgeführt werden können.
Schauen Sie außerdem genau hin:
Und was soll ich dort sehen?!
Ist Ihnen bewusst, dass Sie im Fall TRADE_TRANSACTION_HISTORY_ADD versehentlich Positionsinformationen erhalten?
Und man hat Ihnen bereits gesagt, dass...prostotrader:
Ihre gesamte primitive Logik basiert auf der Ausführung eines Marktauftrags, also,
Ich möchte Sie darauf aufmerksam machen, dass es Limit- und Pending-Aufträge gibt
die nicht vollständig, sondern in Teilen ausgeführt werden können.
Du bist nicht derjenige, der über meine primitive Logik urteilt...
Und wer soll das beurteilen?
Ich beurteile Ihre Fähigkeiten nach Ihren Aussagen!
Das Bild ist eindeutig nicht schön :(
Ergibt das mehr Sinn, "Professor"?
Und ich kann mich nicht erinnern, dassMQ Alexander Sie beauftragt hat, für ihn zu antworten.