четверг, 27 мая 2010 г.

Тестирование советников/экспертов на нестандартных таймфреймах на исторических данных

Тестирование советников/экспертов на нестандартных таймфреймах на исторических данных

Оригинальная идея - http://articles.mql4.com/ru/790

Краткая выжимка и некоторые поправки

Тестирование на исторических данных в терминале МетаТрейдер4 возможно только на стандартных таймфреймах, таких, как М1-М5-М15-М30…
Нестандартные таймфреймы, эквиобъемные, ренж-графики обычно имеют «синтетический» таймфрейм, который непригоден для исторического тестирования советников.
Поэтому необходимо подготовить данные для тестирования специальным образом, например, такими этапами.

1. Подготовка данных достаточной «исторической глубины» нестандартных таймфреймов при помощи скрипта или индикатора-конвертора

2. Подготовка дополнительного терминала для работы в off-line режиме, чтобы новые данные стандартных таймфреймов не добавлялись к графикам нестандартных периодов.

3. Преобразование данных нестандартных таймфреймов в стандартные данные.

Необходимое пояснение: в дальнейшем каталог, где установлен МетаТрейдер4 (скорее всего это C:\Program Files\MetaTrader4), будет именоваться просто MetaTrader .


Подготовка данных.

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

Подготовка терминала.

Можно инсталлировать новый терминал в другой каталог, а можно просто настроить уже существующий. Для этого:

Закрыть терминал. В любом файловом менеджере найти каталог (папку) MetaTrader\history
Создать подкаталог с любым понятным именем, например MYDATA .
Найти подкаталог с историческими данными вашего рабочего сервера, это будет что-то типа Akmos-Server или Broco-Demo (подсказка – ищите самый «свежий» по времени изменения).
Скопировать следующие файлы из рабочего каталога в новый history\MYDATA
• symbols.raw
• symbols.sel
• symgroups.raw
• ticks.raw
• исторические данные ваших рабочих нестандартных «таймфреймов», например GBPUSD23.hst

Запустить терминал, и вручную присоединиться к нашему «историческому серверу» - Меню ФАЙЛ -> Логин. В поле СЕРВЕР – вписать имя каталога MYDATA. Если будете много тестировать, с включением-выключением терминала – уберите птичку «ХРАНИТЬ личную информацию».
При этом терминал перейдет в режим OFLINE.

Примечание: для работы обычным порядком снова поставьте птичку «Хранить личную информацию» и выберите имя вашего реального сервера.

Преобразование данных нестандартных таймфреймов.

Для тестирования необходимо преобразовать наши нестандартные данные в стандартные. Для этого недостаточно просто переименовать файлы, нужно еще изменить данные о периоде внутри файла. Это можно сделать либо шестнадцатиричным редактором, или спец-утилитой, экспортом-импортом (как описано в оригинальной статье), либо специальным скриптом (см. прилагаемый скрипт s_2std.ex4).
Результирующий файл лучше сделать с «таймфреймом» М1 во избежание подкачки настоящей истории.

Тестирование.

Теперь можно открывать уже преобразованный минутный таймфрейм нужного инструмента, как обычно. Далее открывайте тестер стратегий, вводите нужные данные, и НЕ ЗАБУДЬТЕ указать тестируемый период – М1. Проводите тесты обычным порядком.

пятница, 14 мая 2010 г.

Очередная версия RangeBars for MT4 - 1.31



Очередная попытка избежать искажений ренж-графиков (см. рисунок).
Заодно введен новый параметр Dummy - для безопасной переинициализации конвертора.