Ошибки, баги, вопросы - страница 969

 
zfs:

Думаете, а надо бы это проверить или знать точно).

... 

Ну так проверьте уже наконец. У Вас же проблема, так Вам и проверять. )) Я обычно начинаю проверять тогда, когда мне нужно знать точно. А в индикаторах после основного расчёта затем обычно всегда обновляется последнее значение и не замечал, чтобы были какие проблемы. И похоже никто не замечал, кроме Вас. Поэтому мне это стало интересно. ))

Я на разных компьютерах вижу разную картину, так что сравнить мне есть чем. Правды всё равно не добьемся, остаётся только брюзжать на форуме.)

Я запускаю терминал с тяжелыми приложениями, он не подгружается как приложение и виден только как процесс. Если я кину приложение на открытый терминал он не зависнет. Но при запуске зависнет или не подгрузится как приложение. То есть мне надо удалять приложение перед выходом. В сервисдеск я написал, с просьбой иметь возможность закрыть приложение без закрытия терминала или зачистки папок.

Что Вы имеете ввиду под приложением ? Вы применяете слово "приложение" и как нечто отдельное от терминала и как сам терминал, поэтому Вас сложно понять.

Что значит "возможность закрыть приложение без закрытия терминала" ? У Вас не получается удалить с графика эксперт, индикатор, скрипт ?

 
tol64:

Ну так проверьте уже наконец. У Вас же проблема, так Вам и проверять. )) Я обычно начинаю проверять тогда, когда мне нужно знать точно. А в индикаторах после основного расчёта затем обычно всегда обновляется последнее значение и не замечал, чтобы были какие проблемы. И похоже никто не замечал, кроме Вас. Поэтому мне это стало интересно. ))

Что Вы имеете ввиду под приложением ? Вы применяете слово "приложение" и как нечто отдельное от терминала и как сам терминал, поэтому Вас сложно понять.

Что значит "возможность закрыть приложение без закрытия терминала" ? У Вас не получается удалить с графика эксперт, индикатор, скрипт ?

Да надо подумать как получить этот результат. Если я даже не могу 
double iCloseMQL4

получить, то получается, что тики не пропускаются, а накладываются вычисления друг на друга. Хотя не факт, это скорее другая опера.

Приложения в моем случае индикатор, но также и скрипт и эксперт. Я не могу удалить индикатор с терминала, пока он не справляется с расчетами, так было и в четверке, т.е. он висит. Я не могу загрузить терминал, если индикатор при выходе висел на графике, только удалив файлы из папок. Я не могу откомпилировать индикатор, если он висит на графике - глядишь зависнет еще. Приложение также и в диспетчере задач сам терминал. Сорри запутал. 

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

Приложения в моем случае индикатор, но также и скрипт и эксперт. Я не могу удалить индикатор с терминала, пока он не справляется с расчетами, так было и в четверке, т.е. он висит. Я не могу загрузить терминал, если индикатор при выходе висел на графике, только удалив файлы из папок. Я не могу откомпилировать индикатор, если он висит на графике - глядишь зависнет еще. Приложение также и в диспетчере задач сам терминал. Сорри запутал. 

Попробуйте использовать IsStopped()

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

Когда попробуете, напишите, получилось или нет остановить расчёты Вашего индикатора и удалить программу с графика. А вообще желательно на код индикатора посмотреть.

 
tol64:

Попробуйте использовать IsStopped()

Когда попробуете, напишите, получилось или нет остановить расчёты Вашего индикатора и удалить программу с графика. А вообще желательно на код индикатора посмотреть.

В индикаторах флаг остановки не выставляется.
 
uncleVic:
В индикаторах флаг остановки не выставляется.

Тогда похоже нужно дополнить/уточнить описание в Справке:

//---

Проверяет принудительное завершение работы mql5-программы.

Возвращаемое значение

Возвращает true, если в системной переменной _StopFlag содержится значение, отличное от 0. Ненулевое значение записывается в переменную _StopFlag, если поступила команда завершить выполнение mql5-программы. В этом случае необходимо как можно быстрее завершить работу программы, в противном случае программа будет завершена принудительно извне через 3 секунды.

//--- 

...или добавить возможность принудительного завершения и в индикаторах тоже. 

А то у многих индикаторов в CodeBase используется эта функция, а тут оказывается, что в индикаторах она не работает. ))

 
tol64:

Тогда похоже нужно дополнить/уточнить описание в Справке:

//---

//--- 

...или добавить возможность принудительного завершения и в индикаторах тоже. 

А то у многих индикаторов в CodeBase используется эта функция, а тут оказывается, что в индикаторах она не работает. ))

IsStoped в индикаторах обсуждалось на форуме. Для меня по прежнему осталось загадкой то, что в стандартных индикаторах IsStoped присутствует, но администрация говорит что не надо.
 
paladin800:
IsStoped в индикаторах обсуждалось на форуме. Для меня по прежнему осталось загадкой то, что в стандартных индикаторах IsStoped присутствует, но администрация говорит что не надо.
Да, я помню. У меня был недавно случай, когда после входа в вечный цикл и удаления индикатора с графика, IsStopped() не помогла и вечный цикл пришлось останавливать закрытием терминала. 
 
tol64:
Да, я помню. У меня был недавно случай, когда после входа в вечный цикл и удаления индикатора с графика, IsStopped() не помогла и вечный цикл пришлось останавливать закрытием терминала. 

Раньше IsStopped() помогала бороться с зацикливанием - это точно. С некоторых пор "вечный цикл" не лечится IsStopped() и, в действительности, приходится удалять процесс терминала, чтобы восстановить работу. Хотя с графика индикатор типа удаляется без проблем, но чарт подвисает.

Для удовольствия можно попробовать специально зацикленный индикатор. Кстати, как и полагается в подобном случае, OnDeinit() не срабатывает. 

Файлы:
test.mq5  1 kb
 
tol64:

Тогда похоже нужно дополнить/уточнить описание в Справке:

//---

//--- 

...или добавить возможность принудительного завершения и в индикаторах тоже. 

А то у многих индикаторов в CodeBase используется эта функция, а тут оказывается, что в индикаторах она не работает. ))

Во как) Это цветочки полагаю.

Не понимаю вообще зачем разделение на индикаторы и советники, будто компилятор итак не поймет, что там у него. Да и не ясно зачем такое ограничение сделано. Я на четверке все-таки делал так, что индикатор у меня торговал. Но в чистом виде , если там вызвать торговую команду индикатор опять таки зависает, приходилось делать обход через библиотеку.

 

День добрый уважаемый MQ!

Есть пара вопросов: 

1. недавно пробегало, что будет API для Alert'ов. Может быть уже появилось, как об этом узнать?

2. что-нибудь делается по поводу бага с ключевым словом this.? После него не выводятся подсказки с именами функций класса. Опять же, когда это будет исправлено, как об этом оперативно узнать?

Спасибо за вашу работу!

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