MarketBookAdd returns 4901 and SYMBOL_TICKS_BOOKDEPTH is 0, but manual DOM window opens on MT5

 

Hello,

I would like clarification on MQL5's market depth behavior.

I am developing an expert advisor that reads market depth data using MarketBookAdd() and MarketBookGet().

The same diagnostic EA works correctly with other brokers, but it doesn't work on my IC Markets MT5 live account.

environment:

Broker: IC Markets Global
Company: Raw Trading Ltd
Account type: Live MT5
Server: ICMarketsSC-MT5-3
Terminal: MetaTrader 5 IC Markets Global
Terminal manufacturer: 5836

Problem:

You can manually open the Depth of Market window in the MT5 terminal.

However, MQL5 Expert Advisors cannot join the order book.

For EURUSD:

SYMBOL_TICKS_BOOKDEPTH = 0
MarketBookAdd("EURUSD") = false
GetLastError() = 4901 / ERR_BOOKS_CANNOT_ADD

Return MarketBookGet() before MarketBookAdd() succeeds:

MarketBookGet = false
GetLastError() = 4903

I also scanned symbols from several marketwatches:

EURUSD
GBPUSD
USD CHF
USD/JPY
USDCAD
AUDUSD
AUNDNZD
AUDCAD
AUDCHF
AUDJPY
XAUUSD

The results for all these symbols are as follows:

SYMBOL_TICKS_BOOKDEPTH = 0
MarketBookAdd() = false
GetLastError() = 4901

I contacted IC Markets support and specifically asked whether DOM data access via MQL5 APIs through MarketBookAdd() and MarketBookGet() is supported on this live server.

Their response was this:

"Due to ongoing issues with MQL5, please contact MQL5 support if you require further assistance."

Question:

  1. If SYMBOL_TICKS_BOOKDEPTH returns 0, does that mean that the order book and market depth data for that symbol are not available to the MQL5 program?
  2. If MarketBookAdd() returns false and error 4901 / ERR_BOOKS_CANNOT_ADD, is this usually due to the broker's symbol or server settings?
  3. While MarketBookAdd() and MarketBookGet() are unavailable for Expert Advisors, is it possible to manually access the Depth of Market window in MT5?
  4. In the case of OTC FX symbols, is it possible that the DOM window is merely a trade ladder and not the actual ledger data exposed via the MQL5 API?
  5. If I'm selecting a symbol in MarketWatch, are there any terminal settings, EA permissions, or account settings that might be causing MarketBookAdd() to fail at 4901?
  6. Based on the above results, should we conclude that even when a manual DOM window is opened, IC Markets does not expose book depth data to MQL5 programs on this server/symbol?

I'm not asking how to code MarketBookAdd() or MarketBookGet(). I want to understand whether these results indicate a broker/server/symbol configuration issue, or an MQL5/terminal issue.

thank you.

 
Please post a screenshot of your DOM for EURUSD.