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

[Удален]  

В английском разделе Доминик Эгерт обнаружил ошибку MT5, при которой пользовательские индикаторы не выпускаются, даже если OnInit() возвращает «INIT_FAILED» (или « INIT_PARAMETERS_INCORRECT »).

Я также подтвердил ошибку в МТ5 и обнаружил, что она корректно работает на МТ4.


In the English section, a MT5 bug has been identified by Dominik Egert where Custom Indicators are not released even when OnInit() returns "INIT_FAILED" (or "INIT_PARAMETERS_INCORRECT").

I also confirmed the bug in MT5 and found that it works correctly on MT4.


Obviously bug in indicators OnInit() return value effect
Obviously bug in indicators OnInit() return value effect
  • 2024.01.28
  • www.mql5.com
It seems return value of indicators is not being respected by terminal. It works for Experts, but not for indicators...
 
Fernando Carreiro #:

В английском разделе Доминик Эгерт обнаружил ошибку MT5, при которой пользовательские индикаторы не выпускаются, даже если OnInit() возвращает «INIT_FAILED» (или « INIT_PARAMETERS_INCORRECT »).

Я также подтвердил ошибку в МТ5 и обнаружил, что она корректно работает на МТ4.


In the English section, a MT5 bug has been identified by Dominik Egert where Custom Indicators are not released even when OnInit() returns "INIT_FAILED" (or "INIT_PARAMETERS_INCORRECT").

I also confirmed the bug in MT5 and found that it works correctly on MT4.


подтверждаю, есть такой баг

даже при обновлении на последнюю бета версию ЕСТЬ

и это баг, это АБЗАЦ :-) где хоть минимальные авто-тесты ????

как такое могло пройти

 
Maxim Kuznetsov #:

как такое могло пройти

MQ не используют индикаторы.

 
Иногда в журнале ME вижу такое.
MQL5 debugger   array range 2 is too large (2682258448)
Что это?
 
Alexey Viktorov #:

Я не могу объяснить почему так. Это из личных наблюдений. Проверьте.

Он ошибку обозначил. 
 
Sergey Gridnev #:
Он ошибку обозначил. 

Почему вы считаете, что ошибка? Переменной присвоено какое-то значение, значит переменная уже используется. Я так думаю.

Чем отличаются эти два варианта

int i;
……………
i = 123;
int i = 123;

Почему вы считаете, что в первом случае переменная используется, а во втором нет…

 
Alexey Viktorov #:

Почему вы считаете, что ошибка? Переменной присвоено какое-то значение, значит переменная уже используется. Я так думаю.

Чем отличаются эти два варианта

Почему вы считаете, что в первом случае переменная используется, а во втором нет…

В обоих случаях переменная не используется, а только инициализируется.
Во всех нормальных IDE неиспользуемые переменные(вне зависимости от инициализации) подсвечиваются(не красным, а жёлтым, т.к. это не ошибка), или на крайний случай компилятор должен выдавать предупреждения. Местный компилятор выдает предупреждение только в случае неиспользуемой и неинициализированной переменной.
Писал об этом несколько лет назад, но до сих пор нет заметных улучшений в ME. MetaEditor - IDE из прошлого тысячелетия.
Это начинаешь отчётливо осознавать когда поработаешь с современными IDE. Тот же VS Code или все IDE от JetBrains.

 
Sergey Gridnev #:
Он ошибку обозначил. 

Это не ошибка - с учетом того, что в MetaEditor нет возможности отключить Warning

Цитата: "временные фиктивные переменные, которые намеренно не используются в коде приложения. Они могут сократить выделение памяти и упростить чтение кода"

 
Alexey Viktorov #:


Чем отличаются эти два варианта

Почему вы считаете, что в первом случае переменная используется, а во втором нет…


В обоих случаях переменная не используется. Нигде не извлекается значение из неё.
 
Sergey Gridnev #:

В обоих случаях переменная не используется. Нигде не извлекается значение из неё.

Если вернуться к исходному примеру:

i так уж точно там используется:

int k = i;
а по k - выше ответ