Discussion of article "Developing graphical interfaces for Expert Advisors and indicators based on .Net Framework and C#" - page 4
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Yeah, I get it. I was intimidated, intimidated by C-sharp... :)))))
Actually, you were rightly intimidated. Sharp is not simple enough if you go deep into it and try to make something good.
Realistically show an example of using, for example, this library?
The article is super!
This article is excellent !
Any MQL programmer can already use it to make a GUI in a professional and stable editor. And repeatedly and not only in MT use the result of their labours.
And if it is possible to make derived classes from Controller, it will be "chocolate" in general - Expert Advisor will communicate with Controller by high-level parcels ("open order #NN with options") Controller will give its messages to the form ("add a row with fields to the table"). And in this way the activity is separated into the right parts. And the EA only trades, and the GUI displays. And they can be done/changed/made separately, even by different projects and even by different people.
Respect to the author !!!
And if you can make derived classes from Controller, then it's "chocolate" in general.
you can just add your own data exchange function to the source and call it ;)
you can just add your own data exchange function to the source and call it ;)
of course you can...but this uncomplicated way of doing it results in code noodles and a bunch of wilted projects:-) OOP is just made to prevent such things.
The "physics" of communication with EA and form should be concentrated in the original Controller. And ways of making derivatives.
By the way, how will this whole bundle behave when the form is replaced?
In my opinion, the highlight of the technology is that the Expert Advisor continues to work as it did (without recompilation, and preferably without stopping), and the form can be changed.
The main requirement is that the EA trades. It is connected with money and should be touched as little as possible.
Of course you can...but this uncomplicated way of doing it results in code noodles and a bunch of wilted projects :-) OOP is designed to prevent such things.
from a perfectionist's point of view you are right 100 per cent, but unfortunately there are cases when when trying to achieve universality of the code in everything we get a perfectly slow result, but all possible situations and exceptions will be taken into account.
SUS: I just gave up datagridview from VS2017 to tune it not to slow down when working with big data and updating at least once in 1 sec...still it is dull, but how many classes it has collected in itself and is a sample of perfect adherence to the principles of OOP ;)
PS: datagridview source, only 7000 lines, how much more pulls up to itself additional code, I do not even want to count.
https:// referencesource.microsoft.com/#system.windows.forms/winforms/managed/system/winforms/DataGridView.cs
)))
From a perfectionist's point of view you are 100 per cent right, but unfortunately there are cases when trying to achieve universal code in everything we get a perfectly slow result, but all possible situations and exceptions will be taken into account.
SUS: I just gave up setting up datagridview from VS2017 so that it wouldn't slow down when working with large data and updating at least once every 1 sec...it still slows down, but how many classes it has collected in itself and is a sample of perfect adherence to OOP principles ;)
PS: datagridview source, only 7000 lines, how much more pulls up to itself additional code, I do not even want to count.
https:// referencesource.microsoft.com/#system.windows.forms/winforms/managed/system/winforms/DataGridView.cs
)))
you can't argue here - Microsoft is a master of making software ahead of hardware capabilities :-))
---
diverting from the topic - here children asked "we want to make a toy ourselves" and had to look for something visual. To draw with a mouse, to set simple rules without resorting to python/lisp/sharp - and to work at once.
With all the richness of choice, only Kodu from microsoft was suitable. It's cool, beautiful, clear, just the ideal of "how visual programming should look like". But it pulls so many things from Sharp and slows down so much...I'll have to buy a new computer :-)
Hello, great article!
A number of questions arose in connection with the above:
1) I got the impression from the text of the article that not only graphical interfaces can be organised in the same way, but also the implementation of almost any API that "does not fit" into MQL5.
2) As far as I understand, using the .Net platform, you can write programmes in different languages, not only in C#. In particular, in C++. I am much closer to this language for various reasons.
My question is whether it is possible to write a .Net library in C++ (I understand using C++/CLR) so that MQL5 could understand its .Net code the same way as in your GuiController engine? I mean that #include "...dll" and without declaration of imported functions?
The practical example I'm interested in is this. Nowadays there are possibilities to integrate opsensor libraries on machine learning with VS2017, and for example TensorFlow provides API in C++ with support for GPU computing. Your article provides a great opportunity to integrate C++ implementation of TensorFloW (or any other machine learning library) directly into MQL5, which seems very convenient to me. The problem is that for some reason I can't even import a trial C++ dll into MQL5 using the method mentioned here.
the article indicates a completely different way of MT5 interaction with the "outside world", you need to describe signatures of C++ functions in MT5 code and call them as a regular dll, here is a working example, I checked it a month ago.
https://www.mql5.com/en/articles/18
HI: tensorflow c# is perfectly googleable, here are ready solutions for C# https://nugetmusthaves.com/Tag/tensorflow