Практика no image

Опубликовано 8 июня | автор Forex Фактор

21

Импорт архива котировок в OwnData для TradeStation

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

Хочешь один раз накормить человека – дай ему рыбу.
Хочешь накормить его на всю жизнь – научи его ловить рыбу

Вот и мы будем учиться «ловить рыбу».
Со вступлением покончено, давайте займемся делом.

Сегодня мы скачаем архивные котировки в программу технического анализа, чтобы потом создать и протестировать свою торговую систему.
Заходим на сайт Финама в раздел экспорта и скачиваем архивы котировок, на которых вы планируете тестировать вашу систему. Я скачал архив часовок по РАО ЕЭС и Лукойлу с января 2005 года по сегодняшний день.

finam

Теперь необходимо вставить эти данные в программу технического анализа. Я использую программу TradeStation вместе с OwnData, поэтому покажу как это сделать на примере этих программ. Здесь есть инструкция для  multicharts.

Запускаем QuoteManager, входящий в состав OwnData. Прежде чем импортировать данные необходимо настроить параметры биржи. Заходим в Tools – Exchanges & ECNs. Российских бирж в списке нет, поэтому мы создадим новую, для этого жмем Add. Дайте название бирже, и укажите параметры сессии как на рисунке.

Настройка биржи

На второй закладке Time Zone укажите часовой пояс биржи (+03:00, Moscow)

Теперь надо создать инструмент (символ). Для этого заходим в меню Symbol – Add Symbol – Manualy (или просто жмем INS на клавиатуре). Указываем Data Source – Ascii Mapping, Category – Stock, Exchange – та биржа, которую вы создали раньше. В поле Symbol укажите название инструмента. Вот как это получилось у меня:

addsymbol

Нажмите ОК и откроется окно редактирования свойств добавленного инструмента. На первой закладке Stock в поле Symbol Root укажите то же имя, которое вы дали самому инструменту. Больше ничего менять не надо, нажимайте ОК.
Мы создали инструмент, теперь импортируем котировки. Щелкните правой кнопкой по инструменту, в который будете импортировать данные данные и выберите Import Data – ASCII.

pkm-import

Укажите, какой файл необходимо импортировать и проверьте соответствие полей импорта (красная полоса на картинке).

Окно импорта котировок

Нажмите ОК и дождитесь окончания импорта.

Теперь запускаем TradeStation и смотрим, что же у нас получилось.
Настройте чарт как показано на картинке

Настройка чарта в TradeStation

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

Метки: , ,


К статье Импорт архива котировок в OwnData для TradeStation 21 комментарий

  1. репликатор САС-П001-01 says:

    Вопрос от репликатора первого уровня к Торговому роботу.
    Как автоматически скачивать архивные котировки в Excel?Какой машинный код(язык) при этом использовать?Может ли робот сам заполнять “пустые поля”(период,дату и т.д.)на сайте финама?
    Мне очень нравится ваша наглядность.(улыбаясь)Это прямо инструкция, которые САС-П001-01 очень любит.

  2. Торговый робот says:

    Спасибо, САС-П001-01 :-)
    Вопросы серьезные или просто шутка? Отвечать или тоже улыбаться?

  3. репликатор САС-П001-01 says:

    (серьёзно)Да-а-а вообще то нет.У меня действительно есть проблемы с забором архива из интернета.Мне советуют QUIK, но там нет(или я не нашёл) той структуры котировок, которая представлена на финаме.Поясняю-“дата-период-max(внутри этого периода)-min(внутри этого периода)-последняя).Мне хочется, чтобы скачивание происходило автоматически по моим настройкам прямо в Excel…не в Metastock, не в Omega…именно в Excel.(сейчас улыбаясь)Если поможете самонастраивающейся автоматической системе-(литера создателя)…001-01 буду признателен, но помните…репликатор имеет свойство обучаться.

  4. Торговый робот says:

    Не совсем понял, Вам нужно скачивание архива котировок или все-таки чтобы котировки поступали в Excel в реальном времени? Если так, то тут без Quik не обойтись.

  5. репликатор САС-П001-01 says:

    Автоматическое скачивание архива котировок

  6. Торговый робот says:

    Чтобы что-то автоматизировать в Excel придется писать макрос на VB.
    Сайт Финама не дает прямых ссылок на файлы котировок, чтобы можно было указать программе, отку��а скачивать их, тут можно воспользоваться программами, которые перехватывают post запросы браузера и потом этот запрос использовать в Excel.
    Проще брать данные из Quik. Для этого надо вывести график по нужному инструменту в нужном временном интервале и функцией GET_CANDLE в цикле перебрать нужное количество баров, сохраняя полученные данные (OHLCV) в файл (CSV), который потом импортировать в Excel
    Или выводить данные в пользовательскую таблицу и экспортировать в Excel через DDE – так можно получать данные даже в реальном времени.

  7. репликатор САС-П001-01 says:

    Теперь я не понял.”…и функцией GET_CANDLE в цикле перебрать нужное количество баров…”.Прокомментируйте данную фразу подробнее.А вот на финаме то-то и оно, что нет прямых ссылок, а мне нужны данные в виде талицы, а не в CANDLE.Вот в Quik нашёл в “Редактирование таблицы текущих параметров-Доступные параметры” только max-min за весь торговый день, а мне то надо внутри интервала(15мин например), как на финаме.

  8. Торговый робот says:

    Репликатор, теперь я понял что Вам надо. Сегодня вечером или завтра днем я найду часок свободного времени и сделаю для Вас решение этой небольшой проблемы :-)

  9. репликатор САС-П001-01 says:

    (задумчиво)Для вас небольшая…для 001-01(индекс интеллекта)большая.(улыбаясь)Ждёмс-с-с.Будем ждать,роботы умеют ждать…

  10. Corrivalis says:

    Выскажу свое мнение относительно Вашей идеи о “летнем марафоне по созданию робота”. Идея очень хорошая и думаю, материал будет интересен многим читателям. Пока мне известен только один пример торгового робота, выложенный в Интернете – это связка Amibroker+Quik на сайте Русский трейдер (там же в форуме есть обсуждение робота).
    По моему мнению, изложение данного материала должно быть, все таки, в виде пошагового руководства, а не в виде теоретичекого учебника. Говоря Вашей метафорой про ловлю рыбы – чтобы научить человека ловить рыбу, недостаточно объяснить словами, как это делается – надо показать, как устроены и работают снасти, как их лучше применить – т.е. раскрыть техническую сторону вопроса и показать на практике. Далее, по мере приобретения опыта, он сам выработает свои секреты ловли, поймет как совершенствовать снасти и методы ловли. Поэтому, без конкретного примера работающего робота все сведется к теоретическим рассуждениям без конкретного применения на практике и, соответственно, какого-либо практического понимания функционирования робота, проблем в этой области и путей их решения.
    В принципе, структуру робота можно описать в виде следующих функциональных модулей: 1)прием данных; 2)анализ данных, выработка торговых сигналов, фильтрация полученных сигналов для снижения количества ложных сигналов; 3)работа с заявками – выставление/удаление, контроль наличия и исполнения заявок на покупку/продажу/ограничение убытков и т.п.; 4)визуализация торговых сигналов, индикаторов и т.п. на графике; 5)инициализация каких-либо действий по снижению последствий в случае сбоя системы; 6)оповещение звуком, смс или по электронной почте владельца робота о каких-либо событиях.
    Нетрудно заметить, что все модули, кроме второго – чисто технические, успешность их реализации зависит от степени владения создателем робота языка программирования и понимания протоколов обмена данными между компонентами робота (если робот написан не в одной программе). Теорию по этим вопросам охватывают руководства по языкам программирования. Материал по построению торговой стратегии, который применяется в проектировании модуля 2 (формирование торговых сигналов) – т.е. стратегия торговли и ее тестирование, в избытке можно найти на любом крупном форуме по трейдингу. Вот в общем-то и вся, по крупному, теория построения робота. Для человека, не знакомого с программированием, пропасть между этой теорией и практикой может быть огромна. Поэтому, если вы в рамках своего “марафона” покажете рабочий пример робота с описанием практических проблем решения каждого из технических модулей (разработка торговой стратегии – отдельная тема) – это будет реальный обучающий материал для новичков. Естесственно, никто не требует от Вас раскрытия Вашей торговой стратегии – в примере, для генерации торговых сигналов, можно взять алгоритм стратегии пересечения двух средних или другую простую и широко известную стратегию.
    Также, интересен был бы материал о технической стороне торговли роботом – на каком тайм-фрейме оптимальней торговать роботом с точки зрения существующих скоростей обмена данными с сервером брокера, как брокеры реагируют на рост числа применений робота (ведь при этом, нагрузка на сервер брокера возрастает), какие рынки/брокеры предпочтительней для торговли роботом с точки зрения технических параметров: скорости и стабильности, какой робот предпочтительней – созданный полностью на qpile или в связке quik+программа теханализа, с точки зрения стабильности, скорости работы, широты функционала.
    Возможно, я выложил слишком высокие требования к материалу “марафона” – в любом случае, решение о подаче материала за Вами.
    Также, было бы неплохо, если бы Вы создали у себя на сайте библиотеку кодов на qpile, где Вы и посетители сайта смогли бы размещать свои готовые наработки, по типу форумов программ теханализа (Metastock, OTS, WLD, Amibroker) – это значительно бы упростило разработку роботов для новичков. По своему опыту – при изучении программ WLD и Amibroker я смог за вечер за вечер просмотра примеров кода других пользователей собрать процентов на 80 код своей системы для ее тестирования, абсолютно не имея опыта программирования и не зная языка программирования этих программ.

  11. Торговый робот says:

    Corrivalis, большое спасибо за такой …даже язык не поворачивается назвать это комментарием… за такой развернутый ответ.

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

  12. Сергей says:

    Что то не происходит импорта данных из файла – остутствует меню выбора файла. Помогите плз!!!

  13. Торговый робот says:

    Без паники, Сергей :-) Наверное, вы пропустили какой-то шаг при создании “инструмента” (бумаги), попробуйте все сначала неспеша.

  14. Тоха says:

    На шаге импорта котировок в окне ASCII Data Import вместо окна выбора файла отображается красный крестик в левом верхнем углу. Не понятно что делать. Может быть есть альтернативы OwnData?

  15. Mikle says:

    У меня не получается, помогите. Значит все сделалось корректно вплоть до последнего скриншота, я не могу уже в трейдстейшене написать навание инструмента, т.к. программа не понимает это. Такое ощущение что OwnData и TradeStation не видят друг друга. Это возможно? Как сделать чтобы TradeStation увидел данные OwnData ?

  16. Max says:

    Немного не в тему но тем не менее..

    У меня TS 8.3. Скачал с финама котировки ммвб в формате Metastock. В Tradestation через Symbol look up ввел фолдер куда сохрнил файлы. Все нарисовалось. Проблема в том, что когда вставляю стратегию окно с графиком начинает моргать и появляется текст Waiting for data.. symbol attributes.. Непонимаю какую дату он ждет и зачем? Может быть кто нибудь сталкиался с похожей проблемой?

    Макс

  17. igor says:

    Точно такая же проблема! может дело в windows vista?

    На шаге импорта котировок в окне ASCII Data Import вместо окна выбора файла отображается красный крестик в левом верхнем углу. Не понятно что делать. Может быть есть альтернативы OwnData?

  18. Ayrat says:

    У меня ХР и та же самая проблема. Нету меню выбора файла.

  19. гость says:

    и у меня такая же херь(

  20. buviar says:

    такой же крестик в левом верхнем углу

  21. Кеус says:

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

Back to Top ↑