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").unwrap_or_default() != "true" {
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);
}
c++
void main() {
while(exchange.IO("status") == 0) {
Sleep(1000);
}
exchange.SetContractType("rb888");
TId orderId;
Order order = exchange.GetOrder(orderId);
Log(order);
SetErrorFilter("502:|GetOrder");
order = exchange.GetOrder(orderId);
Log(order);
}