Как настроить робота в тинькофф инвестиции
Перейти к содержимому

Как настроить робота в тинькофф инвестиции

  • автор:

Готовые работы

Функция создает дополнительный столбец с действиями («ma200_support_action»), куда записываются сигналы на шорт или лонг по условиям. Затем данные агрегируются и выводятся в виде списка акций, по которым пришли сигналы, в порядке убывания даты сигнала.

import logging import os from datetime import timedelta from decimal import Decimal from matplotlib import pyplot as plt from tinkoff.invest import CandleInterval, Client from tinkoff.invest.strategies.base.account_manager import AccountManager from tinkoff.invest.strategies.moving_average.plotter import ( MovingAverageStrategyPlotter, ) from tinkoff.invest.strategies.moving_average.signal_executor import ( MovingAverageSignalExecutor, ) from tinkoff.invest.strategies.moving_average.strategy import MovingAverageStrategy from tinkoff.invest.strategies.moving_average.strategy_settings import ( MovingAverageStrategySettings, ) from tinkoff.invest.strategies.moving_average.strategy_state import ( MovingAverageStrategyState, ) from tinkoff.invest.strategies.moving_average.supervisor import ( MovingAverageStrategySupervisor, ) from tinkoff.invest.strategies.moving_average.trader import MovingAverageStrategyTrader logging.basicConfig(format="%(asctime)s %(levelname)s:%(message)s", level=logging.INFO) logger = logging.getLogger(__name__) TOKEN = os.environ["INVEST_TOKEN"] FIGI = os.environ["INVEST_FIGI"] ACCOUNT_ID = os.environ["INVEST_ACCOUNT_ID"] def main(): with Client(TOKEN) as services: settings = MovingAverageStrategySettings( share_id=FIGI, account_id=ACCOUNT_ID, max_transaction_price=Decimal(10000), candle_interval=CandleInterval.CANDLE_INTERVAL_1_MIN, long_period=timedelta(minutes=100), short_period=timedelta(minutes=20), std_period=timedelta(minutes=30), ) account_manager = AccountManager(services=services, strategy_settings=settings) state = MovingAverageStrategyState() strategy = MovingAverageStrategy( settings=settings, account_manager=account_manager, state=state, ) signal_executor = MovingAverageSignalExecutor( services=services, state=state, settings=settings, ) supervisor = MovingAverageStrategySupervisor() trader = MovingAverageStrategyTrader( strategy=strategy, settings=settings, services=services, state=state, signal_executor=signal_executor, account_manager=account_manager, supervisor=supervisor, ) plotter = MovingAverageStrategyPlotter(settings=settings) initial_balance = account_manager.get_current_balance() for i in range(5): logger.info("Trade %s", i) trader.trade() current_balance = account_manager.get_current_balance() logger.info("Initial balance %s", initial_balance) logger.info("Current balance %s", current_balance) events = supervisor.get_events() plotter.plot(events) plt.show() 

Copyright © 2023 Tinkoff

API для Инвестиций, или Как написать торгового робота

На связи команда Тинькофф Инвестиций. В этой статье разберем, как клиенты с минимальными навыками программирования создают торговых роботов. Базой будет API брокера Тинькофф Инвестиций — Tinkoff Invest API. Добро пожаловать на борт!

Немного вводных

На биржах роботы торгуют больше людей — понятно почему: они торгуют непрерывно, не страдая от эмоциональных качелей, и могут принимать решения очень быстро.

Алгоритмических торговых стратегий на бирже много, но не все подходят для Тинькофф. Перечислим основные, чтобы картина была полной.

По типу исполнения:

— Ручное. В этом случае алгоритм создает торговые сигналы на покупку или продажу инструмента, а исполнением сигналов занимается сам клиент.

— Полуавтоматическое. Алгоритм и создает, и исполняет торговые сигналы, но запрашивает у клиента подтверждение сделки.

— Автоматическое, при котором система не только создает сигналы, но и имплементирует их, проверяя балансы клиента, объем доступных средств и прочее.

По частоте торговли и количеству выставляемых торговых поручений:

— Долгосрочные алгоритмические стратегии, рассчитанные на подбор инструментов на основе фундаментальных факторов, решения по которым принимаются на период от суток.

— Среднечастотные торговые стратегии — принимающие решения на уровне минутных фреймов.

— Высокочастотная торговля простыми алгоритмами (HFT) с минимальными задержками.

По типу алгоритма:

— Алгоритмы, построенные на техническом анализе: пересечения различных индикаторов, скользящие средние, RSI и многие другие.

— Алгоритмы, построенные на стакане. Стакан — биржевой массив лимитных заявок на покупку или продажу финансового инструмента. Сюда, например, относятся алгоритмы, построенные на уменьшении спреда, — алгоритмы маркетмейкинга.

— Алгоритмы, основанные на фундаментальных факторах и предназначенные для периодической разбалансировки портфеля.

— Алгоритмы, построенные на машинном обучении и нейросетях. Как правило, на вход таких алгоритмов поступает масса различных параметров — от всех котировок до новостей и прогноза погоды, — на них нейросеть обучается, ищет скрытые корреляции между факторами и выдает прогноз роста или падения бумаги.

— Арбитражные алгоритмы — построенные на рыночной неэффективности в случаях, когда одна и та же бумага торгуется на разных биржах или в разных валютах.

— Алгоритмы-помощники. Например, клиенту надо купить бумагу по равномерному интервалу цены или равномерно по объему — в таком случае автоматизация позволит создать множество торговых поручений одним действием.

Если инвестировать в ценные бумаги и играть на бирже, наверняка будет множество идей и торговых гипотез, которые в форме роботов могли бы поднять доходность этого занятия. На Хабре уже разбирали разные подходы к созданию роботов.

Анализ финансовых ботов, можно ли заработать?

Разбираю разные подходы к созданию ботов и смотрю на их эффективность Раньше тикерную ленту изучали .

Пара слов про API

Тинькофф Инвестиции осуществляют pre-trade контроль рисков. Это значит, что сначала на стороне брокера проверяется достаточность средств для исполнения поручения и позиций для покупки или продажи, соответствие цен и после этого заявка уходит на биржу.

Плюс такого подхода — нельзя купить «лишних» бумаг и получить margin call. Но минус — дополнительные задержки при исполнении ордеров, которые в среднем составляют 200—400 мс.

Еще у брокера есть ограничение на количество выставленных заявок в единицу времени — на момент написания статьи ограничение составляет 300 поручений в минуту. Поэтому HFT-стратегии, требующие минимальных задержек и большого количества поручений, скорее не подходят для работы через Tinkoff API.

На инвестиционном рынке для интеграции с брокерами есть два подхода в организации API:

  • Часть брокеров позволяет клиентам подключаться через протоколы FIX/FAST, но для этого робот должен поддерживать такой протокол. В Open Source есть ряд библиотек, разработанных энтузиастами, но многие из них плохо поддерживаются.
  • Некоторые брокеры предоставляют современные открытые API, не требующие дополнительных библиотек или ПО. Они работают на любых языках программирования, и к ним относятся Тинькофф Инвестиции.

Коротко про протокол

При разработке API брокер придерживался требований простоты, чтобы работать с API из любого языка программирования, без установки дополнительного ПО. Теперь Tinkoff Invest API поддерживает три современных протокола:

  • Основной — gRPC, документация которого есть в открытом доступе. Одна из ключевых особенностей протокола — bidirectional-stream. Это особый режим работы, при котором открывается одно стрим-соединение, отправлять сообщения в него могут оба участника взаимодействия. Такой режим позволяет более гибко и оперативно реализовать работу. Например, bidirectional-stream сервиса котировок в одном и том же соединении принимает сообщения об изменении статуса подписки и предоставляет различные виды биржевой информации — стаканы, свечи, поток обезличенных сделок и прочее.
  • Протокол gRPC-web, который подходит для решений, работающих из браузера на основе JavaScript.
  • И классический REST-совместимый openAPI протокол, доступный через Swagger.

Как создавать торгового робота

При разработке торгового робота есть два подхода: можно самостоятельно написать робота или использовать готовый фреймворк для алготрейдинга, например OsEngine на языке С# или Debut.

В Тинькофф весной прошел конкурс торговых роботов, в номинантах — интересные работы на разных языках программирования, которые можно взять за основу:

Когда есть торговая идея, первое, что стоит сделать, — протестировать стратегию на истории. Нужно рассчитать средний доход от стратегии относительно рынка и максимальную величину просадки. Последнее особенно важно для стратегий класса Мартингейла, в которых высокая вероятность стабильного небольшого плюса компенсируется небольшой вероятностью полностью потерять портфель.

Для тестирования на истории рекомендуем скачать на локальный компьютер всю историю торгов. Объем данных в минутном таймфрейме может быть большой, и скачивание его через API займет длительное время. Поэтому рекомендуем скрипт для скачивания сразу годовых архивов.

Если при проверке торговая гипотеза показала стабильный плюс, обгоняющий рынок, пора переходить к тестированию стратегии на песочнице.

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

Для тестирования стратегии на песочнице необходимо зарегистрировать «песочный» счет, пополнить его и запустить свой алгоритм. После успешного теста на песочнице рекомендуем переходить на реальную торговлю.

Вот несколько советов, которые могут пригодиться при создании робота:

— Брокер оперирует основными сущностями — это заявка, позиция и операция.

Заявка — торговое поручение клиента, направленное на биржу с целью покупки или продажи инструмента.

Позиция — ценные бумаги, принадлежащие клиенту вследствие исполнения его поручений, выраженные в штуках. Позиция может быть отрицательная, тогда это будет так называемый шорт.

Операция — запись об исполнении заявки клиента. Она может быть как исполнена, так и отменена. Исполненные операции приводят к изменению позиций.

Брокер — не строго консистентная система, и изменения заявок, позиций и операций могут произойти в разное время. Про порядок исполнения написано на GitHub — Как ускорить работу с биржей — TINKOFF INVEST API, поэтому рекомендуем проверять исполненность заявок по факту изменения статуса заявки и объема позиции.

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

— Торговый период у биржи складывается из торговых сессий различных типов. Типы сессий различаются типами заявок, которые можно выставлять, и временем исполнения поручений. Подробнее про статусы рассказывали на GitHub, и перед выставлением заявки рекомендуем проверять, доступны ли сейчас поручения такого типа.

— В API есть ограничения на количество запросов в минуту. Количество запросов, оставшихся доступными в текущей минуте, и время ожидания до следующей минуты, если лимит запросов исчерпан, доступны в HTTP-заголовках ответа сервера.

— В ответ на каждый запрос в API в HTTP-заголовках ответа приходит уникальный идентификатор запроса — trackingID. Рекомендуем вести полный лог работы торгового робота и писать в него в том числе все вызовы API, включая параметры и tracking. Это поможет разобраться в проблеме или написать запрос в техподдержку.

Вместо заключения

Вместо выводов хотим поделиться доходностью наших алготрейдеров:

Доходность указана в процентах в месяц, данные сформированы на основе статистики торговли топ-100 клиентов, выставляющих торговые поручения через API. Видим, что средняя прибыльность алготрейдеров существенно выше средней по клиентам, хотя и очень нестабильна.

Есть вопросы?

У нас самое большое opensource-сообщество среди российских брокеров, преимущественно собранное на GitHub. Написать по всем вопросам, пожеланиям или репортнуть баг можете в issue.

Еще есть несколько каналов в Телеграме:

  • канал с анонсами;
  • чат по общим вопросам работы API и Тинькофф;
  • чат для заказчиков и разработчиков торговых роботов.

Всем профитных роботов!

Торговые роботы на Python

Привет! На связи команда Тинькофф Инвестиций. В этой статье рассказываем про Tinkoff Invest API, объясняем, как написать робота на Python, и разбираем плюсы этого языка в сравнении с другими. А вместо заключения ловите гайд по созданию робота на примере работы победителя нашего конкурса Tinkoff Invest Robot Contest.

Почему Python

Когда хочется попробовать алготрейдинг, но нет глубоких знаний языков программирования, Python станет хорошим стартом. Этот язык самый популярный: через него исполняется более 8 миллионов запросов в сутки. Вдвое больше, чем у SDK на Java — второго по популярности.

Подключить робота к биржевой торговле можно через протоколы, зависящие от выбранного брокера:

  • Часть брокеров позволяет клиентам подключаться через протоколы FIX/FAST, но для этого робот должен поддерживать этот протокол. В open source есть ряд библиотек, разработанных энтузиаcтами, и многие из них поддерживаются авторами.
  • Некоторые брокеры предоставляют современные открытые API, не требующие дополнительных библиотек или ПО.

Tinkoff Invest API — это интерфейс для взаимодействия с торговой платформой Тинькофф Инвестиций

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

В Tinkoff Invest API можно не только торговать, но и собирать данные для анализа. А еще есть песочница для регулировки и отладки стратегий на реальных котировках. Но обо всем по порядку.

Протокол и типы данных

Понять принципы структур и взаимодействие с ними помогает изучение протоколов и типов данных, используемых в API. Мы стараемся следовать рекомендациям Google и используем протоколы и типы данных, о которых расскажем ниже. Tinkoff Invest API поддерживает три протокола — gRPC, gRPC web и REST. Подробно об этом мы рассказывали в прошлой статье:

API для Инвестиций, или Как написать торгового робота

На связи команда Тинькофф Инвестиций. В этой статье разберем, как клиенты с минимальными навыками пр.

Через Tinkoff Invest API можно получить набор типов данных:

  • Текущие режимы торгов на бирже.
  • Список поручений других клиентов биржи на покупку и продажу — биржевой стакан.
  • Ленту сделок в режиме реального времени.
  • Биржевые свечи — исторические и текущие, в режиме реального времени. Свеча показывает, как менялась цена актива за определенный период. Это визуальное отображение цены открытия, закрытия, максимума и минимума и объема торгов за определенный промежуток, от минуты до суток.
  • Информацию по торговым инструментам — акциям, облигациям, фьючерсам, опционам, ETF и другим.
  • Данные о своих позициях, портфеле, списке операций, брокерском отчете и многое другое.

TINKOFF INVEST API позволяет выставить разные типы заявок. Мы собрали в документации описание зависимости рыночных или лимитных заявок от статуса торгов. Каждый тип заявки описали на сайте и дополнили примерами. Вот короткая справка.

Тейк-профит — стоп-приказ на продажу или покупку, когда стоимость ценных бумаг или валюты достигает выгодного трейдеру уровня.

Стоп-лосс — приказ на продажу или покупку, когда цена валюты или ценных бумаг начинает резко меняться не в пользу инвестора и нужно максимально уменьшить убыток.

Стоп-лимит — приказ на продажу или покупку, когда цена валюты или ценных бумаг начинает резко меняться не в пользу инвестора и нужно максимально уменьшить убыток. Работает только из приложения Тинькофф Инвестиций.

Стоп-маркет — приказ на продажу или покупку, когда цена валюты или ценных бумаг начинает резко меняться не в пользу инвестора и нужно максимально уменьшить убыток. Стоп-маркет нужен, когда нужно ограничить убытки прямо сейчас и не ждать хорошей цены для срабатывания стоп-приказов.

Лимитная заявка — указание брокеру, какую бумагу или валюту, сколько лотов и по какой цене нужно купить или продать.

Рыночная заявка — заявка на покупку или продажу активов по цене, которая есть на бирже в данный момент.

Заявка «Лучшая цена» — заявка на покупку или продажу активов по цене, которая есть на бирже в данный момент, но с защитным механизмом. Цена на бирже меняется ежесекундно, и, чтобы не отменять сделку при каждом таком изменении, брокер дополнительно блокирует на счете примерно 0,3% от суммы заявки. Если цена изменится в худшую сторону, заявка автоматически отменится, а деньги вернутся на счет.

Еще в Tinkoff Invest API мы используем нестандартные типы данных по рекомендации Google. Расскажем подробнее про каждый.

Timestamp — основной тип для передачи времени в формате protoсol-buffers. Это значение в диапазоне интервала дат от 0001-01-01T00:00:00Z до 9999-12-31T23:59:59.999999999Z. Timestamp всегда работает в формате UTC с нулевым смещением и состоит из двух полей целого типа: seconds и nanos.

MoneyValue — используется для параметров, у которых есть денежный эквивалент. Возьмем для примера стоимость ценных бумаг — тип состоит из трех параметров:

  • currency — строковый ISO-код валюты, например RUB или USD;
  • units — целая часть суммы;
  • nano — дробная часть суммы, миллиардные доли единицы.

Quotation — тип, аналогичный MoneyValue, но без информации о валюте. Параметры типа — units и nano. Для корректной работы с ним требуется конвертация в стандартные типы языка программирования, который используется для написания торгового робота. Для Python это преобразование описано в utils.

Как сделать робота

Если вы планируете создать робота самостоятельно, план прост:

  1. Станьте нашим клиентом и создайте токен доступа.
  2. Протестируйте взаимодействие с Tinkoff Invest APIчерез gRPC-клиенты или наш swagger.
  3. Скачайте исторические рыночные данные по инструментам в виде архива. Для загрузки истории котировок можно воспользоваться специальным методом или подготовленными скриптом и справочником figi.
  4. Проработайте и настройте вашу стратегию в нашей песочнице. Для тестирования своего торгового робота в песочнице можно использовать неограниченное количество счетов, которые существуют только в песочнице и не имеют отношения к реальным торгам на бирже.
  5. Переведите робота на боевой контур.

Для тех, кто хочет воспользоваться готовыми роботами, сделали небольшую подборку. В большинстве случаев достаточно следовать инструкции по запуску и добавить свои параметры.

Tinkoff Trading Bot — реализована простая интервальная стратегия. Несложный код поможет начинающим разработчикам быстро запустить, проверить и доработать торговую стратегию под свои цели. Простое ведение статистики через sqllite. Любой желающий может дописывать свои стратегии. Интерфейс простой — только init и start. Фабрика на старте использует стратегии, опираясь на файл конфигурации. Параллельно может работать несколько стратегий для разных figi. Автор робота — @qwertyo

InvestRobot — понятный для запуска робот. В качестве демонстрации представлена одна торговая стратегия, основанная на индикаторе двух скользящих средних. Автор робота — @karpp

Робот на основе объемного анализа для Тинькофф Инвестиций — кластерный анализ и профиль рынка позволяет определить действительную заинтересованность участников рынка, реализован один из методов работы с профилем рынка — реакция на максимальный горизонтальный объем внутри дня за выбранный период. Автор робота — @rteslenko

Вместо заключения — план создания робота на примере работы победителя

  1. Переходим на Tinkoff Trading Bot.
  2. Клонируем ссылку на репозиторий.
  3. Открываем терминал или командную строку, переходим в папку, где будем разворачивать репозиторий.
  4. Вставляем и выполняем команду:
git clone https://github.com/qwertyo1/tinkoff-trading-bot.git
  1. Следуем инструкции из репозитория:
  • Generate token for your account at the settings #Создаем токен для своего аккаунта в настройках.
  • Create a file .env with required env variables. You can find an example in .env.example #из файла .env.example делаем файл .env и придаем заданным переменным свои значения.
    • Create a file instuments_config.json with configurations. You can find an example in instruments_config.json.example #из файла instruments_config.json. делаем файл instuments_config.json. Для легкого старта советуем изменить значение параметра figi на BBG333333333 — «Тинькофф iMOEX».
    pip install virtualenv virtualenv --python=python3.9 venv source venv/bin/activate
    pip install -r requirements.txt
    • Робот запрашивает свечи за последние 10 дней и высчитывает коридор с низшей и высшей ценой. И в случае пересечения границы коридора робот выставляет заявки на покупку или продаж.
    • Ждем профит!
    • Блог компании TINKOFF
    • Python

    Tinkoff Invest Api. Бесплатные роботы и примеры использования

    Еще

    Не так давно мы закончили подключать к своему замечательному терминалу Тинькофф Апи, второй версии. И в этой статье поговорим о том, как через него торговать роботами.

    Tinkoff Invest Api. Бесплатные роботы и примеры использования

    ВСЁ АБСОЛЮТЛИ БЕСПЛАТНО! УРА ТОВАРИЩИ! Военный коммунизм ПОБЕДИЛ!

    Прочитав эту статью, вы поймете, как торговать готовыми, бесплатными роботами через свой аккаунт у Тинькофф брокера!

    1) Что такое Тинькофф Инвест Апи?

    2) Какие роботы для Тинькофф Апи Вам будут доступны?

    3) Как подключить роботов к Тинькофф Инвест Апи?

    4) Моё личное мнение как программиста о протоколе

    1 Что такое Тинькофф Инвест Апи?

    Начать следует с того, что роботам для торговли нужно предоставить доступ к этим самым торгам. В случае с Российскими брокерами, чаще всего, для такого доступа используется терминал Квик. Однако несколько брокеров, включая Тиньков Инвестиции – дают свой, эксклюзивный шлюз. Своё API.

    API – программный интерфейс доступа к какой-то программе.

    Quik – самый популярный терминал для торговли через Российских брокеров.

    Тинькофф инвест Апи – шлюз доступа к торгам для клиентов брокера. Набор программ и инструкций, позволяющих:

    1) Запрашивать информацию о торгах по инструментам. Включая свечи, стаканы, ленту сделок и прочее.

    2) Запрашивать информацию по состоянию портфеля пользователя. Сколько у пользователя денег на счету. Сколько

    3) Выставлять заявки

    2 Какие роботы для Тинькофф Апи Вам будут доступны?

    Подключаться будем через OsEngine.

    Это – полный набор программ необходимых Вам для алготрейдинга. В том числе, в него входят около 40 предустановленных торговых роботов которыми Вы можете пользоваться сразу!

    С помощью этого терминала, когда вы подключитесь к Tinkoff Invest Api, Вам станут доступны:

    1) Трендовые торговые роботы

    2) Контр-трендовые торговые роботы

    4) Мощный слой создания роботов и индикаторов, для того чтобы Вы могли делать своих роботов. Язык: C#. СиШарп

    5) Оптимизатор и тестер для тестирования своих роботов

    6) Маркет с десятками готовых торговых роботов приносящих прибыль: https://o-s-a.net/market/products

    7) Обучение программированию роботов на OsEngine: https://o-s-a.net/training.html

    На сегодняшний день OsEngine – один из самых популярных терминалов для алготрейдинга в СНГ. И в среде русско-говорящего интернета.

    OsEngine – полностью бесплатная программа, распространяемая по разрешительной лицензии. Берите, пользуйтесь.

    Информация о том, как начать с ней работать – на ютуб канале и по ссылкам Выше.

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

    3 Как подключить роботов к Тинькофф Инвест Апи?

    Выписываем Токен

    Для начала Вам нужно будет выписать Токен, в личном кабинете Тинькова.

    Tinkoff Invest Api. Бесплатные роботы и примеры использования

    Переходим личный кабинет Тинькоф Инвестиций и идём в настройки:

    Tinkoff Invest Api. Бесплатные роботы и примеры использования

    Листаем на этой странице в самый низ, и здесь видим раздел, в котором можно сделать токен доступа:

    Жмём на кнопочку создать. Аккуратно сохраняем токен куда-нибудь в файлик на компьютер. Он нам пригодиться для того чтобы из OsEngine получить доступ к торгам.

    Подключем OsEngine к Тинькоф инвест апи

    Tinkoff Invest Api. Бесплатные роботы и примеры использования

    Настраиваем OsEngine:

    Ну и собственно осталось создать какого-то робота и настроить его подключение к данным. Этот процесс картинками я описывать не буду. Более подробно этот процесс можно посмотреть в этом видео:

    Вот собственно и всё!

    Ещё раз повторюсь – OsEngine, большой, профессиональный терминал и комплекс программ для алготрейдеров. Не торопитесь с его изучением. Просмотрите наш ютуб канал. Убедитесь в том, что Вы понимаете, что делаете!

    4 Моё личное мнение как программиста о текущем протоколе Тинькофф Апи

    Честно. Чувствую себя как та бабка, требующая от золотой рыбки слишком многого. Так сильно я их критиковал за прошлую версию АПИ, что эту – как-то уже и хвалить не удобно. Вошёл в роль негодяя и тяжело говорить что-то хорошее.

    Однако – похвалить надо.

    О хорошем

    Из заявленного по функционалу Апи – для алготорговли теперь всего достаточно. Добавлены наконец-то и лента сделок и потоковые данные все что нужны. Напомню, в прошлом протоколе не было ленты сделок и потоковых данных толком. Работало всё – очень душно. Сейчас – видно, что старались.

    Протокол передачи выбран современный и быстрый. Protobuf. Я встречал его уже раза три, наверное. Хорошая штука.

    Tinkoff Invest Api. Бесплатные роботы и примеры использования

    Описание прекрасное, несколько программ которые позволяет тестировать на лету это самое API. Убеждаясь в том, что всё работает. А для программистов это очень важно. Спасибо. Я лично использовал Kreya для тестов:

    Запустилось всё минут за 10. Огонь.

    О плохом

    На .Net Framework, на котором написан наш дорогой OsEngine не все вещи доступны. Как написано на сайте разработчиков протокола гугл протобафф(GRPC, если быть точнее) – находится в экспериментальном состоянии. Или что-то вроде того.

    Но выход нашёлся. Подключился через Rest. Несколько костылей поставил. И в целом – торговать можно довольно бодро.

    Думается, что от 10 до 20 инструментов можно одновременно без проблем торговать.

    Собственно – это единственная проблема, с которой я столкнулся. Расстроился конечно сначала очень сильно. Но реализация Rest запросов к Tinkoff Api позволила это дело обойти.

    В заключении

    Пользуйтесь на здоровье друзья! Команде Тинкова огромный респект и спасибо!

    Всем профитов! И Удачных алгоритмов!

    Напоминаю, что для того чтобы задавать вопросы, нужно добавиться ко мне в друзья. Давайте учиться жить дружно. И… Задавайте свои вопросы на ютубе, постараюсь ответить на все.

    Также, вступай в чатик алготрейдеров: https://t.me/o_s_a_chat

    • спецраздел:
    • торговые роботы,
    • торговый софт
    • Ключевые слова:
    • торговые роботы,
    • торговый софт

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *