Closed ffeast closed 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 инструмент несколькими ботами
done, пока для акций/фьючей 9eedae977f334bb938600c1fbc80640ef8e15f34
При перезапуске скрипта/квика необходимо сохранять/загружать состояние ордеров.
Сложность здесь в том, что сам код скрипта может иметь некий state, и чтобы при перезапуске оказаться в нужном месте его код должен быть организован определенным способом, что сильно ограничивает гибкость фреймворка