欧易 · 账户结构
欧易资金账户和交易账户有什么区别:做量化前要懂的账户结构
欧易一个登录账号下面分好几层。资金账户管充币和提币,交易账户管下单、持仓和保证金;策略机器人投入的钱会从交易账户里隔离出去;每个子账户又各有自己的一套资金账户和交易账户。API Key 绑在母账户或某一个子账户上,不分资金账户和交易账户,能做什么只看权限。
资金账户和交易账户有什么区别
脚本下单动用的是交易账户里的余额,提币只支持资金账户里的资产,所以钱在哪一边要先查清。两个账户之间搬钱叫资金划转,在欧易内部完成;充币时选哪个账户、划转接口怎么调、要什么权限,见欧易充币进哪个账户、怎么划转。
欧易 API 的「获取账户资产估值」接口,把一个账户的资产分三处返回:资金账户(funding)、交易账户(trading)、金融账户(earn)。和写脚本直接相关的是前两个:
| 对照项 | 资金账户 | 交易账户 |
|---|---|---|
| 查余额的接口 | GET /api/v5/asset/balances | GET /api/v5/account/balance |
| 文档的说明 | 「获取资金账户所有资产列表,查询各币种的余额、冻结和可用等信息」 | 「获取交易账户中资金余额信息」 |
| 用来做什么 | 提币从这里出,文档写「支持资金账户资产提币」 | 下单、持仓、保证金,四种账户模式都设在它上面 |
开了网格机器人,钱还在交易账户里吗
不在可用余额里了。按欧易《策略交易产品说明》,网格创建后投入的资金会从交易账户里隔离出去,单独在网格策略里使用;同一页也提醒,这笔钱转出去之后,会影响交易账户里其他仓位的风险。
脚本和机器人共用一个交易账户时,算还能下多少单只看可用余额,别拿总权益去算。被机器人占着的钱在哪看、怎么拿回来,见策略机器人占用的资金怎么看。
子账户能把策略资金分开吗
能。每个子账户有自己的一套资金账户和交易账户:文档里母账户查子账户余额是两个接口,「获取子账户交易账户余额」和「获取子账户资金账户余额」。
钱在母子账户之间由资金划转接口来搬,哪个方向要用母账户的 Key、哪个方向要用子账户的 Key,列在划转那一篇的对照表里。
把跑策略的钱单独放进一个子账户,策略出错时受影响的是这一份;这层隔离要靠子账户自己的 Key 才成立,原因在API 密钥泄露会发生什么那篇里。
API Key 是绑在哪个账户上的
绑在母账户或者某一个子账户上,不分资金账户和交易账户。同一把 Key 既能调 /api/v5/asset/ 开头的资金账户接口,也能调 /api/v5/account/、/api/v5/trade/ 开头的交易账户接口,能做什么只看权限。文档列的权限有三种:
- 读取:「查询账单和历史记录等 读权限」。
- 交易:「可以下单和撤单,转账,调整配置 等写权限」。
- 提现:「可以进行提币」。
交易权限里包含「转账」:带交易权限的 Key 就能在资金账户、交易账户和母子账户之间划转。子账户的 Key 由母账户来建,「创建子账户的 API Key」接口的权限参数只有 read_only 和 trade 两个取值,没有提现。
手上一把 Key 分不清是母账户的还是子账户的,调「查看账户配置」:返回里 uid 等于 mainUid 是母账户,不等就是子账户。模拟盘是另外一套,文档写「模拟盘API交易需要在模拟盘上创建APIKey」,要另建一把。从建 Key 到下第一单的步骤在欧易 API 量化入门。
账户模式怎么决定下单参数 tdMode
文档「账户模式」一节写的是:交易账户提供四个账户模式,分别为现货模式、合约模式、跨币种保证金模式和组合保证金模式,并且「账户模式的首次设置,需要在网页或手机app上进行」。「查看账户配置」返回的 acctLv 就是它:1 是现货模式,2 是合约模式,3 是跨币种保证金模式,4 是组合保证金模式。
下单时要指定的 tdMode(交易模式)填什么,跟着账户模式走。「下单」接口下的 tdMode 说明按账户模式是这样列的:
| 账户模式 | 交易的产品 | tdMode |
|---|---|---|
| 现货模式 | 币币、期权买方 | cash |
| 合约模式 | 币币 | cash |
| 合约模式 | 全仓杠杆;全仓交割 / 永续 / 期权 | cross |
| 合约模式 | 逐仓杠杆(仅限于现货杠杆逐仓) | isolated |
| 跨币种保证金模式 | 全仓币币;全仓交割 / 永续 / 期权 | cross |
| 组合保证金模式 | 全仓币币;全仓交割 / 永续 / 期权 | cross |
同样是买入 BTC-USDT 现货,现货模式的账户填 cash,换到跨币种保证金模式的账户,文档列的是 cross。把 tdMode 写死在代码里的脚本,换账户或者换账户模式之后要回头改这一处。同一个接口的参数表里另有一个取值 spot_isolated,仅适用于现货带单;文档还注明,isolated(现货杠杆逐仓)在跨币种保证金模式和组合保证金模式下不可用。另外,《策略交易产品说明》和《现货定投》的页首都注明,这些内置策略暂不支持组合保证金账户。
脚本开跑前先查哪几项
- 调「查看账户配置」,看
uid和mainUid(这把 Key 在母账户还是子账户)、acctLv(账户模式)。 - 资金账户和交易账户的余额各查一次,确认钱在要用的那一边。
- 钱在资金账户就先划到交易账户,接口参数和划转结果怎么确认见划转那一篇。
- 同一个交易账户里还开着网格之类的机器人,按可用余额(
availBal)算可用资金。 - 对照上面那张表把
tdMode填对,先在模拟盘下一笔小单验证。
常见问题
充进欧易的币在资金账户,能直接用 API 下单吗?
不能直接用。下单动用的是交易账户里的余额,资金账户里的币要先划过去:在网页或 App 上做一次划转,或者调用资金划转接口。按欧易帮助中心的充币说明,充币时也可以直接选充到交易账户。
开了网格以后交易账户里的钱变少了,是亏了吗?
不能凭这个判断。按欧易《策略交易产品说明》,网格创建后投入的资金会从交易账户里隔离出去,单独在网格策略里使用,不再算进交易账户的可用余额。这笔钱要到策略页去看。
子账户的 API Key 能提币吗?
按文档不能。「创建子账户的 API Key」接口里,权限参数只有 read_only(读取)和 trade(交易)两个取值,没有提现。子账户里的钱要提走,得先划回母账户。
现货下单时 tdMode 填 cash 还是 cross?
看账户模式。文档在下单接口下列的是:现货模式和合约模式下,币币填 cash;跨币种保证金模式和组合保证金模式下,列的是全仓币币填 cross。不确定自己是哪种模式,先调一次「查看账户配置」,读返回里的 acctLv。