Столкнулся с рядом проблем, помогите с логикой - страница 2

 
Valeriy Yastremskiy:
Структуры в аргументах функции не предусмотрены. Классы, функции, объекты. Или другая последовательность.

Да вроде как получилось. После объявления структуры существует возможность вызвать функцию с указателем на созданную ранее структура. Компилятор ошибок не выдал. В итоге общая реализация выглядет так, может кому понадлобится.

//Объявление структуры как динамического массива
struct Acum {datetime time;
             double   oi;
             double   dl;
};
Acum DATA_BR[];
//Вызов функции с указателем на созданную ранее структуру
bool Load_File(string Name_File, Acum &array[])
{
}
 

Раз пошла такая пьянка скажите возможно ли создать структуру двумерного массива? Поскольку структур для хранения информации по инструментам несколько требуется возможность их перебора в циклах

Подобного рода запись имеет мето быть?

struct Acum {datetime time;
             double   oi;
             double   dl;
};
Acum DATA_INSTR[][14];

где во второй размерности храним перечень инструментов от 1 до 14 что позволит вызывать функцию такого вида, где этот вызов организовывается в цикле и вуаля. Очень удобно было бы

   Load_File(Name_instr[k],DATA_INSTR[][k]);
Что скажете?
 
Что интерессно компилятор не ругается на объявлении структуры в таком виде, однако проблемы возникают при вызове функции. Почемуто двумерноный массив не вызывается или я опять что то не так делаю :-(
 

Я так понял что и таким образом объявить структуру то же не противозаконно

struct Acum {datetime time[14];
             double   oi[14];
             double   dl[14];
};
Acum DATA_INSTR[];

То есть не структура массива, а структура массивов, однако при вызове функции опять какая то ошибка. Можно сделать ещё и так исключительно как предпочтение но сё равно при вызови функции с аргументом такой структуры ошибка :-( При том что подобный код считаю более правильным.

Load_File(Name_instr[k],DATA_INSTR, int k);
Всё допетрик, вот таким образом вызываем функцию куда передаём структуру массивов.
Документация по MQL5: Основы языка / Операции и выражения / Другие операции
Документация по MQL5: Основы языка / Операции и выражения / Другие операции
  • www.mql5.com
-1. В частном случае одномерного массива из 50 элементов обращение к первому элементу будет выглядеть как array[0], к последнему элементу - array[49]. Вызов функции с аргументами x1, x2,..., xn Каждый аргумент может представлять собой константу, переменную или выражение соответствующего типа. Передаваемые аргументы разделяются запятыми и должны...
 
Благодаря такому представлению структуры удалось написать функцию проверки загрузки файлов которая будет возвращать фальше до тех пор пока не подгрузятся последний файл. Я уже начинаю себя немного побаиваться. Держите меня семеро :-)
 
Коллеги я поражён. С учётом того что рынок закрыть все 15 файлов подгружаются молниеноснсно. На загрузку всех файлов требуется меньше секунды. Вот это я понимаю!!!!!
 

В продолжении работы по глобальному адекватному обновлению системы. В итоге имеет структуру в которой хранится время и соответствующее этому времени значение. теперь из этих данных нужно построить временные серии которые бы соответствовали графику. Сравнение предлагается делать по времени, но вот какая штука, имея массив минутных данных необходима построить массив для другого ТФ. вопрос: возможно уже имеются функции в наличии которые конвертируют массив из одно ТФ в другой???? А так же....

При расчёте индикатора внутри советника каким обраом можно вывести показания на графи либо в отдельно окне либо в области данных? В индикаторе это понятно, а вот как сделать так что при необходисти из советника можно было бы получить график индикатора?

 
Mihail Marchukajtes:

В продолжении работы по глобальному адекватному обновлению системы. В итоге имеет структуру в которой хранится время и соответствующее этому времени значение. теперь из этих данных нужно построить временные серии которые бы соответствовали графику. Сравнение предлагается делать по времени, но вот какая штука, имея массив минутных данных необходима построить массив для другого ТФ. вопрос: возможно уже имеются функции в наличии которые конвертируют массив из одно ТФ в другой???? А так же....

При расчёте индикатора внутри советника каким обраом можно вывести показания на графи либо в отдельно окне либо в области данных? В индикаторе это понятно, а вот как сделать так что при необходисти из советника можно было бы получить график индикатора?

Прошу пардону.... А нафига из минуток строить другой ТФ? Или Вы имеете в виду ТФ не представленный в терминале? Ну тогда можно ))) И М13, и М666, и ....... да на скольео фантазии хватит )))))))))))))))

 
Сергей Таболин:

Прошу пардону.... А нафига из минуток строить другой ТФ? Или Вы имеете в виду ТФ не представленный в терминале? Ну тогда можно ))) И М13, и М666, и ....... да на скольео фантазии хватит )))))))))))))))

Данные берутся из файлов в которые пишутся минутки, причём для каких то данных нужно брать значение последней минуты предыдущего бара, а для каких то складывать все значения минуток для рассчитываемого бара. Спасает то что в данных присутсвует время по которому и будет происходить синхронизация. Хотелось бы какую ни будь стандартную функцию конвертации.
 
Mihail Marchukajtes:
Данные берутся из файлов в которые пишутся минутки, причём для каких то данных нужно брать значение последней минуты предыдущего бара, а для каких то складывать все значения минуток для рассчитываемого бара. Спасает то что в данных присутсвует время по которому и будет происходить синхронизация. Хотелось бы какую ни будь стандартную функцию конвертации.

Что-то мне подсказывает - только своими руками ))

Причина обращения: