输入/搜索内容
内置函数
Global
Log
Market
exchange.GetTicker
exchange.GetTickers
exchange.GetDepth
exchange.GetTrades
exchange.GetRecords
exchange.GetMarkets
exchange.GetRawJSON
exchange.SetData
exchange.GetData
Trade
Account
Futures
Exchange
IO
Network
Storage
Threads
TA
Talib
OS
结构体
内置变量与常量
通用约定
交易所

获取当前设置的交易对、合约代码所对应的现货或合约的Depth结构,即订单簿数据。

exchange.GetDepth()
exchange.GetDepth(symbol)

示例

  • 获取当前交易对的深度,打印卖二价。

    javascript
    function main(){ var depth = exchange.GetDepth() if (!depth || depth.Asks.length < 2) return // 获取失败时为null var price = depth.Asks[1].Price Log("卖二价", price) }
    python
    def main(): depth = exchange.GetDepth() if not depth or len(depth["Asks"]) < 2: return price = depth["Asks"][1]["Price"] Log("卖二价", price)
    rust
    fn main() { let Ok(depth) = exchange.GetDepth(None) else { return }; if depth.Asks.len() < 2 { return; } let price = depth.Asks[1].Price; Log!("卖二价", price); }
  • 当配置的exchange对象为期货交易所对象时,使用symbol参数请求指定品种(期货品种)的订单簿数据。

    javascript
    function main() { // BTC的U本位永续合约 var depth = exchange.GetDepth("BTC_USDT.swap") Log(depth) }
    python
    def main(): depth = exchange.GetDepth("BTC_USDT.swap") Log(depth)
    rust
    fn main() { // BTC的U本位永续合约 let depth = exchange.GetDepth("BTC_USDT.swap").unwrap(); Log!(depth); }

返回值

类型描述

Depth / 空值

成功时返回Depth结构;失败时返回空值。

参数

名称类型必填描述

symbol

string

否

品种代码,例如现货交易所对象上的BTC_USDT、期货交易所对象上的BTC_USDT.swap,写法(含期权)见品种代码。不传时请求当前交易对、合约代码的订单薄数据。

参考

备注

回测系统中,使用模拟级 Tick回测时,exchange.GetDepth()函数返回数据的各档位均为模拟值。

回测系统中,使用实盘级 Tick回测时,exchange.GetDepth()函数返回的数据为秒级别的深度快照。

链上兑换类交易所(例如Uniswap、Jupiter)没有订单簿,返回的深度由逐档递增规模的询价推算:每档的Amount为该档新增的基础币数量,Price为该档的边际成交价。询价规模与请求次数见交易所页,例如Uniswap、Jupiter。

不支持的交易所:OKX_DEX、Web3。调用时报错并返回空值,所有交易所的对照见能力矩阵。