Экспорт исторических данных в программу TSLab

Рейтинг брокеров бинарных опционов за 2020 год:
  • БИНАРИУМ
    БИНАРИУМ

    1 место! Самый лучший брокер бинарных опционов для СНГ!
    Бесплатное обучение трейдингу и демо-счет!
    Получите бонус за регистрацию, перейдя по ссылке:

  • БИНОМО
    БИНОМО

    2 место! Только для опытных трейдеров

Для новичков

Инструменты для пространств

  1. Блог
  2. 2020
  3. May
  4. 02

Альтернативный поставщик IQFeed. Подключение.

  • Создатель Gorbunov Aleksey , отредактировано мая 02, 2020

Программа может одновременно работать со множеством брокеров и бирж.

Если Вы еще не подключались к каким-либо поставщикам данных, то в Вашем случае, таблица менеджера подключений будет пуста.

Данные –> менеджер подключений

Среди поставщиков данных могут быть поставщики, дающие исторические данные котировок и не позволяющие торговать. Т.е. в прямом смысле поставщики данных, которые являются серверами истории. В программе есть отдельный класс поставщиков, основанных на текстовых данных и текстовых данных в формате csv, в следующем ролике рассмотрим их детально. В данном видеоролике рассматривается подключение поставщика данных IQFeed и некоторая информация об исторических данных.
Прежде чем создавать поставщика данных в программе, необходимо выполнить регистрацию на сайте IQFeed, об этом действии много видео и инструкций в интернете, но собственно, кроме большого количества вопросов в опроснике ничего сложного там нет. И здесь рассматривать не будем. Я предполагаю, что логин и пароль IQFeed Client у Вас уже есть. http://www.iqfeed.net
Чтобы создать поставщика данных, т.е. чтобы он появился в таблице менеджера подключений, нужно нажать на кнопку Добавить:

IQFeed дает не только историю, но и котировки, в режиме реального времени, выбираем Данные онлайн.
Даем название, название может быть любым и находим в списке нужного поставщика данных.

Здесь нужно отметить, что в этот список поставщики данных могут попасть только с помощью программистов TSLab и команды тестирования. Поэтому, если у Вас есть вопросы по какому-то поставщику данных или брокеру, считаете, что нет именно Вашего брокера и это плохо, пожалуйста, обращайтесь в службу поддержки TSLab с предложениями по улучшению программы.

Настройка поставщика данных iqfeed очень проста, все предустановлено.
Достаточно ввести логин и пароль, может быть выбрать уровень логирования поставщика данных. Это логирование именно поставщика. Логирование самой программы TSLab не настраивается и всегда записывается. При выключенном логировании, служба поддержки iqfeed в ответственный момент не сможет разобрать ситуацию.

ТОП лучших платформ для торговли бинарными опционами:
  • БИНАРИУМ
    БИНАРИУМ

    1 место! Самый лучший брокер бинарных опционов для СНГ!
    Бесплатное обучение трейдингу и демо-счет!
    Получите бонус за регистрацию, перейдя по ссылке:

  • БИНОМО
    БИНОМО

    2 место! Только для опытных трейдеров

Если поставщик данных подключается к серверу и работает пару тройку дней, то скорее всего он и будет продолжать работать без проблем.

Самые частые проблемные ситуации:

— использование буфера обмена, при котором может попасть пробел в строку с логином или паролем. Данная ситуация возможна при самом первом подключении. Как правило брокер или поставщик исторических данных выдаст сообщение о проблемах пары логин пароль, проверьте отсутствие пробелов в конце или в начале строки.

— Вторая частая проблема — это интернет. Как правило выводится сообщение о потере связи, но проблема может быть и на стороне поставщика данных.

Путь до логов, при необходимости измените на нужную папку.

Поставщик данных создан, нажимаю кнопку подключить и получаю ошибку, посмотрим, что пишет.
В данном случае сообщение гласит, что нужно загрузить и установить программу компании iqfeed. В других случаях может быть просто написано, что не найдено какое-то программное обеспечение. Это будет лишь означать, что Вы не открывали документацию программы и что имеет смысл ее открыть на странице нужного коннектора (поставщика данных) и сделать все согласно инструкции.

Установка IQFeed client проста.

Пробуем подключиться. iqfeed клиент настраивать не нужно, программа автоматически заполнит логин и пароль, указанные в настройке поставщика данных.

Подключение прошло и теперь нам доступны история и текущие котировки, тех рынков, на которые Вы подписались в кабинете на сайте iqfeed.

В настоящий момент программа не запрашивает ключ к этому коннектору для подключения. Однако, в будущем такой ключ необходимо будет где-то брать.
Ключ берется на сайте tslab.pro для англоязычных пользователей или tslab.ru для русскоязычных пользователей.

На обоих сайтах есть вход в личный кабинет, регистрация стандартна. В будущем, возможно появится двухфакторная система безопасности, с кодовым доступом по СМС. После регистрации нужно подтвердить свой email.

В личном кабинете можно приобрести ключ к коннекторам, которые указаны в табличке поставщиков данных в программе. Выбрав поставщика данных, внимательно прочитайте, какой именно логин нужно использовать для создания ключа. Но, даже если Вы ошиблись, ничего страшного нет, обратитесь в службу поддержки, Вам обязательно помогут.

После оплаты или бесплатного получения, ключ будет доступен в личном кабинете на этой странице и придет оповещение, на указанную при регистрации почту.

Если Вам необходимо подключить поставщика данных, который есть в программе, но его нет в личном кабинете, обратитесь в службу поддержки.

В личном кабинете есть возможность подключения демо для некоторых коннекторов. Здесь нужно сделать оговорку, что демо версия ключа ничем не отличается от боевого, кроме ограничения времени работы ключа. Скорее всего название в личном кабинете изменится в будущем на что-то более правильное, например, тестовый доступ или нечто похожее. Т.е. если брокер дает доступ к демо серверам или по-другому — игровым серверам, тестовым серверам, то у нас Вы можете подключить и демо сервер и реальный сервер данного брокера используя это окошко для демо подключений. Т.е. в данном случае понятие Демо, относится к программе, а не серверам брокера, повторюсь, что ограничений никаких нет, кроме времени действия ключа.
Quik Junior не поддерживается!

В этом списке в будущем появится и IQFeed, непосредственно в данный момент для IQFeed ключ не требуется.
Данный поставщик исторических данных IQFEED, является и поставщиком данных текущих котировок.
Поэтому, его можно использовать не только как отдельного поставщика исторических данных, но и как вспомогательного поставщика данных для других брокеров, не имеющих развитой инфраструктуры и имеющих ограничения на закачку данных. Например, в настройках поставщика данных для Interactive Brokers есть дополнительная настройка Альтернативный поставщик данных.

Для того, чтобы в настройке IB появилась возможность выбора альтернативного поставщика данных, его просто нужно создать. В настоящий момент такими поставщиками данных в программе TSLab могут быть IQFeed и NetInvestor. Для поставщика данных можно настроить расписание подключения к серверу.

О самих данных.
Откройте простой график. Вид — График.

Правой кнопкой на графике. Свойства. Немного о поиске инструментов и их закачке.

На биржах очень много инструментов, некоторые брокеры не предоставляют списки инструментов. Из-за технологии подключения, например, для Interactive Brokers, невозможно подписаться на инструмент по АПИ TWS, без выставления заявки и снятии заявки по инструменту в самой программе TWS. Проблемы могут быть такими, например, чтобы получить индексные данные по валютам, необходимо выставить заявки на рынке форекс.
Т.е. сначала выставляется заявка в TWS, снимается, потом этот инструмент ищется с помощью специального функционала в настройках поставщика данных.

В других поставщиках данных, изначально, список инструментов может быть пуст, если Вы первый раз подключились, в целях экономии ресурсов компьютера. Предполагается, что Вы знаете наименование инструмента.

1. Нажмите выбор
2. Выберите показывать все инструменты, чтобы увидеть все доступные или выберите необходимое.
3. Выберите поставщика данных и рынок.
4. Найдите поиском инструмент, выделите его курсором и нажмите OK
После выбора инструмента и определения сколько Вам необходимо котировок, выберите нужную дату закачки истории.
Если выбрать дату, то имеющаяся история старше этой даты будет сохранена, а младше, перезаказана с сервера.
Это в буквальном смысле означает, что кеш данного инструмента, накопленный с этой даты, будет стерт с компьютера и данные будут закачаны с сервера начиная с указанной даты по текущий момент.

В предыдущем видео рассказывалось какие папки использует программа. Повторюсь, что накопленные данные находятся в папках cache и cachetrades на одном уровне с папкой логов.

Если Вы первый раз качаете инструмент, то Вам скорее всего нужна вся история.
Выберите нужный интервал (Таймфрейм) снимите все ограничения и нажмите кнопку OK.

Теперь, на графике правой кнопкой мышки и нажимаем кнопку Перезагрузить данные.
Если у брокера нет ограничений на глубину запрашиваемой истории и поставщик активен (подключен), то после некоторого ожидания, данные с сервера будут закачаны.

При подключенном поставщике и с включенной настройкой в свойствах графика «Обновлять в режиме реального времени» график будет обновляться в режиме реального времени и иметь всю доступную историю.

Для ограничения вывода истории на график, соответственно можно использовать различные настройки в свойствах графика. ДатаОт, МаксБаров, МаксДней.

Простой график, это просто график, у него есть свой редактор, на график можно вывести индикаторы, создать алгоритм для расчета чего-то и вывода на экран.

Но простой график не может стать в конечном счете торгующим роботом(агентом), поэтому, если Вам требуется оптимизация алгоритмов, с последующим включением автоматической торговли, собственно, для разработки торговой стратегии, имеет смысл открыть лабораторию скриптов.
Управление скриптами — Создать новый скрипт и уже здесь вести свои разработки алгоритмов, имея исторические данные.

Подготовка исторических данных 100% качества для тестирования стратегий и советников

В области торговли на финансовых рынках нельзя сделать заключение о работоспособности или непригодности того или иного метода или системы без качественных данных для тестов и оптимизации. Для разработки действительно прибыльных торговых систем трейдеру обязательно потребуются, как минимум, качественные исторические ценовые данные по интересующим валютным парам.

Как правило, у большинства брокеров качество котировок колеблется в районе от 90 до 96%. Терминал MT4 и так не слишком точный инструмент, поэтому добавлять еще 4-10% лишней неточности — не наш вариант. Наш выбор — котировки 100% качества. Где и каким образом их взять, как обработать и получить гарантированно качественный результат — в нашем сегодняшнем материале.

Типы исторических данных

Основной тип исторических данных, без которого просто не получится провести тестирование – это, естественно, данные по ценам. Исторические ценовые данные могут быть получены для различных периодов и из разных источников. Наиболее распространенные – для дневных, минутных и тиковых графиков. Как правило, глубже всего история именно для дневных графиков – ее можно получить, начиная с 1971 года (более длительную историю не поддерживает терминал MetaTrader). Минутные данные, как правило, идут максимум с 1999 — 1998 года, а тики в основном не ранее, чем с 2004 — 2007 года.

Как правило, для любого периода данные выглядят следующим образом: дата свечи, время, цена открытия, наивысшая цена, наинизшая цена, цена закрытия и тиковый объем. В некоторых источниках котировок тиковый объем может отсутствовать. Также для периодов от D1 и выше часто не указывают время открытия свечи или же не указывают максимальные и минимальные цены. Тиковые котировки отличаются от котировок, сконвертированных в определенный период. В таких котировках вы можете найти дату, время с точностью до секунд, цены Ask и Bid.

Помимо цены иногда могут понадобиться и некоторые специфические данные – например по выходу макроэкономических показателей, вроде уровня инфляции, цен на жилье или данных по безработице определенных стран, а также еще более специфические, вроде солнечной активности или мнения трейдеров относительно того или иного инструмента.

Вообще же, как правило, поиск необычных данных часто открывает интересные и выгодные возможности, на которых можно построить свою систему торговли и получать прибыль. У нас на форуме есть торговый робот, который анализирует данные из myfxbook об открытых трейдерами позициях и работает против них.

Временные масштабы данных

Данные можно использовать в своих естественных временных рамках, или же пересчитать их в другой временной масштаб. В зависимости от стратегии вам могут потребоваться различные таймфреймы, от М1 или даже тиков, до D1 или MN1. Из данных коротких таймфреймов можно легко сделать данные более длинных, но никак не наоборот. Например, из данных периода М1 мы легко можем получить и М5, и Н1, и D1. Именно поэтому важно иметь качественную базу данных именно М1 котировок.

Но М1 – не самый мелкий масштаб, ведь есть еще и тиковые данные. Тик – это не постоянная единица времени, иногда тики бывают очень частыми, особенно во время выхода новостей, а иногда, например, ночью, имеют большие временные промежутки друг между другом. Тиковая история в основном необходима для тестирования новостных советников, hft стратегий (использование которых вообще невозможно на платформе МТ4 или МТ5), а также для советников, использующих различные расчеты внутри свечей.

Но для таких советников слишком велико влияние брокеров, о чем я писал в этой статье. Если советник не пипсует по полпункта, нет никакой нужды тестировать его на тиковых данных – это очень долго и ресурсозатратно. К тому же бесплатные тиковые данные, которые можно найти в сети, не самого хорошего качества и за не слишком длительный период времени, а платные стоят довольно приличных денег – далеко не факт, что такие вложения вообще у вас окупятся.

Поэтому не стоит гнаться за сверхточностью, сам тестер стратегий все равно даст погрешность, которая все усилия нивелирует. Лучше запастись качественной историей минутного таймфрейма, дневного таймфрейма и различными специфическими данными, которые вам встретятся – никогда нельзя быть уверенным наверняка в том, что вам пригодится, а что нет.

Сколько нужно данных? Чем больше, тем лучше. Дело в том, что чем больше сделок в тесте, тем меньше риск «подгонки», тем более статистически весомый результат и тем больше вероятность того, что ваша система продолжит работать так же в будущем, как работала в прошлом. Поэтому очень желательно использовать всю доступную историю.

Выбор таймфрейма

Что касается таймфрейма, используемого для работы, то тут дело вкуса. При работе на низких периодах вроде М5 или М15, уходит много времени на тесты, к тому же такие системы очень требовательны к качеству котировок, сильно брокерозависимы и на конечный результат прилично влияют издержки, такие как спред, свопы, проскальзывания, комиссии.

С другой стороны, торговля при помощи подобных систем более динамична, ведь они могут совершать десятки сделок в день. Из-за относительно коротких стопов можно обойтись депозитом всего в 100 долларов. Как следствие, прирост депозита, как правило, более стремительный, чем у долгосрочных систем. Хотя и чаще всего более короткий – чем ниже период работы системы, тем она получается, как правило, менее стабильной.

При работе на высоких периодах, наоборот, системы получаются более стабильными и живучими, слабо зависят от брокера и от торговых издержек, не очень требовательны к качеству котировок, да и тесты можно делать очень быстро. Тем не менее, прирост депозита довольно долгий, так как каждая сделка может длиться неделями.

Еще одна проблема – для долгосрочных систем необходимо достаточно большое количество исторических данных. Плюс на тех же дневных графиках стопы даже размером в два ATR получаются порой довольно большими, и чтобы соблюдать правильный мани менеджмент может не хватить и 2 000 долларов. Кроме того, при работе на высоких таймфреймах, как правило, используют портфели систем, чтобы сгладить кривую доходности. Тем не менее, выдерживать психологически десятки открытых сделок, болтающихся то в плюс, то в минус целыми неделями — довольно нелегко.

Выбор таймфрейма – это все же личное дело каждого трейдера. На любом из них есть свои плюсы и минусы, поэтому стоит просто решить, что вас раздражает больше.

Качество исторических данных

Одной из распространенных причин получения недостоверных результатов при тестировании советника в тестере стратегий терминала MetaTrader 4 являются проблемы с целостностью исторических котировок. В силу разных причин в истории цен, имеющейся в наличии в терминале, могут присутствовать «дыры», которые приводят к разрывам в ценовом потоке, не имеющим ничего общего с реальностью. Надо ли говорить, что тестировать советник по таким котировкам не имеет большого смысла?

Плохие данные могут любой анализ системы привести в состояние полного хаоса, дать убыточные заключения стоящим системам или, что еще хуже, дать зеленый свет системам, которые того не стоят. Поэтому к историческим данным стоит подойти со всей ответственностью – это база, на которой в дальнейшем будет строиться вся ваша торговля. Некачественная историческая база может систематически приводить к ошибкам и, как следствие, к потере уймы времени и средств, причем вы так и не будете понимать, в чем же, собственно, проблема и почему ваши системы, зарабатывающие на тестах, не хотят работать на реале.

Ошибки в данных могут принимать несколько различных форм. Довольно часто при торговле попадаются тики с явно ошибочными ценами, просто невозможными. Например, цена на секунду взлетает до небес, а затем, в следующую секунду, возвращается обратно. Это так называемая «шпилька», которыми еще буквально несколько лет назад грешили почти все брокеры. Такая ошибка может привести к сделке с огромной прибылью или убытком. А если таких «шпилек» в данных много, то тест любой системы будет далек от реальности. Особенно это касается тестов различных сеточных стратегий, где «шпилька» — это гарантированный слив депозита, и, как следствие, тест не проходит фильтр.

Более распространены и менее заметны обычные небольшие ошибки в уровнях цен. Например, вместо цены закрытия 1.4378 у нас имеется цена 1,4387. Естественно, такую ошибку заметить сложно, особенно если она на высоком таймфрейме. Благо, чаще всего они не сильно влияют на результаты тестов, хотя бывают и исключения. Поэтому стоит сверять котировки от нескольких разных поставщиков, чтобы получить максимально достоверные цены.

Ну и самая распространенная ошибка — это пропуск данных. Просто по каким-то причинам определенный отрезок времени в базу не записывается, образуя разрывы котировок. Чаще всего такая проблема встречается в праздники, на Новый Год и в ночные периоды. Чем «дырявее» график, тем меньше реальности в тестах. Эта проблема также решается заполнением пробелов из других источников.

Как вы уже поняли, при тестировании советников вопрос формирования качественного архива котировок выступает в качестве задачи номер один. Но, к сожалению, терминал MT4 не имеет встроенных средств для проверки целостности исторических данных, поэтому приходится использовать вспомогательные инструменты, которые восполняют этот досадный пробел в оснащении платформы.

Какими, на мой взгляд, должны быть качественные исторические данные?

Качественные исторические данные формируются из баров периода М1. Все, что выше, дальше отодвигает нас от точности воспроизведения поведения советника. При формировании истории котировок лучше всего использовать котировки М1. Более того, в идеале тестирование советников лучше всего проводить по котировкам М1. При этом необходимо убедиться, что в самом коде советника жестко заданы периоды, а не выставлен период по умолчанию (Period()), иначе вы получите совсем не те результаты, на которые рассчитывали, ведь алгоритм будет работать не так, как планировалось.

Также стоит помнить, что советник просто обязан работать именно на открытии свечи. Для этого, как правило, в код советника прописывают специальную функцию, которая разрешает торговлю только когда открывается новая свеча заданного таймфрейма. Для того, чтобы делать надежные тесты не по закрытию свечи, вам будут нужны качественные тики и специальный софт, позволяющий проводить такие тесты. Если этого у вас нет — терминал будет сам придумывать то, что творилось внутри свечей. Сами понимаете — он может напридумывать все, что угодно.

Такие данные не имеют существенных провалов, то есть так называемых «дыр». Это зависит в первую очередь от поставщика котировок – насколько бесперебойно работало оборудование, сохраняющее исторические данные.

Такие котировки не имеют пропусков единичных или нескольких баров. В идеале нужно иметь стопроцентную полноту котировок (не путать с качеством моделирования). 100% полнота истории минутных котировок, на мой взгляд, необходима потому, что из минутки формируются последующие таймфреймы и отсутствие некоторых минутных баров, в конечном итоге, порождает «кривые» бары более высоких таймфреймов.

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

Анализ дыр на истории котировок

Узнать качество графика поможет скрипт history_data_analysis.

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

При анализе учитываются только выходные дни (суббота и воскресение — 48 часов), остальные моменты код считает дырами или разрывами. Для удобства работы на графике в коде предусмотрен фильтр, где можно задать количество отсутствующих баров на таймфреймах (M1,5,15,30), которые код будет игнорировать как дыры, количество отсутствующих баров (минимальное значение), которое код считал бы разрывом (по умолчанию 20 баров), а также количество отсутствующих пипсов, которые код будет игнорировать как гэп. После запуска скрипта и окончания его работы вы увидите сообщение:

Для примера я провел тестирование качества котировок пары EURUSD Alpari:

Ну и для примера сделаем такой же тест для котировок Dukascopy EURUSD M1:

Как вы можете убедиться, использовать для тестирования лучше всего данные от Dukascopy — общее качество котировок тут находится в районе 99,55%. Всего 0,45% пропусков и разрывов, очень неплохой результат. Тем не менее, у нас по-прежнему 4662 разрыва – не хватает почти двадцать пять тысяч баров и целых 39740 пунктов. А поэтому — для максимально достоверных тестов эту проблему придется устранять.

Доведение качества котировок до 100%

1. Я рекомендую для базовой истории котировок использовать данные от Ducaskopy, в них мало всего дыр и их потом меньше придется «латать». Для этого можно воспользоваться любой вспомогательной программой, которая загружает тики Ducaskopy. Я рекомендую Tickstory Lite.

2. После закачки тиков в программе Tickstory Lite, нажмите правой кнопкой мыши на интересующей вас валютной паре и выберите пункт «Экспорт в файл»:

3. Заполните поля с настройками:

4. Откройте каталог данных:

5. В каталоге данных находим папку history, затем находим нужную папку по названию нашего сервера:

6. Удаляем все hst файлы нужной валютной пары.

7. Экспортируйте скачанные котировки в терминал, нажав F2, выбрав нужную валютную пару, период М1 и нажав кнопку «Импорт»:

8. Откройте график валютной пары периода М1.

9. Проведите тест качества при помощи скрипта history_data_analysis. По полученному в результате тестирования текстовому файлу нужно найти наиболее критичные места. Затем эти критичные места удаляются. Их мы будем позже восполнять котировками из других источников (ставить так называемые «заплатки»).

Хочу отдельно обратить ваше внимание на отсутствие котировок во время новогодних праздников – многие брокеры в это время просто не работают, а те источники, брокеры которых работают, в канун нового года похожи на решето и найти сколь-нибудь адекватную историю за этот период бывает очень сложно. Поэтому ничего сильно страшного не случится, если пара дней в канун нового года просто будет отсутствовать – ее стоит удалить совсем, иначе советники на тестах могут показать неправильные результаты.

10. Откуда брать сырье для заплаток — мы уже обсуждали в этой статье. Вам понадобится один, может, два источника — все зависит от конкретного случая.

11. Прежде всего ваши данные для заплаток нужно привести к формату csv, если они у вас в hst формате, и в этом поможет скрипт hst2csv.

12. Затем эти данные из других источников нужно привести к правильному времени, а именно выставить для них тот же GMTOffset, что и у вашего брокера, и у корректируемых котировок. Не стоит упускать из виду, так это информацию о том, какой точно сдвиг относительно GMT у конкретного источника котировок, менялся ли он когда-либо и использовался ли перевод на зимнее/летнее время. Например, котировки Alpari до 2020 года имели GMT+2, а после 2020 – GMT+3.

Чтобы это сделать, вам потребуется отдельный терминал. В него нужно по очереди загружать котировки каждого из источников, изменять время GMT при помощи скрипта GMTconverter, который я написал, когда обнаружил, что по какой-то причине в сети подобных скриптов нет. Скрипт вы сможете найти/скачать в конце статьи. Также вы можете при импорте скачанных котировок в отдельный терминал указать нужный GMT, но иногда это не работает. Для того, чтобы указать нужный GMT при импорте котировок, нужно указать «Сдвиг» в часах. Затем эти котировки нужно экспортировать, нажав кнопку экспорт. Таким образом, котировки сохранятся в нужном формате и с нужным вам GMT.

13. После приведения котировок к нужному виду просто открываем наш файл с нашим тестом качества и источник заплаток, который мы получили. Причем открывать файлы нужно именно в Блокноте, так как Excel может не открыть файл целиком, если истории довольно много.

14. Находим каждый из проблемных отрезков в файле для заплаток и переносим куски в отдельно открытый файл Блокнота:

15. Если в одном из источников не хватает данных, пробуем найти в других источниках.

16. Далее сохраняем подготовленный файл в формате csv. Просто меняем расширение файла с txt на csv.

17. Импортируем в терминал к котировкам Ducascopy. Удаленные участки автоматически восстановятся из подготовленного нами файла.

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

19. Теперь приходит очередь второго скрипта AllMinutes_Step1. Что он делает? Дело в том, что те минутные бары, в которых ничего не происходило и не было никаких цен, терминал автоматически пропускает. Скрипт осуществляет техническое наполнение пропущенных баров для обеспечения в последующем правильной генерации свечей более высоких таймфреймов. Итак, бросаем его на график и включаем вкладку «Эксперты». Это вкладка нам нужна, чтобы увидеть сообщение о завершении работы этого скрипта и его краткий отчет.

20. Как только появилось сообщение о завершении работы скрипта, нужно открыть автономный график (Файл — Открыть автономно — ALLEURUSD1):

21. Бросаем на открывшийся график первый скрипт history_data_analysis. Получаем отчет, к которому мы вернемся несколько позднее.

22. Далее в работу запускаем третий скрипт — hst2csv. Дело в том, что предыдущий скрипт в процессе своей работы не просто заполнил на графике в автономном режиме все пропущенные бары, но еще и сформировал такую же полную базу котировок в формате hst. Файл образовался в папке истории и имеет название «ALLEURUSD1». Запускаем на автономном графике скрипт history_data_analysis. Теперь нам придется этот файл ALLEURUSD1.hst переформатировать в управляемый (с точки зрения сдвигов времени) формат .csv, что собственно и будет делать скрипт hst2csv.

23. А теперь вернемся к отчету, сделанному по результатам анализа автономного графика. Это необходимо для того, чтобы отследить те минимальные пробелы, которые могут быть не замечены скриптом. Такое случается не всегда, но иногда бывает. Скрипт нашел и заполнил тысячи одиноких баров, но, увы, мог несколько и пропустить. А поэтому этот недочет придется устранять вручную.

В принципе, это несложно — в отчете в таблице указаны конкретные координаты этих пропусков. Поэтому работа очень похожа на ту, что мы делали в пункте 14. В общем, заходим в папку «Файлы». Открываем «ALLEURUSD1.csv» при помощи программы Блокнот. Используя функцию «поиск», оказываемся в нужной дате. Заполняем пропущенные бары последней известной ценой, не забывая изменять время баров.

24. Открываем в терминале архив котировок (F2), удаляем всю хранящуюся в нем историю формата hst, после чего загружаем этот новый сконвертированный файл. Снова закрываем и открываем терминал. Открываем график, в нашем случае EURUSD M1 и делаем контрольный замер скриптом history_data_analysis на случай, если мы что-то упустили.

25. Дело осталось за малым — за скриптом period_converter_ALL. С ним вообще все просто — бросаем на график и смотрим в верхний левый угол — пока там бегут цифры, скрипт еще работает. Как только движение в том углу прекратится, значит работа завершена. И в конце последовательно переключаем все таймфреймы, чтобы они подгрузились.

Заключение

Вот и все — в нашем терминале теперь котировки 100% качества. Можно получить максимально точное тестирование и хорошую гарантию достоверности результатов, если есть вспомогательные таймфреймы периода М1, которые на 100% покрывают исследуемый период.

Таким образом — вопрос качественного тестирования превращается в поиск детальных исторических данных и последующей сборкой котировок максимально возможного качества. В любом случае, если вы хотите получать достоверные результаты тестов, вы должны озаботиться своей собственной качественной базой исторических данных.

Введение в TSLab

TSLab – программа, которая позволяет пользователю без специальных навыков создавать, тестировать, применять и модифицировать торговые системы. Благодаря визуальному редактору разработка торговых роботов стала намного проще. Оптимизация стратегии происходит быстро и эффективно. TSLab подходит как новичкам, так и профессионалам.

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

Импорт котировок с сайта Finam

Заходим на сайт finam.ru, открываем раздел Теханализ (ссылка вверху страницы), слева выбираем Экспорт котировок . Выбирем интересующий нас рынок, например, МосБиржа фьючерсы , и нужный актив, например, индекс RTS.

Выбираем нужный таймфрейм (1 минута) и период времени (вводим даты начала и окончания периода, для минуток — не более 1 года). Формат файла: txt . Формат даты: ггггммдд ; формат времени: ччммсс . Выдавать время: начала свечи . Время московское (ставим галочку). Разделить полей: запятая. Разделитель разрядов: нет. Формат записи в файл: TICKER, PER, DATE, TIME, OPEN, HIGH, LOW, CLOSE, VOL . Добавить заголовок файла: да (ставим галочку). Заполнять периоды без сделок: нет (не ставим галочку, рис.1).

Рис. 1. Форма экспорта данных на сайте finam.ru

Нажимаем кнопку Получить файл и терпеливо ждём. По окончании процесса скачивания обязательно проверяем данные (открываем скачанный файл в каком-либо текстовом редакторе или в Excel). На рис.2 показано, как выглядит полученный текстовый файл. Поместим файл в отдельную папку, которую назовём, например, FinamData .

Рис. 2. Текстовый файл, полученный с сайта finam.ru

В программе TSLab выполним команду главного меню Инструменты ‣ Менеджер поставщиков данных . В открывшемся окне нажмём кнопку Добавить . Выберем опцию Исторические данные и нажмём кнопку Далее . В поле Имя введём название источника данных, например, Finam . В поле Тип выберем Текстовые данные и опять нажмём кнопку Далее .

В поле Путь укажем каталог, в котором находится скачанный файл. В поле Количество знаков введём количество знаков после запятой для данного актива (для фьючерса на индекс RTS равно нулю). В поле Шаг цены введём 10. Размер лота укажем 1. Коэфициент кредитования (плечо, т.е. отношение цены контракта к гарантийному обеспечению) укажем 20. В поле Валюта напишем пункт . В поле Задержка исполнения (для имитации проскальзывания, используется только для тиковых данных) введём 0. Нажмём кнопку Готово .

Теперь можно закрыть менеджер поставщиков данных и открыть графки, для этого выполним пункт главного меню Файл ‣ Открыть ‣ График . В открывшемся окне щёлкнем правой кнопкой мыши по пустому фону и в появившемся меню выберем пункт Свойства . Укажем только что созданный источник данных и выберем актив (фьючерс RTS). Нажмём кнопку OK . В разделе Исторические даные укажем начальную дату для отображения графика. Нажмём кнопку OK . Будет построен график (рис.3).

Рис. 3. Минутный график фьючерса RTS в программе TSLab

Список русскоязычных брокеров бинарных опционов:
  • БИНАРИУМ
    БИНАРИУМ

    1 место! Самый лучший брокер бинарных опционов для СНГ!
    Бесплатное обучение трейдингу и демо-счет!
    Получите бонус за регистрацию, перейдя по ссылке:

  • БИНОМО
    БИНОМО

    2 место! Только для опытных трейдеров

Добавить комментарий