Лучшая криптотрейдинг библиотека?

Поговорим о монстре крипты— библиотеке CCXT

Влад Скуришин
2 min readFeb 25, 2018

Несколько недель назад я рассказывал о том, как написать простенького бота для биржи 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.

--

--

No responses yet