Лучшая криптотрейдинг библиотека?
Поговорим о монстре крипты— библиотеке CCXT
Несколько недель назад я рассказывал о том, как написать простенького бота для биржи Poloniex — клац. Но что, если у нас есть супер стратегия, для которой необходимо другая контора или вообще несколько.
Встречаем — CryptoCurrency eXchange Trading Library!
- 99 доступных контор и их становится все больше и больше;
- простейшее API для Python, JS, PHP;
- нереальная поддержка (апдейты выходят буквально каждый день);
- отличная документация;
- есть планы интегрировать WebSocket’ы.
Давайте немного пощупаем нашего зверя (буду использовать NodeJS).
Установим библиотеку с помощью команды:
npm install ccxt
Подключаем библиотеку с помощью require:
const ccxt = require('ccxt');
Попробуем инициализировать API биржи Kraken:
const kraken = new ccxt.kraken();
Если вам нужна приватная информация о вашем балансе или о вашем аккаунте, вы можете сгенерировать API ключ на вашей бирже и передать в конструктор:
const kraken = new ccxt.kraken({
apiKey: 'Публичный ключ',
secret: 'Приватный ключ'
});// Выводим баланс.
console.log(await kraken.fetchBalance());
Чтобы получить доступные валютные пары необходимо выполнить подгрузку с помощью метода:
// Массив валютных пар.
console.log(await kraken.loadMarkets());
Получим информацию по тикеру и стакану для валютной пары BTC/USD:
// Стакан.
console.log(await kraken.fetchOrderBook("BTC/USD"));// Тикер.
console.log(await kraken.fetchTicker("BTC/USD"));
Закупим 1 BTC по рыночной цене:
console.log (await kraken.createMarketSellOrder("BTC/USD", 1));
В ccxt можно также задавать дополнительные параметры, которые помогут вам устанавливать trailing-stop, выставлять маржинальный ордер и т.д. Все это можно узнать в официальной документации!
По результату мы получаем отличную библиотеку, которая не даст нам запариваться по поводу реализации работы с API большинства доступных бирж. На текущий момент данная либа является одной из самых популярных и поддерживаемых на github.