Заверните массивы в класс или структуру, тогда все получится
Очень мало работал с классами и структурами. Можете объяснить на примерах со структурой?
Очень мало работал с классами и структурами. Можете объяснить на примерах со структурой?
struct tagBuf { double data[]; } tagBuf line[NUM]; int OnInit() { for(int i=0; i<NUM; i++) SetIndexBuffer(i, line[i].data, INDICATOR_DATA); return(INIT_SUCCEEDED); }
Я бы сделал отдельно три буффера. Как я понимаю, нельзя создать многомерный массив (у вас двумерный), в котором первое измерение - задано, а второе - динамическое.
Кроме того, у вас и присвоение в цикле идет почему-то уже одномерному массиву, а не объявленному двумерному.
sergeev, огромное спасибо, всё оказалось изи.
Я бы сделал отдельно три буффера.
Я бы тоже сделал, но у меня индюк так задуман. Да, вы всё правильно поняли, причину не могу понять. Я бы мог использовать switch, но решил написать на форум. Присвоение в цикле правильное, там нужно указать именно первый массив второмерного массива, во втором данные индикатора.
Присвоение в цикле правильное, там нужно указать именно первый массив второмерного массива, во втором данные индикатора.
Думаю, что такое обращение с многомерным массивом, как у вас - не позволит компилятор.
Выше - предложено верно, обернуть внутренний элемент в структуру.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте, есть код,
#define NUM 3
double Buffer[NUM][];
int OnInit()
{
for(int i=0; i<NUM; i++) SetIndexBuffer(i,Buffer[i],INDICATOR_DATA);
return(INIT_SUCCEEDED);
}
Ошибки:
'[' - invalid index value Test.mq5 2 19
'Buffer' - invalid array access Test.mq5 5 44
'Buffer' - parameter conversion not allowed Test.mq5 5 44
Идея понятна из кода: объявляется количество буфферов для индикатора, на инициализации выполняется цикл присваивания каждого массива к буфферу. Мне нужно именно такое реализование буфферов. Что я делаю не так?