Bitfinex
Bitfinex(现货):Bitfinex现货交易,使用Bitfinex v2接口(https://api.bitfinex.com),以API Key与Secret Key接入。下单、余额都在Bitfinex的交易所钱包(exchange)上,不使用保证金钱包;Bitfinex永续合约是另一个交易所对象Futures_Bitfinex。
Futures_Bitfinex(期货):Bitfinex衍生品:USDT结算的永续合约,使用Bitfinex v2接口(https://api.bitfinex.com),以API Key与Secret Key接入。保证金在Bitfinex保证金钱包(margin)带F0后缀的币种上,全仓、单向持仓;Bitfinex现货是另一个交易所对象Bitfinex。
名称与配置
exchange.GetName() | 类型 | 别名 |
|---|---|---|
Bitfinex | 现货 | — |
Futures_Bitfinex | 期货 | Bitfinex期货、Bitfinex Futures |
| 配置项 | 必填 | |
| - | - | |
| Access Key | 是 | |
| Secret Key | 是 |
交易对与合约代码
Bitfinex(现货)
交易对示例:BTC_USD、BTC_USDT、AAVE_USD
交易对写作BASE_QUOTE,对应Bitfinex的tBTCUSD、tAAVE:USD。Bitfinex把USDT写作UST,交易对用USDT即可,返回的品种代码统一用USDT。
Futures_Bitfinex(期货)
交易对示例:BTC_USDT、ETH_USDT
交易对如BTC_USDT,对应Bitfinex的tBTCF0:USTF0。
| 合约代码 | 说明 |
|---|---|
swap | 永续合约(唯一的合约代码)。 |
Bitfinex只有永续合约,其它合约代码会报错。
专属IO指令
Bitfinex(现货)
| 指令 | 说明 | 返回值 |
|---|---|---|
version | 获取API版本号。 | 固定返回v2。 |
通用指令api、base、currency见exchange.IO。
Futures_Bitfinex(期货)
| 指令 | 参数 | 说明 | 返回值 |
|---|---|---|---|
mbase | [url] | 查询或切换行情(公开)接口基地址(只接受http://、https://地址),与交易接口基地址(base指令)分开;未设置时与交易接口相同。 | 修改前的地址。 |
通用指令api、base、currency见exchange.IO。
常用用法
行情请求改走公开接口域名,交易请求不变(仅Futures_Bitfinex)
javascript
function main() {
// 返回修改前的行情接口地址(未设置时与交易接口相同)
var old = exchange.IO("mbase", "https://api-pub.bitfinex.com")
Log("修改前:", old, "行情:", exchange.IO("mbase"), "交易:", exchange.IO("base"))
Log(exchange.GetTicker("BTC_USDT.swap")) // 发往api-pub.bitfinex.com
}
函数支持差异
没有不支持的标准函数。
以回退方式支持:
exchange.GetRecords:原生周期为1分钟、5分钟、15分钟、30分钟、1小时、3小时、6小时、12小时、1天、1周、14天、1月;其它周期由托管者合成。
保证金、账户与模拟盘
Futures_Bitfinex(期货)
保证金模式:只有全仓,exchange.GetPositions()的保证金模式恒为全仓;exchange.IO("cross", ...)报错。
持仓模式:单向持仓:每个合约一个净持仓,Bitfinex以数量的正负表示多空;exchange.IO("dual", ...)报错。
账户:合约保证金在Bitfinex保证金钱包(margin)中带F0后缀的币种上(如USTF0),exchange.GetAccount返回的币种去掉了后缀(USTF0显示为USDT)。Bitfinex没有设置杠杆的接口:exchange.SetMarginLevel()只在本地记下每个合约的杠杆,普通单与条件单下单时都随订单发送(未设置时为10倍)。
注意事项
全部交易所对象
- 条件单只支持止盈、止损单,不支持OCO。
- 下单的
clientId只接受正整数(Bitfinex的cid),其它值报错。限价单支持tif的IOC、FOK与只做Maker(postOnly);市价单不支持FOK与只做Maker,条件单不支持IOC、FOK,传入时报错。 - 支持
exchange.ModifyOrder()与exchange.ModifyConditionOrder()(Bitfinex原地改单)。Bitfinex的数量带方向符号,改数量时必须传入订单方向。 exchange.IO("api", ...)默认签名,签名请求的参数以JSON请求体发送;路径以/v1/开头时按Bitfinex v1接口的方式签名。
Bitfinex(现货)
- 现货市价买单的下单量是交易币数,不是计价币金额。
- Bitfinex价格精度为5位有效数字,没有固定的价格步长;
exchange.GetMarkets返回的TickSize、PricePrecision按当前最新价换算,价格量级变化后会随之变化;数量精度固定为8位小数。
Futures_Bitfinex(期货)
- 下单量的单位是币数,不是合约张数。
- Bitfinex价格精度为5位有效数字,
exchange.GetMarkets返回的TickSize、PricePrecision按当前最新价换算。 exchange.GetFundings()的费率取Bitfinex衍生品状态中的当前费率,每8小时结算;不传参数时按当前计价币返回全部永续合约。