输入/搜索内容
内置函数
Global
Log
Market
exchange.GetTicker
exchange.GetDepth
exchange.GetTrades
exchange.GetRecords
exchange.GetPeriod
exchange.SetMaxBarLen
exchange.GetRate
exchange.SetData
exchange.GetData
exchange.GetMarkets
exchange.GetTickers
Trade
Account
Futures
Threads
TA
Talib
OS
结构体
内置变量

获取当前设置的交易对、合约代码对应的Ticker结构,即行情数据。GetTicker()函数是交易所对象exchange的成员函数,exchange对象的成员函数(方法)仅与exchange对象相关,后续文档中不再赘述。

exchange.GetTicker()
exchange.GetTicker(symbol)

示例

测试 exchange.GetTicker() 函数:

javascript
function main(){ // 由于这是测试代码,此处不采用商品期货策略的通用架构,仅通过 exchange.IO("status") 函数判断成功连接期货公司前置机后,立即执行测试代码。股票证券则无需使用 exchange.IO("status") 判断连接状态 while(!exchange.IO("status")) { Sleep(1000) } Log(exchange.SetContractType("rb888")) var ticker = exchange.GetTicker() Log("Symbol:", ticker.Symbol, "High:", ticker.High, "Low:", ticker.Low, "Sell:", ticker.Sell, "Buy:", ticker.Buy, "Last:", ticker.Last, "Open:", ticker.Open, "Volume:", ticker.Volume) }
python
def main(): while not exchange.IO("status"): Sleep(1000) Log(exchange.SetContractType("rb888")) ticker = exchange.GetTicker() Log("Symbol:", ticker["Symbol"], "High:", ticker["High"], "Low:", ticker["Low"], "Sell:", ticker["Sell"], "Buy:", ticker["Buy"], "Last:", ticker["Last"], "Open:", ticker.Open, "Volume:", ticker["Volume"])
rust
fn main() { while !exchange.IO("status").is_ok_and(|v| v.as_i64() == Some(1)) { Sleep(1000); } Log!(exchange.SetContractType("rb888")); let ticker = exchange.GetTicker(None).unwrap(); Log!("Symbol:", ticker.Symbol, "High:", ticker.High, "Low:", ticker.Low, "Sell:", ticker.Sell, "Buy:", ticker.Buy, "Last:", ticker.Last, "Open:", ticker.Open, "Volume:", ticker.Volume); }

返回值

类型描述

Ticker / 空值

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

参数

名称类型必填描述

symbol

string

否

请求的Ticker数据对应的合约代码。若不传入该参数,则默认请求当前设置的合约代码的行情数据。

参考

备注

在回测系统中,exchange.GetTicker()函数返回的Ticker数据中,High、Low为模拟值,取自当时盘口的卖一价与买一价。

在商品期货策略实盘中,如果没有行情推送过来,exchange.GetTicker()函数会阻塞,等待行情推送。exchange.GetDepth()、exchange.GetTrades()、exchange.GetRecords()同理。如果不希望阻塞,可以通过切换行情模式来实现:

  • exchange.IO("mode", 0)
    立即返回模式。如果当前尚未接收到交易所最新的行情推送数据,则立即返回旧的行情数据;如果有新数据,则返回新数据。
  • exchange.IO("mode", 1)
    缓存模式(默认模式)。如果当前尚未收到交易所最新的行情数据(与上一次接口获取的数据相比较),则等待接收后再返回;如果在调用该函数之前已收到最新的行情数据,则立即返回最新数据。
  • exchange.IO("mode", 2)
    强制更新模式。进入等待状态,直到接收到交易所下一次推送的最新数据后再返回。

在实盘时(非回测),exchange.GetTicker()函数返回值中的Info属性存储接口调用时返回的原始数据。

  • 商品期货
    返回商品期货CTP协议/易盛协议接口的应答数据,以CTP协议为例:
    json
    { "BidPrice4": 1.7976931348623157e+308, "AskVolume4": 0, "AskVolume5": 0, "Turnover": 26229625880, "OpenInterest": 1364847, // 持仓量 "ClosePrice": 1.7976931348623157e+308, "LowerLimitPrice": 3473, "BidPrice3": 1.7976931348623157e+308, "ExchangeID": "", "BidPrice2": 1.7976931348623157e+308, "BidPrice5": 1.7976931348623157e+308, "AveragePrice": 37323.89130239898, "BidVolume4": 0, "BidVolume5": 0, "ExchangeInstID": "", "LowestPrice": 3715, "Volume": 702757, "BidVolume3": 0, "AskPrice3": 1.7976931348623157e+308, "AskVolume3": 0, "ActionDay": "20200714", "PreClosePrice": 3739, "SettlementPrice": 1.7976931348623157e+308, "UpdateTime": "13:40:01", "BidPrice1": 3727, "AskPrice2": 1.7976931348623157e+308, "UpperLimitPrice": 3996, "CurrDelta": 1.7976931348623157e+308, "UpdateMillisec": 500, "AskVolume1": 154, "BidVolume2": 0, "PreOpenInterest": 1372843, "PreDelta": 0, "AskPrice1": 3728, "AskVolume2": 0, "TradingDay": "20200714", "InstrumentID": "rb2010", "LastPrice": 3727, "HighestPrice": 3749, "BidVolume1": 444, "PreSettlementPrice": 3735, "OpenPrice": 3740, "AskPrice4": 1.7976931348623157e+308, "AskPrice5": 1.7976931348623157e+308 }