exchange.GetTicker
获取当前设置的交易对、合约代码对应的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);
}返回值
| 类型 | 描述 |
| 成功时返回 |
参数
| 名称 | 类型 | 必填 | 描述 |
symbol | string | 否 | 请求的 |
参考
备注
在回测系统中,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 }