Ручний та алгоритмічний трейдинг у 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/ /Deribit/EXMO/DigiFinex/ DigitexFutures/GDAX/HitBTC/Huobi/IDAX/Kraken/KuCoin/Liqui/Livecoin/OKCoin/OKEx/Poloniex/PrizmBit/QuoineX/TradeOgre/YoBit/Zaif/LBank/Bit /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 є безкоштовною бібліотекою, яка стане в нагоді як новачкам, так і професіоналам в галузі
алготрейдингуТестування на тиках/склянках максимально точне. Реальне прослизання визначається. Завантажити Апі та документацію до S#.API StockSharp можна за посиланням https://stocksharp.ru/store/api/ Швидкий старт у StockSharp, створення торгового робота під Quik: https://youtu.be/F51bGEpTOvo

Особливості встановлення 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 :

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;
  • Постійнадопомога;
  • Витонченийіндекс.

Зберігання даних

У StockSharp можна зберігати дані з метою їхнього подальшого завантаження. Як правило, зберігати дані необхідно для накопичення аналізу/пошуку закономірностей, збереження маркет-даних з
торгового терміналу (для тестування роботів). Зберігання даних абсолютно прозоре, адже розробник подбав про високорівневий доступ та приховування всередині технічних деталей.

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

S#.Designer використовується для створення, тестування та управління торговими стратегіями при реальній торгівлі. Існує кілька видів створення стратегій, які пропонує ця програма. Вони полягають у використанні:

  1. Кубиків. У цьому випадку користувач може не мати навички програмування. Для створення стратегій потрібно скористатися методом з’єднання ліній та комбінування кубиків.
  2. C#. Цей варіант підійде для досвідчених програмістів, які не бояться роботи з кодом. Подібна стратегія не обмежена у можливостях під час створення. У ній можна описувати будь-які алгоритми, на відміну кубиків. Стратегію створюють у S#.Designer або серед розробки на мові C#.

Під час першого запуску S#.Designer на екрані з’явиться вікно, яке потребує вибору режиму запуску.
Ручний та алгоритмічний трейдинг у Stocksharp, розробка роботів Після цього натискають кнопку OK. Під час першого запуску S#. Designer буде запропоновано відкрити вікно завантаження даних. Для завантаження історичних даних потрібно встановити програму S #. Data (кодова назва Hydra). Після натискання на кнопку Завантажити інструмент на екрані з’явиться відповідне вікно, в якому потрібно ввести код і тип інструмента/джерело даних. Далі натискають кнопку ОК. Інструменти, які будуть знайдені S#.Designer, можна знайти на панелі «Всі інструменти».
Ручний та алгоритмічний трейдинг у Stocksharp, розробка роботів

Зверніть увагу! Найбільш популярним безкоштовним джерелом історичних даних для російського ринку вважається брокер Фінам. Джерелом стандартних даних є S#.Designer.

Ручний та алгоритмічний трейдинг у Stocksharp, розробка роботів Щоб отримати історичні дані, слід перейти в категорію Усіх інструментів та топнути на назві необхідного інструменту. Далі встановлюють період історичних даних/тип/Time Frame свічок та натискають на кнопку Старт.
Ручний та алгоритмічний трейдинг у Stocksharp, розробка роботів Після того, як будуть отримані історичні дані, слід віддати перевагу одній з демонстраційних стратегій. Для цього виконується перехід до панелі Схеми. У папці Стратегії вибирають приклад-стратегію SMA. Під час переходу на стратегію у стрічці відкриється вкладка Емуляція. Тут можна знайти основні елементи створення стратегії/налагодження/тестування.
Ручний та алгоритмічний трейдинг у Stocksharp, розробка роботів У цій вкладці встановлюють період тестування та Сховище маркет-даних у полі «Маркет-дані». Далі вибирають необхідні інструменти та в категорії Властивостей блоку налаштовують тип/Time Frame свічок. Емуляція торгів починається відразу після того, як кнопку Старт буде натиснута.

https://youtu.be/NrzI4yJFg7U Урок з Стокшарп другий: https://youtu.be/N_AFlKYP2rU Урок третій: https://youtu.be/f75zeQL5Ucw

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 – готовий графічний каркас з вихідними кодами

S#.Shell є готовим графічним каркасом, що дозволяє вносити оперативні зміни з урахуванням вимог користувача і повністю відкритим кодом мовою C#. Робот швидко створить графічний інтерфейс, збереже та відновить налаштування стратегії, надасть детальну інформацію про роботу стратегії та самостійно запустить її за розкладом. Під час запуску S#.Shell проект Shell відобразиться в браузері рішень.
Ручний та алгоритмічний трейдинг у Stocksharp, розробка роботів У папці Strategies міститься кілька стратегій, які входять до S#.Shell/допоміжні інтерфейси/оболонки для стратегій за замовчуванням. Коли проект буде запущено, на екрані відкриється вікно, у верхній області якого можна знайти:

  • кнопки налаштування підключення;
  • кнопку збереження поточної конфігурації Shell;
  • Основні вкладки.

Ручний та алгоритмічний трейдинг у Stocksharp, розробка роботів Після переходу до налаштувань підключення потрібно вибрати тип підключення. Як тільки користувачеві вдасться підключитися, варто перейти до категорії «Загальне» та ознайомитися з інструментами/вмістом портфеля/заявками/власними угодами.
Ручний та алгоритмічний трейдинг у Stocksharp, розробка роботів Далі виконують перехід на вкладку Реал-тайм з метою додавання стратегії для запуску в торгівлю. Додавши стратегію, трейдер може перейти до заповнення її основних параметрів типу Інструментів, Портфеля і т.п.

Зверніть увагу! У категорії «Емуляція» можна запускати тестування стратегії на історичних даних.

Ручний та алгоритмічний трейдинг у Stocksharp, розробка роботів Базовий online-курс з алгоритмічного трейдингу з використанням платформи StockSharp: https://youtu.be/lileOIlcNP4

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
Оцініть автора
Додати коментар