Trading Open API - JS SDK
SDK для работы с OpenAPI Тинькофф Инвестиции, который можно использовать для создания торговых роботов.
npm i @tinkoff/invest-openapi-js-sdk --save
Документация
Доступна по ссылке
Swagger
Авторизация
Более полную информацию можно просмотреть в документации
- Перейдите в настройки блок "Токен для OpenAPI"
- Функция "Подтверждение сделок кодом" должна быть отключена
- Выпустите токен OpenApi для биржи и Sandbox. Возможно система
попросит вас авторизоваться еще раз, не беспокойтесь, это необходимо
для подключения робота к торговой платформе.
- Скопируйте токен и сохраните, токен отображается только один раз, просмотреть
его позже не получится, тем не менее вы можете выпускать неограниченное количество токенов.
Пример
см. более сложный пример в example
import OpenAPI from '@tinkoff/invest-openapi-js-sdk';
const apiURL = 'https://api-invest.tinkoff.ru/openapi/sandbox';
const socketURL = 'wss://api-invest.tinkoff.ru/openapi/md/v1/md-openapi/ws';
const secretToken = 'xxx';
const api = new OpenAPI({ apiURL, secretToken, socketURL });
!(async function run() {
const { figi } = await api.searchOne({ ticker: 'AAPL' });
const { commission, orderId } = await api.limitOrder({
operation: 'Buy',
figi,
lots: 1,
price: 100,
});
console.log(commission);
await api.cancelOrder({ orderId });
})();
Sandbox
Для использования Sandbox необходимо передать в apiURL и в secretToken url
эндпоинта с апи sandbox'а и токен для песочницы.
Более подробно в документации
await api.sandboxClear();
const { figi } = await api.searchOne({ ticker: 'AAPL' });
await api.setCurrenciesBalance({ currency: 'USD', balance: 1000 });
await api.instrumentPortfolio({ figi });
await api.limitOrder({ operation: 'Buy', figi, lots: 1, price: 100 });
await api.instrumentPortfolio({ figi });
Ограничения
На данный момент доступно только 6 TCP соединений на аккаунт