Блог им. 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.5К | ★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:
Фото
Портфель активного трейдера. Первые изменения
Мы продолжаем вести модельный портфель для активного трейдера. В регулярном материале отражены текущие изменения в портфеле с...
🔔 Завтра — результаты Займера за I квартал
Напоминаем, что вебинар по финансовым результатам Займера за I квартал 2026 года состоится уже завтра в 11:00 МСК. Генеральный директор компании...
Фото
Витрина облигаций
Рубль на максимумах: время фиксировать доходность в валюте? ↗️ Национальная валюта укрепилась до уровня 10,8 рублей за юань, вновь...
Фото
Хэдхантер. Отчет МСФО за Q1 2026г. Всё будет непросто…но…есть надежда.
Вышли финансовые результаты по МСФО за Q1 2026г. от компании Хэдхантер: 👉Выручка — 9,49 млрд руб. (-1,5% г/г) 👉Операционные расходы —...

теги блога hacktrade

....все тэги



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