docs.rs failed to build localctp-sys-0.2.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
本地期货交易所 LocalCTP 的 Rust 绑定
1. simulate_market_data
功能描述
simulate_market_data 函数用于模拟市场数据并插入到交易系统中。它生成虚假的市场报价数据,并在指定的时间间隔内定期插入这些数据。
函数签名
async
参数
api:&mut CThostFtdcTraderApi类型,这是一个 CTP 交易 API 的可变引用,用于插入模拟的市场数据。
主要逻辑
- 时间间隔控制:使用
time::interval(Duration::from_millis(500))创建一个每 500 毫秒触发一次的定时器。 - 随机数生成器:使用
StdRng::from_entropy()创建一个线程安全的随机数生成器。 - 循环生成数据:在循环中,每次间隔触发时,生成一条
FakeMarketQuote类型的市场报价数据。 - 插入市场数据:调用
api.insert_market_quote(market_quote)方法将生成的市场报价数据插入到交易系统中。如果插入失败,打印错误信息。
数据结构
FakeMarketQuote
FakeMarketQuote 是一个模拟的市场报价数据结构,包含以下字段:
instrument_id:String类型,合约代码。bid_price:f64类型,买价。ask_price:f64类型,卖价。quote_ref:String类型,报价参考。last_price:String类型,最新价。settlement_price:String类型,结算价。upper_limit_price:String类型,涨停价。lower_limit_price:String类型,跌停价。business_unit:String类型,业务单元。volume:i32类型,成交量。
示例代码
async
注意事项
- 定时器的间隔可以根据实际需求进行调整。
- 随机数生成器使用的是
StdRng::from_entropy(),确保线程安全并能在多线程环境中使用。 - 插入市场数据时需要处理可能的错误情况,并进行适当的错误处理。