codeFlowType:
codeWrite
codeFlowLang:
Lua
Запрограммируй подробный lua-скрипт торгового робота под Quik
Создание торгового робота для Quik на языке Lua — это задача, которая требует знания API QUIK и понимания принципов работы с финансовыми инструментами. Вот пример простого торгового робота, который может быть использован в качестве основы. Этот скрипт будет отслеживать цену определенной бумаги и будет выполнять покупку, если цена падает ниже определенного уровня.
-- Настройки торговли
local CLASS_CODE = "TQBR" -- Код класса, например, акции
local SEC_CODE = "SBER" -- Код бумаги, например, Сбербанк
local QUANTITY = 1 -- Количество, которое вы хотите купить
local BUY_THRESHOLD = 2500 -- Уровень цены для покупки
-- Функция, выполняющая покупку
function buy_stock()
local order = {
CLASSCODE = CLASS_CODE,
SECCODE = SEC_CODE,
ACTION = "NewOrder",
TRADEACCOUNT = "YOUR_TRADE_ACCOUNT", -- Укажите ваш торговый счет
ORDERTYPE = "Buy",
PRICE = BUY_THRESHOLD,
QUANTITY = QUANTITY,
CLIENTCODE = "YOUR_CLIENT_CODE" -- Укажите ваш клиентский код
}
-- Отправка заявки на покупку
local result = send_order(order)
if result then
print("Заказ на покупку успешно отправлен.")
else
print("Ошибка при отправке заказа.")
end
end
-- Основной цикл, который будет проверять цену
while true do
local last_price = get_last_price(CLASS_CODE, SEC_CODE) -- Получаем последнюю цену
print("Последняя цена: " .. last_price)
if last_price < BUY_THRESHOLD then
buy_stock() -- Выполняем покупку, если цена ниже порога
break -- Выходим из цикла после успешной покупки
end
-- Ждем 10 секунд перед следующей проверкой
sleep(10000)
end
Настройки торговли: Определены переменные с кодами класса и бумаги, количеством акций для покупки и уровнем цены, при которой будет выполнена покупка.
Функция buy_stock
: Создает новый заказ на покупку и отправляет его через send_order
. Не забудьте заполнить YOUR_TRADE_ACCOUNT
и YOUR_CLIENT_CODE
вашими данными.
Цикл проверок: Каждые 10 секунд скрипт проверяет последнюю цену бумаги. Если она ниже установленного порога, выполняется функция покупки.