Errors, bugs, questions - page 969

 
zfs:

Do you think you should check it or know for sure).

...

Well, get it checked already. You have a problem, so you should check it. )) I usually start checking when I need to know for sure. And in indicators after the main calculation the last value is usually updated and I`ve never noticed any problem. And no one seems to have noticed it, except you. That's why it made me curious. ))

I see different picture on different computers, so I have something to compare it with. (I can't get the truth anyway, so all we have to do is to grumble on the forum).

I run a terminal with heavy applications, it doesn't load as an application and is only visible as a process. If I throw the application on an open terminal it won't hang. But on startup it hangs or doesn't load as application. So I have to uninstall the application before exit. I wrote to servicedesk asking to be able to close the application without closing the terminal or clearing folders.

What do you mean by application ? You apply the word "application" both as something separate from the terminal and as the terminal itself, so it's hard to understand you.

What does it mean to close the application without closing the terminal? You cannot remove an Expert Advisor, an indicator or a script from a chart?

 
tol64:

Well, get it checked already. You have a problem, so you should check it. )) I usually start checking when I need to know for sure. And in indicators after the main calculation the last value is usually updated and I didn't notice any problem. And no one seems to have noticed it, except you. That's why it made me curious. ))

What do you mean by application ? You use the word "application" both as something separate from the terminal and as the terminal itself, so it's hard to understand you.

What do you mean by "close the application without closing the terminal"? You can't remove an Expert Advisor, an indicator or a script from a chart?

Yes I need to think how to get this result. If I can't even
double iCloseMQL4

If you do not get it, then it turns out that the ticks are not skipped, but the calculations are superimposed on each other. Not a fact though, it's more of a different opera.

The applications in my case are the indicator but also the script and the Expert Advisor. I can't remove the indicator from the terminal until it fails the calculations, this was also the case in 4, i.e. it hangs. I can't load the terminal if the indicator was hanging on the chart on exit, only by deleting files from folders. I cannot compile the indicator, if it hangs on the chart - it may hang again. The application is also in the task manager of the terminal itself. Sorry for the confusion.

Документация по MQL5: Файловые операции / FileDelete
Документация по MQL5: Файловые операции / FileDelete
  • www.mql5.com
Файловые операции / FileDelete - Документация по MQL5
 
zfs:
...

The application in my case is the indicator but also the script and Expert Advisor. I can't remove the indicator from the terminal until it fails the calculations, this was also the case in 4, i.e. it hangs. I can't load the terminal if the indicator was hanging on the chart on exit, only by deleting files from folders. I cannot compile the indicator, if it hangs on the chart - it may hang again. The application is also in the task manager of the terminal itself. Sorry for the confusion.

Try using IsStopped():

for(int i=0; i<rates_total && !IsStopped(); i++)
   {
    
   }

When you try it, write whether or not you succeeded in stopping the calculation of your indicator and remove the program from the chart. In general, it would be desirable to look at the code of the indicator.

 
tol64:

Try using IsStopped():

When you have tried it, write whether or not you were able to stop your indicator's calculations and remove the program from the chart. In general, it is desirable to look at the code of the indicator.

In indicators, the stop flag is not set.
 
uncleVic:
In indicators the flag of stop is not set.

Then it looks like the description in the Help needs to be supplemented/specified:

//---

Checks the forced shutdown of an mql5 program.

Returned value

Returns true, if the _StopFlag system variable contains a value other than 0. A non-zero value is written into _StopFlag, if a command to shut down the mql5-program has been received. In this case, the program must be terminated as soon as possible, otherwise the program will be completed forcibly from the outside after 3 seconds.

//---

...Or add the possibility of forced termination in indicators, too.

Many indicators in CodeBase use this function, and it turns out that it doesn't work in indicators. ))

 
tol64:

Then it looks like the description in the Help needs to be supplemented/specified:

//---

//---

...or add the possibility of forced termination in indicators, too.

Many indicators in CodeBase use this function, but it appears that it doesn't work in indicators. ))

IsStoped in indicators has been discussed on the forum. I still do not understand that IsStoped is present in default indicators, but the administration says it is not necessary.
 
paladin800:
IsStoped in indicators has been discussed on the forum. It is still a mystery to me that IsStoped is present in standard indicators, but the administration says not to.
Yes, I remember. I had a case recently when after entering an eternal loop and deleting an indicator from a chart, IsStopped() did not help and the eternal loop had to be stopped by closing the terminal.
 
tol64:
Yes, I remember. I had a case recently when after entering the perpetual loop and deleting the indicator from the chart IsStopped() did not help and the perpetual loop had to be stopped by closing the terminal.

IsStopped() used to help combat looping - that's for sure. Since some time the "perpetual loop" is not cured byIsStopped() and, in fact, we have to delete the terminal process in order to restore operation. Although the type indicator is deleted from the chart with no problem, but the chart hangs.

For fun, you can try a specially looped indicator. By the way, as it is supposed in such a case, OnDeinit() does not work.

Files:
test.mq5  1 kb
 
tol64:

Then it looks like the description in the Help needs to be supplemented/specified:

//---

//---

...or add the possibility of forced termination in indicators, too.

Many indicators in CodeBase use this function, but it appears that it doesn't work in indicators. ))

I guess that's just the beginning of the story.

I do not understand the reasons of division into indicators and Expert Advisors, as if the compiler does not understand what they have there. I also don't understand the reason for such a restriction. I used to have indicator trade on 4. But in its pure form, if I call a trade command, the indicator hangs and I have to bypass it through the library.

 

Good afternoon dear MQ!

There are a couple of questions:

1. it's been running recently that there will be an API for Alert's. Maybe already appeared, how to learn about it?

2. anything is done about the bug with the keyword this.? No tooltips with class function names are displayed after it. Again, when will this be fixed, how will we find out about it promptly?

Thanks for your work!

Документация по MQL5: Основы языка / Типы данных / Ссылки. Модификатор & и ключевое слово this
Документация по MQL5: Основы языка / Типы данных / Ссылки. Модификатор & и ключевое слово this
  • www.mql5.com
Основы языка / Типы данных / Ссылки. Модификатор & и ключевое слово this - Документация по MQL5
Reason: