Mt4 End of support. - page 21

 
Andrei:

... A single interface is totally inapplicable to programming any computational tasks...

It's different when you have 1000's of similar tasks that can be combined under one flag and create universal handlers for each function for any of these many tasks.

Sincerely.

 
Реter Konow:

I apologise for the slight delay.

Here is the first version of the function. You can refine and develop it further. If anyone notices a mistake, please comment.

Ohhhh... I did not go into it, of course - it's very hard for me to read such code. Let's assume that hypothetically it returns what it's supposed to.

And how do you know that the new bar on EURUSD and USDCAD appears on each of them on three timeframes - M5, H1 and D1?

 
Andrey Kisselyov:

it is different when you have 1,000 similarly structured tasks

I don't think there are even 2 similar tasks. :) You can call a function 1000 times, but it's one task, not 1000.

 
Artyom Trishkin:

Ohhhh... Didn't get into it, of course - it's very hard for me to read such code. Let's assume that hypothetically it returns what it's supposed to.

And how do you know the fact of new bar on EURUSD and USDCAD - on each of them on three timeframes - M5, H1 and D1?

If the quotes come from one server, it doesn't matter what instrument. After all, the bars are opened for each symbol at the same time.

It is quite another matter, if quotes sources are located in different parts of the world. For minutes it does not matter, but there may be a problem with higher timeframes. Perhaps the time functions need to be studied in more detail and accurate time correction needs to be done. But that's the next stage in the development of this solution...

You have to make a calibration for this function...

 
Реter Konow:

If the quotes come from the same server, it makes no difference which instrument. After all, bars are opened simultaneously on each instrument.

It is different if the sources of quotations are in different parts of the world. For minutes it does not matter, but there may be a problem with higher timeframes. Perhaps the time functions need to be studied in more detail and accurate time correction needs to be done. But that's the next stage in the development of this solution...

You need to make a calibration for this function...


there is a difference ....

 
Andrei:

I don't think there are even 2 similar tasks. :) The function can be called 1000 times, but it's one task, not 1000.

We are not talking about calling a function in the EA, but about writing universal interfaces (handlers).

You have 1000 tasks to write a robot. Each of them essentially consists of
1 function of obtaining a signal to open
2. function of order opening
3 function of order tracking
4 Receive a signal to close an order
and so on.
These functions are different for each robot, but within 1000 projects they repeat themselves. As a consequence, you can combine the functions into versatile modules and, depending on the task, call the right one.

Best regards.
 
Vladimir Pastushak:

there is a difference ....

Explain.
 
Реter Konow:

If the quotes come from the same server, it makes no difference which instrument. After all, bars are opened simultaneously on each instrument.

It is different if the sources of quotations are in different parts of the world. For minutes it does not matter, but there may be a problem with higher timeframes. Perhaps the time functions need to be studied in more detail and accurate time correction needs to be done. But this is the next stage in the development of this solution...

You need to make a calibration for this function...

A new bar is formed when the first tick in the bar arrives, the instrument plays a role.


with respect.

 
Реter Konow:

If the quotes come from the same server, it makes no difference which instrument. After all, bars are opened simultaneously on each instrument.

It is different if the sources of quotations are in different parts of the world. For minutes it does not matter, but there may be a problem with higher timeframes. Perhaps the time functions need to be studied in more detail and accurate time correction needs to be done. But this is the next stage in the development of this solution...

You need to make a calibration for this function...

What is needed is the fact of opening a new bar on any of the suggested symbols on three timeframes.

If there is no quote for any of the symbols, we will not see the opening of a new bar. And the new bar will appear only with the arrival of a new tick. If there is a new bar in EURUSD, but the USDCAD has not yet received a new quote corresponding to the new bar, the new bar will not be build. But we need to know the exact fact of the new bar opening without any reservations about its time. You need to know the fact of the start of the new bar:

if there is a new bar on M5 on EURUSD, then...
if there is a new bar on H1 on EURUSD, then...
if there is a new bar on D1 at EURUSD, then...
--------
if there is a new bar on M5 on USDCAD...
if there is a new bar on H1 on USDCAD, then ...
if there is a new bar on D1 on USDCAD, then ...

 
...and Time[0] should be replaced by iTime(_Symbol,PERIOD_M1,0)
because minutes will not count
Reason: