futu_core/
proto_id.rs

1// FutuOpenD API 协议 ID 常量
2// 对应 C++ 中 FTAPI_Define_ProtoID.h 的定义。
3// 客户端与 OpenD 网关之间的通信协议标识。
4
5// ========== 连接管理 ==========
6pub const INIT_CONNECT: u32 = 1001;
7pub const GET_GLOBAL_STATE: u32 = 1002;
8pub const NOTIFY: u32 = 1003;
9pub const KEEP_ALIVE: u32 = 1004;
10
11// ========== 额度查询 ==========
12pub const GET_USED_QUOTA: u32 = 1010;
13
14// ========== 行情协议 ==========
15pub const QOT_SUB: u32 = 3001;
16pub const QOT_REG_QOT_PUSH: u32 = 3002;
17pub const QOT_GET_SUB_INFO: u32 = 3003;
18pub const QOT_GET_BASIC_QOT: u32 = 3004;
19pub const QOT_UPDATE_BASIC_QOT: u32 = 3005;
20pub const QOT_GET_KL: u32 = 3006;
21pub const QOT_UPDATE_KL: u32 = 3007;
22pub const QOT_GET_RT: u32 = 3008;
23pub const QOT_UPDATE_RT: u32 = 3009;
24pub const QOT_GET_TICKER: u32 = 3010;
25pub const QOT_UPDATE_TICKER: u32 = 3011;
26pub const QOT_GET_ORDER_BOOK: u32 = 3012;
27pub const QOT_UPDATE_ORDER_BOOK: u32 = 3013;
28pub const QOT_GET_BROKER: u32 = 3014;
29pub const QOT_UPDATE_BROKER: u32 = 3015;
30pub const QOT_GET_ORDER_DETAIL: u32 = 3016;
31pub const QOT_UPDATE_ORDER_DETAIL: u32 = 3017;
32
33pub const QOT_GET_HISTORY_KL: u32 = 3100;
34pub const QOT_GET_HISTORY_KL_POINTS: u32 = 3101;
35pub const QOT_REQUEST_HISTORY_KL: u32 = 3103;
36
37pub const QOT_GET_TRADE_DATE: u32 = 3200;
38pub const QOT_GET_SUSPEND: u32 = 3201;
39pub const QOT_GET_STATIC_INFO: u32 = 3202;
40pub const QOT_GET_SECURITY_SNAPSHOT: u32 = 3203;
41pub const QOT_GET_PLATE_SET: u32 = 3204;
42pub const QOT_GET_PLATE_SECURITY: u32 = 3205;
43pub const QOT_GET_REFERENCE: u32 = 3206;
44pub const QOT_GET_OWNER_PLATE: u32 = 3207;
45pub const QOT_GET_HOLDING_CHANGE_LIST: u32 = 3208;
46pub const QOT_GET_OPTION_CHAIN: u32 = 3209;
47pub const QOT_GET_REHAB: u32 = 3702;
48
49// 新版 API
50pub const QOT_GET_WARRANT: u32 = 3210;
51pub const QOT_GET_CAPITAL_FLOW: u32 = 3211;
52pub const QOT_GET_CAPITAL_DISTRIBUTION: u32 = 3212;
53pub const QOT_GET_USER_SECURITY: u32 = 3213;
54pub const QOT_MODIFY_USER_SECURITY: u32 = 3214;
55pub const QOT_STOCK_FILTER: u32 = 3215;
56pub const QOT_GET_CODE_CHANGE: u32 = 3216;
57pub const QOT_GET_IPO_LIST: u32 = 3217;
58pub const QOT_GET_FUTURE_INFO: u32 = 3218;
59pub const QOT_REQUEST_TRADE_DATE: u32 = 3219;
60pub const QOT_SET_PRICE_REMINDER: u32 = 3220;
61pub const QOT_GET_PRICE_REMINDER: u32 = 3221;
62pub const QOT_GET_USER_SECURITY_GROUP: u32 = 3222;
63pub const QOT_GET_MARKET_STATE: u32 = 3223;
64pub const QOT_GET_OPTION_EXPIRATION_DATE: u32 = 3224;
65pub const QOT_UPDATE_PRICE_REMINDER: u32 = 3019;
66pub const QOT_REQUEST_HISTORY_KL_QUOTA: u32 = 3104;
67pub const QOT_REQUEST_REHAB: u32 = 3105;
68
69// 交易新版 API
70pub const TRD_GET_MARGIN_RATIO: u32 = 2223;
71pub const TRD_GET_ORDER_FEE: u32 = 2225;
72pub const TRD_FLOW_SUMMARY: u32 = 2226;
73
74// 其他
75pub const VERIFICATION: u32 = 3000;
76pub const GET_USER_INFO: u32 = 1005;
77pub const GET_DELAY_STATISTICS: u32 = 1006;
78pub const TEST_CMD: u32 = 1008;
79pub const REMOTE_CMD: u32 = 1009;
80
81// ========== 交易协议 ==========
82pub const TRD_GET_ACC_LIST: u32 = 2001;
83pub const TRD_UNLOCK_TRADE: u32 = 2005;
84pub const TRD_SUB_ACC_PUSH: u32 = 2008;
85pub const TRD_GET_FUNDS: u32 = 2101;
86pub const TRD_GET_POSITION_LIST: u32 = 2102;
87pub const TRD_GET_MAX_TRD_QTYS: u32 = 2111;
88pub const TRD_GET_ORDER_LIST: u32 = 2201;
89pub const TRD_PLACE_ORDER: u32 = 2202;
90pub const TRD_MODIFY_ORDER: u32 = 2205;
91pub const TRD_UPDATE_ORDER: u32 = 2208;
92pub const TRD_GET_ORDER_FILL_LIST: u32 = 2211;
93pub const TRD_UPDATE_ORDER_FILL: u32 = 2218;
94pub const TRD_GET_HISTORY_ORDER_LIST: u32 = 2221;
95pub const TRD_GET_HISTORY_ORDER_FILL_LIST: u32 = 2222;
96pub const TRD_RECONFIRM_ORDER: u32 = 2237;
97pub const TRD_NOTIFY: u32 = 2240;
98
99/// 判断协议 ID 是否为推送类型
100pub fn is_push_proto(proto_id: u32) -> bool {
101    matches!(
102        proto_id,
103        NOTIFY
104            | QOT_UPDATE_BASIC_QOT
105            | QOT_UPDATE_KL
106            | QOT_UPDATE_RT
107            | QOT_UPDATE_TICKER
108            | QOT_UPDATE_ORDER_BOOK
109            | QOT_UPDATE_BROKER
110            | QOT_UPDATE_ORDER_DETAIL
111            | QOT_UPDATE_PRICE_REMINDER
112            | TRD_UPDATE_ORDER
113            | TRD_UPDATE_ORDER_FILL
114            | TRD_NOTIFY
115    )
116}