ffeast / hacktrade

Nano-framework for HFT-robots development.
41 stars 8 forks source link

Сохранение состояния ордеров #2

Closed ffeast closed 5 years ago

ffeast commented 5 years ago

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

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

ffeast commented 5 years ago

Как вариант не хранить отдельно никакого отдельного стейта, а просто считывать его из таблиц квика - робот получится достаточно устойчивым

ffeast commented 5 years ago

например вот так:

function Robot()
    local order = SmartOrder{
        market = ...,
        ticker = ...,
        account = ...,
        client = ... 
    }
    order:load() -- загружаем позиции из таблиц, метаданные нам дали при инициализации SmartOrder
    while IsWorking() do
       if order.position == 0 then
          -- логика при нахождении вне рынка
       else
          -- ищем вход
       end
    end
end

Такой робот будет устойчив к рестарту квика / скрипта. С другой стороны, не понятно как торговать 1 инструмент несколькими ботами

ffeast commented 5 years ago

done, пока для акций/фьючей 9eedae977f334bb938600c1fbc80640ef8e15f34