New MetaTrader 4 Client Terminal 387 and MetaTrader 4 Data Center build 387 - page 5

 
nen:

That's the point. I'll see how it works tomorrow, after updating the terminal from the DC. If everything is as Vadim wrote, then... there is more than just optimisation to go bye-bye. Probably we will have to add some extra code to fill the buffer. And it will have to be done in all indicators.... And their immeasurable quantity is spread through forums.

Now the buffer is recalculated only on the last section.

On the good side, it's not the buffer that needs to be re-initialised, but looking for where the errors occur when the history is swapped. And this shifts the "buffer" data on the chart.

Otherwise... Where there are now several dozens of indicators on the charts connected and yet the computer doesn't hang, there will be a complete computer hang on the fast, and not only fast, market.

This point requires clarification by the developers.

I had a hunch that this place was booby-trapped. That's why I asked about this point of innovation...

With this approach no paid developments based on Metatrader should ever be mentioned. My clients would just kill me for such glitches... That's why I have always rejected suggestions of paid developments.


The problem can be discussed at the service desk. It would be more productive than here.
 
nen:

The good news is that buffer reinitialisation should only be done when swapping out a missing history.


Exactly. If this is not the case, give us an example to reproduce. Before it's too late, we'll fix it.
 
nen:
The discussion is over.

Renat above gave the address to contact. And that address is mine. I also said (without having seen his post yet) that I should contact the service desk - it would be more productive.
 

I have deleted some of the posts from this thread. The topic is considered to be purely work-related. I apologise if I have offended anyone.

 

An uncomplicated question.

As described in the help:

"Disconnecting a programme from a chart, changing a financial instrument and/or chart period, changing an account, closing a chart, and terminating the client terminal interrupts programme execution. If the start() function was running at the time of the shutdown command, the remaining running time is limited to 2.5 seconds. The program can learn that it is being attempted to terminate using the built-in IsStopped() function and terminate correctly."

However, the protocols and logs show that it is possible to interrupt and terminate a stuck script from the server side, and/or to call reinitialization of EAs and indicators.

I.e. none of these actions was performed by a user, but all indicators, advisors and scripts totally reacted as if the account was changed...

Can I ask you to remove this fic?

;)

 
Sorento:

However, the protocols and logs show that the server can interrupt and terminate the execution of a locked script, and/or cause reinitialisation of advisors and indicators.

I.e. none of these actions was performed by a user, but all indicators, advisors and scripts totally reacted as if the account was changed...


Protocols and logs to the studio.

There is no such "feature" and never has been.

 
stringo:


Protocols and logs to the studio.

There is no such "feature" and there never has been.

That's not true, uncle...

02:52:03 HistoryCenter: synchronize 'USDCAD1'
02:52:03 Script Stels_Lock USDCAD,M1: removed
02:52:03 HistoryCenter: 2 bars imported in 'USDCAD1'
04:20:05 '57603': connect failed [No connection]
04:20:40 '57603': login

12:06:09 Script Stels_Dock USDCHF,M1: loaded successfully
12:07:17 Script Stels_Dock USDCHF,M1: removed
12:07:23 Custom indicator iExposure EURGBP,M1: removed
12:07:23 Expert DirectLC CHFJPY,M1: removed
12:07:23 Custom indicator iExposure CHFJPY,M1: removed
12:07:23 Expert DirectLC USDCAD,M1: removed
12:07:23 Custom indicator iExposure USDCAD,M1: removed

This is what was left over from the terminal log.

Now, what did (and still does) the terminal write to the Expert Advisor's log -

02:52:03 Stels_Lock USDCAD,M1: deinitialized
02:52:03 Stels_Lock USDCAD,M1: uninit reason 0
02:52:03 Stels_Lock USDCAD,M1: removed
04:20:42 DirectLC USDCHF,M1: deinitialized
04:20:42 DirectLC USDCHF,M1: uninit reason 6
04:20:42 DirectLC USDCHF,M1: Spred USDCHF =3
04:20:42 DirectLC USDCAD,M1: deinitialized
04:20:42 DirectLC USDCAD,M1: uninit reason 6
04:20:42 DirectLC USDCAD,M1: Spred USDCAD =4
08:16:41 DirectLC USDCHF,M1: Rez=-1 Mashtab=10000
08:16:41 DirectLC USDCHF,M1: initialized
08:16:41 DirectLC USDCAD,M1: Rez=-1 Mashtab=10000
08:16:41 DirectLC USDCAD,M1: initialized
12:06:09 Stels_Dock USDCHF,M1: loaded successfully
12:07:17 Stels_Dock USDCHF,M1: removed
12:07:17 iExposure EURGBP,M1: deinitialized
12:07:17 iExposure EURGBP,M1: uninit reason 1
12:07:17 iExposure EURGBP,M1: removed
12:07:17 iExposure CHFJPY,M1: deinitialized
12:07:17 iExposure CHFJPY,M1: uninit reason 1
12:07:17 DirectLC CHFJPY,M1: deinitialized

Final snippets of internal scripts protocols - USDCAD

2011.02.25 02:52:03 312 + 892844 : 57603 : 6 < 2011.02.25 02:52:03 : SELL: 0.98240000 Old= 0.98190000 __-0.00006 spred= ___0.00040 MD= 0.982173 / 0.982006
2011.02.25 02:52:03 312 + 0000 : 57603 : 7 < 2011.02.25 02:52:03 : Vol= 0.10000000 / 0.10000000
2011.02.25 02:52:03 312 + 0000 : 57603 : 8 < 2011.02.25 02:52:03 : ***PricesS= 0.98240000 Bid : 0.98240000 Vol: 0.10000000
2011.02.25 02:52:03 343 + 0031 : 57603 : 9 < 2011.02.25 02:52:03 : # -7 - Price changed. Bid=.9822-> 0.9818 / 0.9822 <- .9818|P:.9824
2011.02.25 02:52:03 546 + 0203 : 57603 : 0 < 2011.02.25 02:52:03 : Error.
2011.02.25 02:52:03 546 + 0000 : 57603 : 1 < 2011.02.25 02:52:03 : Program deinit.

& USDCHF

2011.02.25 01:43:53 781 + 0000 : 57603 : 5 < 2011.02.25 01:43:53 : ***PricesS= 0.92570000 Bid : 0.92570000 Vol: 0.10000000
2011.02.25 01:43:54 140 + 0359 : 57603 : 6 < 2011.02.25 01:43:54 : ***Error(OrderSend - 138 ): 0.92600000 / 0.92570000 Prices: 0.92570000 / 0.92570000 TP: 0.91670000 ST: 0.000000
2011.02.25 01:43:54 140 + 0000 : 57603 : 7 < 2011.02.25 01:43:54 : Vol= 0.10000000 / 0.10000000
2011.02.25 01:43:54 140 + 0000 : 57603 : 8 < 2011.02.25 01:43:54 : ***PricesS= 0.92570000 Bid : 0.92540000 Vol : 0.10000000
2011.02.25 01:43:54 140 + 0000 : 57603 : 9 < 2011.02.25 01:43:54 : Changes price...
2011.02.25 01:43:54 140 + 0000 : 57603 : 0 < 2011.02.25 01:43:54 : Program deinit.

And to the reasonable remark that the reason of deinit could be the program logic - I want to note that terminal logs are not needed then - why after the re-logging - everything that survived was restarted. but the re-logging was not initiated by a user!

The terminal did not restart until 12 and then to flush the logs, as did the computer - which still works.

And almost everyone was asleep... ;)

Full texts attached.

Files:
arx.zip  10 kb
 

I understand what you mean. This behaviour will not be changed. Sorry.

 

So make adjustments to the reference.

For simpletons like me...

;)

 

The terminal update Build 388 has just arrived.

After testing EAs it is impossible to see if they have traded correctly, because custom indicators are not rendered on the open chart.

If this is what is written at the beginning of the branch concerning deinitialization, the developers have a great, simply "crying" plea to remove the mode of deinitialization of custom indicators after the test. This is one of the most important parts of EA development and trade control.

It is inconvenient, labor-intensive and time-consuming to make templates for each period, and many other settings. Prompt output of the custom indicator to the chart after any testing, without any additional templates, was extremely convenient. And today I have tried it, just like blind. It is just awful.

I have never wished my enemy to test it in the dark. I have been developing EAs for many years, believe me, and this is a very serious matter. Renat and Stanislav, I ask you personally, please do not ignore this issue and do not approach it lightly. Your product is used by millions of people. MT5 is great, but the development of Expert Advisors for the real trading has to be done on MT4. MT4 lacks many basic indicators, such as PriceChanal, LRMA and others. This is why we have to develop them using custom indicators and there are usually several of them. And after that for market quotes, after testing we have to check everything in details, in what place relative to indicators there were inclusions, accuracy of pending order placing, form of market description by indicators and many other things. How about now?

(I ask the forum moderator, if Renat and Stanislav or whoever it depends on does not read this, please pass on my request. I think it will be on behalf of the majority of EA developers).