OnTick in NAS100 is jumping a lot of new quotes...

 

Hi everybody.

If I create a simple EA with only a single Print getting the BID price in NAS100 in MT4 I can see that are many little moviments in charts but not in EA. 

Ok, I read in OnTick doc that while it not complete the circle it will igore few quotes...But If I change NAS100 to EURUSD for example, everything works fine. If there are EA jump is really just some few new quotes and because the market is very fast, almost imperceptive.

But in NAS100 is like in each 10 new quotes I am losing 5...

This is normal ? Anyone have the same situation?

void OnTick()
  {
      Print(DoubleToStr(SymbolInfoDouble("NAS100.a", SYMBOL_BID),MarketInfo("NAS100.a",MODE_DIGITS)));
      return;
  }

Thank you!

 

Why not consult the documentation https://www.mql5.com/en/docs/event_handlers/ontick


All events are handled one after another in the order of their receipt. If the queue already contains the NewTick event or this event is in the processing stage, then the new NewTick event is not added to mql5 application queue.
 
Enrique Dangeroux #:

Why not consult the documentation https://www.mql5.com/en/docs/event_handlers/ontick


And you read my ask? Did you see that I wrote that I read the Doc about it? 

What I doesnt understand is why I cant to see this in for example EURUSD or any other pair and only in NAS100. This IS NORMAL for you too? If you to create a simple EA like I did with that code pasted, can you see the same situation? 

 

If someone have a similar issue just use 

SymbolInfoDouble(pair, SYMBOL_BID)

instead of

DoubleToStr(SymbolInfoDouble("NAS100.a", SYMBOL_BID),MarketInfo("NAS100.a",MODE_DIGITS)

This second line code is getting a big delay in my code.

 

Nop, the real issue is that to receive the all quotes without lost so many like my script the solution is to drop the script over a chart with a NAS100 symbol. 

Unfortunately, in my tests if I for example drop the script in EURUSD and try to get a NAS100 quotes the OnTick will lost many quotes because is "processing"

So now I can use this line code normally.

DoubleToStr(SymbolInfoDouble("NAS100.a", SYMBOL_BID),MarketInfo("NAS100.a",MODE_DIGITS)
Reason: