ccxt k线数据_CCXT - 加密货币交易所接口库

CCXT 是一个用于加密货币电子化交易的 JavaScript / Python / PHP 库,支持诸多比特币/以太币/山寨币交易市场的交易 API 。

CCXT 库可用于世界各地的加密货币/山寨币交易所的连接和交易,以及转账支付处理服务。它提供了快速访问市场数据的途径,可用于存储数据,分析,可视化,指标开发,算法交易,策略回测,机器人程序,网上商店集成及其它相关的软件工程。

它可被程序员,开发工程师,技术熟练的交易员,数据科学家和财务分析师用于在其基础上构建交易算法。

当前具有的特性:

支持许多交易所,并将添加更多

为上述交易所实现了全部公共和私有 API

所有货币,山寨币和交易对,价格,订单簿,交易,行情等...

可选的用于跨交易所或跨币种分析和套利的标准化数据

一个非常容易集成的开箱即用的统一 API

可在 Node 7.6+,Python 2 和 3,PHP 5.3+ 及 Web 浏览器中使用

支持的加密货币交易所

CCXT 库目前支持 115 个加密货币交易所的交易 API,可以在这里找到列表:ccxt/ccxt​github.com

上面的列表经常更新,新的加密货币市场,山寨币交易所,bug修复,API接口将定期被引入、添加。详细信息请参见手册。如果您没有在上面的列表中找到加密货币交易所并且/或者想要添加另一个交易所,请通过在GitHub上创建issue或或通过电子邮件向我们发送链接。

本仓库使用MIT 许可,这意味着任何开发人员都可以免费在其上构建商业和开源软件,但如果使用该软件,则风险自担,不作任何担保。

安装

安装 CCXT 库的最简单方法是使用内置包管理器:

本仓库提供一个整合的模块实现,具有最小依赖和要求:

您也可以从CCXT GitHub 仓库中将它克隆到您的项目目录中

git clone https://github.com/ccxt/ccxt.git

将该库集成到代码中的另一种方法,是将单个文件手动复制到您的工作目录中,并使用适合您环境的语言扩展。

JavaScript (NPM)

CCXT的JavaScript版本在Node和Web浏览器中均可以使用。需要 ES6 和 async/await 语法支持( Node 7.6.0+ )。在使用Webpack和Babel进行编译时,请确保它不会在您的 babel-loader 配置中被排除。

npm install ccxt

var ccxt = require ('ccxt')

console.log (ccxt.exchanges) // print all available exchanges

JavaScript(与 标签一起使用):

包含所有功能于一身的浏览器软件包(包括依赖项),由 unpkg CDN 提供。unpkg CDN 是一个快速的全球性的内容分发网络,适用于NPM上的所有内容。

创建一个全局的 ccxt 对象:

console.log (ccxt.exchanges) // print all available exchanges

Python

pip install ccxt

import ccxt

print(ccxt.exchanges) # print a list of all available exchange classes

本仓库支持在Python 3.5.3+中使用asyncio和async / await进行异步并发模式

import ccxt.async as ccxt # link against the asynchronous version of ccxt

PHP

PHP版的 CCXT 库:ccxt.php

它需要以下PHP模块:cURL

mbstring (强烈推荐使用 UTF-8 )

PCRE

iconv

include "ccxt.php";

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

文档

阅读操作手册以获得更多详细信息。

使用方法

介绍

CCXT 库由公共接口部分和私有接口部分组成。任何人都可以在安装后立即使用公共部分。公共 API 具有获取所有交易所公开信息的权限,无需注册用户账户,也无需 API 密钥。

公共 API 包括以下内容:市场数据

交易对

交易手续费

订单簿 / 深度数据

交易历史

行情 / Tickers

用以制图的 OHLC(V) / K线

其他公共接口

对于通过私有 API 进行交易,您需要从交易所获取 API 密钥。它通常意味着在交易所注册,并使用您的账户创建 API 密钥。大多数交易所需要个人信息或身份证明。其他验证材料也可能是必要的。如果你想要交易,你需要自己注册,这个库不会为你创建账户或 API 密钥。一些交易所 API 提供了用代码本身注册帐户的接口,但大多数交易所并没有。因此您必须注册并在网站上创建 API 密钥。

私有API允许以下内容:管理个人帐户信息

查询账户余额

通过市价单和限价单进行交易

存入和提取法币和加密货币

查询个人订单

获取交易明细/历史

在账户之间转移资金

使用商业服务

本仓库实现了所有交易所的公共和私有REST API。JavaScript,PHP,Python及其他语言的WebSocket实现和FIX将尽快推出。

CCXT 库同时支持驼峰命名法(常用于 JavaScript)和下划线命名法(常用于 Python 和 PHP),因此在任意一种语言中,两种命名法/编码风格均可调用所有方法。

// 以下两种格式在JavaScript/Python/PHP下均有效

exchange.methodName () // 驼峰命名法

exchange.method_name () // 下划线命名法

阅读 指南以获得更多详细信息。

JavaScript

'use strict';

const ccxt = require ('ccxt');

(async function () {

let kraken = new ccxt.kraken ()

let bitfinex = new ccxt.bitfinex ({ verbose: true })

let huobi = new ccxt.huobi ()

let okcoinusd = new ccxt.okcoinusd ({

apiKey: 'YOUR_PUBLIC_API_KEY',

secret: 'YOUR_SECRET_PRIVATE_KEY',

})

console.log (kraken.id, await kraken.loadMarkets ())

console.log (bitfinex.id, await bitfinex.loadMarkets ())

console.log (huobi.id, await huobi.loadMarkets ())

console.log (kraken.id, await kraken.fetchOrderBook (kraken.symbols[0]))

console.log (bitfinex.id, await bitfinex.fetchTicker ('BTC/USD'))

console.log (huobi.id, await huobi.fetchTrades ('ETH/CNY'))

console.log (okcoinusd.id, await okcoinusd.fetchBalance ())

// 以市价卖出 1BTC,并立马得到1比特币等值的欧元

console.log (okcoinusd.id, await okcoinusd.createMarketSellOrder ('BTC/USD', 1))

// 以 $2500 购买 1 BTC, 当该订单成交时,你会付出 $2500 美金并获得 1BTC

console.log (okcoinusd.id, await okcoinusd.createLimitBuyOrder ('BTC/USD', 1, 2500.00))

// 传递/重定义特定交易所的订单自定义参数:类型,数量,价格 等等

// 使用一个交易所专有的订单类型

bitfinex.createLimitSellOrder ('BTC/USD', 1, 10, { 'type': 'trailing-stop' })

}) ();

Python

# coding=utf-8

import ccxt

hitbtc = ccxt.hitbtc({'verbose': True})

bitmex = ccxt.bitmex()

huobi = ccxt.huobi()

exmo = ccxt.exmo({

'apiKey': 'YOUR_PUBLIC_API_KEY',

'secret': 'YOUR_SECRET_PRIVATE_KEY',

})

hitbtc_markets = hitbtc.load_markets()

print(hitbtc.id, hitbtc_markets)

print(bitmex.id, bitmex.load_markets())

print(huobi.id, huobi.load_markets())

print(hitbtc.fetch_order_book(hitbtc.symbols[0]))

print(bitmex.fetch_ticker('BTC/USD'))

print(huobi.fetch_trades('LTC/CNY'))

print(exmo.fetch_balance())

# 以市价卖出 1BTC,并立马得到美元现金

print(exmo.id, exmo.create_market_sell_order('BTC/USD', 1))

# 限价买入 BTC/EUR, 当该订单成交时,你会以 €2500 欧元的价格收到 1BTC

print(exmo.id, exmo.create_limit_buy_order('BTC/EUR', 1, 2500.00))

# 传递/重定义特定交易所的订单自定义参数:类型,数量,价格,flags 等等

kraken.create_market_buy_order('BTC/USD', 1, {'trading_agreement': 'agree'})

PHP

include 'ccxt.php';

$poloniex = new \ccxt\poloniex ();

$bittrex = new \ccxt\bittrex (array ('verbose' => true));

$quoinex = new \ccxt\quoinex ();

$zaif = new \ccxt\zaif (array (

'apiKey' => 'YOUR_PUBLIC_API_KEY',

'secret' => 'YOUR_SECRET_PRIVATE_KEY',

));

$poloniex_markets = $poloniex->load_markets ();

var_dump ($poloniex_markets);

var_dump ($bittrex->load_markets ());

var_dump ($quoinex->load_markets ());

var_dump ($poloniex->fetch_order_book ($poloniex->symbols[0]));

var_dump ($bittrex->fetch_trades ('BTC/USD'));

var_dump ($quoinex->fetch_ticker ('ETH/EUR'));

var_dump ($zaif->fetch_ticker ('BTC/JPY'));

var_dump ($zaif->fetch_balance ());

// 以市价卖出 1 BTC/JPY,你将会立即卖出比特币并收到日元

var_dump ($zaif->id, $zaif->create_market_sell_order ('BTC/JPY', 1));

// 买入 BTC/JPY, 当该订单成交时,你会以 ¥285000 日元的价格收到 1BTC

var_dump ($zaif->id, $zaif->create_limit_buy_order ('BTC/JPY', 1, 285000));

// 为你的订单设置一个用户自定义的 id

$hitbtc->create_order ('BTC/USD', 'limit', 'buy', 1, 3000, array ('clientOrderId' => '123'));

贡献力量

在您做出一些修改并希望合并进代码之前,请阅读 贡献 文档。 另外,您可通过阅读 指南 来获取更多详细信息.

支持开发团队

我们对此仓库的开发正在投入大量的时间。如果 CCXT 使得您的生活更加简单,并且您喜欢它,并希望帮助我们进一步改进它,或者如果您想加快开发新功能和交易所,请通过小费支持我们。我们感谢所有的支持!

加密货币捐助地址

ETH 0xa7c2b18b7c8b86984560cad3b1bc3224b388ded0

BTC 33RmVRfhK2WZVQR1R83h2e9yXoqRNDvJva

BCH 1GN9p233TvNcNQFthCgfiHUnj5JRKEc2Ze

LTC LbT8mkAqQBphc4yxLXEDgYDfEax74et3bP

谢谢!

中文社区资源CCXTCN 是 CCXT 文档中文翻译项目,开始于 2018.05.14,欢迎加入我们一起完成这个项目。

CCXT 中文文档翻译 QQ 群:749640693

CCXT 使用问题交流 QQ 群:150134435

你可能感兴趣的:(ccxt,k线数据)