Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
abracada
22
abracada  

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

Пример: 

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

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 

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

abracada
22
abracada  

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

      a = CiMACD_1.Main(0);

      b = CiMACD_2.Main(1);

      c = CiMACD_2.Signal(1); 

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

abracada
22
abracada  
Не ужели ни кто не знает?
Alexander Bereznyak
23259
Alexander Bereznyak  
Приведите полный код в стилизованном виде.
abracada
22
abracada  
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
abracada
22
abracada  
Примеров использования в документации нет, в статье нашел пример использования https://www.mql5.com/ru/articles/741 , но он не работает, и тут походу или ни кто не знает, или безразличен к чужим вроде актуальным проблемам... И как тут научиться использовать стнд бибилиотеку?
Расширение стандартной библиотеки MQL5 и повторное использование кода
Расширение стандартной библиотеки MQL5 и повторное использование кода
  • 2013.09.23
  • Jordi Bassaganas
  • www.mql5.com
Стандартная библиотека MQL5 значительно упрощает жизнь разработчика. Однако она не может удовлетворить все требования абсолютно всех разработчиков в мире, поэтому если вы хотите иметь в своем распоряжении больше пользовательских элементов, вам необходимо расширить ее. В статье описывается интеграция обычного индикатора ZigZag в стандартную библиотеку. В ходе работы мы придерживались принципов разработки, применяемых в компании MetaQuotes.
Vladimir Gomonov
8306
Vladimir Gomonov  
abracada:
Примеров использования в документации нет, в статье нашел пример использования https://www.mql5.com/ru/articles/741 , но он не работает, и тут походу или ни кто не знает, или безразличен к чужим вроде актуальным проблемам... И как тут научиться использовать стнд бибилиотеку?
давно не щупал использование индикаторов из этой библиотеки.  но таки помнится мне что перед взятием значений необходим .Refresh()
Alexander Bereznyak
23259
Alexander Bereznyak  

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

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

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

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

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

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

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

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

abracada
22
abracada  
MetaDriver:

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

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

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