Python中文社区(ID:python-china)CCXT框架是Python/Javascript/PHP的交易API框架,对接130多家交易所。可用于世界各地的加密货币交易所的连接和交易,以及转账支付处理,可用于数据存储、分析、可视化、指标开发、算法交易,是一个非常容易集成的外部开箱即用的统一API。CCXT框架Github地址:https://github.com/ccxt/ccxt当前功能列表:支持许多交易市场,甚至即将推出所有交易的完整公共和私有API所有货币、山寨币和代币、价格、订单、交易、代码等...提供可选的标准化数据,用于交叉交换或交叉货币分析和套利开箱即用的统一一体化API,非常易于集成适用于Node7.6+、Python2和3、PHP5.4+,网页浏览器认证交易所支持的加密货币交易所ccxt库,目前支持以下131个加密货币交易所和交易API,可以在github上查看。上面的列表经常更新,定期引入和添加新的加密货币市场、山寨币交易所、错误修复、API端点。有关详细信息,请参阅手册,如果您在上面的列表中没有找到加密货币交易市场和/或想要添加其他交易,请通过GitHub或通过电子邮件向我们发送链接,方法是在此处发布问题。该库受MIT许可,这意味着任何开发人员都可以完全免费地构建商业和开源软件,但使用它需要您自担风险且不提供任何保证。安装ccxt库的最简单方法是使用内置包管理器:来自NPM(JavaScript/Nodev7.6+)的ccxt来自PyPI(Python2和3.5.3+)的ccxt来自Packagist/Composer(PHP5.4)+)该库作为具有最小依赖性和要求的一体化模块实现提供:js/inJavaScriptpython/inPython(从JS生成)PHP/PHP(从JS生成)也可以从ccxtGitHub下载存储库将其克隆到您的项目目录中:gitclonehttps://github.com/ccxt/ccxt.git将此库安装到您的代码中的另一种方法是手动将各个文件复制到您的工作目录中,并使用适合您环境的语言扩展名称。安装pipinstallccxt通用接口#初始化交易所binance_exchange=ccxt.binance({'timeout':15000,'enableRateLimit':True})#获取单个交易对的行情数据binance_exchange.fetchTicker(symbol)#获取多笔交易的行情数据pairstickers_data=binance_exchange.fetchTickers(['BTC/USDT','ETH/USDT'])#获取交易订单簿数据binance_exchange.fetch_order_book(symbol)#获取K线数据binance_exchange.fetch_ohlcv(symbol,timeframe='1d')使用CCXT中的交易所都是集成了Exchange的基类,然后各个交易所实现了一些统一的api接口,同时也实现了自己交易所特有的api方法。统一的api方法分为需要权限访问的方法如loadmarkets(加载市场交易对)、fetchticker(获取代码)等,需要权限访问的方法如fetchbalance(获取账户资金)、createorder(生成订单)等待。CCXT的方法名有两种实现方式,一种是驼峰命名法,另一种是下划线命名法。在python中,推荐使用underscore方式调用。公共API包括市场数据、交易对、交易费用、订单簿/深度数据、交易历史、代码、用于图表的OHLC(V)/K线和其他公共接口。私有API包括管理个人账户信息、查询账户余额、传递市价单和限价单。进行单笔交易存取法定货币和加密货币查询个人订单获取交易详情/历史记录在账户之间转移资金使用业务服务该库为所有交易所实施完整的公共和私有RESTAPI。JavaScript、PHP、Python和其他语言的WebSocket和FIX实现即将推出。ccxt库支持驼峰式表示法(在JavaScript中首选)和下划线表示法(在Python和PHP中首选),因此可以以任何语言表示法或编码调用所有方法。//这两个符号在JavaScript/Python/PHP中都有效.huobi()exmo=ccxt.exmo({'apiKey':'YOUR_PUBLIC_API_KEY','secret':'YOUR_SECRET_PRIVATE_KEY',})kraken=ccxt.kraken({'apiKey':'YOUR_PUBLIC_API_KEY','secret':'YOUR_SECRET_PRIVATE_KEY',})exchange_id='binance'exchange_class=getattr(ccxt,exchange_id)exchange=exchange_class({'apiKey':'YOUR_API_KEY','secret':'YOUR_SECRET','timeout':30000,'enableRateLimit':True,})hitbtchitbtc_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())#sellone?formarketpriceandreceive$rightnowprint(exmo.id,exmo.create_market_sell_order('BTC/USD',1))#limitbuyBTC/EUR,youpay2500andreceive?1whentheorderisclosedprint(exmo.id,exmo.create_limit_buy_order('BTC/EUR',1,2500.00))#pass/redefinecustomexchange-specificorderparams:type,金额、价格、标志等...kraken.create_market_buy_order('BTC/USD',1,{'trading_agreement':'agree'})
