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

 
Artyom Trishkin:

И что ещё забавно - файл ex4, скомпилированный в моём MetaEditor Version: 5.00 build 1214 12 Nov 2015 не выводит графические объекты в терминале человека, которому даю этот файл. У него тоже терминал МТ4, билд 910 и редактор тоже MetaEditor Version: 5.00 build 1214 12 Nov 2015.

Исходник же индикатора, скомпилированный им у себя, нормально создаёт исполняемый файл, который верно работает у него в терминале.

Что за ошибки такие?

Напишите в сервисдеск (приложите исходники), попробуем воспроизвести.
 
Alexander:
Напишите в сервисдеск (приложите исходники), попробуем воспроизвести.

Хорошо, написал, приложил:

Открыта, Начата: 2015.11.23 09:41, #1353961
 
Artyom Trishkin:

Хорошо, написал, приложил:

Открыта, Начата: 2015.11.23 09:41, #1353961
Спасибо
 
Всем доброго дня. Добрался до написания советников. Набрал код из примера, нажал откомпилировать и вылезла ошибка с текстом: EX4 Write error. Помогите решить проблему. Понимаю, что спрашиваю наверно уже в 1000 раз. Что то в интернете нашел по этой ошибке, но так и не понял как исправить. Толи запустить Metatrader с параметром /portable, толи скопировать папку MQL4. Вообщем хелп ми плиз.
 
Mehanik85:
Всем доброго дня. Добрался до написания советников. Набрал код из примера, нажал откомпилировать и вылезла ошибка с текстом: EX4 Write error. Помогите решить проблему. Понимаю, что спрашиваю наверно уже в 1000 раз. Что то в интернете нашел по этой ошибке, но так и не понял как исправить. Толи запустить Metatrader с параметром /portable, толи скопировать папку MQL4. Вообщем хелп ми плиз.
Пожалуйста, приложите код из примера для воспроизведение проблемы.
 
Ну это происходит с любым советником, даже если создать новый и без кода нажать компиляцию.
 

Ошибка компиляции: code generation error. #2

void OnStart()
{
        string text = "" + NULL; //при optimize=1
}
 
void OnStart()
{
   double var1=EMPTY_VALUE*2;
   double var2=var1/var1;
   double var3=42; // Any
   Print("var2 больше var3: ",var2 > var3);
   Print("var3 больше var2: ",var3 > var2);
}

 

 
Ilya Malev:

 

Читайте документацию

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

А теперь внимание вопрос: чему равняется значение EMPTY_VALUE*2?

 
Slawa:

Читайте документацию

А теперь внимание вопрос: чему равняется значение EMPTY_VALUE*2?

1. Почему в МТ4 и в МТ5 этот код приводит к разному результату (причем в МТ4 к более логичному)?

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

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