Присоединяюсь к просьбе - передача массивов в функции - краеугольный камень (для меня тоже). Примеры работы и общие объяснения очень сильно помогли бы.
1. всё правильно. таймсерии нельзя передавать по ссылке. передача массива по ссылке предполагает, что этот массив будет модифицироваться, что никак нельзя допустить по отношению к таймсерии. если вы хотите просто читать любой переданный массив, то уберите модификатор "амперсанд".
2. в любом случае копируется только "ссылка на массив", копии не создаются.
3. для того, чтобы выяснить, что за массив передан в функцию, можно спросить ArrayIsSeries (является ли массив таймсерией). а ещё можно спросить ArrayAsSeries (индексация задом наперёд, как у таймсерии)
достойный пример пока не готов. по мере готовности будем выкладывать статьи
2. в любом случае копируется только "ссылка на массив", копии не создаются.
3. для того, чтобы выяснить, что за массив передан в функцию, можно спросить ArrayIsSeries (является ли массив таймсерией). а ещё можно спросить ArrayAsSeries (индексация задом наперёд, как у таймсерии)
достойный пример пока не готов. по мере готовности будем выкладывать статьи
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хочу в пользовательскую функцию передавать ссылку на свой массив и собственно
серии, на основе которых мой массив будет заполняться.
Например вот так:
Сначала попробовал вот такое обьявление:
Сама процедура нормально откомпиллировалась, а вызов ее
из основной программы ругается "Incompatible types" на High и Low
Тогда я сделал вот так вот:
И вызов тоже благополучно откомпиллировался.
В связи с этим возникли вопросы:
1. Правильно ли я понимаю, что double& MyBuf[] - значит изменять массив можем в процедуре, а
double MyBuf[] - изменять массив не можем в процедуре?
2. Копируется только ссылка на массивы или создаются копии массивов в случае double MyBuf[] (без &)
3. Как работать с массивом double H[], который передается в процедуру? Имеется ввиду как с серией
(обратная индексация) или как с нормальным массивом(прямая индексация). Ибо подставляется в
параметр процедуры серия High.
Буду благодарен если господа разработчики покажут пример работы с подобными вызовами.
Жду с нетерпением.
Спасибо.