Wie eröffne ich einen Marktauftrag richtig? - Seite 6

 
Gennady Mazur:

Sie wurden korrekt über die Pause informiert. Es gab bereits ein Thema im Forum, dass eine Pause von einigen Millisekunden nach dem Senden der Order oft ausreicht, um mit der Position weiterzuarbeiten. Sie sollten sich besser nicht auf OnTradeTransaction() verlassen, wenn dies möglich ist.

Um zuverlässiger zu sein, sollten Sie prüfen, ob nach dem Absenden des Auftrags beim nächsten Tick noch eine Position vorhanden ist. Wenn es eine Position gibt, senden Sie keine weiteren Aufträge.

 
Alexey Kozitsyn:

Auf OnTradeTransaction() sollte, wenn möglich, nicht zurückgegriffen werden.


Ich frage mich, warum?
 
prostotrader:
Ich frage mich, warum?

1. Es ist nicht sicher, dass sie kommen wird;

2. Hat sich zuvor im Testgerät falsch verhalten. Ich weiß es jetzt nicht;

Hinzugefügt:

3. einige Auftrags- oder Transaktionsparameter (ich kann mich nicht mehr genau erinnern) wie Aufzählungen können "Standardwerte" haben, die keine sind. D.h. MQ hat nicht WRONG_VALUE gemacht, sondern z.B. ORDER_TYPE_BUY. Könnte irreführend sein;

 
Alexey Kozitsyn:

Sie wurden korrekt über die Pause informiert. Es gab bereits ein Thema im Forum, dass eine Pause von einigen Millisekunden nach dem Senden der Order oft ausreicht, um mit der Position weiterzuarbeiten. Sie sollten sich besser nicht auf OnTradeTransaction() verlassen, wenn dies möglich ist.

Um zuverlässiger zu sein, sollten Sie prüfen, ob nach dem Absenden des Auftrags beim nächsten Tick noch eine Position vorhanden ist. Wenn es eine Position gibt, senden Sie keine weiteren Aufträge.

Im Prinzip tue ich das, aber in Forts wird eine Order oft erfolgreich angenommen... aber es gibt keine Position beim nächsten Tick.
Dies ist, wo die zusätzliche Öffnung durch .... rutschen kann teilweise das Problem wie folgt zu lösen, wenn der Auftrag angenommen wird, ich die Int-Variable zu erhöhen, und nach der Erhöhung die Bedingungen für die Öffnung sind etwas anders, so dass eine neue Öffnung nicht passieren, aber.... wenn der Auftrag nicht akzeptiert wird die Variable nicht erhöhen, und hier ist der schwierige Teil ... Ich habe den Staat nicht richtig identifiziert, und es gehen zusätzliche Bestellungen ein.
 
Alexey Kozitsyn:

1. Es ist nicht sicher, dass sie kommen wird;

2. Hat sich zuvor im Testgerät falsch verhalten. Ich weiß es jetzt nicht;

Wahrscheinlich haben Sie die Nachricht von den Entwicklern nicht gesehen, dass OnTradeTransaction() jetzt garantiert ist.

Кроме того, транзакции могут потеряться при доставке от сервера к терминалу.
Что касается этой фразы.

Судя по всему - она осталась из документации к одной из начальных версий терминала с асинхронной торговли. В ближайшее время уберём. Виновные будут расстреляны.

Wie viele Sekunden soll die Pause dauern? 1 Sekunde 2, vielleicht 10?

2016.12.14 22:01:41.371 Trades  'xxxxx': cancel order #49932961 buy limit 1.00 CHMF-6.17 at 92501 placed for execution in 64873.549 ms

Hinzugefügt

Vergessen Sie nicht, dass Sie mit einer CUSTOMER - SERVER (Anfrage-Antwort) Anwendung arbeiten

 
prostotrader:

Sie haben wahrscheinlich die Nachricht der Entwickler nicht gesehen, dass OnTradeTransaction() jetzt garantiert ist.

Кроме того, транзакции могут потеряться при доставке от сервера к терминалу.
Что касается этой фразы.

Судя по всему - она осталась из документации к одной из начальных версий терминала с асинхронной торговли. В ближайшее время уберём. Виновные будут расстреляны.

Wie lange sollten wir eine Pause einlegen? 1 Sekunde 2, vielleicht 10?

2016.12.14 22:01:41.371 Trades  'xxxxx': cancel order #49932961 buy limit 1.00 CHMF-6.17 at 92501 placed for execution in 64873.549 ms

Ja, du hast Recht, ich habe den Satz nicht gesehen, und die Leichen auch nicht :)

Zur Pause: Sie haben einen eher exotischen Fall geschildert, aber es ist natürlich möglich. Ich meinte den Fall für die Arbeit mit liquiden Instrumenten, aktuellen Verträgen und für die Arbeit auf dem aktuellen Tick unmittelbar nach dem Senden des Auftrags. In den allermeisten Fällen reichen einige Millisekunden aus. Und natürlich muss nach der Pause das Vorhandensein einer Position für die weitere Arbeit mit ihr überprüft werden.

 
Gennady Mazur:
Im Prinzip tue ich das, aber in Forts wird die Order oft erfolgreich angenommen...aber beim nächsten Tick ist noch keine Position da...
Dies ist, wo die zusätzliche Öffnung verrutschen kann .... teilweise lösen das Problem auf diese Weise, wenn der Auftrag angenommen wird, ich die int-Variable zu erhöhen, und nach der Erhöhung die Bedingungen für die Öffnung sind etwas anders, so gibt es keine neue Öffnung, aber.... wenn der Auftrag nicht akzeptiert wird die Variable nicht erhöht, aber hier ist der knifflige Teil... Ich habe den Stand der Dinge falsch eingeschätzt, und es wurden zusätzliche Bestellungen aufgegeben.
In jedem unklaren Fall sollten Sie, wie bereits vorgeschlagen, eine erweiterte Protokollierung und nicht nur eine Ja/Nein-Rückmeldung verwenden. Vor allem im Entwicklungsstadium.
 
Alexey Kozitsyn:

Ja, du hast Recht, ich habe den Satz nicht gesehen, und die Leichen auch nicht:)

Was die Pause betrifft, so haben Sie einen eher exotischen Fall angeführt, aber natürlich ist es möglich. Ich meinte den Fall für die Arbeit mit liquiden Instrumenten, aktuellen Verträgen und für die Arbeit auf dem aktuellen Tick direkt nach dem Senden der Order. In den allermeisten Fällen reichen einige Millisekunden aus. Und natürlich muss nach der Pause das Vorhandensein der Position für die weitere Arbeit mit ihr überprüft werden.

Alexej!

Ein ziemlich flüssiges Instrument :)

2016.12.14 22:01:41.431 Trades  'xxxxx': cancel order #49931802 sell limit 1.00 GOLD-9.17 at 1190.2 placed for execution in 64926.078 ms

Es geht nicht um das Instrument (Liquidität), sondern um Verzögerungen, die bei JEDEM Instrument auftreten können.

Ich handele jetzt seit fast 4 Jahren aktiv mit EAs.

In keinem meiner EAs gibt es irgendwelche Pausen (außer der Pause beim Warten auf Daten, die vom Server in INDICATORS heruntergeladen werden),

Wenn Sie eine Pause machen, ist das ein sicheres Zeichen dafür, dass Ihr EA es nicht richtig gemacht hat :(

 
prostotrader:

Alexej!

Ich handele nun schon seit fast 4 Jahren aktiv mit EAs.

Ich habe keine Pausen in einem meiner EAs (außer Pausen, um auf Daten zu warten, die vom Server in INDICATORS heruntergeladen werden),

Wenn Sie eine Pause eingeben, ist das ein WAHRES Zeichen dafür, dass Sie den Algorithmus Ihres EAs falsch erstellt haben :(

Michael, wenn Sie etwas nicht gesehen oder getan haben, heißt das nicht, dass es nicht möglich oder nicht nötig ist.
 
Alexey Kozitsyn:
Michael, wenn du etwas nicht gesehen oder getan hast, heißt das nicht, dass es unmöglich oder unnötig ist.

Ich stimme Ihnen vollkommen zu!

Jeder macht, was er will oder was er kann.

Grund der Beschwerde: