exchange.SetData

exchange.SetData()函数用于设置策略运行时加载的数据。

参数value经JSON编码后的字符串长度。 number

exchange.SetData(key, value)

数据集合名称。 key true string exchange.SetData()函数所要加载的数据,数据结构为数组。数据结构与exchange.GetData()函数请求外部数据时所要求的数据格式相同,即:"schema": ["time", "data"]。 value true array


/*backtest
start: 2020-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
*/
function main() {
    var data = [
        [1579536000000, "abc"],
        [1579622400000, 123],
        [1579708800000, {"price": 123}],
        [1579795200000, ["abc", 123, {"price": 123}]]
    ]
    exchange.SetData("test", data)
    while(true) {
        Log(exchange.GetData("test"))
        Sleep(1000)
    }
}
“`python “‘backtest start: 2020-01-21 00:00:00 end: 2020-02-12 00:00:00 period: 1d basePeriod: 1d exchanges: [{“eid”:“Futures_CTP”,“currency”:“FUTURES”}] “’

def main(): data = [ [1579536000000, “abc”], [1579622400000, 123], [1579708800000, {“price”: 123}], [1579795200000, [“abc”, 123, {“price”: 123}]] ] exchange.SetData(“test”, data) while True: Log(exchange.GetData(“test”)) Sleep(1000) cpp /*backtest start: 2020-01-21 00:00:00 end: 2020-02-12 00:00:00 period: 1d basePeriod: 1d exchanges: [{“eid”:“Futures_CTP”,“currency”:“FUTURES”}] */

void main() { json data = R”([ [1579536000000, “abc”], [1579622400000, 123], [1579708800000, {“price”: 123}], [1579795200000, [“abc”, 123, {“price”: 123}]] ])“_json;

exchange.SetData("test", data);
while(true) {
    Log(exchange.GetData("test"));
    Sleep(1000);
}

} 在策略中直接写入数据,要求数据格式如以下示例中的data变量所示。以下测试代码运行时,会在对应的时间获取相应的数据。可以看到时间戳1579622400000对应的时间为2020-01-22 00:00:00,当策略程序运行到这个时间之后,在下一条数据时间戳1579708800000即时间2020-01-23 00:00:00之前,调用exchange.GetData(Source)函数获取数据,获取的都是[1579622400000, 123]”`这条数据的内容。随着程序继续运行,时间推移,依此类推获取后续数据。

以下示例中,当运行时(回测或实盘),当前时刻到达或超过1579795200000这个时间戳时,调用exchange.GetData()函数,返回值为:{"Time":1579795200000,"Data":["abc",123,{"price":123}]}"Time":1579795200000对应数据[1579795200000, ["abc", 123, {"price": 123}]]中的1579795200000"Data":["abc",123,{"price":123}]对应数据[1579795200000, ["abc", 123, {"price": 123}]]中的["abc", 123, {"price": 123}]

加载的数据可以是任何经济指标、行业数据、相关指数等,用于策略量化评估所有可量化的信息。

{@fun/Market/exchange.GetData exchange.GetData}