Что-такое-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 простому трейдеру?

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

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

Родион Скуратовский

 
 
 


Вы уже сейчас можете начать изучать Видео курс- роботы в TSLab и научиться самому делать любых роботов!
 
Можно записаться на следующий поток ОнЛайн курса «Создание роботов в TSLab без программирования», информацию по которому можно посмотреть тут->
 
Также можете научиться программировать роботов на нашем Видео курсе «Роботы для QUIK на языке Lua»
 
Если же вам не хочется тратить время на обучение, то вы просто можете выбрать уже готовые роботы из тех, что представлены у нас ДЛЯ TSLab, ДЛЯ QUIK, ДЛЯ MT5, ДЛЯ КРИПТОВАЛЮТЫ!
 
Также можете посмотреть совершенно бесплатные наработки для МТ4, Квика, МТ5. Данный раздел также постоянно пополняется.
 
Не откладывайте свой шанс заработать на бирже уже сегодня!