Skip to main content

htx_rs/model/
spot_trade.rs

1//! 现货交易相关数据结构,对应 Python SDK 的主要下单、撤单、查单等接口。
2use serde::{Deserialize, Serialize};
3
4/// 订单类型
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub enum OrderType {
7    BuyLimit,
8    SellLimit,
9    BuyMarket,
10    SellMarket,
11}
12
13/// 订单状态
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub enum OrderState {
16    Submitted,
17    PartialFilled,
18    PartialCanceled,
19    Filled,
20    Canceled,
21}
22
23/// 下单请求
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct CreateOrderRequest {
26    pub account_id: String,
27    pub symbol: String,
28    pub order_type: OrderType,
29    pub source: String,
30    pub amount: f64,
31    pub price: Option<f64>,
32    pub client_order_id: Option<String>,
33}
34
35/// 下单响应
36#[derive(Debug, Clone, Serialize, Deserialize)]
37pub struct CreateOrderResponse {
38    pub order_id: String,
39}
40
41/// 订单详情
42#[derive(Debug, Clone, Serialize, Deserialize)]
43pub struct OrderDetail {
44    pub order_id: String,
45    pub symbol: String,
46    pub account_id: String,
47    pub order_type: OrderType,
48    pub state: OrderState,
49    pub amount: f64,
50    pub price: Option<f64>,
51    pub filled_amount: Option<f64>,
52    pub created_at: Option<u64>,
53}
54
55/// 撤单请求
56#[derive(Debug, Clone, Serialize, Deserialize)]
57pub struct CancelOrderRequest {
58    pub symbol: String,
59    pub order_id: String,
60}
61
62/// 撤单响应
63#[derive(Debug, Clone, Serialize, Deserialize)]
64pub struct CancelOrderResponse {
65    pub order_id: String,
66    pub status: String,
67}
68
69/// 查询订单请求
70#[derive(Debug, Clone, Serialize, Deserialize)]
71pub struct GetOrderRequest {
72    pub order_id: String,
73}
74
75/// 查询订单响应
76#[derive(Debug, Clone, Serialize, Deserialize)]
77pub struct GetOrderResponse {
78    pub detail: OrderDetail,
79}