Новая версия платформы MetaTrader 4 build 1330 - страница 3

 
Igor Makanu:

Abnormal - все логично, было принудительное закрытие, а без Sleep() - это принудительное закрытие может несколько секунд происходить

Со Sleep закрытие происходит несколько секунд, как и без Sleep.

 

тогда не знаю, можно еще предположить, что терминал перегружен остальными приложениями, поэтому и тупит

 

Нельзя писать бесконечные циклы без периодических проверок IsStopped.

Программа должна иметь возможность остановиться по указанию сверху практически в любом тяжелом месте. Если ловите abnormal termination, значит программа некачественная.

 
Renat Fatkhullin:

Нельзя писать бесконечные циклы без периодических проверок IsStopped.

Программа должна иметь возможность остановиться по указанию сверху практически в любом тяжелом месте. Если ловите abnormal termination, значит программа некачественная.

В том и дело, что ловлю другое.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 4 build 1330

fxsaber, 2021.04.02 08:18

В Journal-логе:

2021.04.02 08:21:34.070 Expert Test9 EURUSD.rann,M1: removed
2021.04.02 08:21:34.039 Terminate execution thread #6688
2021.04.02 08:20:45.082 Expert Test9 GBPUSD.rann,M1: removed
2021.04.02 08:20:45.035 Terminate execution thread #1876
2021.04.02 08:20:01.061 Expert Test9 USDCAD.rann,M1: removed
2021.04.02 08:20:01.045 Terminate execution thread #6268
2021.04.02 08:18:48.078 Expert Test9 USDCHF.rann,M1: removed
2021.04.02 08:18:48.047 Terminate execution thread #6704
2021.04.02 08:17:47.046 Expert Test9 AUDNZD.rann,M1: removed
2021.04.02 08:17:47.030 Terminate execution thread #6440
2021.04.02 08:16:51.090 Expert Test9 AUDUSD.rann,M1: removed
2021.04.02 08:16:51.043 Terminate execution thread #5432


Единственное упоминание выделенных строк нашел здесь. Что это?

 
fxsaber:

В том и дело, что ловлю другое.

То же самое.

Если вашу программу терминируют, значит она неуправляема. Это провал - программу нельзя запускать в работу.

 
В справке по функции ObjectName для MT4 указана только одна версия параметров...
 
Renat Fatkhullin:

Если вашу программу терминируют, значит она неуправляема. Это провал - программу нельзя запускать в работу.

  1. Нельзя исключать, что зависла штатная функция. Т.е. бесконечный цикл произошел внутри штатной функции.
  2. Если произошло зависание где-то в своем цикле, то хорошо бы иметь какой-то рецепт идентификации этого места.

Первый раз столкнулся с зависанием. Так еще и одновременно на многих советниках и терминалах.


Этот код опасный?

for (long Chart = ::ChartFirst(); Chart != -1; Chart = ::ChartNext(Chart))
 
Есть макросы WHILE и FOR с идентификацией зацикливания?
 
fxsaber:

  1. Нельзя исключать, что зависла штатная функция. Т.е. бесконечный цикл произошел внутри штатной функции.
  2. Если произошло зависание где-то в своем цикле, то хорошо бы иметь какой-то рецепт идентификации этого места.

Первый раз столкнулся с зависанием. Так еще и одновременно на многих советниках и терминалах.


Этот код опасный?

Если исчерпать ресурсы и привести операционку до деградации, то можно устроить разнообразные дедлоки и отказы по всему фронту WinAPi.

В таком случае уже ничего не поможет и любая программа будет непредсказуемым образом глючить.

 
Renat Fatkhullin:

Если исчерпать ресурсы и привести операционку до деградации, то можно устроить разнообразные дедлоки и отказы по всему фронту WinAPi.

В таком случае уже ничего не поможет и любая программа будет непредсказуемым образом глючить.

Отдельная арендованная машина.

Не знаю, эти показатели говорят о гипотетических проблемах или нет.

Причина обращения: