资源加载中... loading...

exchange.GetDepth

获取当前设置的交易对、合约代码对应的{@struct/Depth Depth}结构,即订单薄数据。 结构体{@struct/Depth Depth}包含两个结构体数组,分别是Asks[]Bids[]AsksBids包含以下结构体变量:

数据类型 变量名 说明
number Price 价格
number Amount 数量

exchange.GetDepth()函数请求数据成功时返回{@struct/Depth Depth}结构,请求数据失败时返回空值。 {@struct/Depth Depth}、空值

exchange.GetDepth() exchange.GetDepth(symbol)

参数symbol用于指定请求的{@struct/Depth Depth}数据对应的合约代码。不传该参数时默认请求当前设置的合约代码的订单薄数据。

symbol false string

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)
}
def main():
    while not exchange.IO("status"):
        Sleep(1000)
    Log(exchange.SetContractType("rb888"))
    
    depth = exchange.GetDepth()
    price = depth["Asks"][0]["Price"]
    Log("卖一价为:", price)
void main() {
    while(exchange.IO("status") == 0) {
        Sleep(1000);
    }
    Log(exchange.SetContractType("rb888"));
    
    auto depth = exchange.GetDepth();
    auto price = depth.Asks[0].Price;
    Log("卖一价为:", price);
}

测试exchange.GetDepth()函数:

回测系统中,使用模拟级 Tick回测时exchange.GetDepth()函数返回的数据各档位均为模拟值。 回测系统中,使用实盘级 Tick回测时exchange.GetDepth()函数返回的数据为秒级别深度快照。 商品期货实盘时需要注意: 涨停时卖单卖一的价格是涨停价格,订单量是0。跌停时买单买一的价格是跌停价格,订单量是0。通过判断买一、卖一订单数据中的订单量,可以判断出是否涨跌停。

{@fun/Market/exchange.GetTicker exchange.GetTicker}, {@fun/Market/exchange.GetTrades exchange.GetTrades}, {@fun/Market/exchange.GetRecords exchange.GetRecords}

exchange.GetTicker exchange.GetTrades