量化喵是独立第三方信息站,与任何交易所都没有隶属关系。本页不含推广链接与邀请码。 完整披露 →

欧易 · API 下单

tgtCcy 只管欧易币币市价单里 sz 按什么单位算

BTC-USDT 的市价买单,sz 填 100、不传 tgtCcy,下出去的是花 100 USDT 买 BTC;卖单不传 tgtCcy,sz 填 0.001 就是卖出 0.001 BTC。原因在 tgtCcy 的默认值买卖不同:买单默认 quote_ccy(计价货币),卖单默认 base_ccy(交易货币)。要按币数买,传 tgtCcy=base_ccy;要卖到一笔固定的 USDT,传 tgtCcy=quote_ccy。限价单和交割、永续、期权的 sz 单位,都不由它定。

tgtCcy 换一个值,同样的 sz 就换了单位

欧易 API v5 文档「下单」接口里,tgtCcy 是市价单委托数量 sz 的单位,仅适用于币币市价订单,取值只有两个:base_ccy 交易货币,quote_ccy 计价货币。在 BTC-USDT 上,交易货币是 BTC,计价货币是 USDT。

tgtCcy方向sz下出去的是
quote_ccy买入(默认)100花费 100 USDT 购买 BTC
base_ccy买入0.001以市价买入 0.001 BTC
base_ccy卖出(默认)0.001卖出 0.001 BTC
quote_ccy卖出100卖出 BTC,直到收到 100 USDT
欧易 API 中文文档 tgtCcy 参数说明:市价单委托数量 sz 的单位、仅适用于币币市价下单,以 BTC-USDT 为例的四条快速参考,交易货币买入和计价货币卖出的两条处理原则,以及 LTC-USDT 的交易币买入和计价币卖出算例
价格涨到 400 时,锁定的 3,000 USDT 只够市价买进 7.5 个 LTC;反过来按计价货币卖出、价格跌到 100,锁定的 6 个 LTC 只换回 600 USDT(2026 年 10 月的规则)。

sz 是必填的字符串,填 "100" 而不是数字 100。策略里买卖共用一个下单函数时,把 tgtCcy 写进每一笔币币市价请求,读代码的人就不必去记买卖两边的默认值。

按币数买、按 USDT 卖的市价单为什么成交数量和 sz 对不上?

tgtCcy 填 base_ccy 的买单、填 quote_ccy 的卖单,要的是一个确定的到手数量,而市价单下单时定不下成交价。这两种单有两条处理办法:

  1. sz 大于当前可买或可卖的数量:系统按最大可买或可卖数量成交。一定要按指定数量成交,可以改用限价单,等价格波动到锁定的余额够买入或卖出这个数量。
  2. sz 不大于可买或可卖的数量,但价格波动过大,锁定的余额买不够输入的交易货币数量、或卖不出输入的计价货币数量:系统按「能买多少买多少」「能卖多少卖多少」更改下单数量。系统也会尽量多锁定一点余额,少出现改量的情况。
下单LTC-USDT 市价被锁定的余额最终成交
市价买入 10 个 LTC(可买 11 个)2003,000 USDT10 个 LTC(200×10 < 3,000)
市价买入 10 个 LTC(可买 11 个)4003,000 USDT7.5 个 LTC(400×10 > 3,000,按 3,000÷400)
市价卖出 1,000 USDT(可卖 1,200 USDT)2006 个 LTC5 个 LTC
市价卖出 1,000 USDT(可卖 1,200 USDT)1006 个 LTC6 个 LTC,得 6×100 = 600 USDT(100×6 < 1,000)

按交易货币数量市价买入时,为了确保有足够的资产买够设定的数量,会多冻结 5% 的计价币。

本想花 100 USDT,代码里却把 tgtCcy 写成了 base_ccy、sz 仍是 100,这笔就成了按 100 BTC 下的市价买单;banAmend 保持默认时,它套上面第一条处理办法,按最大可买数量成交。

banAmend 管的是余额不足时要不要自动缩减数量,只适用于币币市价单:默认 false,系统把 sz 缩到可用余额能支持的数量后执行;设成 true,余额不足时整笔订单被拒绝。上面那笔写反单位的单,banAmend 设成 true 时是按最大可买数量成交还是整笔被拒,在欧易模拟盘里下一笔、看返回最直接。

按到手数量下市价单时止盈止损和滑点怎么设

tgtCcy 为 base_ccy 的市价买单,和 tgtCcy 为 quote_ccy 的市价卖单,都不支持附带止盈止损(attachAlgoOrds)。附带的止盈止损只在母单成交后激活,母单成交前被撤就一并丢弃;要独立于母单的止盈止损,用策略委托接口 POST /api/v5/trade/order-algo 另下。

这两种单可以另设 slippagePct,也就是最大可接受滑点:取值 0 到 0.05,即 0% 到 5%,含两端;按百分比表示最多两位小数,0.01(1%)和 0.0123(1.23%)合法,0.01234(1.234%)会被拒绝。不填或为空时,默认值是 0.00%。滑点不能靠改单修改,要调就撤单重新提交。

下单请求里把 tgtCcy 和 banAmend 写明

tgtCcy 和 banAmend 都有默认值,不传脚本照样能下单。下面这段请求体按币数市价买入 0.001 BTC,余额不足就整笔拒绝。

{
  "instId": "BTC-USDT",
  "tdMode": "cash",
  "side": "buy",
  "ordType": "market",
  "sz": "0.001",
  "tgtCcy": "base_ccy",
  "banAmend": true
}

tdMode 在现货模式和合约模式下的币币单填 cash;跨币种保证金模式和组合保证金模式下,全仓币币填 cross。下单返回里 code 为 0 表示请求成功,每笔订单下没下成,看 data 里的 sCode 和 sMsg,sCode 为 0 才算成功。脚本要把被拒的单当异常接住,不让循环原样重发,这是OKX API 自动交易风控里异常处理的一部分。

风险提示:市价单下单时定不下成交价,sz 的单位一旦写反,下出去的可能是另一种币的数量。本文是接口参数说明,不构成投资建议;请只用你能承受全部损失的闲钱,并遵守所在地的法律法规。

币币市价单以外的订单 sz 填什么单位

现货限价单的 sz 也要配 tgtCcy 吗?

限价单不看 tgtCcy:币币和币币杠杆以限价买入、卖出时,sz 都指交易货币数量,在 BTC-USDT 上就是 BTC 的个数。价格由 px 给,px 用于 limit、post_only、fok、ioc、mmp、mmp_and_post_only 这几类订单。

币币杠杆市价单的 sz 填的是哪种币?

币币杠杆以市价买入时,sz 指计价货币的数量;以市价卖出时,指交易货币的数量。放到 BTC-USDT 上,买单的 sz 是要花的 USDT,卖单的 sz 是要卖的 BTC。

交割和永续合约下单 sz 填 1 是多少?

交割、永续、期权买入和卖出时,sz 指合约张数,填 1 就是 1 张。合约面值在正向合约是 sz × ctVal × markPx,在反向合约(USD 计价)是 sz × ctVal;ctVal 和 ctType 用 GET /api/v5/public/instruments 查。期权合约不支持市价委托。