Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Скрипты

sHistoryExport - скрипт для MetaTrader 5

Просмотров:
9980
Рейтинг:
(63)
Опубликован:
2012.11.12 12:58
Обновлен:
2021.03.19 19:12
\MQL5\Include\komposter\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Скрипт для экспорта исторических данных

Проблемы с историей в MetaTrader 4? Загрузите подробную историю любой глубины из MetaTrader 5!


Шаг 1: Установка

Загрузите скрипт в директорию <каталог_данных>\MQL5\scripts\.

Загрузите библиотеки CheckHistory и String в директорию <каталог_данных>\MQL5\Include\komposter\.

Скомпилируйте скрипт. 

 

Шаг 2: Настройка глубины истории

Зайдите в меню "Сервис" > "Настройки" (Ctrl+O), и на вкладке "Графики" укажите, сколько вы хотите экспортировать баров (параметр "Макс. баров в окне"). История М1 за один год — это примерно 370 000 баров.


Нажмите "ОК" и перезагрузите МetaТrader. 


Шаг 3: Настройка списка инструментов

Если вы хотите загрузить историю сразу по многим инструментам, добавьте их в окно "Обзор рынка", а ненужные инструменты оттуда скройте:

 

Шаг 4: Запуск скрипта

Перетащите скрипт на любой график, и укажите значения внешним переменным:

  • SymbolsList: список символов, разделенных запятой (например, "EURUSD,GBPUSD").
    Если указать "all", будут использованы все символы из "Обзора рынка";
  • TimeFramesList: список таймфреймов, разделенных запятой (например, "M1,M5,M15").
    Если указать "all", будут использованы все тайм-фреймы МТ4 младше D1.
  • BarsToDownload: количество баров, которое необходимо экспортировать.
    Если указать 0, будут экспортированы все бары, видимые на графике ("Макс. баров в окне").

Нажмите "ОК", и ждите появления сообщения о завершении работы. За прогрессом вы можете следить на закладке "Эксперты" терминала:

2013.03.28 11:42:55 sHistoryExport (EURUSD,H1) GBPJPY, PERIOD_M1: history synchronized within 1.5 sec

2013.03.28 11:43:25 sHistoryExport (EURUSD,H1) GBPJPY, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\GBPJPYM1.csv" and "History (MetaQuotes-Demo)\GBPJPY1.hst" within 30.0 sec!

2013.03.28 11:43:27 sHistoryExport (EURUSD,H1) EURJPY, PERIOD_M1: history synchronized within 1.6 sec

2013.03.28 11:43:55 sHistoryExport (EURUSD,H1) EURJPY, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\EURJPYM1.csv" and "History (MetaQuotes-Demo)\EURJPY1.hst" within 28.6 sec!

2013.03.28 11:43:57 sHistoryExport (EURUSD,H1) NZDUSD, PERIOD_M1: history synchronized within 1.6 sec

2013.03.28 11:44:26 sHistoryExport (EURUSD,H1) NZDUSD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\NZDUSDM1.csv" and "History (MetaQuotes-Demo)\NZDUSD1.hst" within 29.0 sec!

2013.03.28 11:44:28 sHistoryExport (EURUSD,H1) AUDUSD, PERIOD_M1: history synchronized within 1.7 sec

2013.03.28 11:44:56 sHistoryExport (EURUSD,H1) AUDUSD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\AUDUSDM1.csv" and "History (MetaQuotes-Demo)\AUDUSD1.hst" within 28.2 sec!

2013.03.28 11:44:59 sHistoryExport (EURUSD,H1) USDCAD, PERIOD_M1: history synchronized within 1.8 sec

2013.03.28 11:45:27 sHistoryExport (EURUSD,H1) USDCAD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\USDCADM1.csv" and "History (MetaQuotes-Demo)\USDCAD1.hst" within 28.3 sec!

2013.03.28 11:45:31 sHistoryExport (EURUSD,H1) USDCHF, PERIOD_M1: history synchronized within 3.9 sec

2013.03.28 11:46:00 sHistoryExport (EURUSD,H1) USDCHF, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\USDCHFM1.csv" and "History (MetaQuotes-Demo)\USDCHF1.hst" within 28.5 sec!

2013.03.28 11:46:01 sHistoryExport (EURUSD,H1) GBPUSD, PERIOD_M1: history synchronized within 1.5 sec

2013.03.28 11:46:31 sHistoryExport (EURUSD,H1) GBPUSD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\GBPUSDM1.csv" and "History (MetaQuotes-Demo)\GBPUSD1.hst" within 29.5 sec!

2013.03.28 11:46:33 sHistoryExport (EURUSD,H1) USDJPY, PERIOD_M1: history synchronized within 2.6 sec

2013.03.28 11:47:03 sHistoryExport (EURUSD,H1) USDJPY, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\USDJPYM1.csv" and "History (MetaQuotes-Demo)\USDJPY1.hst" within 29.4 sec!

2013.03.28 11:47:04 sHistoryExport (EURUSD,H1) EURUSD, PERIOD_M1: history synchronized within 1.5 sec

2013.03.28 11:47:33 sHistoryExport (EURUSD,H1) EURUSD, PERIOD_M1: 1100000 bars have been written to "History (MetaQuotes-Demo)\EURUSDM1.csv" and "History (MetaQuotes-Demo)\EURUSD1.hst" within 28.8 sec!

2013.03.28 11:47:33 sHistoryExport (EURUSD,H1) History export finished within 279.6 sec! 9 files have been written to:

2013.03.28 11:47:33 sHistoryExport (EURUSD,H1) D:\_Forex\MetaTrader 5 Work\MQL5\Files\History (MetaQuotes-Demo)\

Если указать большое количество инструментов и/или тайм-фреймов и/или загружаемых баров, скрипт может работать очень долго или вообще зависнуть из-за нехватки оперативной памяти! Адекватно оценивайте возможности своего железа. 


Шаг 5: Готово!

Загрузив всю необходимую историю, скрипт выведет окно с информацией и завершит работу. Имя папки, в которую были записаны файлы, можно скопировать прямо из окна Алерта: 

 

csv-файлы, записанные скриптом, готовы к импорту в MetaTrader 4 ("Архив котировок - Импорт").

hst-файлы можно просто положить в папку "\MetaTrader 4\history\ServerName\", терминал их подгрузит сам. 

 


 

История изменений

2013.03.25:

  • [*] Если истории достаточной глубины по инструменту/ТФ нет на сервере, скрипт загружает и записывает всю доступную историю (раньше выводил ошибку и не записывал ничего).

2013.03.28:

  • [+] Добавлена запись в hst.

3.0 - 2015.06.05:

  • [*] Актуализирован формат hst-файлов (версия 401)

2021.03.18 (3.01):

  • CSV delimiter
  • Write headers

Exp_UltraFatl Exp_UltraFatl

Эксперт с использованием осциллятора UltraFatl.

CheckHistory - Функция для проверки и загрузки истории CheckHistory - Функция для проверки и загрузки истории

Немного доработанная функция загрузки истории от MetaQuotes.

Exp_DSSBressert Exp_DSSBressert

Торговая система с использованием индикатора DSSBressert

JS-Stoh-BB-RSI JS-Stoh-BB-RSI

Мультииндикаторная система с использованием осцилляторов RSI и стохастика с каналом Боллинджера.