Массив структур должен помочь.
Примерно так:
struct Mass { double dim2[]; }; // сама структура Mass dim1[]; // массив структур input int size_dim1 = 10; // задаем необходимую первую размерность input int size_dim2 = 100; // задаем необходимую вторую размерность //+------------------------------------------------------------------+ void OnInit() { ArrayResize(dim1,size_dim1); // изменяем первуюразмерность for(int i=0; i<size_dim1; i++) ArrayResize(dim1[i].dim2,size_dim2); // изменяем вторую размерность } //+------------------------------------------------------------------+
dim1[3].dim2[5]=102.34; // пример использования
MQL поддерживает динамический ресайз массива только по первой размерности. Если нужно что-то более сложное типа вектора векторов, нужно применять ООП, например, на основе CArrayObj.
Массив структур должен помочь.
Примерно так:
Значит простых решений нет) Можно прокомментировать код?)
куда же проще) прокомментировал.
Если в процессе работы заполненый массив не надо масштабировать, а масштабировать только на запуске один раз, можно одномерный массив использовать и вычислять индексы, это очень не сложно.
Если структура с массивами, надо в каждом элементе масштабировать массив, за одно действие не получится.
Если в процессе работы заполненый массив не надо масштабировать, а масштабировать только на запуске один раз, можно одномерный массив использовать и вычислять индексы, это очень не сложно.
Если структура с массивами, надо в каждом элементе масштабировать массив, за одно действие не получится.
Да, можно и с одним большим массивом обойтись, умножая первую размерность на вторую.
Со структурой удобнее, у меня такой вариант без проблем работает. И еще преимущества есть, можно искать максимумы минимумы с помощью стандартных функций.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Собсно сабж, сегодня чуть голову себе не сломал, выход нашел корявый: создал 2 массива с разными размерами, по условию выбираю между ними, но эт конечно извращение)
Пример:
if (X==0) //если выполняется условие
int Mass[][10] //инициализируем динамический массив с определенным размером 2 измерения
else //если не выполняется
int Mass[][100] //с другим размером