Сегодня поговорим про инструменты и как они представлены внутри OsEngine. Они Вам обязательно в какой-то момент пригодятся, т.к. из них можно получить очень много полезной информации, такой как гарантийное обеспечение, точность цены, максимальную цену покупки и т.д.
В терминале мы видим их где-то здесь:
Любой торговый инструмент в OsEngine описывается классом Security. В объекте хранятся важные параметры инструмента, которые часто бывают необходимы в торговом алгоритме.
Кроме того, биржевым инструментом может быть и индекс. Т.е. торговать его нельзя, но информацию по нему получать можно.
За предоставление информации по инструментам в OsEngine отвечает класс Security. Посмотреть на него на ГитХаб можно здесь: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Entity/Security.cs
В самом проекте он находится тут:
А сам класс выглядит так:
Рассмотрим все члены данного класса.
Security – общедоступный конструктор.
Name – короткое название инструмента.
NameFull – полное наименование торгового актива.
NameClass – класс актива. Существует множество классов: акции, облигации, свопы, фьючерсы, опционы, валюты, криптовалютные пары и другие. Данное поле указывает, к какой группе принадлежит бумага.
NameId – уникальный идентификатор в рамках всех инструментов на бирже.
Exchange – название биржи, на которой данный инструмент торгуется.
State – содержит значение перечисления SecurityStateType. Возможны следующие значения:
PriceStep – шаг цены, минимально возможное изменение цены инструмента.
Lot – количество единиц акции или актива, покупаемого за один контракт. Например, для акций Сбербанка это 100. Т.е. купив один контракт Сбера на MOEX, Мы получаем 100 акций. На биржах криптовалют это обычно единица.
PriceStepCost – денежная стоимость движения цены за один шаг. Другими словами, это размер прибыли, который будет получен, если купить один лот и продать по цене на один шаг дороже без учета комиссии.
Go – гарантийное обеспечение для одного контракта, размер денежных средств, который будет заблокирован при открытии позиции.
SecurityType – содержит значение перечисления SecurityType, которое указывает тип торгового актива. Возможны следующие значения:
ShowDialog – публичный метод, который открывает окно настроек. Данное окно позволяет вручную настроить значимые поля объекта.
Decimals – указывает количество знаков после запятой в цене инструмента. Если цена кратна единице, содержит значение ноль.
MinTradeAmount – минимально допустимый объем операции по инструменту.
DecimalsVolume — количество знаков после запятой в минимальном объеме.
PriceLimitLow – минимальная цена инструмента, ниже которой запрещено выставлять заявки.
PriceLimitHigh — максимальная цена инструмента, выше которой запрещено выставлять заявки.
OptionType – если инструмент принадлежит к классу опционов, поле указывает тип опциона.
Strike – указывает фиксированную цену страйка, если инструмент принадлежит классу опционов.
Expiration – дата завершения обращения срочного контракта, если инструмент принадлежит классу фьючерсов и опционов.
LoadFromString — общедоступный метод, принимает строку, содержащую данные по всем полям, парсит ее и инициализирует состояние объекта.
GetSaveStr — общедоступный метод, не принимающий параметров. Возвращает строку, в которую записаны все поля объекта для дальнейшего сохранения в текстовый файл.
Надо понимать, что не все поля, обозначенные в классе, будут доступны по всем коннекторам в OsEngine. В зависимости от АПИ мы можем иметь набор совершенно разных данных.
Обязательные поля, которые есть везде:
Удачных алгоритмов!
Комментарии открыты для друзей!
OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php