Импорт истории цен
Бэктесты идут на истории, которую вы приносите сами, обычно экспортированной из MetaTrader вашего брокера. Так результаты близки к тому, что показывает тестер MetaTrader для того же счёта, а данные остаются приватными: они хранятся только для вашего аккаунта и используются только в ваших бэктестах.
Лучше всего бары M1 (одна минута). Тестер строит из них все старшие таймфреймы и с их помощью моделирует цены внутри каждого бара.
MetaTrader 5 (рекомендуется)
- На странице Рыночные данные скачайте скрипт экспорта
QuantForge_HistoryExport.mq5. - В MetaTrader 5 откройте File → Open Data Folder → MQL5 → Scripts и скопируйте туда скрипт.
- Нажмите F4, чтобы открыть MetaEditor, откройте скрипт и нажмите Compile (F7). MetaTrader показывает только скомпилированные программы.
- Установите Tools → Options → Charts → Max bars in chart в Unlimited и перезапустите MetaTrader. Иначе экспорт остановится примерно на трёх месяцах M1.
- В Навигаторе перетащите Scripts → QuantForge_HistoryExport на любой график, введите символы (например
EURUSD,XAUUSD) и число лет, нажмите OK. - Вернитесь на страницу Рыночные данные и импортируйте файлы из MQL5 → Files → QuantForge.
Скрипт записывает в каждый файл число знаков символа, размер контракта и брокера, поэтому импорт не требует дополнительных данных.
Без скрипта
- MetaTrader 5: View → Symbols → Bars, выберите M1 и диапазон дат, Request, затем Export Bars.
- MetaTrader 4: Tools → History Center, выберите символ и M1, затем Export.
В этих файлах нет параметров контракта, поэтому перед импортом проверьте число знаков и размер контракта на шаге проверки.
Что проверяет импорт
Перед сохранением вы видите определённые символ, таймфрейм, число знаков и размер контракта и можете их исправить. Дубликаты баров отбрасываются, нечитаемые строки отмечаются, а разрывы в час и более в торговые дни перечисляются, чтобы вы могли их оценить. История хранится помесячно; повторный импорт того же символа добавляет новые месяцы.
Спред
Экспорт MetaTrader содержит спред каждого бара, и тестер по умолчанию его использует. Для истории без столбца спреда применяется фиксированный спред из настроек тестера.