DOM Ladder - page 2

 
Nice idea. I think I gonna make it
 
Evren Caglar #:

You need separate dataflow to work with DOM. Cheap leverage brokers does not provide us that data. You need order flow providers -that is usually called as Level 2 data. I think it is possible but likely it will be too costly to incorporate that dataflow into the Metatrader.

To expound on this, there is no central order book for all forex or CFD markets. The best you can get is your specific forex/CFD broker-dealer's order book.

You could, theoretically, get a centralized futures market order book in MT5 but in reality this is rare. Even most futures brokers only provide top-of-book in MT5.

The MT5 DOM documentation basically describes it as an entry refinement tool for OTC markets: Depth of Market - Trading Operations - MetaTrader 5 Help

I've never been able to find an MT5 stock broker in the U.S. but someone somewhere might be using full depth of market in MT5. Screenshots, anyone?

 

Mt5 dom ladder was created in C++ i doubt mql5 can create this as an EA

That’s not just a hunch—it’s a technical limitation. C++ provides the necessary access to low-level system resources and real-time data processing, while MQL5 is sandboxed and GUI-limited by design.

If you’re serious about building a professional-grade DOM ladder for MT5, it would need to be:

  • A custom C++ plugin (DLL) that interfaces with MT5 (via APIs or shared memory)

 
Jason Smith #:

Mt5 dom ladder was created in C++ i doubt mql5 can create this as an EA

That’s not just a hunch—it’s a technical limitation. C++ provides the necessary access to low-level system resources and real-time data processing, while MQL5 is sandboxed and GUI-limited by design.

If you’re serious about building a professional-grade DOM ladder for MT5, it would need to be:

  • A custom C++ plugin (DLL) that interfaces with MT5 (via APIs or shared memory)

wait, wait ,wait - hold your horses... I don't really understand, isn't it limited to broker data transfer? I understand very well the possibility of using lower-level resources in C++, but I don't think it's relevant to the topic at the moment? Isn't the concern the data transferred by the broker itself, not the programming interpretation? Could this data be analyzed in the MQL language as well if there was something to analyze? Please clarify what you meant about free level 2 data !?

 
The real limitation is not MQL5 itself but the broker’s data feed.
If your broker doesn’t send true Level 2 data to MT5, then:
MQL5 can’t access what isn’t there
C++ can’t magically conjure it either
However, if Level 2 data is provided:
You can absolutely parse it in MQL5 But building a rich UI like a proper DOM ladder is where MQL5 struggles — and that’s where C++ can help
 
Jason Smith #:
The real limitation is not MQL5 itself but the broker’s data feed.
If your broker doesn’t send true Level 2 data to MT5, then:
MQL5 can’t access what isn’t there
C++ can’t magically conjure it either
However, if Level 2 data is provided:
You can absolutely parse it in MQL5 But building a rich UI like a proper DOM ladder is where MQL5 struggles — and that’s where C++ can help

MQL5 absolutely allow to build rich UI.

The only difficulty is the lack of high quality GUI libraries, but once you have them you can do what you want in MQL5.

 

yes, now we're talking... I don't know much about the mystical level 2 data but as much as I've researched it, it's paid, not free. So we can't even blame brokers for not giving us this information for free... why should they?

Also about mql5, it's a very good tool for processing data, as mentioned above, it has its own shortcomings compared to C++, but compared to pinescript, mql5 is heaven on earth for fast data processing. Pinescript is a sandbox toy compared to mql5, because mql5 has oop options and partial memory management, this is very important. 

So things are as they are, more information about this mystical level 2 data would be welcome...

 
Alain Verleyen #:

MQL5 absolutely allow to build rich UI.

The only difficulty is the lack of high quality GUI libraries, but once you have them you can do what you want in MQL5.

Yes and no. 

You will face the problem with the missing chart-events for chart-changes, will lose CPU time by checking the chart props and you have all in one thread - which is actually the biggest problem. That means you also need to create an async processing core which operates in timer and from there has to trigger the painting-process and control invalidation/validation. On top, for every object a whole bitmap is created. 

Imo its way more elegant to do all that in a separate thread in a C# DLL without the need to care about the most of that problems you gonna experience. And, lets be honest: MQL is not efficient enough, C# and especially C++ is way faster.