Содержание
В предыдущей статье мы подробно рассказали о тестировании торговых советников в терминале MetaTrader 4. Раскрыли базовые принципы работы тестера стратегий с тиковыми данными. Но для того, чтобы это тестирование и оптимизация были качественными, необходимо использовать только качественную базу тиковых данных, с отсутствием пропусков данных и аномальных ценовых выбросов (Гэпов). Только так, применяя лучшие технологии в индустрии, можно добиться успеха в автоматизированной торговле на рынке Forex.
В данной статье мы подробно расскажем про программу Tickstory, которая позволяет на базовом уровне подготавливать котировки высокого качества из разных источников и импортировать их в терминал MetaTrader 4.
Кстати, наши участники команды создали интересный проект — канал в Telegram, в котором делятся лучшими бесплатными советниками из сети с тестами в Tick Data Suite — https://t.me/ea_forexlab
Tickstory – прокачай свой терем
Tickstory (подразумевалось вендорами как: «Tick-History») — это приложение, которое позволяет трейдерам загружать рыночные данные от различных поставщиков (брокеров, поставщиков ликвидности, иных источников рыночных данных и т.д.). С помощью этих рыночных данных пользователи могут экспортировать информацию в различные форматы (например, в форматы с разделителями-запятыми), чтобы ее можно было использовать на выбранных ими торговых платформах.
Преимущества приложения ТикСтори:
- Возможность загрузки качественных исторических данных (котировок) по валютным парам, индексам, товарам, облигациям, криптовалютам и другим финансовым инструментам.
- Хранение и управление историческими данными в одном месте. Приложение позволяет централизовать все данные в одном месте. Программа Tickstory, в настоящее время, поддерживает хранение данных в сильно сжатом формате zip, с дополнительными форматами, находящимися в разработке.
- Встроенный инспектор диаграмм и данных позволяет просматривать и анализировать загруженные истерические котировки.
- Возможность экспорта данных в торговые терминалы — MetaTrader, Ninjatrader и Amibroker, а также пользовательские форматы файлов поддерживаются практически для любой торговой платформы.
- Полная адаптивность к используемой торговой платформе. Не требуется дополнительных предустановок и «костылей».
Для того, чтобы скачать программу Tickstory актуальной версии, необходимо перейти на официальный сайт разработчика — tickstory.com
На сайте функционирует живой форум. На котором пользователи обсуждают возникающие проблемы при работе с программой, а также есть возможность на прямую задавать вопросы разработчикам.
На официальном сайте предлагается три варианта загрузки и использования программы. Это бесплатная версия Tickstory Lite и платные Standard, Professional с возможностью как месячной, так и годовой подписки.
Главное отличие бесплатной версии Tickstory от платных:
- Ограничение скорости скачивания котировок;
- Одно-поточность скачивания данных (максимум 3 одновременных загрузки);
- Экспорт данных в терминал MT4 ограничен 1 годом, т.е. максимальный период истории, полученный через бесплатную версию ограничен одним годом;
- Поддержка только на форуме;
- Присутствует реклама.
Как видно, данные ограничения позволяют бюджетному трейдеру, использовать качественные тиковые данные на небольшом участке истории для своих алгоритмических целей, ограничиваясь бесплатной версией Tickstory Lite.
Если одного года истории для тестирования вашего советника недостаточно и вы не желаете приобретать платный аналог, то всегда можно найти в сети старую взломанную версию программы под номером 1.8.3. В ней нет ограничения по периоду истории и скорости загрузки, но т.к. она уже не поддерживается разработчиком, то качество прогона в тестере всегда будет отображаться как n/a (неопределенно). На результат тестирования это никак не влияет.
Установка и настройка Tickstory
После того, как вы скачали дистрибутив программы Tickstory. Необходимо пройти стандартную процедуру установки приложения.
После того, как программа была установлена. Необходимо произвести комплекс базовых настроек. Для этого в окне программы Tickstory нажмите на верхней панели кнопку — «Файл» и в выпадающем меню выберите «Настройки». В открывшемся окне настроек, необходимо указать папку на диске, где будут храниться файлы тиковых данных. Обратите внимание, что данные файлы занимают немалое место на дисковом пространстве, поэтому рекомендуется выбирать максимально свободный том диска, а лучше устанавливать программу на SSD накопитель и на нём же хранить файлы исторических данных. Это позволит максимально ускорить работу с большими массивами данных торговых котировок.
Если вы собираетесь экспортировать данные на платформу MetaTrader 4, вы можете указать местоположение по умолчанию для расположения вашей папки Metatrader. Это позволит приложению автоматически выбирать места для записи экспортируемых данных. Во кладке «Настройки MT4» необходимо указать путь до папки с торговым терминалом MT4, в котором планируется производить тестирование и оптимизацию советников на тиковых данных загруженных при помощи программы Tickstory. В представленном примере мы указали путь — «D:\Program Files (x86)\Alpari MT4-2\terminal.exe»
Tickstory выполнит проверку, чтобы убедиться, что вы выбрали действительную папку Metatrader. Чтобы ваш выбор был принят, убедитесь, что вы запустили Metatrader хотя бы один раз и разрешили ему подключиться к вашему брокеру. Это гарантирует, что у вас будут использоваться необходимые настройки брокера, которые Tickstory будет использовать для подготовки котировок.
Также на данной вкладке в области пусковое устройство, вы можете при необходимости прописать портативный режим запуска торгового терминала MT4.
Когда вы устанавливаете MetaTrader, по умолчанию он сохраняет ваши данные в папке Window AppData. Чтобы обойти это ограничение и позволить пользователям хранить данные в другом месте (например, на переносном диске), Metatrader предлагает функцию, называемую «Портативный режим».
Чтобы включить портативный режим, вам необходимо запустить МетаТрейдер с параметром /portable. Вы можете указать этот параметр в командной строке, как показано на снимке экрана ниже. Также обратите внимание на то, как папка данных MT4 изменится в соответствии с каталогом установки.
В следующий раз, когда вы запустите терминал, ваша «Папка данных MetaTrader» будет в том же месте, что и ваша папка установки. Убедитесь, что вы обновили конфигурацию Tickstory, чтобы она отражала это новое расположение папки данных.
MetaQuotes периодически выпускает новые обновления для Metatrader, вы получите это обновление на свой компьютер. Учитывая, что новые выпуски могут иногда нарушать совместимость с средством запуска Tickstory, рекомендуется ограничивать автоматические обновления до тех пор, пока служба поддержки Tickstory не подтвердит совместимость.
Чтобы пропустить автоматические обновления, вам необходимо добавить параметр командной строки /skipupdate, как показано на снимке экрана ниже.
Стоит заметить, что описанный выше метод является только рекомендацией, а не призыву к действию. Вы можете в обычном режиме использовать терминал, данные которого храняться в директории «C:\Users\Admin\AppData\Roaming\MetaQuotes\Terminal», главное правильно указать этот путь в программе TickStory.
Работа с программой и загрузка истории котировок
Главное меню и панель инструментов предоставляет доступ ко всем различным функциям в системе. Каждая функция зависит от контекста и инструмента, который вы выбрали и есть ли в настоящее время ожидаемое действие по данному инструменту.
Область представления источника данных — перечисляет все доступные источники данных/каналы, которые поддерживает приложение. На данный момент Tickstory предоставляет только один источник данных, что означает, что нет необходимости выбирать его. По умолчанию выбран источник данных Dukascopy, что означает, что все рыночные данные будут поступать от этого поставщика. Данный брокер по совместительству является Щвейцарским банком и известен высоким качеством хранимых котировок на протяжении длительного времени.
В представлении вида инструментов перечислены все символы, которые поддерживаются выбранным источником данных. Представленная информация выглядит следующим образом:
Описание — мнемоника символа (например, EURUSD).
Дата начала — самая ранняя дата, для которой в системе есть данные. Данное поле будет автоматически обновляться при загрузке новых данных или при изменении места хранения базы данных.
Дата окончания — самая поздняя дата, для которой в системе есть данные. Будет автоматически обновляться при загрузке новых данных или при изменении места хранения базы данных.
Задачи — сообщает о текущей активности, происходящей с этим символом. Пока операция выполняется, вы не можете ничего делать с этим символом, кроме отмены отложенной операции. Однако, вы можете продолжить работу с другими инструментами.
В обзоре инструментов можно выбрать один или несколько инструментов, чтобы выполнить с ними какие-либо операции — например, загрузить все исторические данные для этого символа. Чтобы выбрать символ, просто используйте левую кнопку мыши и щелкните по нему. Вы можете выбрать несколько символов, удерживая нажатой клавишу CTRL и выбирать дополнительные символы. Когда вы закончите, вы можете щелкнуть правой кнопкой мыши по выбранным инструментам, чтобы увидеть диапазон вариантов и действий, которые можно с ними выполнить.
Например вы можете экспортировать csv файл котировок в нужном вам формате и преобразовать их с помощью специального скрипта в FXT файл (если по какой то причине вам нужно это сделать вручную). Либо же передать полученные тиковые котировки через этот файл в терминал МТ5 для дальнейшей работы с этой программой.
1. В приложении Tickstory выберите инструмент, тиковые данные которого вы хотите экспортировать в терминал, нажмите на правую кнопку мыши и выберите.
После того, как вы выберете опцию экспорта в MT4, отобразится экран настроек, показанный ниже.
2. Выберите дату начала и окончания экспорта. Система экспортирует все данные между этими диапазонами (если они доступны). Вы можете нажать кнопки «быстрого выбора», например, «1 год», чтобы быстро выбрать диапазон дат.
Если вы еще не загрузили данные для определенного диапазона дат, Tickstory автоматически сделает это за вас. Нет необходимости явно загружать данные перед экспортом.
3. По умолчанию в ваш экспорт будут включены данные только за стандартные часы торговли, за исключением выходных. Если вы хотите включить в экспорт какие-либо доступные данные выходных дней, установите флажок «Включить выходные». Если торговых данных за выходные дни нет, и вы выбираете эту опцию, для этого периода будут сгенерированы плоские столбцы.
4. Выберите временные рамки, для которых вы хотите создать файлы исторических данных MT4, установив соответствующие флажки. Вам нужно будет экспортировать данные для тех таймфреймов, в которых вы хотите провести тестирование на истории. Например, если у вас есть советник, который использует только 15-минутный таймфрейм, то вы должны выбрать M15. Если вы не ограничены размером дискового пространства, то можно сразу скачать все необходимые в будущем символы с разными таймфреймами, но стоит заметить, что это котировки не смогут автоматически обновляться и через какое-то время уже устареют.
5. Выберите другие параметры:
- Создать HST файл — обеспечит создание файлов истории MetaTrader. Вы всегда должны убедиться, что этот параметр выбран. HST файлы будут храниться в корневой папке «…\history».
- Сделать FXT доступным только для чтения — гарантирует, что все экспортированные файлы будут помечены как доступные только для чтения, чтобы их нельзя было случайно перезаписать. FXT данные котировок хранятся в папке «…\tester\history».
- Перезапись существующих файлов — гарантирует, что система не остановит экспорт в уже существующих файлах событий.
- Сжать информацию об объёме – выбор этой опции, приведет к тому, что экспорт не будет выводить данные об объёме.
- Фильтрация повторяющихся тиков – выбор этой опции, приведет к тому, что система не будет экспортировать любые одинаковые котировки. «Дублирующий» тик определяется как следующий тик, который происходит в одну и ту же минуту и имеет одинаковую котированную цену. Данная галочка позволит уменьшить размер полученных котировок.
6. Выберите часовой пояс, для которого будут настроены все временные метки. По умолчанию для смещения часового пояса установлено значение «Нет», это означает, что время останется в собственном часовом поясе инструмента. Собственный часовой пояс может различаться для каждого символа. Для валютных пар родным часовым поясом обычно является UTC. Выбрав конкретный часовой пояс, вы преобразуете все отметки времени в этот часовой пояс, включая любые применимые переходы на летнее время (DST). Например, если вы выберете «EST +7: 00 — New York Trading time», тогда все графики MetaTrader будут в этом часовом поясе, автоматически учитывая любые изменения летнего времени. Кстати, это время, которое подходит для брокеров, которые торгуют по GMT+2 DST+ с переводом часов по Нью-Йорку.
7. Выберите место установки Metatrader. Если вы уже настроили это местоположение в конфигурации Metatrader, оно автоматически будет установлено по умолчанию в это местоположение.
Система покажет вам каталоги, в которые будут помещены HST и FXT файлы. Именно в них и хранятся полученные котировки.
8. Во вкладке «Информация о Metatrader» вы можете произвести дополнительные настройки тиковых данных, такие как размер свопа, стоп левел, размер тика и т.д.
9. Нажмите кнопку ОК. Система начнет создание файлов и отобразит процент завершения.
Перед созданием экспорта убедитесь, что тестирование в терминале MT4 не запущено, в противном случае вы можете получить сообщение об ошибке, что файлы «используются», когда экспорт начнется.
10. После завершения экспорта вы можете начать бэк-тестирование MT4, запустив Metatrader 4, нажав на пиктограмму на панели инструментов «Начать MetaTrader для бэк – тестирования». Если вы поставили галочку импорта в FXT, то именно этот файл будет передавать актуальные котировки в терминал.
По результатам прогона в тестере стратегий MT4 получаем качество моделирования 99%, что говорит о том, что котировки Dukascopy были использованы и теперь качество вашего теста намного выше, чем с помощью не всегда достоверных котировок брокера.
Не забывайте, чтобы получить надпись о качестве котировок 99.9%, терминал необходимо запустить через программу TickStory. В противном случае качество будет отображаться как n/a.
Настройка параметров экспорта данных из Tickstory в MetaTrader 4
Теперь вы научились экспортировать данные истории торговых котировок, загруженные через программу Tickstory в торговый терминал MetaTrader 4. Теперь необходимо научиться более точно и профессионально настраивать параметры экспортируемых данных.
Как отмечалось ранее, во вкладке «Информация о Metatrader», содержится важная информация для более точной и полной настройки бэк-теста. Эта опция включает специфичную для брокера информацию, которая определяет действительные размеры лотов, комиссии, кредитное плечо и другие характеристики. Tickstory позволяет вам определять все эти детали во время процесса экспорта MT4, и эти установки впоследствии внедряются в вашу базу данных тестирования на истории MT4.
«Информация о Metratrader» для конкретного брокера может быть сохранена в файле «MT4 Config» (.mt4config) для последующего использования или обмена среди трейдеров, которые хотели бы сравнить свои результаты. Таким образом, трейдеры могут обеспечить согласованность и сосредоточиться на оптимизации своих настроек или самого советника, вместо того, чтобы пытаться отследить, почему их результаты постоянно меняются, несмотря на отсутствие изменений кода или параметров. Учитывая тот факт, что эта информация является ключевой для оценки советника на исторических данных, вы можете настроить различные параметры, чтобы получить полный контроль над тем, что экспортируется в файле данных MT4. Вкладка «Информация о Metatrader» создана специально для этой цели.
Как вы можете видеть на снимке экрана, есть некоторая подробная информация, которая используется для создания базы данных, экспортированной в MT4. По умолчанию Tickstory предоставляет конфигурацию «Generic Broker», которая позволяет пользователям использовать относительно стандартные настройки для экспорта. Конечно, эта информация может не обязательно соответствовать вашим брокерам, поэтому имеет смысл просмотреть эту информацию и, если требуется, скорректировать.
Особо следует отметить следующие поля:
Карта к — имя символа, отображаемое в Tickstory, не обязательно совпадает с именем символа в Metatrader. Это поле позволяет вам сопоставить этот конкретный символ (например, EURUSD или DEUIDXEUR) с эквивалентным символом в MT4 (например, EURUSDm или GER30). Имя отображаемого символа должно точно соответствовать вашему брокеру MT4 (включая регистр). Для простоты выбора представлен список символов MT4, доступных в выбранном вами терминале MT4. Выбрав соответствующее имя символа, вы также автоматически загрузите определенные настройки инструмента MT4 (например, значения, размер лота) из терминала вашего брокера. Если вы оставите поле «Карта к» пустым, Tickstory будет считать, что имя символа такое же, как в вашем терминале MT4.
Шаг лота — это значение влияет на работы многих торговых советников, которые постепенно изменяют размер лота. Если эти значения установлены неправильно, вы можете получить ошибку «Order Send 131» при запуске теста вашего советника. Дополнительную информацию можно найти в документации по MQL.
Цифры — это поле представляет количество цифр дробной части, относящееся к символу. Например, пятизначная цена будет выглядеть как 1.45391, тогда как та же цена, состоящая из четырех цифр, будет выглядеть как 1.4539.
Поле «Спред» использовалось в более ранних версиях Metatrader (примерно до 2015 г.) и теперь устарело в пользу поля «Спред» на экране параметров Тестера стратегий. Это новое поле спреда в тестере стратегий позволяет легко изменять спред между тестами на истории. Следовательно, установка поля Spread в Tickstory больше не влияет на последние версии Metatrader и может быть проигнорирована. Он остается доступным в Tickstory только для обратной совместимости с более ранними версиями Metatrader.
Сохранение настроек
Вкладка «Metatrader Info» MT4 позволяет сохранить текущие отображаемые настройки в файл конфигурации. Этот файл конфигурации можно затем использовать позже или поделиться им с коллегами трейдерами, для того, чтобы использовать единые настройки.
Чтобы сохранить настройки, вы можете выбрать «Сохранить по умолчанию», что автоматически сохранит вашу конфигурацию как конфигурацию по умолчанию. Это означает, что всякий раз, когда вы открываете диалоговое окно «Экспорт MT4», будут использоваться именно эти настройки. Кроме того, вы можете сохранить конфигурацию в файл с конкретным именем, чтобы ее можно было загрузить вручную (с помощью кнопки «Загрузить настройки») в следующий раз, когда вы будете выполнять экспорт данных в MetaTrader 4.
Загрузка настроек
Функция «Загрузить настройки» позволяет загрузить файл конфигурации, содержащий всю информацию, необходимую для Экспорт в MT4. Этот файл конфигурации мог быть:
- Файл, который вы предварительно настроили и сохранили.
- Файл, который вам отправил торговый коллега.
- Файл, созданный как часть процесса «генерации настроек от вашего брокера».
Чтобы загрузить файл конфигурации, просто нажмите кнопку «Загрузить», а затем перейдите в каталог, в котором находится файл. Файлы конфигурации, которые связаны с Tickstory, хранятся в каталоге приложения. В случае файлов, которые были созданы скриптомTickstory, они будут находиться в каталоге expert/files вашей установки Metatrader.
Для того, чтобы автоматически сконфигурировать файл настройки экспортируемых данных. Необходимо следовать подробной инструкции на вкладке «Помощь».
Заключение
В данной статье мы научились подготавливать исторические торговые котировки высокого качества при помощи программы Tickstory версии Lite, которая по своему функционалу практически не уступает платным своим собратьям. Данный метод тестирования позволяет добиться качества моделирования тиков 99% и по результатам бэк-теста и оптимизации торговых советников получать высоко репрезентативной результат. Но стоит отметить, что всё же данный метод является базовым и не совершенным, в силу того, что спред при тестировании является статичным, что не позволяет максимально имитировать условия работы торгового алгоритма в реалиях реального рынка. А также создать определенные условия ухудшения исполнения торговых ордеров в результате задержки исполнения и проскальзывания, некую имитацию реально рынка.
О более прогрессивных платных методах тестирования и оптимизации советников в mt4, которые по-настоящему позволяют создать условия проверки торговых алгоритмов, аналогичные поведению на реальном рынке, мы расскажем в наших следующих статьях. Оставайтесь с нами, впереди ещё много интересного, а главное, полезного контента.
2 комментария. Оставить новый
Здравствуйте. Будет ли обзор программы TickDataSuite? Там вроде плавающий спред как то можно реализовать?
Здравствуйте. Конечно, сейчас как раз готовим статью. Это не быстрое дело )