Size of Order Book , hole in tab ? , [programmation for future contracts]

 
Hello, I actually have some questions about the "book" variable in MQL5 (If we declare MqlBookInfo book[] for example). I was programming some Experts for @MES future contract (Micro E mini S&P 500). My broker was only offering me the informations about volume from book[0] to book[19] So 0 was refering to the highest up price in the visible order book , and 19 the lower in the visible order book. I just noticed on the EP Contract , (mini S&P) , the broker was sending a lot more prices volume (around 64, to be more precise , Arraysize(book)~64), and i was very surprised because , for exemple , book[0].price was sending highly different values from a second to another (for example , 3700 on a second and 3600 the next one , something real big. sometimes close prices difference. it's just a example , not exactly what i got. ). So my first question is : 1) In fact , what is technically book[0] refering to , is it the "first declared volume from highest point to the lowest" or something like that ? 2)Is the order book info continuous : More precisely , can it exists a "hole" in the book (for exemple , let say book[9]=1000 , and the course order book difference is 0.25 , can it be possible book[10] is 1000.5 for example , the level 1000.25 would be "ignored" as no volume would be declared on it or i don't know which reason) The latter question is asked because i had programmed my expert to find the current price index in the order book , and to analyse the 10 following levels above and beyond. It works for sometimes like 3 hours , then there is a array bug , which is technically meaning with the interpretation of my code that i asked for a book index that doesn't exist. Once again , thanks for giving time answering questions of the community ,