Облигационный торговый робот — различия между версиями
Материал из ТХАБ.РФ
СмартЛаб (обсуждение | вклад) |
Админ (обсуждение | вклад) м |
||
(не показаны 4 промежуточные версии 1 участника) | |||
Строка 3: | Строка 3: | ||
== Код робота == | == Код робота == | ||
+ | --Вывод сообщения с количеством сделок при каждом получении/изменении сделок | ||
+ | --<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 Обсуждение этого торгового робота | * https://smart-lab.ru/algotrading/Есть%20ли%20в%20свободном%20доступе%20пример%20самого%20простого%20торгового%20робота%20на%20QLua Обсуждение этого торгового робота |
Текущая версия на 12:20, 6 апреля 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 Обсуждение этого торгового робота