Web-like UI inside of MT5. Is it possible? - page 3

 
Tsvetan Tsvetanov #:
This is not hard to do. MQL5 is a powerful language. If you have the knowledge you can build any type of GUI with standard objects and bitmaps. In addition you have CCanvas where you can control each individual pixel. So you can make some cool animations and effects.  It's even possible to play short video inside the chart.  The only real limit is the resources inside EX5 cannot exceed 128 MB. 
Yes it's not hard to do once DLL's get involved. Than almost anything is possible. Heck, I even made DOOM run on MT5 cause of DLL's. However, pure MQL5 would never get even close to the screenshot I referenced and that's because at the end of the day developer's have to use CCanvas....
 
Muhammad Minhas Qamar #:
Yes it's not hard to do once DLL's get involved. Than almost anything is possible. Heck, I even made DOOM run on MT5 cause of DLL's. However, pure MQL5 would never get even close to the screenshot I referenced and that's because at the end of the day developer's have to use CCanvas....
There is no need for DLL's to build interfaces like Trading View. It's basic stuff.  This can be done with standard objects. You don't even need resources like bitmaps and images. It's possible to create high quality graphics with pure code utilizing only the standard MQL5 library. I have build more complex interfaces even with the old versions of MQL4.  For external data like prices, volumes and news you can use WebRequest functions.
 
Tsvetan Tsvetanov #:
There is no need for DLL's to build interfaces like Trading View. It's basic stuff.  This can be done with standard objects. You don't even need resources like bitmaps and images. It's possible to create high quality graphics with pure code utilizing only the standard MQL5 library. I have build more complex interfaces even with the old versions of MQL4.  For external data like prices, volumes and news you can use WebRequest functions.
In terms of the OP's requirements, is it possible to achieve a level of canvas UI interactivity that allows the OP to attach or at least, manipulate, MT5 indicators and EA's from within the canvas─without DLL's?
 
Ryan L Johnson #:
In terms of the OP's requirements, is it possible to achieve a level of canvas UI interactivity that allows the OP to attach or at least, manipulate, MT5 indicators and EA's from within the canvas─without DLL's?
It's definitely possible to make UI interactivity with the standard ChartEvent functions.  And also with canvas.  You can do anything. Point and click, drag and drop, scroll, edit, keystrokes ect.   Check this article for examples.
Documentation on MQL5: Types of Chart Events / Constants, Enumerations and Structures
Documentation on MQL5: Types of Chart Events / Constants, Enumerations and Structures
  • www.mql5.com
There are 11 types of events that can be processed using the predefined function OnChartEvent() . For custom events 65535 identifiers are provided...
 
Tsvetan Tsvetanov #:
There is no need for DLL's to build interfaces like Trading View. It's basic stuff.  This can be done with standard objects. You don't even need resources like bitmaps and images. It's possible to create high quality graphics with pure code utilizing only the standard MQL5 library. I have build more complex interfaces even with the old versions of MQL4.  For external data like prices, volumes and news you can use WebRequest functions.
Okay so lets suppose that I can create the chart and features present in previous reference SS, how will I able to render MQL5's own indicators and EA's? I thought that even if I could make something with CCanvas, at the end of the day, it's going to be a picture/pixels slapped on top of the native MT5 chart. Am I wrong? Or do you think there's a way of doing this? Of course I understand that we can take indicator buffers to output the result, but not all indicators provide this access
 
Tsvetan Tsvetanov #:
It's definitely possible to make UI interactivity with the standard ChartEvent functions.  And also with canvas.  You can do anything. Point and click, drag and drop, scroll, edit, keystrokes ect.   Check this article for examples.

Thanks for the Article. I think that I'm getting it now. If I understand the Article below correctly, an indicator with which the user can interact within the canvas must be specially coded to run in the canvas.

Articles

Canvas based indicators: Filling channels with transparency

Samuel Manoel De Souza, 2023.03.30 15:57

In this article I'll introduce a method for creating custom indicators whose drawings are made using the class CCanvas from standard library and see charts properties for coordinates conversion. I'll approach specially indicators which need to fill the area between two lines using transparency.
And I see that the canvas-based indicator is technically a 100% MQL5 language file.
 
Ryan L Johnson #:

Thanks for the Article. I think that I'm getting it now. If I understand the Article below correctly, an indicator with which the user can interact within the canvas must be specially coded to run in the canvas.

Yes, it can't generalize, because there's no way to. You'll have to code it for specific indicators so it can render it THAT IS if we can even get close to charts aesthetic present in the reference SS
 
Yes, but via C#, similar to C Trader and NinjaTrader looks (All powered by C#).

 Found this interesting article - 

It loads them up, it doesn’t really look like TV, but C# works well and recently worked on a program that required custom graphics and that was easily done with Window.Graphics library need to remember name exactly.

But C# has been around for a long while, you can get good charting libs to dev what you seek.

Do read the article and reach out t o the author. 
Thank you.
 
Or Canvas, devs do under estimate them, crazy UI have been dev with Canvas here - Search Clusters. Would advise you use canvas, as the C# method needs big brain power and won’t work well with MT5.

A tip - Use MT5 Client to save tick data or OHLCVT data (All Indicators are made from this) - Advisable to use tick, store tick to files, read them in C# terminal and generate you parts (Price and Indicators) and all features, to trade hmmm. Well you remember how trade copier use csv - yes get a free open source mt5 copier that reads Trade from your trade files.

This is the way to go, like the bitmap stuff hmmm nice but yeah seems funny. The C# is best in fact you can track the location of the terminal and you use windows functionali Ty to put your C# terminal on the chart. 
Thank you. 


 
Arinze Michael Ejike #:


Thanks for the article, but as I have said multiple times on this forum that with DLL you can do this very easily and I am aware of it. I can even go as far as embedding the browser to make the charts look exactly like TV. But we've hit a dead end with MQL5's own indicators and EA's not rendering on those charts. They'll only do that on native charts. I do appreciate that article link haven't read that one so thank you anyways :)