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

 
Ilyas :

Да, мы отказались от этой настройки

Невозможно иметь опцию прямо в MetaEditor? Было бы очень полезно на стадии разработки. А пока нам нужно использовать костыли.
 

Код отсюда:

https://www.mql5.com/ru/articles/2432

2021.08.22 12:14:51.105 Tests (EURUSD,M1)       ExpertRemove() function called
2021.08.22 12:14:51.109 Tests (EURUSD,M1)       Access violation at 0x0000022BEE4ED9E4 read to 0x0000000000000000 in 'N:\Alpari MT5\MQL5\Experts\RegExpressions Demo\Tests.ex5'
2021.08.22 12:14:51.109 Tests (EURUSD,M1)          crash -->  0000022BEE4ED9E4 FF10              call       qword near [rax]
2021.08.22 12:14:51.109 Tests (EURUSD,M1)                     0000022BEE4ED9E6 488B17            mov        rdx, [rdi]
2021.08.22 12:14:51.109 Tests (EURUSD,M1)                     0000022BEE4ED9E9 4889F1            mov        rcx, rsi
2021.08.22 12:14:51.109 Tests (EURUSD,M1)                     0000022BEE4ED9EC 41FFD5            call       r13
2021.08.22 12:14:51.109 Tests (EURUSD,M1)                     0000022BEE4ED9EF 48BFD07357EE2B02  mov        rdi, 0x22bee5773d0
2021.08.22 12:14:51.109 Tests (EURUSD,M1)                                      0000
2021.08.22 12:14:51.109 Tests (EURUSD,M1)                     0000022BEE4ED9F9 488B4708          mov        rax, [rdi+0x8]
2021.08.22 12:14:51.109 Tests (EURUSD,M1)                     0000022BEE4ED9FD 4889F9            mov        rcx, rdi
2021.08.22 12:14:51.109 Tests (EURUSD,M1)       
2021.08.22 12:14:51.109 Tests (EURUSD,M1)       00: 0x0000022BEE4ED9E4
2021.08.22 12:14:51.109 Tests (EURUSD,M1)       

Ошибка при закрытии демки. Ошибка при отладке и при релизе.

Последняя бетта-версия терминала.

 

Пожалуйста, включите данные коды в стандартную поставку терминала с исключением конфликтов, чтобы можно было нормально использовать:

https://www.mql5.com/ru/articles/2432

#include <RegularExpressions\\Regex.mqh>
#include <Generic\\HashMap.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

  }

Тут ошибки лезут:

'ICollection' - class type expected     ICollection.mqh 11      11
   see previous declaration of 'ICollection'    ICollection.mqh 59      7
'GetHashCode' - function already defined and has body   HashFunction.mqh        72      5
   see previous declaration of function 'GetHashCode'   Wrappers.mqh    285     5
'GetHashCode' - function already defined and has body   HashFunction.mqh        94      5
   see previous declaration of function 'GetHashCode'   Wrappers.mqh    305     5
'GetHashCode' - function already defined and has body   HashFunction.mqh        108     5
   see previous declaration of function 'GetHashCode'   Wrappers.mqh    241     5
.....
 

Наверняка где-то уже задавали вопрос, но не нашел.

Имеется скрипт

void OnStart()
  {
   uchar uchar0 = 0;
   uchar uchar1 = 1;
   Print(uchar0 - uchar1);      //-1
   Print(0 - uchar1);           //-1
   Print(-uchar1);              //255
   Print(typename(-uchar1));    //int
   Print(-(int)uchar1);         //-1

   ushort ushort0 = 0;
   ushort ushort1 = 1;
   Print(ushort0 - ushort1);      //-1
   Print(0 - ushort1);           //-1
   Print(-ushort1);              //65535
   Print(typename(-ushort1));    //int
   Print(-(int)ushort1);         //-1

   uint uint1 = 1;
   Print(0 - uint1);           //4294967295
   Print(-uint1);              //4294967295
   Print(typename(-uint1));    //long
  }

Объясните, пожалуйста:

1. Почему 0-uchar1 (и uchar0-uchar1) дает  результат не такой, как (-uchar1)? Ведь при операциях с типами (u)char и (u)short операнды автоматически приводятся к int. И typename(-uchar1) возвращает  int.  (Тот же вопрос для  ushort1)

2. С uint ситуация другая. -uint1 возвращает ожидаемый результат, но typename(-uint1) возращает long. Это баг typename?

 
ребят подскажите в старой четверке до 506 версии на один индикатор сколько отводилось буферов.... сейчас я знаю 512
 
ruslan:
ребят подскажите в старой четверке до 506 версии на один индикатор сколько отводилось буферов.... сейчас я знаю 512

По памяти 64. Попробуйте объявить больше 100, если обновления были ранее, то ошибки не будет, если позднее выдаст ошибку.

 
Valeriy Yastremskiy:

По памяти 64. Попробуйте объявить больше 100, если обновления были ранее, то ошибки не будет, если позднее выдаст ошибку.

у вас часом 225 терминала инсталятора не завалялось ?
 
ruslan:
у вас часом 225 терминала инсталятора не завалялось ?

Нет скорее всего, с 18 года здесь. Обновление 4ки до 5ки по функционалу проходило с 14 по 16 год.

 
mktr8591:

Наверняка где-то уже задавали вопрос, но не нашел.

Имеется скрипт


Объясните, пожалуйста:

1. Почему 0-uchar1 (и uchar0-uchar1) дает  результат не такой, как (-uchar1)? Ведь при операциях с типами (u)char и (u)short операнды автоматически приводятся к int. И typename(-uchar1) возвращает  int.  (Тот же вопрос для  ushort1)

2. С uint ситуация другая. -uint1 возвращает ожидаемый результат, но typename(-uint1) возращает long. Это баг typename?

Спасибо за сообщение.

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

2. мы отошли от стандарта и для типа uint операция унарного минуса возвращает тип long, из-за ошибки в п.1 типом результата оставался тип uint (а не long)

 
Valeriy Yastremskiy:

По памяти 64. Попробуйте объявить больше 100, если обновления были ранее, то ошибки не будет, если позднее выдаст ошибку.

нашел там оказывается 8 буферов....вам спасибо