Получить количество баров - страница 2

 
forexman77:

 Спасибо! Скриптом (MQL4)проверил считает правильно.

Не знаете на MQL4 корректно работает, на четвертом в справке документации не указана возможность с диапазоном дат?

В 4 есть iBarShift().
 
Integer:
В 4 есть iBarShift().

Еще раз спасибо. Сейчас сделал советник на вилах Эндрюса, пропалываю им котировки.

Убеждаюсь в который раз, что forex не совсем трендовый рынок. 

 

Моя реализация этой функции (как статическая функция класса-контейнера):


long CMySeriesContainerI::GetNumOfBarsOnServer(string strSymbol,ENUM_TIMEFRAMES etTimeFrame)
{
   long lAvailibleBars = LONG_MIN;

   #ifdef __MQL5__
      if(SeriesInfoInteger(strSymbol,etTimeFrame,SERIES_BARS_COUNT,lAvailibleBars)!=true || lAvailibleBars <= 0)
         {
         ASSERT(false);
         int iErr = GetLastError();
         TRACE_INTEGER("Ошибка во время получения количества данных на сервере. Код ",GetLastError());
         Print("Error receiving data size on server. Error code: " + IntegerToString(GetLastError()));
        
         return(0);
         };
  
   #else
      lAvailibleBars = iBars(strSymbol,etTimeFrame);
   #endif
  
   ASSERT(lAvailibleBars > 0);

   return(lAvailibleBars);
};

 
George Merts:

Моя реализация этой функции (как статическая функция класса-контейнера):


long CMySeriesContainerI::GetNumOfBarsOnServer(string strSymbol,ENUM_TIMEFRAMES etTimeFrame)
{
   long lAvailibleBars = LONG_MIN;

   #ifdef __MQL5__
      if(SeriesInfoInteger(strSymbol,etTimeFrame,SERIES_BARS_COUNT,lAvailibleBars)!=true || lAvailibleBars <= 0)
         {
         ASSERT(false);
         int iErr = GetLastError();
         TRACE_INTEGER("Ошибка во время получения количества данных на сервере. Код ",GetLastError());
         Print("Error receiving data size on server. Error code: " + IntegerToString(GetLastError()));
        
         return(0);
         };
  
   #else
      lAvailibleBars = iBars(strSymbol,etTimeFrame);
   #endif
  
   ASSERT(lAvailibleBars > 0);

   return(lAvailibleBars);
};

Спасибо! Начну пожалуй изучать классы и ООП.
 
forexman77:
Спасибо! Начну пожалуй изучать классы и ООП.

ООП удобно изучать, используя классы Стандартной Библиотеки МТ5.

Здесь достаточно много толковых статей по этому поводу. И классы СБ реально сильно помогают в работе.

Кроме того, сам код СБ достаточно хорошо иллюстрирует ООП-подход к написанию кода.

Причина обращения: