В одном из прошлых постов мы писали о том, что у нас появился Open API, в котором можно писать и проверять торговых ботов. Этот функционал полностью бесплатный и находится на сайте Тинькофф Инвестиции Open API.
Напомним, что через Open API алготрейдеры могут:
— выставлять и отменять лимитные заявки;
— через стриминг по стакану, бумагам на бирже и свечам получать информацию о фондовом рынке;
— запрограммировать интерфейс Тинькофф Инвестиций так, чтобы мгновенно реагировать на резкое колебание стоимости акций и автоматически выставлять заявку на их покупку или продажу, причем сразу на то количество лотов, которое нужно.
Что добавили?
Теперь у нас появилась поддержка новых языков программирования: официальные SDK — Java, C#, Go, Node.js, неофициальные — Python и PHP.
Клиенты могут предлагать улучшения, задавать вопросы или писать о багах напрямую: разработчики Тинькофф Инвестиций создали репозиторий на github.com. Там они выложили документацию, трекер задач, исходный код и релизы. GitHub — крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки.
Пишите в комментариях или на GitHub свои вопросы или предложения по улучшению сервиса — и разработчики вам ответят.
Отлично!
Вы обещали тариф для алготрейдеров, когда стоит ожидать?
Хотя бы в этом году или нет?
http://o-s-a.net/posts/roboty-tinkoff-investicii.html
Скорее всего, лучше в перспективе делать API мимо веб на торговый сервер. Как это делают некоторые единичные броки, в кол-ве штук трех.
Для алготрейдинга вся эта история пока дно полное. Кроме получасовиков торговать абсолютно и решительно нельзя.
Апи – маразматичное и сделано на от… бись. В натуральном смысле этого слова. Люди его делавшие вообще ни разу в жизни робота для трейдинга не видели. И вероятно даже с понятием трейдинга знакомы очень и очень поверхностно. Ибо не знают вообще какие типы данных есть на бирже и как их нужно рассылать.
Там буквально в некоторых переменные называны «НЁХ», или вроде того. Смешно конечно, но у того что они там слали есть нормальное описание в ядре биржи и в Плазе. Нахрен эту големототу писать.
Из поточных данных вообще идёт полный шлак. Ордеров нет, моих трейдов нет. Ленты сделок с.ка нет. Есть только стаканы, и то их скачивание ограничено 6стью штуками.
Время нигде нет!!! программисты!!! Как так у стакана нету таймШтампа. Какого хрена?
Ленты сделок(трейды) нет вообще. Т.е. возможности строить свои уникальные свечи нету. Внезапно! Но именно из этих данных строятся свечи в системах анализа сторонних. Вот вы высылаете свои свечки – они нам нахрен так-то не нужны. У нас 10 видов различных свечек и горизонтальные объёмы. Всё это строится из ЛЕНТЫ ВСЕХ СДЕЛОК. Что ж Вы там загуглить не могли какие данные из биржи идут и что может людям понадобиться. Тьфу.
Короче. Потоковые данные мы полностью зарезали. Брать там нечего. И в ближайший год там всё это будет переделываться несколько раз. Тинькофф это так не оставит. Просто видать сказать некому пока. Ну ладно. Поэтому даже и начинать не стоит. Всё на чём основан наш коннектор – это запросы. Отсюда у нас задержки с получением данных и прочее. Кроме того, построение свечек только по центру стакана и только классика, ибо объёмов никто не знает, т.к. они их не дают. Такие дела.
В общем – история с АПИ для Тинькофф инвестиций абсолютно вторична и я когда смотрел на итоговый результат по коннектору плакал без остановки несколько часов. Надеюсь они в течении года это дело как-то подхилят и найдут нормального архитектора для Апи.»
яростно плюсую к каждому слову. Не знаю, до кого дойдет этот комментарий, но… при всей моей любви к Тинькофф Банку апиха эпичный фейл. Прошу прощения. Надеюсь, Вам реально интересно мнение людей, которые были бы вполне не против пользоваться продуктом, но в таком виде им пользоваться нельзя. Расскажите, чем конкретно помочь — поможем, ответим — спрашивайте. Самое критично-первостепенно-нужное — лента сделок, трейды, с временем! с ценами! с объемами! чтобы мы сами могли анализировать временные ряды, так, как это нужно алгоритмам.
Защищать парней из Тинькова от самого себя.
В общем, история такая. Делали для них подключение в своём терминале. Кое-что понравилось, кое-что нет. Понравилось всё что сделано для людей обычных. Всё что сделано для программистов совсем не понравилось.
По стеку:
Rest и WebSocket это практически новый стандарт международный. Почти все биржи криптовалют на нём. Скорость хорошая, доступ из любой платформы. Поддерживать кучу реализаций не надо. В общем — стек для стандартного АПИ правильный и современный. Но саму реализацию АПИ надо переделывать почти целиком.
Проблемы в поточных сервисах в основном, которых нет по сути.
1) Нужен поток «MyOrdersChange», «MyTrades», «Trades»
2) Рассылку стаканов надо переделывать. Добавить таймШтамп. Убрать ограничение в 6сть штук. Подписка пачкой. Рассылать не весь срез стакана, а «Срез целиком» + дальше «изменение строк по ценам». Это облегчит эти потоки без ограничения.
3) Сделать возможность высылать ордера через WebSocket тоже уже со стороны внешней торговой системы в ядро Апи. Им уже. Это снизит нагрузку на Rest в момент если кто-то захочет чего-то котировать через Вас и не придётся вводить ограничения на работу по Rest.
Референсы такие разработчикам:
SmartCom Api — берём таблицы данных. Там и фьючи и спот уже реализованы. Всё прилично и всего хватает. Описание прекрасное у таблиц данных. Всё разжевано. Откуда, зачем и куда. И какого типа.
Binance Api — вёбСокеты, общая реализация общения.
Plaza 2 — работа со стаканом. То про что я писал Выше. Сначала весь + потом изменения строк. Это снизит нагрузку на потоковые сервисы и даст алготрейдерам весь спектр рынка.
LiveCoin Api — работа с ордерами через WebSocket. Мы через них котируем там несколько бумаг. Легко принимает сотни заявок в секунду без нагрузок на Rest, которые бы похоронили их, если бы только наши ММ через Rest работали.
Такие дела. Не хотел Вас обидеть если что. Но надо что-то с этим делать.
Вы — хотели алготрейдеров у себя. Вот алготрейдеры к Вам пришли. Бойтесь своих желаний.
Медленные алгоритмы и так смогу работать через Вас. Тренд, позиционка. Но всё остальное пока людям не доступно совсем. ММ различные, Арбитражи, Скринеры, памп-детекторы, Стаканы, Десятки типов свечек, Горизонтальные объёмы — всё это не будет работать. А это большая часть объёмов торгов на MOEX, которые пока через Вашего брокера не пойдут.
Переделывайте. Всё будет хорошо.
Нормально всё будет. У меня вообще сомнений нет. У Тинькова всегда всё на уровне. И тут вытащат. Но нужно время. Работы ещё много.
Допилят. Там как раз видно что и куда будет развиваться. Всё вроде на своих местах пока. МТ напомнило первых версий. Это в общем похоже на скрам процесс нормальный через MVP. Делай функционал — вводим. Добавляем функционал. Пишем посты про победы перманентно. Обзаводимся пользователями. Всё хорошо. И когда-то это превращается в очень хороший продукт. Мы и сами ещё до финала то не дошли.
Терминал в общем, по хорошему варианту идёт вроде, по второму.
— обязательно опционы
— опционные стаканы
— время реакции на снятие и установку заявок меньше 1мс
1. не надо ваять самостоятельно высокоуровневые обертки над OpenApi — просто контракта на интерфейс должно быть достаточно и примеров, в противном случае придется поддерживать для кучи языков, от этого пострадает качество.
2. используйте gRPC вместо OpenApi
там из коробки стриминг двусторонний, лоад балансинг, реконнект, плюс более сжатый формат — протобафферы
ну и конечно не впример серьезнее контрибьютеры где гугл один из них
на этом же апи можете разрабатывать и веб только надо будет прокси запустить. Ну и может не очень лоулатенси хфтэшников захватите, тк пошустрее эта технология будет