Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 46

 
sitt:
Странно ладно старые индюки, екзешники с них теперь не создаются в новом мт 604, щас зашел в 604-й специально из встроенного в терминале индюка ATR удалил экзешник был уверен что при перезапуске мт создаст новый а нифига .Какой то ералаш мало того что старые индюки в 604-ом не создают экзешника, так еще и встроенные в самой мт 604 который уж точно должнен быть правельно написан. Что то я не понял этой свистопляски как вообще должно быть, и как тут задуманно блин.
открыть МЕ и скомпилировать меньше времени занимает чем пост на форуме набрать...
 
Bobs:

В этой части кода новый компилятор всегда выдает предупреждение: truncation of constant value Fibo.mq4 816 93
Что тут можно сделать с параметрами INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_PRAGMA_NOCACHE|INTERNET_FLAG_RELOAD ???


int InternetOpenUrlW(int hInternetSession,string sUrl,string sHeaders="",int lHeadersLength=0,uint lFlags=0,int lContext=0);
 

В liveupdate вышел официальный 604 билд, включая обновление документации MQL4 в редакторе.

 
stringo:

Не работает DRAW_FILLING в четвёрке.

Ренат же перечислил допустимые стили несколькими постами выше

тогда поправте справку, так как здесь эта фича указана


 

Здравствуйте, уважаемые форумчане.

После обновления терминала до 600 билда неожиданно столкнулся с проблемой некорректных математических расчетов в новом MQL4.

Вот часть кода для примера, простейшие арифметические действия:


   double x = 5*0.1;

   double y = 5/10;

  Alert("5*0.1 = ",x);

  Alert("5/10 = ",y); 


А вот результат исполнения:

Результат деления

Почему неправильный результат получился? В результате деления почему-то отбрасывается дробная часть. Преобразование DoubleToString(х, 5) дает тот-же результат.

Как бороться с таким косяком?

 
Barbabiya:

Здравствуйте, уважаемые форумчане.

После обновления терминала до 600 билда неожиданно столкнулся с проблемой некорректных математических расчетов в новом MQL4.

Вот часть кода для примера, простейшие арифметические действия:



А вот результат исполнения:

Почему неправильный результат получился? В результате деления почему-то отбрасывается дробная часть. Преобразование DoubleToString(х, 5) дает тот-же результат.

Как бороться с таким косяком?

double y = 5.0/10.0; //хоть одна вводная должна быть дабл, если обе инт - результат режется до целого
 

Приветствую!

Прошу разъяснить, что значит это предупреждение.

void OnStart()
  {
//---int 
   ENUM_TIMEFRAMES tf;
   tf = Period();
   //
  }

 

в индикаторе не работает, задаю любое значение

#property indicator_height 90

 
evillive:



Спасибо. Как-то раньше с таким не сталкивался. Действительно, помогло и все заработало.

   double a = 5;
   double x = a*0.1;
   double y = a/10;
 

#property description

так же указано в справке, но даже не компилируется

столько нового в справке стоит, осебенно в некоторых местах просто с мт4 и мт5 все вместе скопировано
а что работает - непонятно!

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

либо справка является планом на пятилетку, либо ошибочна и требует поправления



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