Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Софт и программы для трейдинга

Stocksharp (S#) — набор программного обеспечения для трейдинга, создания торговых стратегий и создания роботов для трейдинга (обычные или HFT), особенности использования, где скачать и как использовать, особенности интерфейса.

StockSharp – это инновационное программное обеспечение, с помощью которого пользователи могут самостоятельно создавать автоматизации полного цикла (анализ/тестирование/торговля) и разрабатывать ботов для трейдинга.

Кроме стандартного пакета по техническому анализу, платформа содержит в себе уникальный визуальный конструктор стратегий. Доступно подключение по API для торговых роботов и стороннего ПО. Ниже можно более подробно ознакомиться с Stocksharp (S# — коротко), а также оценить преимущества и недостатки популярной платформы.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Лицензирование StockSharp

Пользователям предоставляется возможность (https://doc.stocksharp.ru/topics/License.html) выбрать наиболее подходящий вид лицензии: расширенную/корпоративную/корпоративную плюс/частный трейдер/крипто-трейдер.

Частный трейдер

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

  • S#.Designer — дизайнер торговых стратегий https://stocksharp.ru/store/%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%20%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D0%B8%D0%B9/;
  • S#.Data Hydra — программа для автоматической загрузки и хранения исторических маркет-данных https://stocksharp.ru/store/hydra/;
  • S#.Terminal торговый терминал https://stocksharp.ru/store/%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB/;
  • S#.API — библиотека для разработки торговых роботов https://stocksharp.ru/store/api/.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Крипто-трейдер

Лицензия Крипто-трейдер открывает доступ к следующим платформам: Binance/ Bitalong/Bitbank/Bitexbook/Bitfinex/Bithumb/BitStamp/BitMEX/Bittrex/WEX (BTC-e)/CEX.IO/Coinbase/Coincheck/CoinExchange/CoinCap/Coinigy/Cryptopia/Deribit/EXMO/DigiFinex/ DigitexFutures/GDAX/HitBTC/Huobi/IDAX/Kraken/KuCoin/Liqui/Livecoin/OKCoin/OKEx/Poloniex/PrizmBit/QuoineX/TradeOgre/YoBit/Zaif/LBank/BitMax/BW/Bibox/CoinBene/BitZ/ZB.

Расширенная лицензия

Расширенная лицензия позволяет пользователям одновременно подключать до 3 программ к терминалу QUIK. Открыт доступ к видео-урокам, продолжительность которых превышает 40 часов и готовым торговым стратегиям.

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

Корпоративная лицензия

Для получения корпоративной лицензии придется внести плату. Помимо функционала базовой/расширенной лицензии, пользователю будет предоставлен прямой доступ к:

  • срочному рынку на Мосбирже;
  • фондовому рынку на Мосбирже;
  • бирже LSE/NASDAQ.

Также трейдеры могут управлять заявками на срочном рынке Мосбиржи и подключаться к торгам по протоколу FIX/FAST.

Корпоративная плюс

В лицензию корпоративная плюс включены исходные коды любых готовых программных решений (S#.Data/S#.Designer/S#.Shell). Также имеются исходные коды самой платформы: S#.API.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов
Архитектура S#

Исходные коды Stocksharp на Github

Ядро S# разработано в рамках Open Source комьюнити. S# доступен в виде исходных кодов, размещенных в репозитории GitHub/StockSharp по ссылке https://github.com/StockSharp/StockSharp.

С исходными кодами будут доступны компоненты по типу:

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

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

После перечисления денег за покупку StockSharp, к исходным кодам закрытых компонентов будет открыт доступ. Трейдер может использовать алгоритмы прибыли/убытка/проскальзывания/задержки, а также построения свечей любого тайм-фрейма.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Обратите внимание! Новичкам в области трейдинга подойдет графическая среда S#.Studio, которая в значительной степени упрощает процесс создания и тестирования роботов для торговли.

Руководство по GitHub — https://stocksharp.ru/forum/4848/rukovodstvo-po-github/

Особенности установки

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

Запуск

Чтобы установить S#.Installer, пользователям потребуется выполнить переход по ссылке https://stocksharp.ru/products/download/ и позаботиться о скачивании дистрибутива. С Installer.zip.Installerzip Properties снимают блок.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Для этого на файле кликают правой кнопкой мыши и выбирают свойства. Архив распаковывают. В открывшейся папке потребуется отыскать файл StockSharp.Installer.Console.bat. Далее запускают режим установки данного файла и ожидают завершения процесса установки.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

На следующем этапе вводят логин и засекреченную комбинацию StockSharp, необходимую для входа в программу. Когда процесс установки будет завершен, на экране откроется окно софта.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Установка и удаление ПО

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

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Чтобы установить приложение, трейдеры выбирают программу и кликают на команде «Установка». Затем подтверждают согласие с пунктами лицензионного соглашения и тапают на кнопку «Продолжить».

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Далее выбирают путь установки. При этом стоит помнить, что папка, в которую устанавливают программу, должна быть пустой. После этого снова кликают на кнопку «Продолжить», выбирают команду «Выполнить» и ожидают завершения установки.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Теперь ПО готово к использованию!

Совет! Если есть необходимость в удалении софта, пользователи выбирают команду «Удаления» и нажимают на кнопку «Продолжить». Для того чтобы восстановить софт, следует кликнуть на команду «Восстановить» и нажать на кнопку «Продолжить».

Особенности обновления программы

Разработчики позаботились о том, чтобы S#.Installer самостоятельно отслеживал обновления ПО и автоматически запускал их. Именно поэтому после завершения установки лучше не удалять программу.

Чтобы проверить доступные обновления вручную, стоит кликнуть на кнопку «Обновлений». Отыскать ее можно в правом углу окна ПО. Если обновления имеются, то на экране появится соответствующее уведомление. Теперь необходимо тапнуть на кнопку.

Закрывать S#.Installer рекомендуется через панель инструментов. С этой целью выполняется переход в меню. Правой кнопкой мыши потребуется нажать на кнопку «Закрыть».

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

S#.API — библиотека для написания торговых роботов на языке C# в Visual Studio

S#.API является бесплатной библиотекой, которая пригодится как новичкам, так и профессионалам в области алготрейдинга.

Библиотека ориентирована на программирование на языке C# в среде Visual Studio, благодаря чему пользователи получают возможность заниматься созданием абсолютно любых стратегий: от позиционных с наличием длительного таймфрейма до высокочастотных (HFT), которые используют прямой доступ (DMA) к биржевым торгам.

S#.API — основа остальных продуктов. На базе библиотеки разработчики создали различные решения по типу S#.Designer/S#.Data/адаптер S#.MatLab и т.д.

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

S#.API ориентирована на частных трейдеров/банковские учреждения/инвестиционные компании. Производительность достаточно высокая. Сотни стратегий по любым инструментам исполняются одновременно. Тестирование на тиках/стаканах максимально точное. Реальное проскальзывание определяется.

Скачать Апи и документацию к S#.API StockSharp можно по ссылке https://stocksharp.ru/store/api/

Быстрый старт в StockSharp, создание торгового робота под Quik:

Особенности установки S#.API

С версии 5.0 установку S#.API производят через NuGet. Для предыдущих версий следует выбрать установку из репозитория StockSharp Releases с веб-сервиса GitHub.

Особенности установки с GitHub

Первым делом, пользователи проходят регистрацию на GitHub. Далее выполняют переход на страничку github.com/StockSharp/StockSharp в репозитории StockSharp и выбирают значок, подписанный «Releases».

На экране откроется окно, в котором нужно выбрать версию S# (из раздела Downloads) и загрузить необходимые архивы. Со скачанных архивов снимают блокировку и разархивируют их.

К сведению! В архивах StockSharp_#.#.#. содержатся zip-файлы библиотеки /исходные коды примеров. В архивах Source Code можно найти исходные коды.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Установка с помощью Nuget

Используя Nuget, пользователи могут установить библиотеку S#. Для установки исходных кодов и примеров потребуется перейти в GitHub.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

В Solution Explorer кликают правой кнопкой мыши по имени решения. После перехода в контекстное меню выбирают Manage NuGet Packages for Solution.

На экране откроется окно, в котором потребуется тапнуть на вкладку Online. В строку поиска набирают StockSharp. Когда пакет для установки StockSharp API будет найден, необходимо кликнуть на «Install».

Как только установка пакета будет завершена, в папке появится Рackages. Открыв «Рackages» можно убедиться в том, что в ней находится StockSharp.#.#.# с последней версией S#.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Коннекторы

Работать с биржами и источниками данных в StockSharp необходимо через базовый класс Connector. Исходные коды можно найти в проекте Samples/Common/SampleConnection.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Первым делом необходимо позаботиться о создании экземпляра класса Connector https://doc.stocksharp.ru/api/StockSharp.Algo.Connector.html:

public Connector Connector;

public MainWindow()

{

InitializeComponent();

Connector = new Connector();

InitConnector();

}

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

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Также допускается добавление подключения напрямую из кода (без графических окон). Для этого потребуется использовать расширение TraderHelper.AddAdapter<TAdapter>(StockSharp.Algo.Connector connector, System.Action<TAdapter> init).

Количество подключений в одном объекте Connector – неограниченное. Пользователи могут одновременно подключиться к нескольким биржам/брокерам.

Обратите внимание! Обработчики событий следует установить в методе InitConnector.

Заявки

Используя объект Order можно создать новую заявку. С помощью метода Connector.RegisterOrder(StockSharp.BusinessEntities.Order order), отправляющего заявку на сервер, пользователю станет доступна возможность ее регистрации на бирже.

Если есть необходимость в создании стоп заявки, специалисты советуют позаботиться об указании свойства Order.Type как OrderTypes.Conditional. Для дальнейшей работы с заявками используют тот же объект.

Инструменты

Security является финансовым инструментом, с помощью которого ведется торговля. Инструментом может быть акция/фьючерс/опцион и т.д. Разработчик разделил корзины инструментов на классы:

  • IndexSecurity;
  • ContinuousSecurity;
  • WeightedIndexSecurity.

Хранение данных

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

S#.Designer- универсальная программа-дизайнер для создания торговых роботов и стратегий

S#.Designer используется для создания, тестирования и управления торговыми стратегиями при реальной торговле. Существует несколько видов создания стратегий, которые предлагает данная программа. Они заключаются в использовании:

  1. Кубиков. В этом случае пользователь может не обладать навыками программирования. Для создания стратегий потребуется воспользоваться методом соединения линий и комбинирования кубиков.
  2. C#. Данный вариант подойдет для опытных программистов, которые не боятся работы с кодом. Подобная стратегия не ограничена в возможностях при создании. В ней можно описывать любые алгоритмы, в отличие от кубиков. Стратегию создают непосредственно в S#.Designer либо в среде разработки на языке C#.

Во время первого запуска S#.Designer на экране появится окно, в котором потребуется выбрать режим запуска.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

После этого нажимают кнопку ОК. Во время первого запуска S#.Designer будет предложено открыть окно скачивания данных. Для скачивания исторических данных потребуется установить программу S#.Data (кодовое название Hydra).

После нажатия на кнопку Скачивания инструмента на экране появится соответствующее окно, в котором потребуется ввести код и тип инструмента/источник данных. Далее кликают на кнопку ОК. Инструменты, которые будут найдены S#.Designer, можно найти в панели «Все инструменты».

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Обратите внимание! Наиболее популярным бесплатным источником исторических данных для Российского рынка считается брокер Финам. Источником данных по умолчанию является S#.Designer.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Чтобы получить исторические данные, следует перейти в категорию Всех инструментов и тапнуть на названии необходимого инструмента. Далее устанавливают период исторических данных/тип/ Time Frame свечей и нажимают на кнопку Старт.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

После того, как исторические данные будут получены, следует отдать предпочтение одной из демонстрационных стратегий. Для этого выполняется переход на панель Схемы. В папке Стратегии выбирают пример-стратегию SMA.

При выполнении перехода на стратегию в ленте откроется вкладка Эмуляция. Здесь можно найти основные элементы по созданию стратегии/отладки/тестирования.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

В данной вкладке устанавливают период тестирования и Хранилище маркет-данных в поле «Маркет-данные». Далее выбирают необходимые инструменты и в категории Свойств блока настраивают тип/Time Frame свечей. Эмуляция торгов начинается сразу после того, как кнопка Старт будет нажата.

Урок по Стокшарп второй:

Урок третий:

S#.Terminal — торговый терминал

S#.Terminal является бесплатным торговым терминалом, главное преимущество которого заключается в одновременном подключении к большому количеству торговых площадок. Доступна поддержка более 70 подключений разных бирж мира. Тайм-фреймы произвольные.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Во время первого запуска S#.Terminal потребуется выбрать режим запуска и кликнуть на кнопку ОК. На экране появится окно терминала. Компоненты заданы по умолчанию. После того, как будут отредактированы настройки подключения, нужно нажать на кнопку «Подключиться».

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Для добавления новой области графика пользователи тапают на команду «Добавить». Кликнув второй кнопкой мыши на том же месте, можно добавить свечи по интересующим инструментам/индикаторы/заявки и собственные сделки.

В категории «Сделки» трейдеры смогут просматривать сделки по инструментам. Если появится необходимость, у торговцев всегда будет возможность добавления дополнительных компонентов.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

S#.Data (Hydra) — программа для скачивания маркет-данных

Разработчики создали софт S#.Data (Hydra) для автоматической загрузки маркет-данных (инструментов/свечей/тиковых сделок/стакана) из различных источников.

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

Информация, которая была сохранена, станет доступной для использования торговыми стратегиями. Для получения доступа к данным потребуется воспользоваться StorageRegistry либо обычными выгрузками в формате Excel/xml/txt.

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

Во время первого запуска программы, на экране откроется окно, в котором выбирают режим запуска и кликают на кнопку ОК.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Чтобы открыть окно выбора источников данных потребуется перейти в категорию «Общее» и тапнуть на раздел «Добавить» и папку «Источники».

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

В открывшемся окне отмечают необходимые источники. Допускается использование фильтров по региону/электронной площадке/типу данных/реал-тайму.

Для того чтобы завершить процесс выбора потребуется кликнуть на ОК. После этого софт предложит пользователи включить утилиты. Нажав на OK, торговец сможет добавить источники на левую панель главного окна приложения.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

S#.Shell — готовый графический каркас c исходными кодами

S#.Shell является готовым графическим каркасом, позволяющим вносить оперативные изменения с учетом требований пользователя и с полностью открытым кодом на языке C#.

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

Во время запуска S#.Shell проект Shell отобразится в обозревателе решений.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

В папке Strategies содержится несколько стратегий, которые входят в S#.Shell/вспомогательные интерфейсы/оболочку для стратегий по умолчанию. Когда проект будет запущен, на экране откроется окно, в верхней области которого можно будет найти:

  • кнопки настройки подключения;
  • кнопку сохранения текущей конфигурации Shell;
  • основные вкладки.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

После перехода в настройки подключения потребуется выбрать тип подключения. Как только пользователю удастся подключиться, стоит перейти в категорию «Общее» и ознакомиться с инструментами/содержимым портфеля/заявками/собственными сделками.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Далее выполняют переход на вкладку «Реал-тайм» с целью добавления стратегии для запуска в торговлю. Добавив стратегию, трейдер может перейти к заполнению ее основных параметров по типу Инструментов, Портфеля и т.п.

Обратите внимание! В категории «Эмуляция» есть возможность запускать тестирование стратегии на исторических данных.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Базовый online-курс по алгоритмическому трейдингу с использованием платформы StockSharp:

S#.MatLab — интеграция MatLab с торговыми системами

Разработчики создали S#.MatLab — ссылка на продукт https://doc.stocksharp.ru/topics/MatLab.html для специалистов в области трейдинга, которые занимаются написанием торговых алгоритмов внутри среды MatLab MathWorks.

Наличие интеграционного коннектора S#.MatLab дает возможность подключиться практически к любому брокеру/бирже. MatLab скрипты при этом после получения данных от торговых площадок отправляют в них торговые приказы. Для получения детальных настроек, скриптов и документации потребуется приобрести S#.MatLab.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Торговля из скриптов MatLab

В файлах CSV собираются и хранятся данные. Текущие котировки прописываются в строках. В столбцах при этом указывается весь ряд котировок bid/ask для каждой валютной пары.

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

Обратите внимание! Размер массивов с блоками данных будет отличаться. Блоки данных сохраняются в PRICES (глобальной переменной).

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

Когда сделка закрывается, глобальные переменные корректируются, что позволяет характеризовать качество работы стратегии. Чтобы оптимизировать данные характеристики, следует создать «оболочку», внутри которой глобальные переменные будут проинициализированы.

К сведению! При каждом закрытии сделки обновляется характеристика работы стратегии.

Вся документация по Stocksharp по ссылке https://doc.stocksharp.ru/

ЛЧИ Viewer — графики конкурса ЛЧИ со сделками участников

ЛЧИ Viewer – софт, отображающий сделки участников ЛЧИ на графике с наличием индикаторов. На расположенном ниже фото можно увидеть, как будет выглядеть отображение нескольких инструментов.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Также есть возможность рассмотреть на тиковом графике РИ сделки HFT роботов.

Ручной и алгоритмический трейдинг в Stocksharp, разработка роботов

Софт порадует простотой в управлении. После запуска программы пользователю потребуется выбрать год/участника/тип инструментов/даты От и До. Если есть необходимость, можно указать тайм-фрейм.

Тапнув на команду Скачать, трейдер сможет детально рассмотреть появившийся на экране график и отыскать Грааль.

Скачанные данные софт кэширует (повторной установки нет). Чтобы получить не только изображение, но и подробные данные, стоит перейти в директорию с программой. Для каждого торговца создана отдельная папка с CSV файлами его сделок.

StockSharp является мощной программной оболочкой, со своим собственным языком. Все чаще программисты отдают предпочтение именно этому софту. Освоить язык S# относительно не сложно. Поэтому не стоит сомневаться.

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

Если вам понравилась статья, то подписывайтесь на мой телеграм канал.

info
Оцените автора
Добавить комментарий