exchange.GetDepth
获取当前设置的交易对、合约代码对应的Depth结构,即订单簿数据。
结构体Depth包含两个结构体数组,分别为Asks[]和Bids[]。Asks和Bids数组中的元素均包含以下结构体变量:
| 数据类型 | 变量名 | 说明 |
|---|---|---|
| number | Price | 价格 |
| number | Amount | 数量 |
exchange.GetDepth()
exchange.GetDepth(symbol)示例
测试exchange.GetDepth()函数:
javascript
function main() {
// 鉴于测试代码,不使用商品期货策略一般架构,这里仅仅判断exchange.IO("status")函数,判断连接期货公司前置机成功后立即执行测试代码。股票证券无需使用exchange.IO("status")判断连接状态
while(!exchange.IO("status")) {
Sleep(1000)
}
Log(exchange.SetContractType("rb888"))
var depth = exchange.GetDepth()
var price = depth.Asks[0].Price
Log("卖一价为:", price)
}
python
def main():
while not exchange.IO("status"):
Sleep(1000)
Log(exchange.SetContractType("rb888"))
depth = exchange.GetDepth()
price = depth["Asks"][0]["Price"]
Log("卖一价为:", price)
rust
fn main() {
while !exchange.IO("status").is_ok_and(|v| v.as_i64() == Some(1)) {
Sleep(1000);
}
Log!(exchange.SetContractType("rb888"));
let depth = exchange.GetDepth(None).unwrap();
let price = depth.Asks[0].Price;
Log!("卖一价为:", price);
}返回值
| 类型 | 描述 |
| 成功时返回 |
参数
| 名称 | 类型 | 必填 | 描述 |
symbol | string | 否 | 所请求的 |
参考
备注
在回测系统中,使用模拟级 Tick回测时,exchange.GetDepth()函数返回数据的各档位均为模拟值。
在回测系统中,使用实盘级 Tick回测时,exchange.GetDepth()函数返回的数据为秒级别深度快照。
商品期货实盘交易时需要注意:
涨停时,卖单卖一的价格为涨停价格,订单量为 0;跌停时,买单买一的价格为跌停价格,订单量为 0。通过判断买一、卖一订单数据中的订单量,即可判断当前是否处于涨停或跌停状态。