资源加载中... loading...

2.14 如何调用交易所的API

Author: 发明者量化-小小梦, Created: 2017-05-02 11:53:48, Updated: 2017-10-11 10:23:02

2.14 如何调用交易所的API

  • #### HttpQuery 函数

2.14 如何调用交易所的API

在调用一些不需要验证的 交易所 API 时(比如 跟账户信息 无关的行情信息API),例如:

  https://www.okcoin.com/api/v1/future_estimated_price.do?symbol=btc_usd // 获取交割预估价

HttpQuery(”https://www.okcoin.com/api/v1/future_estimated_price.do?symbol=btc_usd”)

  https://www.okcoin.com/api/v1/future_hold_amount.do?symbol=btc_usd&contract_type=next_week  // 获取合约持仓量

HttpQuery(”https://www.okcoin.com/api/v1/future_hold_amount.do?symbol=btc_usd&contract_type=next_week”)

获取到的是 JSON 格式的字符串 可以用 JSON.parse 函数解析 为对象,获取数据。

  • #### exchange.IO 函数

2.14 如何调用交易所的API

IO函数调用的交易所API 必须是需要验证的(不支持 直接可以用 HttpQuery 访问的那些API。)

具体使用可以参见 API 文档。


更多内容

qq47898077 因为python不支持HttpQuery,exchange.IO又必须要验证,所以我尝试用自带的urllip获取行情信息。但是Poloniex的API都有人工验证,你们是怎么解决的呢。

发明者量化-小小梦 python 这样写,我也是 看gihub 上的还在学习: ``` def _call(self, mode, uri, data = None): url = '%s://%s%s' % (SCHEME, self._host, uri) # Log(mode + ' ' + url) # print headers = DEFAULT_GET_HEADERS if mode=='GET' else DEFAULT_POST_HEADERS req = request.Request(url, data = data, headers=headers, method=mode) # Log("req:", req) # print with request.urlopen(req, timeout=TIMEOUT) as resp: if resp.getcode()!=200: raise ApiNetworkError('Bad response code: %s %s' % (resp.getcode(), resp.reason)) return resp.read() # self._parse(resp.read()) ``` 发送 请求。