API就是应用程序接口的意思,开发者通过调用这些接口,来获取交易平台的数据,比如说价格、账户余额、持仓情况等信息。
API又分为公共API和私有API。
公共API不需要登录个人账户,即可直接获取。比如说想获取当前比特币的价格,可以在浏览器地址栏中输入:https://www.okex.com/api/spot/v3/instruments/BTC-USDT/ticker。
返回信息如下:
其中包含了比特币价格等信息,具体参数的含义可以参考说明文档。
如果想获取私有数据,比如说个人账户信息,就要复杂一些了。
类似于股票软件中,要获取个人资金或持仓信息,需要登录账户。OKEx在账户密码的基础上又添加了一层:APIKey。通过APIKey以及对应的秘钥来获取个人信息。一个账户最多可申请50个APIKey。
具体申请可参考说明文档。
申请好APIKey以及密钥后,当想获取个人数据时,需要把APIKey和密钥以及密码等信息结合当下时间进行加密,生成一个签名,因为每次请求的时间不同,所以这个签名每次都会不同。只有这个签名正确时,平台才会返回个人的数据。
因为秘钥的计算复杂,加上有时效性的要求,所以直接在浏览器中输入网址以及参数的方法就不可取了,此时就要用程序代码来实现了。
好在平台已经把这些代码都封装好了,即使没有编程基础的,也可以直接调用。
接口支持的计算机语言有好多种,C++、C#、go、java、python等。
目前来看,python上手比较容易,而且也是当下量化交易行业最流行的编程语言,所以大家可以使用这种语言。当然如果有别的语言的基础,也可以选择自己在行的语言。
先安装python3.5以上的版本,大小才30多M。
这也是python比较方便的一个原因,基础安装包很小,需要什么功能可以自定义添加,而且添加的过程也很简单。
比如说,我们想通过python语言发送网址以及参数给服务器,就需要用到一个requests的包,下载很简单,只需要在cmd命令行窗口输入:pip install requests即可自动下载。
下载完后,我们可以测试一下环境是否设置好了。编写三句话来获取服务器的时间:
import requests #导入库
r = requests.get("https://www.okex.com/api/general/v3/time") #发送请求
print(r.text) #打印结果
#后面的内容为注释,对代码执行没有影响。
我们看一下运行的结果,已经打印出服务器的时间信息了。
下面我们使用官方提供的SDK中的代码来获取个人账户余额信息。
打开example.py文件,把APIKey等三个信息填入代码中,然后放开资金账户信息下面的注释。
运行程序,返回结果:
我们看到,已经打印出余额信息了,至于下单、平仓等操作,平台都封装好了函数,直接调用就可以了。
其实编写代码只是个工具,真正复杂的是策略,后面我会分享几个常见的策略。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。