我们以币安和火币这两个交易所为例,查看它们的API文档,发现它们都有聚合行情接口: 币安合约:https://fapi.binance.com/fapi/v1/ticker/bookTicker 火币现货币币:https://api.huobi.pro/market/tickers
但实际上,火币接口返回的结构并不是我们预想的那样。在处理接口返回的数据时需要注意。
接下来,我们来看如何封装这两个接口并处理数据。我们可以先编写一个构造函数来构造控制对象。使用FMZ的API函数HttpQuery函数发出请求,访问交易所接口。使用HttpQuery时需要使用异常处理try...catch处理接口返回失败等异常情况。
由于交易所接口返回的数据结构和字段命名各不相同,我们可以使用回调函数解决这个问题。通过将特殊处理的部分独立出来,我们可以在对象初始化后,根据具体情况使用回调函数处理数据。
例如,我们可以监控币安期货合约:["BTCUSDT","ETHUSDT","EOSUSDT","LTCUSDT","ETCUSDT","XRPUSDT"]和火币现货交易对:["btcusdt","ethusdt","eosusdt","etcusdt","ltcusdt","xrpusdt"]。
然后我们运行测试,将第一个交易所对象添加币安期货,第二个交易所对象添加火币现货。可以看到,通过使用回调函数对接口返回的数据做特异化处理,我们成功获取到了行情数据。
接下来,我们可以开始设计获取账户资产的方法。由于是多品种策略,所以账户资产数据也需要是多个的。好在大多数交易所的账户资产接口都是返回全资产数据的。因此,我们可以在构造函数createManager中添加获取资产的方法。
同样地,由于交易所接口返回的格式和字段命名不同,我们也需要使用回调函数对其进行特异化处理。以火币现货和币安期货为例,我们可以编写相应的回调函数。
最后,我们可以运行具有获取行情和资产功能的策略框架。通过获取到的行情数据,我们可以计算不同品种的差价,监控多个交易对的期现差价。通过这样的设计方式,我们还可以扩展到其他交易所。有兴趣的同学可以尝试一下!
101月27日,由万向区块链实验室主办的第六届区块链全球峰会举行。中国银行前行长李立辉在会议上发表讲话,讨论央行的数字货币和区块链技术。李立辉表示,许多央行已经启动了数字货币研发,国际清算银行和美国、欧洲、日本、英国、加...
数字货币交易所是数字货币交易的主要场所,每天都有大量资金交易。在此前的新闻报道中,不少数字货币交易所也曾遭遇黑客攻击,损失惨重。资金被盗是没人愿意看到的结果。这对于持币者来说是一种直接的财产损失数字货币交易所选择,对于交...
在币圈(Coin Circle)发展的早期阶段,数字货币交易所刚刚起步,这仍然是一个支持法国货币交易的时代。访问和黄金非常方便,用户可以自由交易和交换。今天,让我们整理一下今天的数字货币交换模式:1.币交易1994几年后...
在币圈(Coin Circle)发展的早期阶段,数字货币交易所刚刚起步,这仍然是一个支持法国货币交易的时代。访问和黄金非常方便,用户可以自由交易和交换。今天,让我们整理一下今天的数字货币交换模式:1.币交易1994几年后...