输入/搜索内容
内置函数
Global
Log
Market
exchange.GetTicker
exchange.GetTickers
exchange.GetDepth
exchange.GetTrades
exchange.GetRecords
exchange.GetMarkets
exchange.GetRawJSON
exchange.SetData
exchange.GetData
Trade
Account
Futures
Exchange
IO
Network
Storage
Threads
TA
Talib
OS
结构体
内置变量与常量
通用约定
交易所

设置策略运行时所加载的数据。

exchange.SetData(key, value)

示例

参数value所要求的数据格式如同以下例子中的data变量。可以看到,时间戳1579622400000对应的时间为2020-01-22 00:00:00。当策略程序运行时刻超过该时间之后、且在下一条数据的时间戳1579708800000(即时间2020-01-23 00:00:00)之前,调用exchange.GetData()函数获取到的均为[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}]。

javascript
/*backtest start: 2020-01-21 00:00:00 end: 2020-02-12 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}] */ 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":"Bitfinex","currency":"BTC_USD"}] ''' 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)
rust
/*backtest start: 2020-01-21 00:00:00 end: 2020-02-12 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}] */ fn main() { // Rust SDK 中SetData的数据参数为JSON字符串 let data = r#"[ [1579536000000, "abc"], [1579622400000, 123], [1579708800000, {"price": 123}], [1579795200000, ["abc", 123, {"price": 123}]] ]"#; exchange.SetData("test", data); loop { Log!(exchange.GetData("test")); Sleep(1000); } }

返回值

类型描述

number

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

参数

名称类型必填描述

key

string

是

数据集合的名称。

value

array

是

exchange.SetData()函数所要加载的数据,其数据结构为数组。该数据结构与exchange.GetData()函数请求外部数据时所要求的格式相同,即:"schema": ["time", "data"]。

参考

备注

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