Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 10481
- Рейтинг:
- Опубликован:
- 2012.11.12 12:58
- Обновлен:
- 2021.03.19 19:12
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Скрипт для экспорта исторических данных
Проблемы с историей в 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

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

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

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

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