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

 
Alexandr Gavrilin:

Что за фигня твориться с типом double в последних версиях metaeditor? Что в мт4 что в мт5 вместо -0.01  пишет какую то чепуху. Откуда взялись эти цифры, предварительно переменные обнуляются  у меня.

Память надо заменить. И в старых версиях было точно так-же.

 

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

Скачал 2 файла из кодобазы: https://www.mql5.com/en/code/15440

были сделаны, очевидно до того как появились iTime(). Один из них компилируется, второй ругается:

Функции идентичны:

вызовы тоже

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

PS:

откомпилированный индикатор работает корректно.

Volume Profile + Range v6.0
Volume Profile + Range v6.0
  • www.mql5.com
Volume Profile + Range v6.0 (former TPO). Distribution of deals by price levels at a given time interval. Displayed as a histogram. The width of the histogram at the level means the number of transactions carried out on it. If a broker provides data on a real volume, the indicator is able to display distribution on it as well. VP: display...
 
Alexey Viktorov:

Память надо заменить. И в старых версиях было точно так-же.

Какую еще память? Причем тут память?

 

Запустил следующий код :

 Temp.ask=0; Temp.bid=0; Temp.time=0;
 Print("Старт Ask=",Temp.ask," Bid=",Temp.bid," Time=",Temp.time);
 Print("Ответ SymbolInfoTick=", SymbolInfoTick("",Temp) );
 Print("Ask=",Temp.ask," Bid=",Temp.bid," Time=",Temp.time);

И получил странный результат:

Старт Ask=0.0 Bid=0.0 Time=1970.01.01 00:00:00
Ответ SymbolInfoTick=true
Ask=69.75 Bid=69.33 Time=2019.04.08 21:21:12

Т.е SymbolInfoTick c первым параметром равным "" почему то возвращает последний тик по символу графика, а не false и тик из нулей. Хотя судя по определению в документации так быть не должно.

bool  SymbolInfoTick( 
   string    symbol,     // символ 
   MqlTick&  tick        // ссылка на структуру 
   );
 
Igor Zakharov:

property strict?

 
Alexandr Gavrilin:

Что за фигня твориться с типом double в последних версиях metaeditor? Что в мт4 что в мт5 вместо -0.01  пишет какую то чепуху. Откуда взялись эти цифры, предварительно переменные обнуляются  у меня.

Вот в билде начиная в 2007

Всегда было 0.01, а сейчас непонятно что:


 
Andrei Trukhanovich:

property strict?

в обоих одинаково:

Я до символа не проверял (как указал выше - код не мой), но при беглом просмотре они идентичны на 95%. И разница не в тех местах, где ошибка вылезает. Но, почему-то один компилируется, другой нет. Я уже исправил для себя, но о странности информирую разработчиков.

 

Похоже этот баг появился в недавних билдах МТ5.

Баг в функциях CryptEncode() и CryptDecode(). Проблема с методом преобразования CRYPT_AES256

Воспроизвести баг можно в последнем(2009) билде вот этим скриптом:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
   string Txt = "The quick brown fox jumps over the lazy dog. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9"; 

//---Key
   uchar Key[32];
   ArrayInitialize(Key, 3);

//---encode
   uchar SourceArr[], EncodedArr[];
   
   StringToCharArray(Txt, SourceArr); 
   
   int EncodeRes = CryptEncode(CRYPT_AES256, SourceArr, Key, EncodedArr);
   
//---decode
   uchar DecodedArr[];
   
   int DecodeRes = CryptDecode(CRYPT_AES256, EncodedArr, Key, DecodedArr);
   
   string DecodedTxt = CharArrayToString(DecodedArr);

//---res
   Print("Txt: ",Txt);
   Print("EncodeRes: ",EncodeRes);
   
   Print("DecodedTxt: ",DecodedTxt);
   Print("DecodeRes: ",DecodeRes);
   
//---
   return;
}
 
Marat Sultanov:

Похоже этот баг появился в недавних билдах МТ5.

Баг в функциях CryptEncode() и CryptDecode(). Проблема с методом преобразования CRYPT_AES256

Воспроизвести баг можно в последнем(2009) билде вот этим скриптом:

Исправление скорее всего появится только при обновлении на новый билд.
 
Vitaly Muzichenko:

Вот в билде начиная в 2007

Всегда было 0.01, а сейчас непонятно что:


Покажите код вывода
Причина обращения: