WOO X
WOO(现货):WOO X现货交易,通过WOO X的REST接口(api.woox.io)接入,支持交易所原生的止盈、止损与OCO条件单。API KEY需要同时配置Access Key、Secret Key和Application Id。账户可以用exchange.IO("trade_margin")、exchange.IO("trade_normal")在杠杆模式与纯现货模式之间切换;永续合约请使用Futures_WOO。
Futures_WOO(期货):WOO X永续合约,通过WOO X的REST接口(api.woox.io)接入,没有交割合约;支持交易所原生的止盈、止损与OCO条件单。API KEY需要同时配置Access Key、Secret Key和Application Id(三项必须同时填写)。
名称与配置
exchange.GetName() | 类型 | 别名 |
|---|---|---|
WOO | 现货 | WOOX |
Futures_WOO | 期货 | WOO X期货 |
✓ 表示该交易所对象有这个配置项。
| 配置项 | WOO | Futures_WOO | 必填 | 说明 |
|---|---|---|---|---|
| Access Key | ✓ | ✓ | 是 | — |
| Secret Key | ✓ | ✓ | 是 | — |
| Application Id | ✓ | 是 | WOO X API管理页面中API KEY对应的Application ID,用于核对账户余额应答属于本账户,必须填写。 | |
| Application Id | ✓ | 是 | WOO X API管理页面中API KEY对应的Application ID,用于核对账户应答属于本账户,必须填写。 |
交易对与合约代码
WOO(现货)
交易对示例:BTC_USDT、ETH_USDT
交易对写作BTC_USDT,对应WOO X的原生代码SPOT_BTC_USDT。本交易所对象只交易现货,带合约后缀的品种(如BTC_USDT.swap)会报错,永续合约请使用Futures_WOO。
Futures_WOO(期货)
交易对示例:BTC_USDT
交易对写作BTC_USDT,对应WOO X的原生代码PERP_BTC_USDT。
| 合约代码 | 说明 |
|---|---|
swap | 永续合约。 |
WOO X只有永续合约,其它合约代码会报错。下单数量单位为基础币(exchange.GetMarkets()中CtVal为1)。
专属IO指令
WOO(现货)
| 指令 | 参数 | 说明 |
|---|---|---|
trade_margin | — | 账户切换为杠杆模式(MARGIN),向交易所发出设置请求(POST /v1/client/account_mode),交易所确认后返回true。是账户级设置。 |
trade_normal | — | 账户切换为纯现货模式(PURE_SPOT),向交易所发出设置请求,交易所确认后返回true。是账户级设置。 |
api | method, path[, params[, raw]] | 直接调用WOO X接口,path可以写完整URL。(详见表下) |
表中长说明的其余部分:
api:按路径中的/v1/、/v3/选用对应的签名规则:GET参数编入查询串,其它方法v1编成表单、v3编成JSON请求体。路径含/public/时默认不签名,其它默认签名,签名参数可以显式指定;不签名的请求同样按传入的HTTP方法发送。raw不是请求体而是参数表(JSON对象),非空时整体替换params并照常参与签名,v3接口的JSON请求体保留其中的对象、数组、数字和布尔值。现货与期货的这条指令行为相同。返回:交易所的完整应答(v1、v3接口都不拆data);应答success不为true时报错。
通用指令base、currency见exchange.IO。
Futures_WOO(期货)
| 指令 | 参数 | 说明 |
|---|---|---|
cross | bool | 全仓(true)/逐仓(false),只修改本地设置,不发请求,之后的下单、条件单和exchange.SetMarginLevel()随请求带上;默认全仓。 |
dual | bool | 双向(true)/单向(false)持仓,向交易所发出设置请求(POST /v1/client/position_mode),成功后连接器按双向持仓下单(普通单和条件单都带持仓方向)。 |
api | method, path[, params[, raw]] | 直接调用WOO X接口,path可以写完整URL。(详见表下) |
表中长说明的其余部分:
api:按路径中的/v1/、/v3/选用对应的签名规则:GET参数编入查询串,其它方法v1编成表单、v3编成JSON请求体。路径含/public/时默认不签名,其它默认签名,签名参数可以显式指定;不签名的请求同样按传入的HTTP方法发送。raw不是请求体而是参数表(JSON对象),非空时整体替换params并照常参与签名,v3接口的JSON请求体保留其中的对象、数组、数字和布尔值。现货与期货的这条指令行为相同。返回:交易所的完整应答(v1、v3接口都不拆data);应答success不为true时报错。
通用指令base、currency见exchange.IO。
函数支持差异
全部交易所对象
不支持(调用时报错并返回空值):exchange.GetTickers。
WOO(现货)
以回退方式支持:
exchange.GetRecords:原生周期为1分钟、5分钟、15分钟、30分钟、1小时、4小时、12小时、1天、1周、1月;其它周期由托管者合成。
Futures_WOO(期货)
以回退方式支持:
exchange.GetRecords:原生周期为1分钟、5分钟、15分钟、30分钟、1小时、4小时、12小时、1天、1周、1月、1年;其它周期由托管者合成。
保证金、账户与模拟盘
Futures_WOO(期货)
保证金模式:用exchange.IO("cross", bool)选择全仓/逐仓,这是本地设置,随每次下单带上(默认全仓)。exchange.SetMarginLevel()按合约设置杠杆,同时带上当前的全仓/逐仓设置。
持仓模式:用exchange.IO("dual", bool)切换双向/单向持仓。连接器不自动探测账户的持仓模式:账户已经是双向持仓时,每次运行策略都要先调用exchange.IO("dual", true),否则下单不带持仓方向会被交易所拒绝。双向持仓下exchange.SetMarginLevel()一次把多头、空头两侧都设置为同一杠杆(任一侧失败即报错,错误信息里注明已设置成功的一侧),与exchange.SetDirection()设置的方向无关;单向持仓下设置一次。
注意事项
全部交易所对象
exchange.ModifyOrder()原地修改价格、数量,订单号不变。
WOO(现货)
- 市价买单的下单量是要花费的计价币金额(按WOO X的
order_amount下单),市价卖单为交易币数量。查询订单时,普通市价买单的Amount与DealAmount都是已成交的交易币数量。 - WOO X现货没有24小时行情接口,
exchange.GetTicker()由最近24根1小时K线(开高低价、成交量)和盘口(买一、卖一价)拼成,每次调用请求两个接口。 - 条件单支持止盈、止损和OCO;
exchange.ModifyConditionOrder()只能修改止盈、止损单,不能修改OCO条件单。 exchange.GetConditionOrders()只能按交易对查询:不传或传空字符串时查询当前交易对。exchange.GetHistoryOrders()、exchange.GetHistoryConditionOrders()只能按交易对查询:不传symbol时查询当前交易对,传空字符串时报错。
Futures_WOO(期货)
- 条件单支持止盈、止损和OCO,触发价类型固定为
MARKET_PRICE;exchange.ModifyConditionOrder()只能修改止盈、止损单(触发价、委托价、数量,订单号不变),不能修改OCO条件单。 exchange.GetFundings()的Rate是交易所估算的下一次结算资金费率,Time是下一次结算时间;支持批量查询。exchange.GetPositions()的Profit按(标记价格−开仓均价)×持仓量计算,Margin按开仓均价×持仓量÷杠杆估算;持仓的保证金模式取交易所持仓数据里的marginMode(同一账户可以同时有全仓和逐仓持仓),与exchange.IO("cross", bool)的本地下单设置无关。exchange.GetHistoryOrders()、exchange.GetHistoryConditionOrders()与未完成订单的查询一样接受USDT.swap这类范围:不按交易对向交易所查询,再按范围筛选,limit只计算范围内的订单。