Добрый день! Мы не случайно решили рассказать о двух продуктах нашей компании, входящих в состав базового софта от S#. Наш выбор был сделан на основе мнений наших пользователей, которым интересно узнать немного подробнее о назначении программ, работе и применении их в торговле. Надо отметить, что S#.Shell и S#.API – комплексное решение для создания торговых роботов на языке C#. Однако, использования этих программ не ограничивается созданием торговых роботов. Итак, для начала разберем, что такое S#.API. Термин API, согласно Википедии, означает: Программный Интерфейс Приложения (API с английского application programming interface) - описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой. Обычно входит в описание какого-либо интернет-протокола, программного каркаса (фреймворка) или стандарта вызовов функций операционной системы. Часто реализуется отдельной программной библиотекой или сервисом операционной системы. Используется программистами при написании всевозможных приложений. S#.API – абсолютно бесплатная библиотека, которая позволяет начинающим и опытным трейдерам, обладающим даже начальными знаниями программирования использовать ее для создания своих собственных торговых систем в области алготрейдинга. Библиотека основана на языке C#, с возможностью использования ее в среде программирования Visual Studio. Библиотека рассчитана на то, что пользователь может создать свои уникальные торговые системы: от позиционных стратегий с длительным таймфреймом до высокочастотных стратегий (HFT), которые используют прямой доступ (DMA) к биржевым торгам. Уникальность данного продукта в том, что на его основе построена работа всех базовых продуктов компании StockSharp, таких как: S#.Designer, S#.Data, а так же адаптер S#.MatLab. trade-terminal-system.png Так например использования элементов библиотеки находит широкое применение применение для создания уникальных кубиков в программе Designer, фактически пользователь берет готовый компонент представленный программным кодом, комбинирует его с другими компонентами или модифицирует его и применяет его в конструкторе торговых роботов Designer, помещая в собственные кубики. source-code-designer.jpg Механизм S#.API основан на использовании сообщений. Данный механизм состоит из трех элементов: - сообщение Message, - адаптер сообщений MessageAdapter - транспортный канал IMessageChannel. Сообщение выполняет роль агента, передающего информацию. Сообщения могут быть исходящими и входящими. - Исходящие сообщения - сообщения, которые посылаются во внешнюю систему. Обычно это команды, которые генерирует программа, например, сообщение ConnectMessage - команда, запрашивающая соединение с сервером. - Входящие сообщения - сообщения поступающие из внешней системы. Это сообщения передающие информацию о рыночных данных, транзакциях, портфелях, событиях соединения и т.п. Shell-Title-frimework-api.png Такой механизм позволяет унифицировать работу по разработке адаптеров, в то же время позволяет пользователю создать свои собственные подключения к различным торговым системам. Давайте рассмотрим основные преимущества применения библиотек S#.API: - Независимость созданного пользователем торгового робота от API используемого брокера или биржи, фактически созданный торговый робот может работать с любым подключением. Так пользователь может легко подключать своего торгового робота например к Quik, Transaq, или FOREX, не меняя программного кода. - Сегодня библиотека S#.API поддерживает более 70 подключений ( Коннекторы (Россия), Коннекторы (Америка), Коннекторы Forex, Коннекторы Криптовалют). - Универсальность библиотеки позволяет использовать ее как частным трейдерам, небольшим командам разработчиков, а так же крупным инвестиционным компаниям и банкам. - Важным показателем является большая производительность, позволяющая одновременно исполнять сотни стратегий по любым инструментам. - Высокая скорость обработки заявок в S#.API позволяет снизить время обработки до нескольких микросекунд. - Библиотека может использовать прямое к торговле, такое как: Plaza II, Micex Bridge, а также поддерживает FIX протокол, что позволяет сокращать время обработки заявок. - Определение реального проскальзывания добивается за счет реалистичного тестирования, которое проводится с применением тиков и стаканов. Это позволяет пользователю снизить до минимума риск возможных потерь и более гибко и точно настроить свою торговую стратегию. - Широкая распространённость языка C#, применимого в создании библиотеки и среды Visual Studio, упрощает работу пользователя, за счет избыточной информации о их возможностях. Для удобства работы S#.API разделена на блоки, что позволяет пользователю без особых усилий найти тот раздел, который его интересует. Простота установки на компьютер, распространённость языка программирования и среды использования делают библиотеку S#.API универсальным способом для разработки торговых роботов. Пользователю достаточно однажды создать торгового робота, которого он может подключать к любой выбранной торговой площадке или брокеру. Так же знание работы с библиотекой позволяет развивать навыки программирования пользователя. Мы рассмотрели основной элемент – библиотеку S#.API, на базе которой строятся все базовые программные продукты StockSharp. Отлично, теперь понятно, что с применением библиотеки S#.API пользователь может создавать своих торговых роботов и применять их в торговле. Однако использования среды разработки Visual Studio, не совсем удобно для работы созданными торговыми системами, не говоря уже о тестировании торговых систем. Для удобства и простоты работы, компания StockSharp разработала готовый графический каркас с возможностью оперативного изменения под нужды пользователя-трейдера, при этом с открытым кодом, созданный на языке C# - S#.Shell. Давайте рассмотрим основные преимущества данного графического каркаса: - Главным преимуществом продукта является открытый исходный код. Что это дает пользователю? gui-shell-source-code.jpg Открытый исходный код программы позволяет пользователю использовать все возможности продукта, дополняя его своими собственными надстройками. Пользователь может настроить свои собственные панели управления, использую уже готовые элементы или создать свои собственные. Простота настройки увеличивает скорость подготовки программы к запуску. Доступность модуляций S#.Shell, позволяет создать пользователю удобную среду пользования, понятную ему. Shell-Title-frimework.png Таким образом, применение открытого исходного кода не просто позволяет пользователю создавать удобный индивидуальный интерфейс, но идеален для создания торговых роботов на заказ, а это расширяет сферу применения знаний пользователя, открывая ресурс для дополнительного заработка. - Следующим неоспоримым преимуществом S#.Shell является поддержка более 70 различных подключений к мировым биржам (Коннекторы (Россия), Коннекторы (Америка), Коннекторы Forex, Коннекторы Криптовалют, Общие). gui-shell-connector-exchange.jpg - S#.Shell позволяет пользователю полностью протестировать свои торговые системы, прежде чем заходить на реальные торги. Удобная статистика, кривые Эквити, и подробнейший отчет о ходе тестирования, позволяют пользователю на стадии разработки и тестирования учесть возможные риски и внести изменяя в код торгового робота. gui-shell-equti-exchange.png - Так же пользователь имеет возможность сохранять резервные копии своих торговых роботов, восстанавливать настройки и сравнивать изменения с первоначальным кодом торгового робота. - Очень важной и удобной функцией S#.Shell является одновременный запуск стратегий. Что это дает? Пользователь теперь не ограничен одной площадкой для работы и так же может применять комплекс из нескольких стратегий, которые могут действовать раздельно друг от друга, или могут быть применены как комплекс из стратегий. Такие комплексы позволяют компенсировать или подстраховывать друг друга, проводить политику хеджирования и арбитража. При этом пользователь получает подробнейшую информацию о ходе торговли, получая информацию об ордерах, сделках, позициях, прибыли, логах и другую информацию, вывод которой он может настроить в программе. Так же пользователь может настроить запуск стратегии по расписанию, установив четкий график работы каждой из запускаемых торговых стратегий. S#.Shell – это удобное и многофункциональное программное решение, настраиваемое под пользователя. Подводя итог можно сказать следующее, что использования комплекса из библиотеки S#.API и оболочки S#.Shell, позволяет пользователю получить полностью настраиваемый под его нужды торговый комплекс. Пользователь получает не просто оболочку для торговли, он получает решение для тестирования, торговли, комплексного взаимодействия своих созданных стратегий с различными рынками одновременно или в отдельности. Удобство использования очевидно, оно не только сокращает время на подготовку и торговлю, но и позволяет пользователю заниматься разработкой решений на продажу, что увеличивает доход. Удобный курс обучения от StockSharp позволяет быстро освоить обе программы, научиться программировать и зарабатывать. Уже включенный в стоимость исходный код S#.Shell и дополнительные торговые системы, сокращают затраты пользователя и дают возможность начать торговать безотлагательно.