function main() {
// 由于这是测试代码,未采用商品期货策略的通用架构,此处仅通过 exchange.IO("status") 函数判断是否成功连接期货公司前置机,连接成功后立即执行测试代码。股票、证券交易无需使用 exchange.IO("status") 判断连接状态
while(!exchange.IO("status")) {
Sleep(1000)
}
// 设置合约代码
exchange.SetContractType("rb888")
// 查询一个不存在的订单(id 为 123),故意触发接口报错
var order = exchange.GetOrder("123")
Log(order)
// 过滤 http 502 错误及 GetOrder 接口错误;设置错误过滤后,再次调用 GetOrder 将不再报错
SetErrorFilter("502:|GetOrder")
order = exchange.GetOrder("123")
Log(order)
}
python
def main():
while not exchange.IO("status"):
Sleep(1000)
exchange.SetContractType("rb888")
order = exchange.GetOrder("123")
Log(order)
SetErrorFilter("502:|GetOrder")
order = exchange.GetOrder("123")
Log(order)
rust
fn main() {
// 由于这是测试代码,未采用商品期货策略的通用架构,此处仅通过 exchange.IO("status") 函数判断是否成功连接期货公司前置机,连接成功后立即执行测试代码。股票、证券交易无需使用 exchange.IO("status") 判断连接状态
while !exchange.IO("status").is_ok_and(|v| v.as_i64() == Some(1)) {
Sleep(1000);
}
// 设置合约代码
let _ = exchange.SetContractType("rb888");
// 查询一个不存在的订单(id 为 123),故意触发接口报错
let orderId = OrderId { S: "123".to_string(), ..Default::default() };
let order = exchange.GetOrder(&orderId);
Log!(order);
// 过滤 http 502 错误及 GetOrder 接口错误;设置错误过滤后,再次调用 GetOrder 将不再报错
SetErrorFilter("502:|GetOrder");
let order = exchange.GetOrder(&orderId);
Log!(order);
}