Облигационный торговый робот — различия между версиями
Материал из ТХАБ.РФ
СмартЛаб (обсуждение | вклад) м (→Код робота) |
СмартЛаб (обсуждение | вклад) м (→Код робота) |
||
Строка 5: | Строка 5: | ||
--Вывод сообщения с количеством сделок при каждом получении/изменении сделок | --Вывод сообщения с количеством сделок при каждом получении/изменении сделок | ||
--<BODY | --<BODY | ||
− | message("Скрипт запущен.") | + | message("Скрипт запущен. Основной поток") |
--BODY> | --BODY> | ||
+ | |||
function OnInit(script) -- Инициализация | function OnInit(script) -- Инициализация | ||
− | message("OnInit()", 2) | + | message("Начало инициализации - запуск OnInit()", 2) |
is_run = true | is_run = true | ||
end -- Конец инициализации запуск доп. потока | end -- Конец инициализации запуск доп. потока | ||
+ | |||
-- ФУНКЦИИ ОБРАБОТКИ СОБЫТИЙ - Основной поток!! (Функции обратного вызова) | -- ФУНКЦИИ ОБРАБОТКИ СОБЫТИЙ - Основной поток!! (Функции обратного вызова) | ||
function OnTrade(trade) -- Обработка события ПРОДАЖА | function OnTrade(trade) -- Обработка события ПРОДАЖА | ||
Строка 26: | Строка 28: | ||
return 2000 -- 2 секунды на остановку доп. потока | return 2000 -- 2 секунды на остановку доп. потока | ||
end | end | ||
+ | |||
-- Дополнительный поток - НАЧАЛО | -- Дополнительный поток - НАЧАЛО | ||
function main() -- НАЧАЛО основного потока | function main() -- НАЧАЛО основного потока | ||
− | message("main()", 2) | + | message("Начало работы main() - Доп поток", 2) |
while is_run do -- Основной цикл доп. потока | while is_run do -- Основной цикл доп. потока | ||
sleep(100) -- имитация обработки | sleep(100) -- имитация обработки | ||
end -- Конец цикла while | end -- Конец цикла while | ||
end -- Дополнительный поток - КОНЕЦ | end -- Дополнительный поток - КОНЕЦ | ||
− | + | ||
− | --<BODY | + | --<BODY |
− | + | message("Здесь тоже <BODY>", 2) | |
− | --BODY> | + | --BODY> |
== См. также == | == См. также == |
Версия 20:42, 31 марта 2020
Описание торгового робота
Код робота
--Вывод сообщения с количеством сделок при каждом получении/изменении сделок --<BODY message("Скрипт запущен. Основной поток") --BODY>
function OnInit(script) -- Инициализация message("Начало инициализации - запуск OnInit()", 2) is_run = true end -- Конец инициализации запуск доп. потока
-- ФУНКЦИИ ОБРАБОТКИ СОБЫТИЙ - Основной поток!! (Функции обратного вызова) function OnTrade(trade) -- Обработка события ПРОДАЖА message(string.format("Обработка сделки №%i по инструменту %s [%s]", table_of_trades[1].trade_num, table_of_trades[1].sec_code, table_of_trades[1].class_code)) number_of_trades = getNumberOf("trades") message("Общее количество сделок: " .. number_of_trades) end
function OnStop() -- Событие Остановка скрипта message("OnStop()", 2) is_run = false return 2000 -- 2 секунды на остановку доп. потока end
-- Дополнительный поток - НАЧАЛО function main() -- НАЧАЛО основного потока message("Начало работы main() - Доп поток", 2) while is_run do -- Основной цикл доп. потока sleep(100) -- имитация обработки end -- Конец цикла while end -- Дополнительный поток - КОНЕЦ --<BODY message("Здесь тоже <BODY>", 2) --BODY>
См. также
Ссылки
- https://smart-lab.ru/algotrading/Есть%20ли%20в%20свободном%20доступе%20пример%20самого%20простого%20торгового%20робота%20на%20QLua Обсуждение этого торгового робота