输入/搜索内容
内置函数
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
结构体
内置变量

获取已订阅交易品种的市场信息。

exchange.GetMarkets()

示例

在回测系统中调用 exchange.GetMarkets() 函数时,仅返回已订阅的合约信息。

javascript
/*backtest start: 2024-07-01 00:00:00 end: 2024-07-07 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}] */ function main() { var arrSymbol = ["rb2501", "MA888", "i2501", "p2501", "TA501"] var tbl = {type: "table", title: "test markets", cols: ["key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", "MaxQty", "MinNotional", "MaxNotional", "CtVal"], rows: []} for (var i = 0; i < 10; i++) { if (exchange.IO("status")) { for (var symbol of arrSymbol) { exchange.SetContractType(symbol) } var markets = exchange.GetMarkets() for (var symbol in markets) { var market = markets[symbol] tbl.rows.push([symbol, market.Symbol, market.BaseAsset, market.QuoteAsset, market.TickSize, market.AmountSize, market.PricePrecision, market.AmountPrecision, market.MinQty, market.MaxQty, market.MinNotional, market.MaxNotional, market.CtVal]) } LogStatus(_D(), "\n", "`" + JSON.stringify(tbl) + "`") return } Sleep(1000) } }
python
'''backtest start: 2024-07-01 00:00:00 end: 2024-07-07 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}] ''' import json def main(): arrSymbol = ["rb2501", "MA888", "i2501", "p2501", "TA501"] tbl = {"type": "table", "title": "test markets", "cols": ["key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", "MaxQty", "MinNotional", "MaxNotional", "CtVal"], "rows": []} for i in range(10): if exchange.IO("status"): for symbol in arrSymbol: exchange.SetContractType(symbol) markets = exchange.GetMarkets() for symbol in markets: market = markets[symbol] tbl["rows"].append([symbol, market["Symbol"], market["BaseAsset"], market["QuoteAsset"], market["TickSize"], market["AmountSize"], market["PricePrecision"], market["AmountPrecision"], market["MinQty"], market["MaxQty"], market["MinNotional"], market["MaxNotional"], market["CtVal"]]) LogStatus(_D(), "\n", "`" + json.dumps(tbl) + "`") return Sleep(1000)
rust
/*backtest start: 2024-07-01 00:00:00 end: 2024-07-07 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}] */ fn main() { let arr_symbol = ["rb2501", "MA888", "i2501", "p2501", "TA501"]; for _i in 0..10 { if exchange.IO("status").is_ok_and(|v| v.as_i64() == Some(1)) { for symbol in arr_symbol { exchange.SetContractType(symbol).unwrap(); } // Rust 中直接拼接 JSON 字符串构造状态栏表格 let markets = exchange.GetMarkets(); let mut rows: Vec<String> = Vec::new(); for (key, market) in &markets { rows.push(format!( r#"["{}", "{}", "{}", "{}", {}, {}, {}, {}, {}, {}, {}, {}, {}]"#, key, market.Symbol, market.BaseAsset, market.QuoteAsset, market.TickSize, market.AmountSize, market.PricePrecision, market.AmountPrecision, market.MinQty, market.MaxQty, market.MinNotional, market.MaxNotional, market.CtVal )); } let tbl = format!( r#"{{"type": "table", "title": "test markets", "cols": ["key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty", "MaxQty", "MinNotional", "MaxNotional", "CtVal"], "rows": [{}]}}"#, rows.join(", ") ); LogStatus!(_D(None), "\n", format!("`{}`", tbl)); return; } Sleep(1000); } }

返回值

类型描述

object

包含Market结构体的字典。

参考

备注

exchange.GetMarkets()函数的返回值为一个字典,其中键名为合约代码。例如:

json
{ "MA888": { "AmountPrecision": 1, "AmountSize": 1, "BaseAsset": "FUTURES", "CtVal": 10, "CtValCcy": "FUTURES", "MaxNotional": 10000000, "MaxQty": 1000, "MinNotional": 1, "MinQty": 1, "PricePrecision": 0, "QuoteAsset": "CNY", "Symbol": "MA888", "TickSize": 1 } // ... }

  • exchange.GetMarkets()函数支持实盘交易与回测系统。

    • exchange.GetMarkets()函数仅返回已订阅品种的相关数据。