Блог им. hacktrade

Фреймворк для написания торговых роботов

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

Плюсы:
  • работает в QUIK без лишних усилий
  • робот работает быстро (можно делать роботов на тиках)
  • поддерживаются графики
  • «умные заявки» избавляют от бесконечной отладки
  • можно компилировать в один файл и продавать
  • открытый исходный код

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

Пример торгового робота:

dofile("hacktrade.lua")

function Robot()

    feed = MarketData{
        market="QJSIM",
        ticker="SBER",
    }

    order = SmartOrder{
        account="NL0011100043",
        client="74808",
        market="QJSIM",
        ticker="SBER",
    }

    ind = Indicator{
        tag="MAVG",
    }

    while true do
        if feed.last > ind[-1] then
          order:update(feed.last, 10)
        else
          order:update(feed.last, -10)
        end
        Trade()
    end
end


Это пример реверса по скользящей средней.  Пример тривиальный, но надёжный )
Робот догоняет цену. Если снимите заявку, он выставит количество, которое не успел купить/продать. Остаётся приобрести лежак и ехать на карибы.
Попробуйте в действии )

Фреймворк с драфтом документации лежит здесь: https://github.com/hacktrade/hacktrade
Качайте, пользуйтесь. И, жду ваших отзывов. Спасибо!
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
1.6К | ★34
9 комментариев
Не очень знаком с луа, поэтому возник вопрос: что за функция Trade()? Это встроенная функция или написанная Вами? Если Вами, то каков ее код?
avatar
А. Г., Рад видеть :)

Это псевдоним стандартной функции coroutine.resume, код можно посмотреть здесь: github.com/hacktrade/hacktrade/blob/develop/hacktrade.lua

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

Технически вся магия происходит в методе main (можно посмотреть по той же ссылке), там в цикле вызывается сопрограмма, которая создаётся из функции Robot.
avatar
hacktrade,

Спасибо, посмотрю.
avatar
а под сишарп с вызовом данных по дде нету? :))
avatar
kos2929, поддерживается только Lua ) Идея как раз в том, что запускаешь один файл и ничего не настраиваешь в терминале. Вообще )

Плюс синтаксический сахар, язык докручен, чтобы быть более предметно-ориентированным.
avatar
СПС,hacktrade, очень полезная штука. Сделал 4 советника — все работает!!! надеюсь фрэйм будет дальше развиваться и расширяться.
p.s. намного полезней QL (ИМХО)
avatar
Vladimir, спасибо! Да, фреймворк готов развивать, но ещё больше буду рад энтузиастам, которые смогут помогать в его развитии, так как весь код открыт ) Или присылайте пожелания по функционалу на GitHub.
avatar
Здравствуйте. Не совсем умные заявки. При частичном исполнении не выставляются на продажу/откуп исполненные лоты — это морозилово денег и вероятной прибыли от частично исполненных лотов. При смещении заявки вручную — выставляется новая. Ручные заявки в замен выставленных роботом — фуу… не хорошо — надо снять и выставить там, где робот выставлял изначально.
В целом, фреймворк понравился. Мало комментариев на русском.
Спасибо.

Читайте на SMART-LAB:
Рынок WorkTech и HRTech в октябре: инвестиции, сделки, M&A
Собрали важные раунды и сделки за сентябрь. Компании активно инвестируют в безопасность ИИ-автоматизации, а через M&A расширяют продукты для найма,...
Фото
Новый терминал для трейдинга: бесплатно весь ноябрь!
Ура! Мы это сделали! Запустили новый софт Live Trader – терминал для объёмного и технического анализа. А теперь хотим, чтобы вы сами попробовали...
Фото
Каким вы видите следующий годовой отчёт ДОМ.PФ?
Наш годовой отчёт три года подряд получал награды на конкурсе Мосбиржи. Это высокая оценка экспертов и профессионалов рынка капитала. Но мы...
Фото
Коротко по дивиденду Диасофта. Глазков на смартлабе. Прогноз на ближайший отчет.
На этой неделе объявлен квартальный дивиденд Диасофта. Много это или мало? Можно ли предсказать из дивиденда финансовые результаты 2 квартала,...

теги блога hacktrade

....все тэги



UPDONW
Новый дизайн