Nachlaufende OI (offener Anteil) - Seite 8

 
Alena Lysenkova:
warum schreiben Sie dann hier?

nach Belieben

gegangen

 

Alena Lysenkowa

Sie vergeuden Ihre Zeit, die Kunden warten...

Alena Lysenkova
Alena Lysenkova
  • 2021.01.04
  • www.mql5.com
Профиль трейдера
 
prostotrader:

Das sage ich den "Schreiberlingen" und ihren Verteidigern.

Warum sollten Sie alle Ticks kopieren, wenn Sie an den Geschäften interessiert sind?

Im Code.

Das muss es sein.

Renat Akhtyamov:

Was ist daran falsch?

Er weiß nicht einmal, was die Ausgabe sein soll oder was er dafür tun soll.

Selbst die Erfahrenen haben mir die Antwort auf diese heikle Frage nicht gesagt, weil es verboten ist, an jeder Ecke darüber zu sprechen.

Aber ich weiß, wie man das richtige Ergebnis erzielt, weil ich mich seit etwa 5 Jahren mit diesem Thema beschäftige.

Ehrlich gesagt, ist mir das nicht aufgefallen. Das Mädchen fragte eine Frage, die Essenz von denen und Sie nicht wirklich wissen, und nur wenige Menschen in diesem Forum, um es herauszufinden, geben Sie es offen.

D.h. mit dem Rest der Kleinigkeiten kann sie sich offensichtlich arrangieren, im Gegensatz zu vielen "Schreiberlingen", die Fragen 1. Klasse stellen.

Und in Kleinigkeiten herumzustochern, ihr angebliches Universalwissen zur Schau zu stellen und sogar in Kleinigkeiten Fehler zu machen, das ist nicht unprofessionell, das ist nicht einmal männlich, das ist wie eine mürrische Oma auf der Bank.

 
Aleksey Mavrin:

Ehrlich gesagt, ist mir das nicht aufgefallen. Das Mädchen hat eine Frage gestellt, deren Kern Sie nicht wirklich kennen, und nur wenige Menschen im Forum haben sie verstanden, geben Sie es offen zu.

D.h. mit dem Rest der Kleinigkeiten wird sie natürlich schon klarkommen, im Gegensatz zu vielen "Schreiberlingen", die Fragen 1.

Und in Kleinigkeiten herumzustochern, ihr angebliches Universalwissen zur Schau zu stellen und selbst bei Kleinigkeiten spontan Fehler zu machen, das ist nicht gerade professionell, und irgendwie auch nicht wie ein Mann, sondern wie eine mürrische Oma auf einer Bank.

Das war's schon.

Das OM ist nicht so einfach, wie es auf den ersten Blick erscheinen mag, und sie schreiben es jedem, der es haben möchte, gerne für einen Pfennig.

und was hier seit Seite 2 diskutiert wird, ist nicht einmal annähernd so.
 
Renat Akhtyamov:

Das war's schon.

Die Folgenabschätzung ist nicht so einfach, wie es auf den ersten Blick scheinen mag, und sie wird jedem, der sie haben möchte, gerne für einen Pfennig ausgestellt.

Und was hier seit Seite 2 diskutiert wird, ist nicht einmal annähernd so.

Willkommen zurück)

Das ist es ja gerade, dass die Frage schwierig und spezifisch ist und mit dem nötigen Maß an Verständnis gestellt wird (naja, vielleicht ohne tiefes Wissen), während alle "Mega-Gurus" ihr Ego zur Schau stellen, indem sie in einem abwertenden Ton auf Kommas im Testverifizierungscode herumhacken, wenn sie selbst noch verwirrt über die Konzepte sind.

Unprofessionell und hässlich. Normale Männer haben im Wesentlichen geantwortet, ich denke, die Frage ist geklärt)

 
Dmi3:

Ich kann ganz offen sagen: Ich brauche eine asynchrone Engine, aber der Mechanismus mit den krummen Magiern, den prostotrader verwendet, passt mir überhaupt nicht.

Wie man diesen Motor richtig schreibt, habe ich noch nicht verstanden. Und Sie? ;)

Warum brauchen Sie einen asynchronen Motor? Wenn Sie zwei Schenkel fahren, geben Sie den ersten Schenkel mit dem Grenzwert an und treffen den zweiten Schenkel mit dem Marker, wenn der erste Schenkel ausgelöst wird. Es ist möglich und sinnvoll, hier auf Asynchronität zu verzichten. Zusammengesetzte Kunststoffe mit mehreren Zeichen - ja, Asynchronität wird nützlich sein. Aber Sie werden immer noch die Liquidität jedes Symbols prüfen müssen. Es wird nicht ausreichen, eine Position mit konsistenten Einträgen zu schaffen. Übrigens funktioniert asynh genauso langsam wie die nicht-synchrone Auftragserteilung. Wenn Sie also Geschwindigkeit für eine einzelne Bestellung benötigen, sollte sie nicht asynchron sein.

 
Alena Lysenkova:

Warum in terminaler Änderung der offenen Zinsen:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
lebt sein Leben relativ zum Band?
void OnBookEvent(const string& symbol)

Soweit ich den Futures-Markt verstehe, dürfen Transaktionen im Band keine Veränderung des OI bewirken. Aber warum ändert sich der OI von selbst, ohne dass es zu Transaktionen kommt?
Das haben wir schon einmal gesehen:
https://www.mql5.com/ru/forum/165157/page2#comment_3989978

OI im Terminal wird mit welcher Periodizität aktualisiert, wovon hängt es ab?
Wie synchronisiere ich OI-Änderungen mit Trades im Feed? Ich möchte einen vollwertigen Feed mit OI erhalten.

Der OI ändert sich nur dann, wenn ein Handel stattfindet (Last). Streng genommen kann ein Teilnehmer nach Abschluss eines Geschäfts in den Markt eintreten und der andere Teilnehmer verlässt den Markt mit demselben Geschäft. In diesem Fall wird sich der OM nicht ändern, selbst wenn eine Vereinbarung getroffen wird. Daher muss das Ereignis OnTick() mit OI-Änderungen synchronisiert werden. Wenn das im Falle von MT nicht der Fall ist, bedeutet das, dass die Handelskanäle für OI und Ticks unterschiedlich sind. Es handelt sich um unterschiedliche Quellen, die zeitlich leicht versetzt sind. Dies ist jedoch das Maximum, das erreicht werden kann. Analyse von Handelsströmen, Timer - all das ist sinnloser Algo. Der Programmierer hat in diesem Fall nur eine Möglichkeit: den nächstgelegenen bekannten Wert von OM zum Zeitpunkt der Ankunft eines neuen Ticks zu ermitteln. Die beiden Werte werden so weit wie möglich miteinander synchronisiert. Aber es wird keine perfekte Synchronisation geben.

Der von der Börse gewährte Zugang zum OI in Echtzeit ist jedoch eher die Ausnahme als die Regel. An anderen Börsen ist der OI nur ein Referenzwert, der am Ende des Tages veröffentlicht wird. Daher muss MOEX für diese erstaunliche Gelegenheit, das OM in [fast] Echtzeit zu beobachten, gelobt werden.

 
Vasiliy Sokolov:

Der Programmierer hat in diesem Fall nur eine Möglichkeit: den nächstgelegenen bekannten OI-Wert in dem Moment zu ermitteln, in dem der neue Tick eintrifft. Die beiden Werte werden so weit wie möglich miteinander übereinstimmen. Aber es wird keine perfekte Synchronisation geben.

Das habe ich getan, und ich habe bereits festgestellt, dass die Daten nicht synchronisiert sind.

Vasiliy Sokolov:

Die Analyse des Trade Feeds, die Timer sind allesamt sinnlose Algos.

Es geht eher darum, zu experimentieren, um zumindest einige Zusammenhänge zu verstehen.

Vasiliy Sokolov:

Ich möchte jedoch anmerken, dass der von der Börse angebotene OI-Zugang in Echtzeit eher die Ausnahme als die Regel ist. An anderen Börsen ist der OI nur ein Referenzwert, der am Ende des Tages veröffentlicht wird. Daher ist MOEX zu loben für diese großartige Gelegenheit, das OM in [fast] Echtzeit zu beobachten.

Wolfix für dieselben Instrumente zeigt die Veränderung des OI sofort im Feed an. MOEX liefert also solche Daten. Aber in Mt5, aus irgendeinem Grund ist es aus der Synchronisation.


Es wäre schön, wenn man verstehen würde, wie das im Terminal im Allgemeinen funktioniert. Wird der OI in bestimmten Abständen aktualisiert oder verzögert er sich nur.
Dies würde es zumindest ermöglichen, die OI-Änderung mit der gleichen Verzögerung an das Band zu koppeln.

 
Vasiliy Sokolov:

Warum brauchen Sie einen asynchronen Motor? Wenn Sie zwei Schenkel fahren, quotieren Sie den ersten Schenkel mit Limit und schlagen den zweiten Schenkel mit Marker, wenn der erste Schenkel ausgelöst wird. Hier können Sie auf asynchrone und nützliche verzichten. Zusammengesetzte Kunststoffe mit mehreren Zeichen - ja, Asynchronität wird nützlich sein. Aber Sie werden immer noch die Liquidität jedes Symbols prüfen müssen. Es wird nicht ausreichen, eine Position mit konsistenten Einträgen zu schaffen. Übrigens funktioniert asynh genauso langsam wie die nicht-synchrone Auftragserteilung. Wenn Sie also Geschwindigkeit für die Eröffnung eines einzelnen Auftrags benötigen, sollten Sie nicht auf Asynchronität setzen.

Sie ist eigentlich nur für drei- und vierbeinige Arbitrageure notwendig. Ich habe nicht so viele von ihnen, nur ein paar Dutzend, und im Moment benutze ich nur den Synchronmotor.

Ich weiß, dass die asynchrone Variante die Geschwindigkeit nicht erhöht, ich verstehe die Physik des Prozesses und ich verstehe auch, warum die Zahlen, die das Terminal für die asynchrone Variante anzeigt, niedriger sind als die der synchronen Variante.

Deshalb habe ich beschlossen, dass ich mich selbst nicht mit asynchronen Systemen befassen möchte, sondern lieber etwas Nützlicheres für den Handel tun möchte. Und es gibt niemanden, bei dem man es bestellen kann, weil es keine Spezialisten gibt, die alle Fallstricke verstehen, die im realen Handel auftreten, nicht im Testhandel.

Und was die Geschwindigkeit angeht, gibt es nur einen lächerlichen Träumer hier im Forum, der plant, eines Tages den LCI mit HFT:) auf MT5 zu gewinnen, und das bin sicherlich nicht ich.
 
Alena Lysenkova:

Das habe ich getan und herausgefunden, dass die Daten nicht synchronisiert waren.

Dies ist eher ein Experiment, um zu sehen, ob es einen Zusammenhang gibt.

Wolfix gibt bei denselben Instrumenten eine Veränderung des OI sofort im Band an. MOEX liefert also solche Daten. Aber in Mt5 gibt es aus irgendeinem Grund keine Synchronisation.


Es wäre schön zu verstehen, wie es im Terminal im Allgemeinen funktioniert. Die Aktualisierung des OI erfolgt mit einer gewissen Regelmäßigkeit oder verzögert sich einfach.
Denn dann wäre die OI-Änderung zumindest irgendwie mit dem Band verbunden, und zwar mit der gleichen Verzögerung.

Wie würden Sie das verbinden? Angenommen, das Eintreffen der OI verzögert sich gegenüber den Ticks. Dann müssen Sie in OnTick den letzten, alten OI erhalten (es gibt noch keinen neuen in MT5) und damit zufrieden sein. Wenn die Ticks dagegen nachhinken, dann ist das in der Regel ein Ales, denn dann hinken die Ticks im MT5 dem gesamten Datenstrom hinterher, der von anderen Marktteilnehmern gesehen wird. Aber nehmen wir mal an. Dann stellen wir den Timer so ein, dass wir so schnell wie möglich einen neuen Tickwert erhalten, und der alte Tick wird gespeichert und mit diesem OM kombiniert. Trotzdem ist es schlecht - es wird ein aktueller OM und ein alter, irrelevanter letzter Tick mit ihm verbunden sein. Außerdem ist der normale Timer kürzer als 16 msec. Das werden Sie nicht - präemptives Multithreading. Sie erhalten einen krummen Timer mit einer ziemlich großen Lücke von mehreren msec, die schwer zu verstehen ist, wann er aufgerufen wird. Sie werden auch nicht in der Lage sein, den Expert Advisor mit Sleep() auf normale Art und Weise zu stopfen. Sie erfordert eine zu hohe Auflösung. In jedem Fall haben Sie entweder einen verzögerten OM oder einen Tick.