futu_mcp/
qot_sdk_adapter.rs1use futu_core::qot_symbol::ParsedQotSymbol;
2use futu_qot::types::{KLType, QotMarket, RehabType, Security, SubType};
3
4pub(crate) fn security_from_parsed_symbol(parsed: ParsedQotSymbol) -> Security {
8 Security::new(QotMarket::from_i32(parsed.market), parsed.code)
9}
10
11pub(crate) fn qot_market_from_id(market: i32) -> QotMarket {
14 QotMarket::from_i32(market)
15}
16
17pub(crate) fn basic_sub_type() -> SubType {
19 SubType::Basic
20}
21
22pub(crate) fn order_book_sub_type(odd_lot: bool) -> SubType {
24 if odd_lot {
25 SubType::OrderBookOdd
26 } else {
27 SubType::OrderBook
28 }
29}
30
31pub(crate) fn ticker_sub_type() -> SubType {
33 SubType::Ticker
34}
35
36pub(crate) fn rt_sub_type() -> SubType {
38 SubType::RT
39}
40
41pub(crate) fn broker_sub_type() -> SubType {
43 SubType::Broker
44}
45
46pub(crate) fn kl_type_from_public_id(kl_type: i32) -> Option<KLType> {
49 KLType::from_public_i32(kl_type)
50}
51
52pub(crate) const fn rehab_type_from_id(rehab_type: i32) -> Option<RehabType> {
54 match rehab_type {
55 0 => Some(RehabType::None),
56 1 => Some(RehabType::Forward),
57 2 => Some(RehabType::Backward),
58 _ => None,
59 }
60}