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