exchange.GetMarkets

exchange.GetMarkets()函数用于获取已订阅交易品种的详细信息。

包含{@struct/Market Market}结构的字典。 object

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)```

”`cpp /*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”}] */

void main() { auto arrSymbol = {“rb2501”, “MA888”, “i2501”, “p2501”, “TA501”}; json tbl = R”({ “type”: “table”, “title”: “test markets”, “cols”: [“key”, “Symbol”, “BaseAsset”, “QuoteAsset”, “TickSize”, “AmountSize”, “PricePrecision”, “AmountPrecision”, “MinQty”, “MaxQty”, “MinNotional”, “MaxNotional”, “CtVal”], “rows”: [] })“_json; for (int i = 0; i < 10; i++) { if (exchange.IO(“status”) == 1) { for (const auto& symbol : arrSymbol) { exchange.SetContractType(symbol); } auto markets = exchange.GetMarkets(); for (auto& [key, market] : markets.items()) { json arrJson = {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”]}; tbl[“rows”].push_back(arrJson); }

        LogStatus(_D(), "\n", "`" + tbl.dump() + "`");
        return;
    }

    Sleep(1000);
}

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

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


{
    "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()函数仅返回已订阅品种的相关数据。

{@struct/Market Market}