Обсуждение статьи "Расширение стандартной библиотеки MQL5 и повторное использование кода" - страница 2

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- Форексный VPS бесплатно на 24 часа
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привожу полный код индикатора, где вывод значений индикатора происходит от настоящего в прошлое - а нужно наоборот
Извините но все равно не понятно как менять направление индексации, к примеру если нет доступа к исходнику Zigzag. Направление индексации задает ArraySetAsSeries() - где входным параметром является массив по ссылке,
но у нас этого массива нет а есть только указатель на массив буфера индикатора в виде
Базовый класс CIndicator имеет метод GetData, с помощью которого можно получить данные из индикаторного буфера.
Получает данные из буфера индикатора по стартовой позиции и количеству
int GetData(
const int start_pos, // позиция
const int count, // количество
const int buffer_num, // номер буфера
double& buffer[] // массив
) const
После этого задавайте для вашего массива нужное направление индексации с помощью ArraySetAsSeries
Базовый класс CIndicator имеет метод GetData, с помощью которого можно получить данные из индикаторного буфера.
Получает данные из буфера индикатора по стартовой позиции и количеству
int GetData(
const int start_pos, // позиция
const int count, // количество
const int buffer_num, // номер буфера
double& buffer[] // массив
) const
После этого задавайте для вашего массива нужное направление индексации.
т.е. получается два раза обращаться к буферу индикатора но по разному? Ведь тут ниже мы имеем уже доступ к значениям буфера индикатора? Получаем как бы промежуточный массив double &buffer[] Я Вас правильно понял?
Базовый класс CIndicator имеет метод GetData, с помощью которого можно получить данные из индикаторного буфера.
Получает данные из буфера индикатора по стартовой позиции и количеству
int GetData(
const int start_pos, // позиция
const int count, // количество
const int buffer_num, // номер буфера
double& buffer[] // массив
) const
После этого задавайте для вашего массива нужное направление индексации с помощью ArraySetAsSeries
Я Вас правильно понял???
Получается что надо на каждом тике нужно копировать всю историю?Я Вас правильно понял???
Получается что надо на каждом тике нужно копировать всю историю?1. Можно на открытие нового бара
2. А зачем все значения индикатора получать каждый раз, и при этом еще заботиться о направлении индексации? какая вообще задача стоит?
Зачем оборачивать простой индикатор в класс если он используется потом или на графике или через iCustom?
Второе решение лучше, потому что является объектно-ориентированным
ООП ради ООП, ну ок.
1. Можно на открытие нового бара
2. А зачем все значения индикатора получать каждый раз, и при этом еще заботиться о направлении индексации? какая вообще задача стоит?
Проблему решил по условиям цикла, теперь все работает как хотелось. спасибо!
Зачем оборачивать простой индикатор в класс если он используется потом или на графике или через iCustom?
ООП ради ООП, ну ок.
Все верно))
Очень удобно, всем советую