Fehler, Irrtümer, Fragen - Seite 2077

 
Aleksey Vyazmikin:

Für ein Limit wäre es in Ordnung, aber wenn man nach Buch kauft, kommt es mir seltsam vor, dass die Informationen über das Geschäft in Portionen kommen.

Wie kann ich wissen, wie hoch das Volumen war, wenn ein EA eine Position eröffnet und ein anderer sie bearbeitet?

Sie füllen mit Ihrem Marktauftrag die Limits eines anderen Kunden. Und Sie füllen nicht unbedingt das Limit einer Gegenpartei (wenn Ihr Auftragslot > 1 ist).

Wie man das herausfindet. Im Expert Advisor, der die Historie verarbeitet, fordern Sie genau diese Historie an, wenn es eine offene Position gibt. Und prüfen Sie, ob der Auftrag, der den Handel der aktuellen Position eingeleitet hat, bearbeitet wurde.

 
Alexey Kozitsyn:

Mit Ihrem Marktauftrag füllen Sie die Limits anderer Personen. Und Sie füllen nicht unbedingt das Limit desselben Kontrahenten (wenn Ihr Auftragslot > 1 ist).

Wie man das herausfindet. Im Expert Advisor, der die Historie verarbeitet, fordern Sie genau diese Historie an, wenn es eine offene Position gibt. Und prüfen Sie, ob der Auftrag, der den Handel der aktuellen Position eingeleitet hat, bearbeitet wurde.


Es ist klar, dass ich die Grenzwerte einhalte, aber findet die Füllung nicht sofort statt? Ich sehe nicht, dass der Auftrag bei jedem Zähler oder Preisniveau ausgelöst wird, sondern in verschiedenen Teilen.

Was meinen Sie, wurde die Bestellung bearbeitet oder nicht? Ich habe einen Marktauftrag gestartet und er hat den Zwischenstatus "in Ausführung"? Wie initialisiere ich sie?

 
Aleksey Vyazmikin:

Es ist verständlich, dass ich die Grenzen ausschöpfe, aber geschieht das Ausschütten nicht sofort? Es ist nicht jeder Gegenspieler oder jedes Preisniveau, das auslöst, aber in Teilen kann ich kein Muster erkennen.

Was meinen Sie, wurde die Bestellung bearbeitet oder nicht? Ich habe einen Marktauftrag gestartet und er hat den Zwischenstatus "in Ausführung"? Wie initialisiere ich sie?

Ihr Marktauftrag leitet den Handel ein. Es kann mehr als einen Abschluss geben, wenn der nächstgelegene Limitauftrag nicht das gesamte Volumen Ihres Marktauftrags abdeckt.

Falls dies nicht klar ist, lesen Sie bitte den Artikel über die Preisgestaltung an der Börse.

Wie meinen Sie das? Sie möchten, dass ein zweiter EA den Auftrag einmal bearbeitet, richtig? Wenn ja, sollten Sie sich die Nummer des zuletzt bearbeiteten Auftrags merken.

 
Alexey Kozitsyn:

Ihr Marktauftrag leitet den Handel ein. Es kann mehr als einen Abschluss geben, wenn der nächstgelegene Limitauftrag nicht das gesamte Volumen Ihres Marktauftrags abdeckt.

Wenn das nicht klar ist, lesen Sie den Artikel über Börsenpreise.


DiePreisbildung an der Börse ist klar, das ist nicht die Frage - es ist klar, dass es viele Geschäfte auf eine Bestellung geben kann, es ist nicht klar, die andere Frage ist, warum die Informationen über alle Geschäfte nicht auf einmal kommen - weil das Ereignis tatsächlich zu einem Zeitpunkt stattfindet. Oder liege ich falsch und es gibt eine spezielle Verzögerung zwischen den einzelnen Geschäften, die von der Börse bereitgestellt wird? Wenn ja, geben Sie mir bitte einen Link, damit ich darüber lesen kann.

Alexey Kozitsyn:

Wie meinen Sie das? Sie wollen den Auftrag einmal durch den zweiten EA bearbeiten lassen, richtig? Wenn ja, müssen Sie sich wahrscheinlich die Nummer des zuletzt bearbeiteten Auftrags merken.

Ich möchte die Position auf einige Kriterien hin überprüfen - SL/TP und Volumen. In diesem Fall kann ein Teil der Position durch einen anderen Auftrag gebildet werden. Ok, ich erinnere mich an die Bestellnummer in der Historie, was soll ich jetzt tun?
 
Aleksey Vyazmikin:

Oder liege ich falsch und es gibt eine spezielle Verzögerung, die von der Börse zwischen den einzelnen Transaktionen vorgesehen ist?

Na, sieh mal an, wer hält dich denn auf? Ich habe nichts von einer besonderen Verzögerung gehört.

Ich möchte die Position auf die Einhaltung bestimmter Kriterien - SL/TP und Volumen - überprüfen. Zugleich kann ein Teil der Position durch einen anderen Auftrag gebildet werden. Ok, ich habe mir die Nummer der Bestellung in der Historie gemerkt.

Dann prüfen Sie die Position. Sie haben die Position gefunden - fragen Sie die Parameter ab. Sie können bei jedem Ticken Parameter anfordern. Oder nachdem das Ereignis OnTrade() eingetreten ist.

Wenn Sie möchten, dass die Position erst verarbeitet wird, nachdem der Auftrag vollständig ausgeführt wurde, benötigen Sie vielleicht OnTradeTransaction().

 
Alexey Kozitsyn:

Also prüfen Sie es, wer hält Sie auf? Ich habe noch nie von irgendwelchen besonderen Verzögerungen gehört.


Nun, vielleicht mache ich etwas falsch, deshalb ist das Ergebnis so... Wenn es also eine genaue Antwort gibt, ist klar, welchen Weg man einschlagen muss. Aber ich werde das überprüfen, es ist nur so, dass in den Testern und anderen Simulatoren alles gut funktionierte, und gestern im echten Leben hat es mich wegen dieser Bug-Spezialität gebissen.

Alexey Kozitsyn:

Überlegen Sie sich also die Lage. Sie haben eine Position gefunden - fragen Sie deren Parameter ab. Sie können bei jedem Ticken Parameter anfordern. Oder nachdem das Ereignis OnTrade() eingetreten ist.

Ich überprüfe es auf diese Weise in OnTrade() - und ich erhalte eine seltsame Situation... Nun, ich werde Protokolle im Detail schreiben, um zu verstehen, was vor sich geht. Ich weiß nur nicht, wie ich erkennen soll, dass die Marktorder noch gehandelt wird.


AlexeyKozitsyn:

Wenn Sie möchten, dass die Position erst verarbeitet wird, nachdem der Auftrag vollständig ausgeführt wurde, benötigen Sie vielleicht die Funktion OnTradeTransaction().

OnTradeTransaction() funktioniert meines Wissens nur auf demselben Terminal, auf dem der Handel durchgeführt wird, und in meinem Fall sind es verschiedene Computer.
 
Aleksey Vyazmikin:

Sie können nicht alle Funktionen des FORTS real im Testgerät überprüfen. Das Einschenken einer Bestellung ist eine davon.

 
Alexey Kozitsyn:

Sie können nicht alle Funktionen des FORTS real im Testgerät überprüfen. Das Einschenken einer Bestellung ist eine davon.


Der Ausrutscher ist wild - 10 Punkte für jeden - das Glas ist leer, es scheint, dass die Arbitrageure die einzigen sind, die da sind...

 

Also schaue ich, dass ich 30 Lots durch SL schließe und sehe, dassOnTrade() eintrat, als es 30, dann 25, 25,25, 16,5,1,0 so viele 39 Mal gab!

Gleichzeitig sehe ich, dass die Position mit Trades geschlossen wurde: 5,2,2,1,3,1,4,1,2,1,1,2,3,1,1 - d.h. 15 Mal! Ich bitte die Entwickler um Klärung dieser Frage.

 
Kommentare, die für dieses Thema nicht relevant sind, wurden in die Rubrik "Indikator für Indikator" verschoben.