Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Динамический _одномерный_ массив с явным вычислением индекса и указателей на подмассивы, использующийся от начала вычислительной математики, особенно при острой необходимости экономии памяти и вычислительной эффективности алгоритма, - _полностью_ решает эту задачу. См. соответствующие темы по здешнему форуму.
Что за указатели на подмассивы? Как их вычислять? (по поиску ничего не удалось найти)
Что за указатели на подмассивы? Как их вычислять? (по поиску ничего не удалось найти)
Вот, пожалуйста. 'Помогите с массивами.'
Вот, пожалуйста. 'Помогите с массивами.'
Спасибо, однако там не было сказано ни слова про указатели на подмассивы. И что-то я сомневаюсь, что в MQL4 можно с адресами переменных работать.
Так или иначе, кое-как я смогу решить свою проблему с помощью библиотеки ZH_Dynamic_Arrays_Lib
Офигеть! Я шокирован!
И что теперь делать? Это значит, что придётся искать самый большой "m" и указывать его в SizeDimension_1 что-ли? Но это же ... жесть какая-то!А как же ещё. Классы-структуры-публиичные_типы в MQL-4 не реализованы. И если хочешь сделать некое подобие структур - приходится делать многомерные массивы. Приходится резервировать массу памяти под них, которая в дальнейшем не будет использоваться, а будет просто хвостом висеть.
Допустим нужно реализовать структуру, на С++ она может выглядеть так:
Приходится изобритать трёхмерный массив и приводить все его составляющие к одному общему типу (чаще double), вешать на простые переменные - массивы, вычислять максимальные величины массивов и приводить к их длинне даже самые простые переменные.
Вот что у меня из этого получается:
При этом переменные, которым в C++ присваиваются типы my_struct здесь описываются как имена целых переменных:
Причем и имена переменных типа my_struct и внутреструктурные переменные (x, y, z, mass, mass1) приходится описывать на глобальном уровне всей программы и потом следьить за их неизменностью.
А обращение к внутриструктурным переменным идёт через обращение к массиву:
Не очень, конечно удобно, а что делать. И переменные x, y, z, не смотря на то, что они используются как простые переменные, приходится описывать как массив, а потом исаользовать только одну ячейку из этого массива [0].
Вроде бы в MQL-5 собираюся реализовывать структуры. Посмотрим.
С указателями на подмассивы - нужно поэкспериментировать.
Идея хорошая.
Можно задать одномерный строковый массив.
Второе измерение массива загоняем в строки путем преобразования. Размер каждого элемента известен.
После этого организовываем работу со строкой, как со вторым измерением массива.
Единственное ограничение - размер строки.
Если необходимо увеличить (уменьшить) второе измерение, то добавляем (удаляем) в строку дополнительные элементы второго измерения, преобразованные в строковую переменную. Примерно так сделал в WSH (Windows script host). Там вообще нельзя создавать многомерные массивы. А вот таким способом получилось сделать многомерный массив. И он нормально работает.
Можно задать одномерный строковый массив.
Второе измерение массива загоняем в строки путем преобразования. Размер каждого элемента известен.
Работа со строковым типом достаточно сильно тормозит машину.
Будет ли в при этом реальная экономия - память/время? Не получится ли - желая сэкономим память - убиваем скорость?.
Работа со строковым типом достаточно сильно тормозит машину.
Будет ли в при этом реальная экономия - память/время? Не получится ли - желая сэкономим память - убиваем скорость?.
Это уже о другом разговор.
Первоначальная задача была - изменение второго измерения массива.