Описание разработанной системы я начну с изложения своей концепции структуры и функций умных торговых роботов.

Структуру умных роботов можно представить состоящую из следующих подсистем:

1) Управление рисками
2) Генерация торговых сигналов
3) Синтез торговой позиции
4) Помощь человеку
5) Информационное обеспечение
Рассмотрим кратко назначение каждой из них.
Управление рисками

Подсистема управления рисками обеспечивает:
1) безотказную работу взаимодействия робота с торговыми площадками
2) защиту рыночной позиции от внезапных, не прогнозируемых, негативных изменений.
3) защиту позиции от негативного влияния человека

Генерация торговых сигналов

Подсистема генерации торговых сигналов может состоять из неопределенного, неограниченного, пространственно распределенного набора генераторов.
Помимо программ-генераторов одним из таких генераторов выступает человек.
Большое множество известных в интернете программ автоматической торговли и программ-советников по существу являются такими простейшими генераторами сигналов.
Все представленные мною на сайте ранее результаты работы роботов — это результаты таких генераторов.
Генераторы торговых сигналов осуществляют прогноз движения цены инструмента и создают сигналы о направлении и величине такого движения.
Характерной особенность генераторов является независимость их работы от размеров депозитов, желании торговать, размеров позиции и т д
Их задача — прогнозировать движение рынков.

Синтез торговой позиции

Подсистема синтеза торговой позиции обеспечивает оптимальный алгоритм наращивания (ликвидации ) рыночной позиции.
Данная подсистема на основе сигналов от генераторов и имеющихся в ее распоряжении ресурсах , с учетом указаний человека, осуществляет генерацию и сопровождение исполнения поручений на осуществление торговых сделок.

Помощь человеку

Подсистема помощи человеку обеспечивает торгующему через торговый терминал человеку овтоматическое выполнение ряд вспомогательных действий, освобождая этим его от рутинной, не творческой работы.
Конкретизация этих действий зависит от конкретного терминала.
Например, для терминала QUIK к этим действиям относятся:
Слежение и коррекция спреда стоп-цены и лимит цены в стоп заявках
Автоматическая установка и снятие стоп-заявок.
Ограничение торговых операций человека по заданному уровню убытков.
И другие операции, которые связаны с торговой деятельностью человека через терминал

Информационное обеспечение

Подсистема информационного обеспечения организует сбор,хранение торговой информации, предоставление необходимой информации другим подсистемам, в том числе и человеку.

В настоящее время закончил разработку платформы (назовем ее,  для краткости,  nkbot )  на основе терминала QUIK , библиотеки QLUA, и языков программирования LUA,С,C++.

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

Так как хорошей документации по данной разработке нет, то пока решил начать писать ее на сайте.

Настало время испытаний и создание умных роботов.

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

Какие основные моменты отличают данную платформу от известных мне в настоящее время.

Удалось в основном решить вопросы  многопоточной работы роботов.

В каждой конкретной реализации можно использовать совместно скрипты  с колбеками, скрипты  индикаторов, скрипты графических интерфейсов и любые библиотеки для выполнения расчетов.

Любой фрагмент алгоритма можно реализовать в отдельном потоке.

Это позволит в дальнейшем успешно решать вопросы быстродействия

Благодаря возможности сборки роботов из отдельных функционально законченных модулей, можно сравнительно просто видоизменять торговый алгоритм.

В существующей реализации все вопросы , связанные с выставлением и снятием заявок, выставлением, снятием и перемещением стоп-заявок,  с обработкой  колбеков  решаются в модуле NKBOT.

Модуль скомпилирован и запускается в отдельном скрипте. У него есть простой, но вполне работоспособный интерфейс.

Реализована работа с множеством клиентов, счетов и инструментов.

NKBOT формирует массивы очередей заявок для каждого торгуемого инструмента, историю сделок по инструменту.  Эта информация позволяет создавать генераторы торговых сигналов на основе истории сделок и очередей заявок.

В качестве генераторов торговых сигналов можно использовать существующие программы тех.анализа, либо отдельно разработанные скрипты или программы на других языках программирования.

На эмуляторе графический интерфейс NKBOT имеет следующий вид:

nk_2014_11_001

 

 

 

 

 

 

 

 

Если у Вас есть опыт программирования, отладки программ и желание разрабатывать торговые системы на данной платформе присылайте краткое резюме о своем опыте в данной области.

От Вас умение, терпение  и аккуратность.

От меня — консультации и возможность в дальнейшем применять данную систему на индивидуальных условиях.