Получения данных через CopyBuffer

 
В настоящий момент занимаемся разработкой нестандартных нарезок графика. В частности, ренко/рейнджи. В ходе построения используется данные другого индикатора, который обсчитывает минутки. Функция CopyBuffer позволяет скопировать из указанного буфера (индикатора) данные, которые отстоят от текущего бара не более чем на 100000 баров. В Справке про это, к сожалению, не сказано...
Есть три варианта вызова функции CopyBuffer. Для любого из них это заключение верное...
Т.е. нельзя получить данные за дату, которая отстоит от текущей на 100000 баров. 

Таким образом мы, к примеру, не можем построить график более чем за полгода. Как-то можно решить эту проблему?
 

100000 баров это настройка терминала Макс.баров в окне, поставьте анлим и разрабатывайте себе дальше


ЗЫ: терминал не забудьте перегрузить

 
Igor Makanu #:

100000 баров это настройка терминала Макс.баров в окне, поставьте анлим и разрабатывайте себе дальше


ЗЫ: терминал не забудьте перегрузить

Да нет. У меня там стоит 250 000. Не в этом дело

 

проверил работает, запустил на Метаквотес демо:

#define PRINT(V) Print(#V," = ",V)
void OnStart()
{
   int handle = iCustom(_Symbol, PERIOD_M1, "tst_code\\calc");
   if(handle == INVALID_HANDLE)
   {
      Print("Неудалось подключить индикаторБ ошибка № ", GetLastError());
      return;
   }
   double buff[];
   int copy_b = CopyBuffer(handle, 0, TimeCurrent(), (datetime)0, buff);
   int a_sz = ArraySize(buff);
   PRINT(copy_b);
   PRINT(a_sz);
   if(a_sz > 0)
   {
      PRINT(buff[0]);
      PRINT(buff[a_sz - 1]);
   }
}

2021.09.13 10:11:34.297 tst (EURUSD,M1) copy_b = 8171361

2021.09.13 10:11:34.297 tst (EURUSD,M1) a_sz = 8171361

2021.09.13 10:11:34.297 tst (EURUSD,M1) buff[0] = 0.5369

2021.09.13 10:11:34.297 tst (EURUSD,M1) buff[a_sz-1] = 1.17764


индикатор просто цена закрытия бвра

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