![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, действительно, если второй параметр 1, то выделяется 8 Мб.
Если 0, то ничего не выделяется
Здесь не совсем понятно.
Сколько памяти выделять, как посчитать?
Здесь не совсем понятно.
Сколько памяти выделять, как посчитать?
Логика программы должна знать заранее, сколько ячеек массиву может потребоваться. Обычно есть понимание для каждого конкретного алгоритма, с каким шагом резервировать память. Слишком маленький шаг резерва - замедление работы программы, слишком большой - расточительство в потреблении памяти.
Здесь не совсем понятно.
Сколько памяти выделять, как посчитать?
странная картина получается.
Не понимаю, почему сначала 8, а потом 9.
А так же не понимаю, почему память расширяется второй раз при втором параметре = 1000002, а не 1000001. А в третий раз при втором параметре = 2000003, а не при 2000001 или 2000002
А так же не понимаю, почему память расширяется второй раз при втором параметре = 1000002, а не 1000001.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
Nikolai Semko, 2024.06.06 01:49
Тут физический размер 1e6 + 1, а не 1e6. То есть, 1 элемент у вас есть + 1e6 в резерве.
Резерва хватит до 1000001 включительно.
Могу ошибаться, но скорее всего не ошибаюсь
Тут физический размер 1e6 + 1, а не 1e6. То есть, 1 элемент у вас есть + 1e6 в резерве.
Резерва хватит до 1000001 включительно.
Могу ошибаться, но скорее всего не ошибаюсь
ошибаетесь.
т.к. минимальная шаг 1 млн., то будет корректнее такой эксперимент:
теперь видно, что ошибаетесь
странно, почему 76 Мб, а не 80 ?!странно, почему 76 Мб, а не 80 ?!
Forum on trading, automated trading systems and testing trading strategies
How to find out the reserved memory of a dynamic array?
Laszlo Tormasi, 2024.01.04 08:36
Use MQLInfoInteger to get the memory used by the script directly instead terminal memory used.
ошибаетесь
В чем разница между
и
?
Почему это должно работать по разному?
хмм...
с массивом uchar картина такая (что максимально правдоподобно):но теперь картина такая. Лучше, но все равно не понятно, почему 77, а не 80
а с int такая:
сплошные загадки
ошибаетесь.
т.к. минимальная шаг 1 млн., то будет корректнее такой эксперимент:
теперь видно, что ошибаетесь
странно, почему 76 Мб, а не 80 ?!Не знаю, почему для 1000001 и 1000002 у вас теперь одинаково. У меня все как ожидалось:
хмм...
но теперь картина такая. Лучше, но все равно не понятно, почему 77, а не 80
А вы откуда запускаете? Наверное start_mem не равна нулю потому, что в программе еще что-то есть, кроме кода, который вы публикуете.
Напечатайте start_mem тоже