Индикаторы из стандартной библиотеки

 

Здравствуйте уважаемые разработчики.

Дополните ПОЖАЛУЙСТА стандартную библиотеку хотя бы одним примером (с пояснениями), как правильно использовать классы индикаторов из стандартной библиотеки. 

1. Где лучше располагать метод Create(....)  - в OnInit() или в OnCalculate();

2. Почему в методах класса CiMACD, Main(index) и Signal(index)  пустые значения.

С уважением Э.Ковалев 

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
 

Здравствуйте уважаемый  Rosh

Я немного не это имел ввиду.

Попробую пояснить

Для пользователя блока стандартная библиотека и в частности класса CiMACD совершенно "фиолетово" как он устроен внутри (это один из принципов ООП  - инкапсуляция). В данном случае мы видим интерфейс (Create() - Создает индикатор, Main() - Получает данные буфера основной линии, Signal() - Получает данные буфера сигнальной линии).

Но после создания объекта 

CiMACD       macd;

В методах macd.Main() и macd.Signal() - никаких данных не обнаруживается (пустые значения). 

Таким образом - в том виде, в котором стандартная библиотека представлена в Справочнике - она не функционирует.

В частности - нужен пример использования подключения и правильного расположения методов класса в индикаторе / советнике.

Вы можете "послать" меня в базовый класс CIndicator (и будете правы).

Но речь идет о примере использования класса и рекомендациях разработчиков, касающихся оптимального использования кода (что-бы пользователь библиотеки мог  без "песен", "хороводов" и "постукивания в бубен" пользоваться всеми возможностями библиотеки). 

С уважением, Э.Ковалев 

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5