function main(){
// 由于这是测试代码,未采用商品期货策略的通用架构,此处仅通过 exchange.IO("status") 函数判断,在成功连接期货公司前置机后立即执行测试代码。股票、证券无需使用 exchange.IO("status") 判断连接状态
while(!exchange.IO("status")) {
Sleep(1000)
}
Log(exchange.SetContractType("rb888"))
var records = exchange.GetRecords(PERIOD_H1)
Log("第一根 K 线数据为,Time:", records[0].Time, "Open:", records[0].Open, "High:", records[0].High)
Log("第二根 K 线数据为,Time:", records[1].Time ,"Close:", records[1].Close)
Log("当前 K 线(最新)", records[records.length-1], "上一根 K 线", records[records.length-2])
}
python
def main():
while not exchange.IO("status"):
Sleep(1000)
Log(exchange.SetContractType("rb888"))
records = exchange.GetRecords(PERIOD_H1)
Log("第一根 K 线数据为,Time:", records[0]["Time"], "Open:", records[0]["Open"], "High:", records[0]["High"])
Log("第二根 K 线数据为,Time:", records[1]["Time"], "Close:", records[1]["Close"])
Log("当前 K 线(最新)", records[-1], "上一根 K 线", records[-2])
rust
fn main() {
// 由于这是测试代码,未采用商品期货策略的通用架构,此处仅通过 exchange.IO("status") 函数判断,在成功连接期货公司前置机后立即执行测试代码。股票、证券无需使用 exchange.IO("status") 判断连接状态
while exchange.IO("status").unwrap_or_default() != "true" {
Sleep(1000);
}
Log!(exchange.SetContractType("rb888"));
let records = exchange.GetRecords(None, PERIOD_H1, None).unwrap();
Log!("第一根 K 线数据为,Time:", records[0].Time, "Open:", records[0].Open, "High:", records[0].High);
Log!("第二根 K 线数据为,Time:", records[1].Time, "Close:", records[1].Close);
Log!("当前 K 线(最新)", records[records.len() - 1], "上一根 K 线", records[records.len() - 2]);
}
c++
void main() {
while(exchange.IO("status") == 0) {
Sleep(1000);
}
Log(exchange.SetContractType("rb888"));
auto records = exchange.GetRecords(PERIOD_H1);
Log("第一根 K 线数据为,Time:", records[0].Time, "Open:", records[0].Open, "High:", records[0].High);
Log("第二根 K 线数据为,Time:", records[1].Time, "Close:", records[1].Close);
Log("当前 K 线(最新)", records[records.size() - 1], "上一根 K 线", records[records.size() - 2]);
}
#include <sstream>
void main() {
Records r;
r.Valid = true;
for (auto i = 0; i < 10; i++) {
Record ele;
ele.Time = i * 100000;
ele.High = i * 10000;
ele.Low = i * 1000;
ele.Close = i * 100;
ele.Open = i * 10;
ele.Volume = i * 1;
r.push_back(ele);
}
// 输出显示:Records[10]
Log(r);
auto ma = TA.MA(r,10);
// 输出显示:[nan,nan,nan,nan,nan,nan,nan,nan,nan,450]
Log(ma);
}