CCXT 加密货币交易库:连接全球交易所的开发者工具

·

CCXT(CryptoCurrency eXchange Trading Library)是一个强大的开源库,支持 JavaScript、Python、PHP、C# 和 Go 等多种编程语言,专为加密货币交易和电子商务应用而设计。它允许开发者无缝连接全球众多加密货币交易所和支付处理服务,快速获取市场数据,并用于存储、分析、可视化、指标开发、算法交易、策略回测、机器人编程等相关软件工程。

该库主要面向程序员、开发者、技术型交易员、数据科学家和金融分析师,用于构建高效的交易算法和金融应用。

核心特性与优势

CCXT 提供了一系列强大功能,使其成为开发者的首选工具:

安装指南

安装 CCXT 最简便的方式是使用各语言的包管理器。

JavaScript (NPM)

适用于 Node.js 和浏览器环境,要求支持 ES6 和 async/await 语法(Node 7.6.0+)。

npm install ccxt

使用 CommonJS 语法引入:

var ccxt = require('ccxt');
console.log(ccxt.exchanges); // 打印所有支持的交易所

使用 ESM 语法引入:

import {version, exchanges} from 'ccxt';
console.log(version, Object.keys(exchanges));

对于浏览器环境,可以直接通过 CDN 引入打包好的脚本。

Python

通过 PyPI 安装:

pip install ccxt

引入并使用:

import ccxt
print(ccxt.exchanges) # 打印所有支持的交易所类

Python 版本支持异步模式(asyncio),适用于高性能场景。

PHP

通过 Composer 安装:

composer require ccxt/ccxt

引入并使用:

include "ccxt.php";
var_dump (\ccxt\Exchange::$exchanges); // 打印所有支持的交易所类

其他语言

CCXT 同样为 C# (.NET) 和 Go 语言提供了完善的包支持,可以通过 NuGet 和 Go Modules 进行安装。

Docker

对于希望参与项目贡献的开发者,CCXT 提供了 Docker 镜像,其中包含了所有支持的语言和依赖环境,便于运行构建脚本和测试。

docker-compose run --rm ccxt

普通用户无需使用 Docker,直接安装相应包即可。

使用入门

公共 API 与私有 API

CCXT 库由公共部分和私有部分组成。

代码示例

以下是在不同语言中使用 CCXT 的基本示例。

JavaScript 示例

import { binance } from 'ccxt';

const exchange = new binance({
  'apiKey': 'YOUR_API_KEY',
  'secret': 'YOUR_SECRET',
});

const ticker = await exchange.fetchTicker('BTC/USDT');
console.log(ticker);

Python 示例

import ccxt

exchange = ccxt.binance({
    'apiKey': 'YOUR_API_KEY',
    'secret': 'YOUR_SECRET',
})

ticker = exchange.fetch_ticker('BTC/USDT')
print(ticker)

PHP 示例

$exchange_id = 'binance';
$exchange_class = "\\ccxt\\$exchange_id";
$exchange = new $exchange_class (array (
    'apiKey' => 'YOUR_API_KEY',
    'secret' => 'YOUR_SECRET',
));

$ticker = $exchange->fetch_ticker('BTC/USDT');
var_dump($ticker);

命令行界面 (CLI)

CCXT 提供了一个强大的命令行界面 (CLI),使您可以直接从终端与任何支持的交易所交互,无需编写代码即可快速查询余额、下单或获取交易数据。

安装 CLI

通过 npm 全局安装:

npm i ccxt-cli -g

使用 CLI

使用 --help 查看帮助,或使用 explain 命令了解特定方法的用法。

示例:查看createOrder方法的参数说明

ccxt explain createOrder

示例:在币安上下达一个市价买单

ccxt binance createOrder BTC/USDT market buy 0.1

API 密钥可以通过环境变量或配置文件 ($CACHE/config.json) 设置。

👉 探索更多高级交易工具与策略

常见问题

CCXT 是什么?

CCXT 是一个开源的加密货币交易库,它用一个统一的 API 接口连接了全球超百家交易所,支持 JavaScript、Python、PHP、C# 和 Go 等多种编程语言,旨在帮助开发者快速构建交易机器人、分析工具和相关的金融应用。

使用 CCXT 需要付费吗?

CCXT 是一个基于 MIT 协议的开源项目,可以免费使用。它本身不收取任何费用,交易者支付的手续费与直接使用交易所时相同。需要注意的是,使用它风险自担,不提供任何担保。

如何获取交易所的 API 密钥?

您需要前往您想要交易的交易所的官方网站,注册账户后,通常在账户设置或安全设置页面可以找到创建和管理 API 密钥的选项。请注意保管好您的密钥,不要泄露给他人。

CCXT 支持哪些交易所?

CCXT 支持包括币安、OKX、Coinbase、Kraken 等在内的超 100 家主流交易所,并且列表仍在不断更新。完整的支持列表请查阅项目官方文档或 GitHub 仓库。

在使用私有 API 时遇到错误怎么办?

首先,请确认您的 API 密钥和密钥是否正确无误,并具有必要的权限(如交易、读取余额等)。其次,查看交易所的官方 API 文档,了解其特定要求和速率限制。最后,可以查阅 CCXT 的官方手册和 GitHub Issues 寻求帮助。

CCXT 是否支持异步操作?

是的,CCXT 在 Python 和 JavaScript 等语言中支持异步模式(如 asyncio),这对于需要高性能和高并发处理市场数据的应用至关重要。

项目贡献与支持

CCXT 是一个由社区驱动的开源项目,欢迎所有开发者为其贡献力量。在提交代码之前,请务必阅读项目中的 CONTRIBUTING 文档和 Manual 手册。

开发团队投入了大量时间进行开发和维护。如果您觉得 CCXT 对您有帮助,并希望支持其进一步发展,可以通过项目官方页面进行赞助或捐赠。

风险提示

CCXT 是一个非托管型的 API 中介软件。这意味着:

建议所有使用者在深入了解其工作原理和潜在风险后,再于生产环境中使用。