🗝Багатенький Буратина
🗝Багатенький Буратина личный блог
21 февраля 2016, 22:54

Пишу MarketScanner. 21.02.2016

Продолжаю писать в свободное от работы время собственный market scanner.

Решено, что сканер будет состоять из двух программ, работающих независимо:
1) Database, которая будет вытягивать исторические данные через IB TWS, формировать из них базу данных.
2) Scanner + Visualizer, собственно поиск паттернов, отображение чартов, подача сигналов, выставление ордеров и т. д.
Предполагается, что работать они будут параллельно и круглосуточно, скачивая и сканируя весь рынок на предмет точек входа.
 
Торговые данные будут храниться на диске в виде XML-файлов — текстовый формат более удобен для ручной инспекции, он расширяем, может читаться разными парсерами и т. д. Для работы с XML я подключил библиотеку TinyXML: https://sourceforge.net/projects/tinyxml/

Тестовый код работает следующим образом: в XML-файле хранится список тикеров, по которым нужно получить исторические данные. Для простоты я начал с компаний из списка S&P 500. Программа идёт по списку и вытягивает исторические данные за последний год для каждого тикера. Полученные данные записываются в соответствующий XML-файл, который имеет такое же символьное сокращение как и у тикера.

Пишу MarketScanner. 21.02.2016
Пишу MarketScanner. 21.02.2016
Пишу MarketScanner. 21.02.2016
Кстати уже столкнулся с ограничениями IB по запросу исторических данных:
Пишу MarketScanner. 21.02.2016
Поэтому следующим шагом станет внедрение request policy — алгоритма, который будет учитывать кол-во отосланных запросов и отсчитывать время для нового запроса таким образом, чтобы не нарушать historical data request limitations (описаны здесь: www.interactivebrokers.com/en/software/api/apiguide/api/historical%20data%20limitations.htm).
Ограничения введены IB скорее всего для защиты их серверов от «заDDoS-ивания» непрерывными запросами.
12 Комментариев
  • Капитан Сильвер
    21 февраля 2016, 23:03
    Подключись к яху, проще будет, если ты дневки тянешь.
  • Самокритичный трейдер
    21 февраля 2016, 23:06
    Т.е. проще ухандохать тонну времени на программу которая с погрешностями тянет маркет дату, чем её купить у биржи без погрешностей?:) Зачётное уничтожение ресурсов времени и труда:)
    • Капитан Сильвер
      21 февраля 2016, 23:33
      Самокритичный трейдер, зачем тонну времени? Знакомый за пол дня под пиво написал коротенький скрипт.
      Там же API. Ничего выдумывать не надо. И с чего вы взяли что у Яхи есть погрешности?
      • Самокритичный трейдер
        22 февраля 2016, 00:08
        Капитан Сильвер, Ну купи маркет дату и сверь по экселю. Сам увидишь. Что мне тебе словами что ли доказывать?:)
  • silentbob
    21 февраля 2016, 23:35
    продам доступ к реальному аккаунту thinkorswim. там маркет-сканер — очень и очень крутой, можно даже свои параметры описывать скриптом.
  • MezonMaksimov
    22 февраля 2016, 01:07

    Дык это же реализовано уже 100 раз. www.marketscreen.com

    там скрипт ходил  по всему рынку и на различных таймфреймах давал сигналы по огромному списку паттернов  Кстати не взлетело. Пришлось продать.

      • Niktesla (бывш. Бабёр-Енот)
        22 февраля 2016, 09:38
        Багатенький Буратина, молодец!
        А ты из IB нахаляву историю тянешь, или нужно счет у них открывать и т.п.? 
        ты дневки тащишь, или чего помельче?
        ограничения срабатывают когда историю по тикерам выкачиваешь, или даже когда просто свечи за сегодняшний день запрашиваешь?

      • MezonMaksimov
        22 февраля 2016, 16:42
        Багатенький Буратина, дык я же не настаиваю, просто подумалось, что если вам для составления базы + скрипт кт ее филит понадобился сторонний человек, то придется и на остальное или его нанимать или покупать модули кт ищут паттерны. Как сейчас помню — модуль для паттернов по candles — стоил 200$. Т.е. в итоге выйдет оч дорого. Попробуйте для примера написать программку кт, будет искать dobble top. Но с другой стороны, Вы же богатенький )

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн