В прошлой статье, посвященной торговой системе на паре рубль-доллар, мы протестировали на исторических данных алгоритм, определили необходимые параметры стратегии и выяснили риски. Настало время применить полученные знания в написании торгового робота для торгового терминала QUIK. В прошлой статье, посвященной торговой системе на паре рубль-доллар, мы протестировали на исторических данных алгоритм, определили необходимые параметры стратегии и выяснили риски. Настало время применить полученные знания в написании торгового робота для торгового терминала QUIK. Вначале хотелось бы описать структуру файлов робота. Самого робота я назвал BEC (Break Extremum Candles) Все файлы снабжены большим количеством комментариев, которые будут понятны любому человеку. Однако необходимость разобрать структуру робота всё же есть (Рис. 1). Рис. 1. Алгоритм торгового робота Со входом в позицию, при реализации, проблем не должно возникнуть, т.к. работа происходит на стандартном механизме транзакций, о которых можно почитать непосредственно в документации к QUIK. Выполнение функции осуществления сделки вынесено в отдельную функцию createOrderByMarket(), которая описана в файле func.qpl. В качестве параметров в этой функции выступают operation – тип операции "B" или "S" (Покупка или продажа соответственно), shareCount – количество лотов для покупки. Прежде чем запускать робота, нужно отредактировать конфигурационный файл. Необходимо указать корректные номера счета, код инструмента, установить проскальзывание и другие служебные переменные в файле config.qpl. Загрузка робота в QUIK происходит с помощью стандартных действий. Для этого выбрать в меню – Таблицы – Портфели – Задать портфель, затем выбрать Таблицы – Портфели – Просмотр портфеля, и выбрать загруженный скрипт RobotBEC (Рис. 3, Рис 4). Рис. 3. Загрузка робота Рис. 4. Внешний вид робота Код торгового робота на QPILE