Не могу получить данные из буфера индикатора.

 

Индикатор https://www.mql5.com/ru/code/178, при попытке получить данные из буфера постоянно выдает ошибку:

2015.09.24 03:27:08 Core 1 2015.04.14 18:00:00   Not all data of ExtRsiHandle_TF2 has been calculated (7921 bars). Error4806

с учетом того, что устанавливаю тф Н1 в параметрах индикатора, а в тестере запускаю на М15, то есть, хочу получить массив индикатора с другого тф, на текущем тф. На графике рисует, а из советника нифига не работает.

если в тестере указать тот же тф что и для iCustom то все работает, но фишка индикатора то в том что бы получить данные с другого тф. 

Получаю данные из советника обычным образом:

//+------------------------------------------------------------------+
//|                                                     проверка.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

int rsi1_hnd;
double rsi1[];

int OnInit()
  {
   rsi1_hnd = iCustom(NULL,0,"rsi_mtf_ru",PERIOD_H1,9,PRICE_CLOSE);
   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
//---
   CopyBuffer(rsi1_hnd,0,0,100,rsi1);
  }
//+------------------------------------------------------------------+

 Подскажите, что не так делаю?


RSI multi-timeframe
RSI multi-timeframe
  • голосов: 19
  • 2010.08.25
  • ak20 ak20
  • www.mql5.com
Это индикатор RSI с возможностью расчета данных на любом таймфрейме (выше или ниже таймфрейма текущего графика).
 
Maxim Dmitrievsky:

Индикатор https://www.mql5.com/ru/code/178, при попытке получить данные из буфера постоянно выдает ошибку:

2015.09.24 03:27:08 Core 1 2015.04.14 18:00:00   Not all data of ExtRsiHandle_TF2 has been calculated (7921 bars). Error4806

с учетом того, что устанавливаю тф Н1 в параметрах индикатора, а в тестере запускаю на М15. 

Получаю данные из советника обычным образом:

 Подскажите, что не так делаю?


Добрый день!

В индикаторе исправьте это:

//--- create variable required to convert between TF1 and TF2
   datetime convertedTime;

 На это:

//--- create variable required to convert between TF1 and TF2
   datetime convertedTime = 0;

 И скомпилите его.

И ещё... Рекомендую сделать проверку:

if ( rsi1_hnd == INVALID_HANDLE )
   {
     Print( "No get indicator handle!" );
     return( INIT_FAILED );
   }
 
Михаил:

Добрый день!

В индикаторе исправьте это:

 На это:

 И скомпилите его.

И ещё... Рекомендую сделать проверку:

Добрая ночь :) всё равно ошибка. Если текущий тф (тестируемый) больше или равно чем в iCustom то ошибки не возникает, а если меньше то всегда выскакивает. Я так понимаю это из-за того, что данные с меньших тф тестер подгружает по умолчанию, а с бОльших нет? Надо как-то их грузануть при инициализации эксперта мб?
 
Maxim Dmitrievsky:
Добрая ночь :) всё равно ошибка. Если текущий тф (тестируемый) больше или равно чем в iCustom то ошибки не возникает, а если меньше то всегда выскакивает. Я так понимаю это из-за того, что данные с меньших тф тестер подгружает по умолчанию, а с бОльших нет? Надо как-то их грузануть при инициализации эксперта мб?
Проблема в индикаторе....
 

https://www.mql5.com/ru/code/995

этот вроде рабочий, если кому надо будет 

RSI HTF
RSI HTF
  • голосов: 12
  • 2012.08.19
  • Nikolay Kositsin
  • www.mql5.com
Классический вариант технического индикатора RSI, который можно располагать, зафиксировав таймфрейм индикатора на значении, отличающемся от таймфрейма графика