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

 
Vladimir:
I am interested in "every tick" for multicurrency EA. Does one chart contain tick events coming from many symbols? Or "every tick" has a meaning different from the common event, which is handled by the OnTick function and is described in the reference as "generated only for Expert Advisors when a new tick is received for the symbol, to the chart of which the EA is attached"?

Yes, that's not quite right. In those days they did an infinite loop, there was no OnTick, there was a start function

int start()
{ 
    while(true)
    {
    // обработка
        Sleep(200);
    }
}
 
Alexey Volchanskiy:

You are really incapable of taking questions. How councillors communicate is of no interest to me. That's it, I'm closing the thread, because it's pointless.

See a psychiatrist.) He needs an exchange mechanism that he didn't ask about, he's not interested in how they communicate.
I'd rather you talk about girls-- met them, cried, ..... fed her borscht.

 
Yuriy Asaulenko:
Shit. At first I asked about GUI - how does it work? He replied that it does not need it. Now it turns out that he needs it like the Expert Advisors do. He has written about it 100 times.
Have a look at my blog. We've already discussed all this in private, and we seem to have it all figured out.
If you want normal answers, ask normal questions.) Learn how to phrase them.)

Interested in the exchange described by you at https://www.mql5.com/ru/blogs/post/671000. It works for me too, but I don't think that the exchange of text command files, which is "quite suitable for organizing quite fast intraday systems", is not suitable for scalper purposes. Another quote from your blog "In this case, the DLL, at the design stage, can be replaced by a file swap, to speed up a virtual RAM disk".

I haven't had any issues with the performance of file swapping. Very rarely, 2-8 times a year, there are situations of information corruption, when a new length of file has already been put into OS buffer, but its content (string up to several tens of bytes) in this buffer has not yet been updated. Otherwise I don't see any difference between file transfer and any other solutions, it still needs RAM for exchange. The size of the exchange files is such that the disk controller has no need to address the magnetic plates. To further reduce this frequency, I don't delete the signal files, but empty them so that they have a permanent place on the magnetic plate (cluster). Please tell me, on what is the basis of your opinion that file sharing is only good for the development phase?

And one more question. On each of the terminals you open at least two charts, am I correct?

I think that only one EA can be attached to one chart and you've got "We will need two МТ Expert Advisors: the first one will write information by ticks to CSV file for reading by system and the second one will receive information from system and will be responsible for trade functions".

Взаимодействие МТ со сторонним ПО
Взаимодействие МТ со сторонним ПО
  • 2016.05.08
  • Yuriy Asaulenko
  • www.mql5.com
Еще до начала работы на рынке мною была создана торговая система на Excel с небольшими кусками кода на VBA (Visual Basic for Application). Почему на Excel-VBA? - потому, что система несложная, и проще было на VBA. А возможности Excel позволяют свести программирование к минимуму. По мере развития доля VBA увеличивалась, и постепенно за Excel...
 
Alexey Volchanskiy:

Yes, that's not quite right. In those days they did an infinite loop, there was no OnTick, there was a start function

I think I understand. From the above code it follows that the collection of last quotes is done no more than five times per second(Sleep(200)). Is this the minimal period of multicurrency tick considered in your code? If they come more often, do you skip them? Or is this value (200) different now, after 10 years?
 
Vladimir:
I think I've got it. The code above suggests that the collection of the latest quotes is done no more than five times per second(Sleep(200)). Is this the minimal period of multicurrency tick considered in your code? If they come more often, do you skip them? Or is this value (200) different now, after 10 years?

Now the timer is sampling at 1-second intervals, skipping the rest. 200 ms is in memory, it was long ago. It turned out that it's often excessive, and during testing and optimization it loads the CPU a lot.

 
Renat Fatkhullin:

We will, especially when we freeze 32-bit versions in September and will only support 64-bit versions of the platform.

Now we are preparing a serious upgrade of the compiler, moving some system functions into MQL5 programs, which will dramatically improve the optimizer and accelerate the resulting code of MQL5 programs.

We will publish the full performance benchmarks for comparison with C++, along with the source code, so that anyone can check them for themselves.

Renat, you can add a small addition to the changes: set the WS_CLIPCHILDREN style property for chart frames or chart windows. This will allow placing any child windows on the chart frames or chart windows without additional manipulations. Currently, without this property, a parent window (a chart window or a chart frame) draws a child window to be set. And when setting this style to parent window, everything is rendered very nicely.

I suppose that this addition will not be difficult to make. And in conjunction with callbacks we will get very wide possibilities for the development of add-ons for MT, without getting into its "guts". )))