1. nouveau tick
2. nouvelle transaction dans le flux
3. changement d'OI (avec une précision de 1ms)
il montre que les changements d'OI se produisent par eux-mêmes sans ticks et sans transactions dans le flux.
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; }
Un petit EA qui marque les événements dans le journal :
1. nouveau tick
2. nouvelle transaction dans le flux
3. changement d'OI (avec une précision de 1ms)
Il montre que les changements d'OI se produisent d'eux-mêmes sans ticks et sans transactions dans le flux.
Avez-vous écrit le code vous-même?
Pourquoi dans le changement terminal de l'intérêt ouvert :
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
vit sa vie par rapport à la bande ?
void OnBookEvent(const string& symbol)
C'est comme ça que c'est conçu.
Difficile de se synchroniser, il n'y a pas assez d'informations.
Pourquoi dans le changement terminal de l'intérêt ouvert :
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
vit sa vie par rapport à la bande ?
void OnBookEvent(const string& symbol)
D'après ce que je comprends du marché à terme, les transactions sur le ruban ne peuvent pas faire varier l'OI. Mais pourquoi l'OI change-t-il tout seul sans aucune transaction ?
Cela a déjà été vu auparavant :
https://www.mql5.com/ru/forum/165157/page2#comment_3989978
L'OI dans le terminal est mis à jour avec quelle périodicité, de quoi dépend-il ?
Comment synchroniser les changements d'OI avec les transactions dans le flux ? Je veux avoir une alimentation à part entière avec OI.
Si vous voulez un carnet de commandes complet, connectez-vous via le Plaza. Il est peu probable que MT5 soit repensé pour les flux d'actions.
Une autre question est de savoir si vous avez besoin de ces informations complètes.
@Andrey Khatimlianskii @Dmitriy Skub
Peut-être qu'il n'y a pas de synchronisation dans le terminal, mais avec le code qui
présenté, il y a quelque chose à dire ?
@Andrey Khatimlianskii @Dmitriy Skub
Peut-être qu'il n'y a pas de synchronisation dans le terminal, mais avec le code qui
présenté, y a-t-il quelque chose à dire ?
@Andrey Khatimlianskii @Dmitriy Skub
Peut-être qu'il n'y a pas de synchronisation dans le terminal, mais avec le code qui
Est-il possible de parler de n'importe quoi ?
En quoi exactement ce code vous paraît-il insatisfaisant ?
Qu'est-ce qui ne va pas exactement dans ce code ?
Tout de...
CopyTicks(_Symbol,tick,COPY_TICKS_ALL,0,1);
Vous n'avez pas du tout besoin d'un minuteur.
C'est un chef-d'œuvre.
if(ticks<20) return;
et ainsi de suite...
Tout de.
Il n'y a pas besoin de minuteur du tout.
C'est un chef-d'œuvre.
et ainsi de suite...
Il est très professionnel de fouiller dans le code que vous avez construit sur vos genoux en quelques minutes pour montrer l'essence du problème.
Le minuteur est nécessaire à cet endroit, lisez attentivement le sujet.
Il est très professionnel de fouiller dans un code que vous avez construit vous-même en quelques minutes afin d'en montrer l'essentiel.
Il faut une minuterie, lisez attentivement le fil de discussion.
La minuterie n'est PAS nécessaire.
Le OnBookEvent n'est pas seulement déclenché lorsqu'une transaction se produit.
et vous DEVEZ filtrer le symbole dans cette fonction
void OnBookEvent (const string& symbol) { if(symbol == Symbol()) { .. } }
Cette fonction "remplit" tout ce qui se trouve dans la revue de marché.
Pourquoi afficher "genoux nus" ?
Ajouté
"Très professionnel" pour accepter le travail
100.00 USD
Нужен софт для отслеживания ленты сделок по каждому тику с указанием изменения ОИ (аналог Time&Sales в платформе Volfix)
Et ne pas savoir comment le faire.
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Pourquoi dans le changement terminal de l'intérêt ouvert :
SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST)
vit sa vie par rapport à la bande ?
void OnBookEvent(const string& symbol)
D'après ce que je comprends du marché à terme, les transactions sur le ruban ne peuvent pas faire varier l'OI. Mais pourquoi l'OI change-t-il tout seul sans aucune transaction ?
Cela a déjà été vu auparavant :
https://www.mql5.com/ru/forum/165157/page2#comment_3989978
L'OI dans le terminal est mis à jour avec quelle périodicité, de quoi dépend-il ?
Comment synchroniser les changements d'OI avec les transactions dans le flux ? Je veux obtenir un flux complet avec OI.