В прошлой статье мы
протестировали торговую систему на основе уровней Вуди. Она оказалась прибыльной. Теперь перед нами задача в программировании торгового робота по правилам торговой системы.
За основу возьмем встроенный язык в терминал Quik – Qpile.
Определим минимальный набор функций, которые должен уметь наш робот:
- Открывать позицию по определенным правилам и в определенное время
- Управлять позицией и стоп-лосом
- Соблюдать ограничение на количество сделок в день и время торговли
Теперь опишем
алгоритм работы робота с учетом специфики языка Qpile (Рис 1).
Теперь, когда алгоритм описан, остается его запрограммировать (код робота).
Робот на Qpile создается с помощью портфеля.
Для этого создадим файл robot_vudi.qpl – в этом файле будет храниться код нашего робота. Также для нашего робота потребуется файл, в котором мы будем хранить информацию и совершенных количестве сделок. Сохраним его в папке C:\temp\ под именем robot_vudi_data.txt.
Чтобы загрузить робота в Quik достаточно выполнить команды Таблицы – Портфели – Задать портфель (Рис 2) и нажать кнопку «Загрузить локально».
Таким образом, мы загрузили робота в Quik. Теперь надо заставить его работать. Для этого необходимо выполнить команду Таблицы – Портфели – Просмотр портфеля (Рис 4), выбрать портфель и нажать кнопку «Добавить все».
В результате на экране должно появиться окно с таблицей (Рис 5).
Рассмотрим основные настройки робота. Если открыть файл робота в любом текстовом редакторе, то мы увидим код робота. Рассмотрим настроечные параметры робота:
canTrade = 1 'Разрешено ли совершать сделки, 0 = запрещено, 1 = разрешено
clientAccount = "SPBFUT00000" 'Номер счета клиента
clientCode = "SPBFUT00000" 'Код счета клиента
secClass = "SPBFUT" 'Класс инструмента
secCode = "RIU2" 'Код инструмента
timeFrame = 15 'ТаймФрейм
shareCount = 1 'Количество контрактов для сделки
dealsCountPerDay = 2 'Максимально количество сделок за день
slippage = 200 'Проскальзывание
stopLoss = 800 'Стоп-лосс — максимальная просадка от текущей позиции
minStepPrice = 5 'Минимальный шаг цены торгуемого инструмента (для фьючерса РТС = 5 пунктов)
filePath = "C:\temp\robot_vudi_data.txt" 'Файл для хранения информации о количестве сделанных за день сделок
candlesWatchCount = 500 'Количество просматриваемых свечей назад от текущего времени, для определения High, Low, Close предыдущего дня (необходимо просмотреть все свечи предыдущего дня или больше)
isDebug = 1 'Использовать ли режим отладки, 0 — нет, 1 — да<br /><br /><br />
В заключении хотелось бы отметить, что данный робот является примером создания робота на языке Qpile. Для реальной торговли, данный робот может использоваться только после тестирования на демо счете и исправления выявленных ошибок. Автор данной статьи не несет ответственности за ваш торговый счет при использовании данного робота.
В следующей статье мы попытаемся
реализовать алгоритм данного робота с помощью библиотеки для создания торговых роботов Stock#.
Перейти на страницу для скачивания кода робота на основе уровней Вуди (ссылка внизу статьи)
Кстати, «Отчеты» очень крутая штука. Пользуешься?