Секреты TSLab | Торговые роботы | События
23 Апр

Что такое TSLab API и с чем его едят?

Если вы слышали о программе TSLab, то скорее всего слышали и про TSLab API, но, как показала моя практика, большинство людей до конца не понимает смысл этих двух слов. За время использования TSLab я уже слышал много различных версий и трактовок отличных друг от друга. Чтобы в будущем у вас не возникало проблем с пониманием этого термина я и решил написать данную статью.

Что такое API вообще?

Для начала рассмотрим некое общепринятое определение термина API.

Интерфейс программирования приложений (иногда интерфейс прикладного программирования) (англ.application programming interface, API – набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами для написания всевозможных приложений.

Уже из самого определения следует, что API есть нечто необходимое только программистам. Другим людям API принесет мало пользы, ведь они не понимают классы, процедуры и прочие програмистские штучки. Сразу стоит сказать, что язык программирования не имеет никакого значения, так как термин API универсален для всех языков программирования. Даже если у некоторого конкретного языка нет понятия “класс”, на этом языке все равно можно написать API. То есть, API это нечто являющееся программой или набором программ написанных кем то ранее. Теперь мы можем брать и использовать эти программы на свое усмотрение. Главная особенность API, отличающая его от обычных программ, состоит в том, что API не существует отдельно от конкретной программы и не может быть  использовано обособленно, в то время как обычная программа работает сама  по себе.

Давайте на конкретных примерах попробуем понять то, о чем написано выше.

Все знают что такое Excel? Полагаю что да. И большинство знает что в нем есть Макросы. Эти макросы можно создавать без знания программирования через специальные возможности Excel, но фактически макросы пишутся на языке VBA. В итоге мы имеем, что макросы не будут работать без программы Excel, а вот Excel вполне может прожить и без макросов. И в большинстве  случаев, люди макросы не используют в своей работе при использовании таблиц Excel.

Что такое Яндекс знает и ребенок. И большая часть тех кто знает о Яндекс знают и о Яндекс Карты. На многих сайтах вы наблюдали использование этого сервиса, когда возле адреса отображается карта и схема проезда. Сам сервис Яндекс Карты представляет собой API, с помощью которого можно отобразить на сайте нужную область карты с различными маркерами или метками. Яндекс будет работать и без Яндекс Карты, а вот без Яндекса работать уже ничего не будет.

Что такое TSLab API?

Ну вот мы и подошли к исходному вопросу: “Что такое TSLab API?”. С API, я полагаю, мы уже разобрались, так что осталось разобраться только с TSLab. Какие возможности дает TSLab API? Зачем собственно оно нужно?

Что такое TSLab API и с чем его едят?

Рисунок 1. Картинка из документации по API из которой ничего не понятно.

Если говорить в общих чертах, то программа TSLab является некой прослойкой между брокером и конечным пользователем. Она устраняет различия в брокерах и унифицирует взаимодействие пользователя и брокера, предоставляя стандартный интерфейс для любого типа подключения. На самом деле, не важно Транзак или Plaza 2 у вас подключена, работа с заявками и получением биржевой информации будет совершенно одинаковой. При этом разница в технологии между Транзаком и Plaza 2 просто огромны. TSLab делает так, что вы не видите разницы и благодаря этому ваши скрипты TSLab будут работать одинаково на любом брокере. Этакая замечательная универсальность и переносимость ваших алгоритмов получается. Просто сказка. Если вы пробовали писать алгоритмы напрямую под брокеров, используя API их  торговых терминалов, и при этом пытались переносить алгоритмы с одного брокера на другого, то вы поймете о чем я. Например, StockSharp пытался сделать подобное универсальное решение, но у него получилось мегасложно и мегатрудно. Работать со StockSharp очень непросто даже для прокачанного программиста.  В итоге, TSLab объединяет в себе кучу брокеров с их API (порой очень мутных и кривых), а на выходе дает пользователю TSLab API, который имеет набор команд для управления заявками и получения биржевой информации.

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

sec.Positions.BuyAtMarket(i + 1, 1, "LE");

Все остальное за нас сделает TSLab. Он сам разберется с брокером, запросит нужные данные и отправит заявку так, как хочет данный конкретный брокер. На любом брокере подача рыночной заявки будет выглядеть именно так и никак иначе.

Если мы хотим запросить конкретную свечку, то делается это так:

Bar candle = sec.Bars[10];

И на любом брокере можно будет получить свечку номер 10 именно так. Опять видим универсальность.

Все  что может TSLab  можно использовать через TSLab API (ну если честно не все, но гораздо больше чем может визуальный редактор). Используя API вы можете написать своего торгового робота задействуя максимум возможностей программы. Естественно, скрипты получаются более гибкие и умные.

А нужен ли TSLab API простому трейдеру?

На этот вопрос нет однозначного ответа ДА или НЕТ. Тут нужно исходить из ваших целей и алгоритмов. Огромная часть алгоритмов может быть реализована без применения TSLab API. Еще одна большая часть может быть с трудом реализована без применения TSLab API. И есть целый пласт алгоритмов которые невозможно реализовать без TSLab API. Как всегда исходить нужно из поставленной задачи. Если ощущаете что не можете  сделать что-то без API, значит нужно обучение TSLab API.

Если заглянуть внутрь любого скрипта созданного в визуальном редакторе, то станет очевидным, что он переводится в команды TSLab API и только потом запускается. То есть, родным для программы TSLab является именно API, а не визуальный редактор. Визуальный редактор сделан только для удобства тех, кто программировать не умеет. Выходит, что вы используете TSLab API даже сами того не подозревая. В этом и крутизна TSLab, он все упрощает и много рутинной и грязной работы делает незаметно для нас. Между возможностями визуального редактора и TSLab API есть существенные различия в пользу API, поэтому если хотите максимум возможностей, то изучайте API.

И, да  прибудет с вами Сила :).


comments powered by HyperComments

Расима
2017-01-01 20:56:35
Казино Вулкан раздают деньги сегодня http://cenforce100.ru/casino-vulkan.php
8
Сен
2017

Доверительное управление. Результаты в августе 2017 года.

Доверительное управление. Результаты в августе 2017 года. Стратегия “Опционы” принесла в августе прибыль в размере… »

6
Авг
2017

Доверительное управление. Результаты в июле 2017 года.

Доверительное управление. Результаты в июле 2017 года. В июле индекс РТС вновь колебался в достаточно узком… »

14
Июл
2017

Доверительное управление. Результаты в июне 2017 года.

Доверительное управление. Результаты в июне 2017 года. Июнь индекс РТС вновь провел преимущественно в боковых движениях, а… »

11
Июн
2017

Доверительное управление. Результаты в мае 2017 года.

Доверительное управление. Результаты в мае 2017 года. В мае “болтанка” индекса РТС продолжилась, на паре… »

7
Май
2017

Доверительное управление. Результаты в апреле 2017 года.

Доверительное управление. Результаты в апреле 2017 года. В апреле мы наблюдали очередной месяц “боковика” по… »