Creating a GUI for MQLs in graphical mode. - page 9

 
Алексей Барбашин:

Now you can just sharpen it ))

That's not my option. ))
 
Alexey Volchanskiy:

Still just emotions.

Alexey, what do you want ? you are a bit fuzzy after happy events :-)

No emotion - your love for .net is a product of management and emotion. You have to weigh the pros and cons before taking a technology and you run like lemmings.
c .netproject requires 2 shells for development ( MT and VS) . A netleneck C++ can be created without leaving the common environment.
Debugging .net dll running from MT5, with increasing protection from debugging and tracing, may be easy, but I personally don't need it.

Overlays on DLL calls, they are there too. And at runtime model when MT exclusively polls, they are very sensitive. If we run hypercube calculation in DLL, we won't notice it.
But if you are constantly polling the form, whether the damned user pressed OK, then uh-oh. And in your favourite scalpers :-)

 
Alexey Volchanskiy:

Still nothing but emotion.

Ignorance gives confidence. But knowledge multiplies sorrow.

You'll object when:
- an alien and enormous virtual machine gets into your process
- hijacks your excerpts and thinks it's the master
- eat up a lot of memory and think it's the master
- run a bunch of threads that have a life of their own.
- rubbish collector grows to the max and limits your process.
- all calls via the wrapper

For the sake of gui, it's definitely overkill.
 
Maxim Kuznetsov:

Alexei, what do you want ? you're a little fuzzy after the joyous events :-)

No emotion - your love for .net is a product of management and emotion. You have to weigh the pros and cons before taking a technology and you run like lemmings.
A .net project requires 2 shells for development ( MT and VS) . C++ netleneck can be developed without leaving the common environment.
Debugging .net dll, launched from MT5, with increasing protection from debugging and tracing, may be easy, but I personally don't need it.

Overlays on DLL calls, they are there too. And at runtime model when MT exclusively polls, they are very sensitive. If we run hypercube calculation in DLL, we won't notice it.
But if you are constantly polling the form, whether the damned user pressed OK, then uh-oh. And in your favourite scalpers :-)

Maxim, when it comes to feedback, it makes no difference whether you use net or C++. For example, you have implemented a GUI in Tcl. After all, you also have a feedback issue. It does not depend on the development environment. If you try to host the GUI on a chart, the same problem will arise with rendering. It's not like there's any discussion on performance in the thread at all. It's a matter of taste basically.

 
Renat Fatkhullin:
Ignorance gives confidence. But knowledge multiplies sorrow.

Would you mind when:
- an alien and huge virtual machine gets into your process
- hijacks your excerpts and thinks it's the master
- eats up a lot of memory and thinks it's the master
- run a bunch of threads that have a life of their own.
- rubbish collector grows to the max and limits your process.
- all calls via the wrapper

For the sake of a gui, it's definitely overkill.

Renat, since you "got into" the subject, can you tell me how to implement feedback between third-party application, no matter in what environment written, even with C++, with MT.

 
Алексей Барбашин:

Renat, since you've "got into" the subject, could you tell me how to implement feedback between a third-party application, no matter what environment it's written in, even if it's C++, with MT.

You don't. Even within MT, everything is only by predefined MQ events.
So, what difference does it make? It doesn't.
 
Yuriy Asaulenko:
There's no way. Even within MT, everything is only by predefined. MQ events.
So what difference does it make? It doesn't.

Well, in MT it's easier, through events. If an event occurs, we execute the command, if there is no event, we rest. And using timer to jerk an external application, no matter what it is written on, is not very convenient. Moreover, unlike with net, MT doesn't have threads. The timer as well as the events all happen in a single thread, which imposes the corresponding restrictions. If it were possible to call the same OnChartEvent from outside, many questions could be solved. I basically don't understand why there's a ban on calling this method. After all, MT intercepts environment events after all: mouse movement, keyboard or mouse clicks... So in that sense events interact with the windup, then it's not clear why a user event can't be routed there as well. It would be a universal wizard.

 
One-way polling from µl, pips, files or web requests.

We can't use direct calls in reverse. Although we can add a method like OnExternal with parameters, but we need to think about the transfer channel.

It can be:
- a callbucket with parameters, registered in the dll
- named mutex as a trigger
- windows message for PostMessage

 
Алексей Барбашин:

Well, in MT it's easier, through events. If an event comes, we execute the command, if there is no event, we rest. But it is not very convenient to timerally pull an external application, no matter what it is written on. Moreover, unlike with net, MT doesn't have threads. Both timer and events all happen in one thread, which imposes corresponding restrictions.

Well, my point is that external applications have the same functionality, not differing from MT programs, concerning MT events.
 
Why have you stopped at Dotnet for goo?

Simple forms can easily be made in C++ and other languages. And there will be no problems of interfacing and loss of resources.

And in MQL5 it's absolutely easy to make interfaces in a native language.