Сделать чтобы mql4 воспринимал все числа по умолчанию дабловыми.

 
результат такого кода
double x;
x=3/2;
Alert(x);
будет единица.

почему бы разработчикам не сделать так, чтобы mql4 воспринимал все числа, которые просто записаны как числа, а не инициилизорованы вверху в виде переменных, воспринимал как дабловые числа?

это поможет избежать много ошибок, особенно у начинающих.
 
Сергей Матвеев:
результат такого кода
будет единица.

почему бы разработчикам не сделать так, чтобы mql4 воспринимал все числа, которые просто записаны как числа, а не инициилизорованы вверху в виде переменных, воспринимал как дабловые числа?

это поможет избежать много ошибок, особенно у начинающих.

Есть хорошее описание с примерами, особенно для начинающих

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Часто возникает необходимость преобразовать один числовой тип в другой. Не каждый числовой тип допустимо преобразовать в другой, допустимые преобразования в MQL5 показаны на схеме: Сплошные линии со стрелками обозначают преобразования, которые выполняются без потери информации. Вместо типа char может выступать тип bool (оба занимают в памяти 1...
 
Сергей Матвеев:
результат такого кода
будет единица.

почему бы разработчикам не сделать так, чтобы mql4 воспринимал все числа, которые просто записаны как числа, а не инициилизорованы вверху в виде переменных, воспринимал как дабловые числа?

это поможет избежать много ошибок, особенно у начинающих.

Избежать многих ошибок поможет приобретённый со временем опыт.

double x;
x=3/2.0;
Alert(x);

или

double x;
x=3.0/2;
Alert(x);

дадут совершенно другой результат.

А третий вариант можете сами сделать...

 

Или сделать так:

если делишь какое-то интовое число на интовое, то результат преобразовывать в дабл.

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

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

 
Сергей Матвеев:

Или сделать так:

если делишь какое-то интовое число на интовое, то результат преобразовывать в дабл.

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

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

А вам не кажется, что проще и полезней понять и запомнить такую мелочь, чем бодаться с разработчиками? Тем-более, что это равносильно борьбе с ветряными мельницами...

Если умножить int на int то получим тоже int

Если вычесть int из int то так-же получим int.

Если-же вычесть double из int или прибавить double к int то тут как раз и будет совпадение с моими примерами. В операции присутствует число с плавающей точкой.

 

Что бы избежать таких ситуаций надо применять явное приведение типов иначе применяется неявное приведение типов по правилам  языка mql. В примере ТС происходит неявное приведение типов. Хотя более логичнее было результат деления привести к типу double но компилятор языка считает что если Int делить на int то и результат будет int.