Использование индикатора из стандартной библиотеки

 

Здравствуйте! Пробую освоить использование индикатора из стнд библиотеки и в отладчике вижу некорректную работу...Направьте пожалуйста.

Пример: 

На глоб. уровне объявил указатели

CiMACD *CiMACD_1;

CiMACD *CiMACD_2;

В OnInit() 

   CiMACD_1=new CiMACD;

   CiMACD_2=new CiMACD; 

   CiMACD_1.Create(Symb,PERIOD_CURRENT,12,26,9,PRICE_OPEN);

   CiMACD_2.Create(Symb,PERIOD_CURRENT,12,26,9,PRICE_CLOSE); 

 OnTick() 

      a = CiMACD_1.Main(0);

      b = CiMACD_2.Main(1);

      c = CiMACD_2.Signal(1);

 В отладчике получаю такое:

a=1.797693134862316e+308

b=1.797693134862316e+308 

c=1.797693134862316e+308 

Что не так делаю? 

 

простите... исправил пример.

      a = CiMACD_1.Main(0);

      b = CiMACD_2.Main(1);

      c = CiMACD_2.Signal(1); 

Вопрос в силе. 

 
Не ужели ни кто не знает?
 
Приведите полный код в стилизованном виде.
 
sandex:
Приведите полный код в стилизованном виде.
//+------------------------------------------------------------------+
//|                                                          123.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#include <Indicators\Oscilators.mqh>
CiMACD *CiMACD_1;
CiMACD *CiMACD_2;
string Symb;
int OnInit() {
Symb=Symbol();
   CiMACD_1=new CiMACD;
   CiMACD_2=new CiMACD;
   CiMACD_2.Create(Symb,PERIOD_CURRENT,12,26,9,PRICE_OPEN);
   CiMACD_1.Create(Symb,PERIOD_CURRENT,12,26,9,PRICE_CLOSE);
      return (INIT_SUCCEEDED);
      }
void OnDeinit(const int reason)
  {
  delete(CiMACD_1);
  delete(CiMACD_2);
  }
void OnTick()
  {
double     a = CiMACD_1.Main(0);
double     b = CiMACD_2.Main(1);
double     c = CiMACD_2.Signal(1);  
  }
//+------------------------------------------------------------------+
Automated Trading and Strategy Testing
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 
Примеров использования в документации нет, в статье нашел пример использования https://www.mql5.com/ru/articles/741 , но он не работает, и тут походу или ни кто не знает, или безразличен к чужим вроде актуальным проблемам... И как тут научиться использовать стнд бибилиотеку?
Расширение стандартной библиотеки MQL5 и повторное использование кода
Расширение стандартной библиотеки MQL5 и повторное использование кода
  • 2013.09.23
  • Jordi Bassaganas
  • www.mql5.com
Стандартная библиотека MQL5 значительно упрощает жизнь разработчика. Однако она не может удовлетворить все требования абсолютно всех разработчиков в мире, поэтому если вы хотите иметь в своем распоряжении больше пользовательских элементов, вам необходимо расширить ее. В статье описывается интеграция обычного индикатора ZigZag в стандартную библиотеку. В ходе работы мы придерживались принципов разработки, применяемых в компании MetaQuotes.
 
abracada:
Примеров использования в документации нет, в статье нашел пример использования https://www.mql5.com/ru/articles/741 , но он не работает, и тут походу или ни кто не знает, или безразличен к чужим вроде актуальным проблемам... И как тут научиться использовать стнд бибилиотеку?
давно не щупал использование индикаторов из этой библиотеки.  но таки помнится мне что перед взятием значений необходим .Refresh()
 

Стандартной библиотекой никогда не пользовался и надеюсь не придется.

Видать не облегчает, а осложняет... 

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

Стандартной библиотекой никогда не пользовался и надеюсь не придется.

Видать не облегчает, а осложняет... 

дело вкуса.  я как раз планирую. именно индикаторы.   можно будет универсальные MT4/MT5 советники писать.  // ну это если ещё торговый драйвер универсальный прописать.
 
abracada:
Спасибо за ответы. Тогда наверное бросаю это бесплодное занятие...

ничего оно не бесплодное.  нужно только в коды заглянуть, хелпы почитать, понять логику работы индикаторной библы. я когда-то её щупал, всё работало вполне и на ура.

// мне просто щас некогда слегка. я б достал коды со старого компа (он в полуразобранном состоянии), скинул для примера использования. 

 
MetaDriver:

ничего оно не бесплодное.  нужно только в коды заглянуть, хелпы почитать, понять логику работы индикаторной библы. я когда-то её щупал, всё работало вполне и на ура.

// мне просто щас некогда слегка. я б достал коды со старого компа (он в полуразобранном состоянии), скинул для примера использования. 

Уже удалил свой комент... Проверил, если предварительно воспользоваться методом Refresh(), то вроде работает. Только что бы догадаться до этого надо ныть на форуме или читать документацию по базовым классам, что не совсем удобно. Большое спасибо за решение MetaDriver. 
Причина обращения: