Как получить данные бара больше TERMINAL_MAXBARS?

 

В настройках терминала стоит "Макс баров в окне" 50 000.

Большее значение вводить не хочется, ибо незачем - лишние тормоза, жрет память и т.д.

Но есть советник, где мне иногда нужно загрузить Close для  пятисот тысяч баров - там на минутках рассчитываются данные на нестандартном таймфрейме, например, на 270 минутном ТФ.

Но при CopyClose/CopyBuffer грузятся только  TERMINAL_MAXBARS баров, в данном случае 50 тысяч баров.

Возможно ли загрузить большее количество баров, чем TERMINAL_MAXBARS?

Ведь мне не нужно показывать их в окне чарта, они нужны только для расчета. 

Спасибо тому, кто поможет! :) 

 
falkov:

В настройках терминала стоит "Макс баров в окне" 50 000.

Большее значение вводить не хочется, ибо незачем - лишние тормоза, жрет память и т.д.

Но есть советник, где мне иногда нужно загрузить Close для  пятисот тысяч баров - там на минутках рассчитываются данные на нестандартном таймфрейме, например, на 270 минутном ТФ.

Но при CopyClose/CopyBuffer грузятся только  TERMINAL_MAXBARS баров, в данном случае 50 тысяч баров.

Возможно ли загрузить большее количество баров, чем TERMINAL_MAXBARS?

Ведь мне не нужно показывать их в окне чарта, они нужны только для расчета. 

Спасибо тому, кто поможет! :) 

 Закройте все чарты, поставьте в настройках TERMINAL_MAXBARS = Unlimited.

Откройте по очереди чарт каждого интересующего инструмента и закачайте котировок по максимуму.

Напишите скрипт для сохранения истории (лучше через WriteArray сохраняя массив структур MqlRates в Bin файл) и запустите его на каждом чарте. 

По завершении поставьте  TERMINAL_MAXBARS = 50 000.

Теперь вы можете читать любое количество данных не зависимо от настроек  TERMINAL_MAXBARS :)

 

Решение как говорится влоб, погодите может кто ответит какое то хитрое решение без дублирования уже имеющихся данных. 

Проблема тут в том что MQ закрыли формат данных и кроме как стандартными функциями их прочитать нельзя.