Блог им. mirovan

Среднесрочная система для пары доллар-рубль. Часть 2. Разработка робота на QPILE

В прошлой статье, посвященной торговой системе на паре рубль-доллар, мы протестировали на исторических данных алгоритм, определили необходимые параметры стратегии и выяснили риски. Настало время применить полученные знания в написании торгового робота для торгового терминала QUIK.
Еще раз, хотелось бы напомнить о торговом алгоритме: подробнее
 
 Среднесрочная система для пары доллар-рубль. Часть 2. Разработка робота на QPILE
Рис. 1. Алгоритм торгового робота


Хотелось бы описать структуру файлов робота. Самого робота я назвал BEC (Break Extremum Candles):
  1. robot_bec.qpl             -           главный файл торгового робота
  2. strategy_func.qpl       -           файл с функциями специфичными для данного робота
  3. func.qpl                      -           файл с функциями, облегчающими работу с языком QPILE, эти функции так или иначе очень часто применяются для разработки любого робота
  4. config.qpl                   -           конфигурационный файл
  5. data.txt                       -           файл, хранящий позицию и цену входа в сделку
  6. log.txt                         -           файл, хранящий действия робота, в том числе и его ошибки


Все файлы снабжены большим количеством комментариев, которые будут понятны любому человеку. Однако необходимость разобрать структуру робота всё же есть (Рис. 1).
 
Со входом в позицию, при реализации, проблем не должно возникнуть, т.к. работа происходит на стандартном механизме транзакций, о которых можно почитать непосредственно в документации к QUIK. Выполнение функции осуществления сделки вынесено в отдельную функцию createOrderByMarket(), которая описана в файле func.qpl. В качестве параметров в этой функции выступают operation – тип операции «B» или «S» (Покупка или продажа соответственно), shareCount – количество лотов для покупки.
 
Отдельно стоит уделить внимание функции управления позицией managePosition (Рис. 2).
 Среднесрочная система для пары доллар-рубль. Часть 2. Разработка робота на QPILE
Рис. 2. Управление позицией
Прежде чем запускать робота, нужно отредактировать конфигурационный файл. Необходимо указать корректные номера счета, код инструмента, установить проскальзывание и другие служебные переменные в файле config.qpl.
 
 Среднесрочная система для пары доллар-рубль. Часть 2. Разработка робота на QPILE
Рис. 4. Внешний вид робота
Безусловно, использование языка программирования QPILE может быть немного затратным в силу ограничений языка. Поэтому использовать его или не использовать – дело каждого разработчика. С момента появления новых инструментов для разработки роботов появилась возможность использовать более совершенные инструментов, такие как LUA (встроенного в QUIK), программы для создания и тестирования роботов TradeMatic и др. Но, тем не менее, практика программирования роботов и торговых систем важна, и стоит применять именно необходимый наиболее подходящий для решения задачи, инструмент. В данном случае мы использовали язык QPILE и разработали робота, который стабильно работает на валютной паре доллар-рубль.

Код торгового робота на Qpile на сайте robostroy.ru 
★49
6 комментариев
В избранное же.
avatar
как робот 3 марта пережил на истори?
avatar
1 до 1.1.09 si был унылым неликвидным говном изза отсутствия сальдирования… т.е за 2008г тестить смысла нет
2 т.к торгуешь лимитниками запрети торговать в первую минуту торгов внутри гэпа… и посмотри резалт
avatar
ves2010, так у него же просматриваются свечи только с 11-00 до 18-45, соответственно нет торговли на гэпах
avatar
Даже как то неожиданно увидеть подобный пост.
Чуть расширьте условия.
1. Интервал час
2. Добавим две скользящие
3. фьюч РТС
Вполне рабочий алгоритм.

Вопрос автору поста: Зачем разбиваете весь робот на подфайлы? почему не объединить в один? Есть в этом какой то смысл или так привыкли просто? Спасибо.
PS. +)
avatar
и как часто он входит в позицию?
сегодня к примеру ни разу не вошел
avatar

теги блога Максим Милованов

....все тэги



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