Aleksey Vyazmikin #: А что в альтернативных языках программирования - C++, C#, там есть такие же ограничения?
В C++ размер массива ограничен объемом памяти. Если на стеке создавать большой массив - получите StackOverflow. На куче, можно создать хоть на 10 Гб. Но в отличии от C++, mql не имеет легального свободного доступа к памяти (кроме dll).
А сколько надо? Я использовал long в качестве индекса вместо int. И вместо квадратных скобок круглые.
Размер массива в mql5 ограничен int'ом. То, что вы делали - это нарушение типизации. При обращении производилось преобразование в int и если в logn окажется число более INT_MAX - произойдет вылет бота. В MQL5 массив - это не указатель на первый элемент в выделеной памяти.
Размер массива в mql5 ограничен int'ом. То, что вы делали - это нарушение типизации. При обращении производилось преобразование в int и если в logn окажется число более INT_MAX - произойдет вылет бота. В MQL5 массив - это не указатель на первый элемент в выделеной памяти.
Он намекает, что написал свой класс для хранения массива данных с превышающей INT_MAX размерностью.
Мое мнение: такой функционал в стандартной поставке MT нафиг не нужен. Это экзотическая потребность.
Размер массива в mql5 ограничен int'ом. То, что вы делали - это нарушение типизации. При обращении производилось преобразование в int и если в logn окажется число более INT_MAX - произойдет вылет бота. В MQL5 массив - это не указатель на первый элемент в выделеной памяти.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
А что в альтернативных языках программирования - C++, C#, там есть такие же ограничения?
В C++ размер массива ограничен объемом памяти. Если на стеке создавать большой массив - получите StackOverflow. На куче, можно создать хоть на 10 Гб. Но в отличии от C++, mql не имеет легального свободного доступа к памяти (кроме dll).
А сколько надо? Я использовал long в качестве индекса вместо int. И вместо квадратных скобок круглые.
Размер массива в mql5 ограничен int'ом. То, что вы делали - это нарушение типизации. При обращении производилось преобразование в int и если в logn окажется число более INT_MAX - произойдет вылет бота. В MQL5 массив - это не указатель на первый элемент в выделеной памяти.
Размер массива в mql5 ограничен int'ом. То, что вы делали - это нарушение типизации. При обращении производилось преобразование в int и если в logn окажется число более INT_MAX - произойдет вылет бота. В MQL5 массив - это не указатель на первый элемент в выделеной памяти.
Размер массива в mql5 ограничен int'ом. То, что вы делали - это нарушение типизации. При обращении производилось преобразование в int и если в logn окажется число более INT_MAX - произойдет вылет бота. В MQL5 массив - это не указатель на первый элемент в выделеной памяти.
И вместо квадратных скобок круглые. Заметили?
Кстати заметил не так давно, что у массивов появились методы Range и Size. То есть, можно делать:
int array[];
if (array.Size() == 0) вместо if (ArraySize(array) == 0)
Кстати заметил не так давно, что у массивов появились методы Range и Size. То есть, можно делать:
int array[];
if (array.Size() == 0) вместо if (ArraySize(array) == 0)
Вопрос в том, а есть ли это в последней релизной версии? В бете - да, есть.
Вопрос в том, а есть ли это в последней релизной версии? В бете - да, есть.
Да, есть.