我通过 Node.JS package 使用 Bitfinex 的 WebSockets API v2。我能够连接并获取我的钱包的快照。我还想获得一份关于我的交易历史的报告(可在网站上通过Reports > Trade History 访问),但我无法通过 API 获得此报告。
例如如下认证后...
const BFX = require('bitfinex-api-node')
const bitfinexClient = new BFX(API_KEY, API_SECRET, {
version: 2,
transform: true
}).ws
bitfinexClient.on('open', () => {
bws .auth()
})
...以下代码为我提供了我钱包的快照:
bitfinexClient.on('auth', () => {
bitfinexClient.on('ws', (data) => {
console.log(data)
})
})
// Result:
// [ [ 'funding', 'ETH', 123456789, 0, null ],
// [ 'funding', 'IOT', 123456789, 0, null ],
// [ 'exchange', 'LTC', 123456789, 0, null ],
// etc.
...而以下内容什么也没提供:
bitfinexClient.on('auth', () => {
bitfinexClient.on('te', (data) => {
console.log(data)
})
})
我已经尝试订阅 'trade'
、'te'
、'tu'
、'os'
和 'hos'
事件,但我似乎没有得到它们中的任何一个。
我也尝试过使用 ccxt 。 ccxt 具有 fetchMyTrades()
和 fetchMyOrders()
函数,它们应该可以提供我需要的数据。但是,对于 API 的 v1 和 v2,它们都返回一个错误,指出 fetchMyTrades
/fetchMyOrders
尚不支持
。
目前真的没有办法从 Bitfinex API 获取交易历史报告吗?如果有,它是怎么做到的?
最佳答案
您仍然可以使用 CCXT 从 Bitfinex v1 获取您的私有(private)交易,如下所示:
"use strict";
const ccxt = require ('ccxt')
const exchange = new ccxt.bitfinex ({
'apiKey': 'YOUR_API_KEY', // ←---- change your credentials
'secret': 'YOUR_SECRET',
});
(async () => {
await exchange.loadMarkets ()
const myTrades = await exchange.private_post_mytrades ({
'symbol': exchange.markets['BTC/USD'].id, // ←-- choose your pair
'timestamp': exchange.seconds () - 86400 * 365, // ← last 365 days
})
console.log (myTrades)
}) ()
更多相关信息:
关于javascript - 来自 Bitfinex API 的交易历史报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47497865/