Germany | Finland | Saint Petersburg | Drive

Универсальная платформа

Опубликовано в Роботы

Скользящие средние (Moving Average), являются наиболее часто используемыми индикаторами технического анализа. Известное изречение гласит: «На скользящих средних трейдеры заработали в сотни раз больше денег, чем на всех остальных индикаторах вместе взятых».  Думаю, что и аналогичное изречение про потерю денег тоже должно быть верно Cool

Тем не менее, заказы с использованием всевозможнейших скользящих средних встречаются в очень многих торговых системах. После того, как пришлось подряд написать три такие системы, основанные на основе пересечений скользящих средних, неотложной необходимостью стал вопрос написания универсального механизма, который можно было встроить в каждый следующий заказ на эту тему. Сколько  можно писать одно и то же?

  • А почему только со со скользящими средними?
  • А почему только с двумя?
  • А как насчет возможности использовать собственные индикаторы, отсутствующие в QUIK?

Как сделать остов торговой системы универсальным? Я пошел таким путём:

  1. Универсальная процедура чтения файла параметров робота, задаваемого пользователем. За основу был принят формат INI Windows. Что получилось в результате, описано в статье Настройка параметров в .INI файле. Редактировать настройки можно как в текстовом редакторе, так и с помощью конфигуратора.
  2. Блок получения котировок инструментов и индикаторов с графиков QUIK в массивы. Как известно, в QPILE отсутствует возможность обращения к свече по ее номеру, поэтому функционал на все случаи жизни пришлось создать самому. Для получения истории свечей используются исключительно данные с графиков. Допустимы любые таймфреймы кроме тикового. Никакие внешние источники или промежуточные хранилища не требуются.
  3. Инструментарий для построения собственных индикаторов. Что нам мешает построить в памяти структуру, аналогичной полученной с графика и заполнить ее вычисленными значениями? Таким образом ничто не мешает создавать свои индикаторы в QUIK, если нужного нет или реализация чем-то не устраивает.
  4. Универсальный механизм отрисовки пользовательских индикаторов, в том числе на истории. Отрисовка - конечно сильный термин, учитывая куцые возможности терминала в этом вопросе, но чем богаты.
  5. Дальнейшее - дело техники - анализируем текущее состояние рынка, получаем сигналы, отрабатываем их

Пришлось потратить ощутимое время, чтобы написать все качественно, компактно и, главное, универсально. До появления AmiSharp и Lua практически все механические торговые системы я создавал именно на этой платформе.

Что в результате? Процесс разработки торговых систем (и роботов) стал сродни написанию торговой стратегии в программе технического анализа, когда основной и часто используемый фунционал является частью платформы. Итого:

  • ускорение процесса разработки
  • повышение надежности за счет использования прошедших неоднократное тестрирование библиотек
  • универсальный подход к созданию пользовательской документации
  • расширение возможностей за счет возможности построение пользовательских индикаторов
  • Мгновенная готовность механической торговой системы или робота к функционированию сразу же после запуска, без необходимости собирать предыдущую историю, что крайне важно при работе на больших таймфреймах
  • Несколько десятков реализованных алгоритмов на платформе

Продолжение в статье Пользовательские графики в QPILE


P.S. После появления AmiSharp необходимость в написании сложных позиционных стратегий с нестандартными индикаторами и сложной логикой на qpile отпала - среда амиброкера вкупе с Амишарп предоставляет широчайший выбор возможностей и прекрасные средства визуализации. Да и быстродействие роботов, написанных таким способом, значительно выше, чем построенных с использованием языка qpile.

Комментарии   
# rmh 26.02.2014 11:38
Ответить | Ответить с цитатой | Цитировать
# admin 26.02.2014 15:26
Ага, спасибо, поправил.
Ответить | Ответить с цитатой | Цитировать
# bearmob 15.07.2018 18:03
Здравствуйте! Впервые нашел адекватный сайт, с нормальными объяснениями, нужными индикаторами, роботами без инетовской коммерческой (жадной) мути. С уважением. Надеюсь со временем с Вами сотрудничать.
Александр
Ответить | Ответить с цитатой | Цитировать
# admin 15.07.2018 21:38
You are welcome!
Ответить | Ответить с цитатой | Цитировать
Добавить комментарий