1. neuer Tick
2. neuer Deal im Feed
3. OI-Änderung (mit 1ms Genauigkeit)
zeigt, dass OI-Änderungen von selbst passieren, ohne Ticks und ohne Deals im Feed.
long bool_event_time_last = 0; int OnInit() { EventSetMillisecondTimer(1); MarketBookAdd(_Symbol); MqlTick tick[]; CopyTicks(_Symbol,tick,COPY_TICKS_ALL,0,1); bool_event_time_last = tick[0].time_msc; return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { EventKillTimer(); } void OnTick() { Print("1. tick"); } void OnTimer() { static double open_last = SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST); double open_current = SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST); if(NormalizeDouble(open_current,0) != NormalizeDouble(open_last,0)) { open_last = open_current; Print("3. oi change"); } } void OnBookEvent (const string& symbol) { MqlTick tick[]; int ticks = CopyTicks(_Symbol,tick,COPY_TICKS_ALL,0,100); if(ticks<20) return; for(int i=ticks-1;i>=0;i--) { if(tick[i].time_msc <= bool_event_time_last) break; if((int)tick[0].flags<32) continue; Print("2. book deal"); } bool_event_time_last = tick[ticks-1].time_msc; }
Ein kleiner EA, der Ereignisse im Log markiert:
1. neuer Tick
2. neuer Deal im Feed
3. OI-Änderung (mit 1ms Genauigkeit)
Es zeigt, dass OI-Änderungen von selbst passieren, ohne Ticks und ohne Deals im Feed.
Haben Sie den Code selbst geschrieben?
Warum in terminaler Änderung der offenen Zinsen:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
lebt sein Leben relativ zum Band?
void OnBookEvent(const string& symbol)
So ist es konzipiert.
Eine Synchronisierung ist kaum möglich, da es nicht genügend Informationen gibt.
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 nicht zu einer Veränderung des OI führen. 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 haben.
Wenn Sie ein vollständiges Auftragsprotokoll wünschen, stellen Sie eine Verbindung über die Plaza her. Es ist unwahrscheinlich, dass MT5 für Aktienströme umgestaltet wird.
Eine andere Frage ist, ob Sie diese vollständige Information benötigen.
@Andrey Khatimlianskii @Dmitriy Skub
Vielleicht gibt es keine Synchronisierung im Terminal, aber mit dem Code, der
präsentiert, gibt es etwas zu besprechen?
![Andrey Khatimlianskii Andrey Khatimlianskii](https://c.mql5.com/36/44/andrey-khatimlianskii.jpg)
@Andrey Khatimlianskii @Dmitriy Skub
Vielleicht gibt es keine Synchronisierung im Terminal, aber mit dem Code, der
präsentiert, gibt es etwas zu besprechen?
@Andrey Khatimlianskii @Dmitriy Skub
Vielleicht gibt es keine Synchronisierung im Terminal, aber mit dem Code, der
Ist es überhaupt möglich, etwas zu sagen?
Was genau an diesem Kodex finden Sie nicht zufriedenstellend?
Was genau ist an dem Code falsch?
Alles von...
CopyTicks(_Symbol,tick,COPY_TICKS_ALL,0,1);
Sie brauchen überhaupt keinen Timer.
Es ist ein Meisterwerk.
if(ticks<20) return;
und so weiter...
Alles von.
Ein Timer ist überhaupt nicht nötig.
Es ist ein Meisterwerk.
und so weiter...
Es ist sehr professionell, in dem Code herumzustochern, den man in ein paar Minuten auf den Knien gebaut hat, um den Kern der Sache zu zeigen.
Der Timer wird dort benötigt, lesen Sie das Thema sorgfältig
Es ist sehr professionell, in einem Code herumzustochern, den man selbst in ein paar Minuten erstellt hat, um das Wesentliche des Problems zu zeigen.
Es braucht einen Timer, lesen Sie den Thread sorgfältig.
Der Timer wird NICHT benötigt.
OnBookEvent wird nicht nur ausgelöst, wenn eine Transaktion stattfindet.
und Sie MÜSSEN das Symbol in dieser Funktion filtern
void OnBookEvent (const string& symbol) { if(symbol == Symbol()) { .. } }
Diese Funktion "füllt" alles, was in der Marktübersicht steht.
Warum "nackte Knie" posten?
Hinzugefügt
"Sehr professionell", um den Job zu übernehmen
100.00 USD
Нужен софт для отслеживания ленты сделок по каждому тику с указанием изменения ОИ (аналог Time&Sales в платформе Volfix)
Und nicht zu wissen, wie man es macht.
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
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 nicht zu einer Veränderung des OI führen. 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 vollständigen Feed mit OI erhalten.