Облигационный торговый робот — различия между версиями

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
(Код робота)
м (Код робота)
Строка 7: Строка 7:
 
   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) -- Обработка события ПРОДАЖА
 
   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)
+
    message("main()", 2)  
while is_run do
+
    while is_run do -- Основной цикл доп. потока
sleep(100)
+
      sleep(100) -- имитация обработки
end
+
    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>

См. также

Ссылки