Официальный сайт СТ Форекс

Целесообразность своего алгоритма в автоматической торговле

Здравствуйте я хотел бы представить вам обзор сервиса от наших заокеанских коллег. Данный сервис называется Quantconnect. Он предназначен для аглотрейдеров которые хотят протестировать, оптимизировать и запустить в автоматическую торговлю свой алгоритм. Quantconnect использует совершенно новый подход при создании программного обеспечения для трейдеров, благодаря данному сервису алготрейдинг уходит в облака.
алготре�динг уходит в облака
алготре�динг уходит в облака

Это означает, что вы больше не столкнётесь с недостатком вычислительных ресурсов при разработке торговой системы. Вы сможете взять столько вычислительной мощности из облака, сколько вам потребуется! И так, давайте приступим, к рассмотрению основного функционала данного сервиса.
Прежде всего у кода выполняемого на Quantconnect есть два режима работы, это параллельный и последовательный режим исполнения торговой системы. Давайте рассмотрим их более подробно.
При работе в параллельном режиме, ваш код работает как будто бы, каждый день для него первый. То есть нет связи между днями, данный режим работы, подойдёт для построения интрадейных высокочастотных стратегий, где используются тиковые или секундные данные. Так как позволяет распараллелить вычисления по многим узлам облака.
Если же вы хотите построить систему, в которой необходимо переносить данные через ночь, то тогда для вас подойдёт последовательный режим. При использовании данного режима все ранее сохранённые данные остаются в памяти и вы сможете оперировать ими на всём протяжении жизни стратегии. Данный режим подходит для построения стратегий основным таймфреймом которых, является минутки и выше. Но к сожалению, у данного режима есть один большой недостаток, в данном режиме вы существенно проигрываете в скорости расчётов. Так как из-за особенности алгоритма невозможно распараллелить задачу между узлами облака.
Для выбора режима работы, вам достаточно воспользоваться командой SetRunMode.
После того как мы разобрались с основными режимами работы, давайте посмотрим, как можно создать торговую систему.
Для этого перейдём в File->New->New Algorithm и в открывшемся окне выберем базовый шаблон.
новый шаблон
новый шаблон
базовый шаблон
базовый шаблон

После этого, нам нужно установить основные параметры стратегии, это делается в методе Initialize().
К основным параметрам стратегии, можно отнести, начальный капитал который задаётся методом SetCash(decimal cash). Начальная и конечная дата для анализа SetStartDate() и SetEndDate(), таймфрейм и саму ценную бумагу.
Логику торговой стратегии следует помещать в методы OnTradeBar(), или OnTick() всё зависит от выбранного вами режима торговой стратегии.
Таким образом, код стратегии, будет выглядеть примерно так.