1. nuovo tick
2. nuova transazione nel feed
3. cambiamento di OI (con una precisione di 1ms)
mostra che i cambiamenti di OI avvengono da soli senza tick e senza transazioni nel 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; }
piccolo Expert Advisor che segna gli eventi nel log:
1. nuovo tick
2. nuova transazione nel feed
3. cambiamento di OI (con una precisione di 1ms)
mostra che i cambiamenti di OI avvengono da soli senza tick e senza transazioni nel feed.
Hai scritto tu stesso il codice?
Perché nel cambiamento terminale di interesse aperto:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
vive la sua vita relativa al nastro?
void OnBookEvent(const string& symbol)
È così che è stato progettato.
Difficile da sincronizzare, non ci sono abbastanza informazioni.
Perché nel cambiamento terminale di interesse aperto:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
vive la sua vita relativa al nastro?
void OnBookEvent(const string& symbol)
Per quanto capisco il mercato dei futures, le transazioni nel nastro non possono causare il cambiamento dell'OI. Ma perché l'OI cambia da solo senza alcuna transazione?
Questo è già stato visto prima:
https://www.mql5.com/ru/forum/165157/page2#comment_3989978
OI nel terminale è aggiornato con quale periodicità, da cosa dipende?
Come faccio a sincronizzare i cambiamenti di OI con le compravendite nel feed? Voglio avere un feed completo con OI.
Se vuoi un orderlog completo, connettiti attraverso il Plaza. È improbabile che la MT5 venga riprogettata per i flussi azionari.
Un'altra domanda è se avete bisogno di queste informazioni complete.
@Andrey Khatimlianskii @Dmitriy Skub
Forse non c'è sincronizzazione nel terminale, ma con il codice che
presentato, c'è qualcosa di cui parlare?
@Andrey Khatimlianskii @Dmitriy Skub
Forse non c'è sincronizzazione nel terminale, ma con il codice che
presentato, c'è qualcosa di cui parlare?
@Andrey Khatimlianskii @Dmitriy Skub
Forse non c'è sincronizzazione nel terminale, ma con il codice che
È possibile parlare di tutto?
Che cosa esattamente di questo codice trova insoddisfacente?
Cosa c'è esattamente di sbagliato nel codice?
Tutto da...
CopyTicks(_Symbol,tick,COPY_TICKS_ALL,0,1);
Non c'è bisogno di un timer.
È un capolavoro.
if(ticks<20) return;
e così via...
Tutto da.
Non c'è affatto bisogno di un timer.
È un capolavoro.
e così via...
È molto professionale curiosare nel codice assemblato in un paio di minuti per mostrare l'essenza del problema.
Hai bisogno di un timer lì, leggi attentamente l'argomento
È molto professionale curiosare nel codice che avete costruito da soli in un paio di minuti per mostrarne il succo.
Ha bisogno di un timer, leggi attentamente il thread.
Il timer NON è necessario.
L'OnBookEvent non si attiva solo quando avviene una transazione.
e si DEVE filtrare il simbolo in questa funzione
void OnBookEvent (const string& symbol) { if(symbol == Symbol()) { .. } }
Questa funzione "riempie" tutto ciò che è nella revisione del mercato.
Perché postare "ginocchia nude"?
Aggiunto
"Molto professionale" per prendere il lavoro
100.00 USD
Нужен софт для отслеживания ленты сделок по каждому тику с указанием изменения ОИ (аналог Time&Sales в платформе Volfix)
E non sapere come farlo.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Perché nel cambiamento terminale di interesse aperto:
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
vive la sua vita relativa al nastro?
void OnBookEvent(const string& symbol)
Per quanto capisco il mercato dei futures, le transazioni nel nastro non possono causare il cambiamento dell'OI. Ma perché l'OI cambia da solo senza alcuna transazione?
Questo è già stato visto prima:
https://www.mql5.com/ru/forum/165157/page2#comment_3989978
OI nel terminale è aggiornato con quale periodicità, da cosa dipende?
Come faccio a sincronizzare i cambiamenti di OI con le compravendite nel feed? Voglio ottenere un feed completo con OI.