Блог им. Burger

Тестирование работоспособности робота

Периодически встаёт задача протестировать корректность работы робота после
добавления нового кода. Естественно делать это на реальных торгах глупо.
Поэтому в робота добавляю демо-режим.
Суть этого режима в том, данные подаются на обработку не из терминала,
а из заранее подготовленного файла. Например с реальными тиковыми данными
за прошлый день. Через таймер генерится событие, скажем через 200 миллисекунд,
забирается блок данных и подаётся под видом данных из терминала.
Таким образом решаются 2 задачи:
— тестирование нового кода на корректную работу;
— вычисление пиковой нагрузки на робота сделок в секунду, когда он в теории
может перестать успевать за рынком.
7 комментариев
если робот работает на тиках — то не будет учтено его собственное влияние на стакан.
avatar
Spekyl, конечно, но это не тест стратегии по-большому
счёту, а лишь тест соответствия кода стратегии и отсутствия
ошибок в коде.
Андрей Кучумов, stocksharp.com/doc/?topic=html/ab42038e-836b-4c00-9332-0b2db2cbd948.htm типа такого?
avatar
reist, да. Мне по-началу лень было сделать демо-тест режим.
Запускал робота из под компилятора, чтобы ловить ошибки
во время торгов. Бывало довольно жестоко. Он по ошибке вошёл,
я в терминале руками закрыл, а он снова вошёл, а я не заметил. :)
Поэтому наличие возможности оттестировать вне рынка — это обязательно, тем более если Вы так себе программист,
чтобы на ходу понять в чём дело и за рынком следить.
Андрей Кучумов, у программистов это называется unit testing. Даже есть автоматические программы для запускания таких тестов по расписанию. Есть еще куда стремиться, вообщем. Вы молодец, пишите о своих работах в дальнейшем. На чем торгуете, как успехи, какие нынче подходы в плюс идут.
avatar
у меня тоже есть демо-режим, но котировки он берёт обычные.
только заявки выставляет в демо-терминал (эмуляцию)
Владимир Сарнацкий, всё, что касается воздействия на терминал
это можно тестировать. А вот его отклики…
Например есть в коде события — изменение в таблице своих заявок,
изменение в таблице своих сделок
для обратной связи отслеживания выставления и исполнения заявок
полного, частичного или вообще отказа. Эти ответы выдаёт биржа
и как поведёт себя связка робот-терминал при разной нагрузке
пока не знаю как эмулировать.

теги блога Андрей Кучумов

....все тэги



UPDONW
Новый дизайн