futucli/cli/commands/
trade_write.rs1use clap::Args;
4
5#[derive(Args)]
6pub struct ComboOrderArgs {
7 #[arg(long = "c2s-json", value_name = "JSON")]
13 pub(crate) c2s_json: String,
14
15 #[arg(long)]
17 pub(crate) confirm: bool,
18
19 #[arg(long)]
21 pub(crate) idempotency_key: Option<String>,
22}
23
24#[derive(Args)]
25pub struct PlaceOrderArgs {
26 #[arg(short, long)]
27 pub(crate) market: String,
28
29 #[arg(long)]
30 pub(crate) acc_id: Option<u64>,
31
32 #[arg(long = "card-num")]
34 pub(crate) card_num: Option<String>,
35
36 #[arg(
38 long = "acc-id-file",
39 value_name = "MODE_0600_FILE",
40 conflicts_with_all = ["acc_id", "card_num"]
41 )]
42 pub(crate) acc_id_file: Option<std::path::PathBuf>,
43
44 #[arg(short, long, default_value = "simulate")]
46 pub(crate) env: String,
47
48 #[arg(long)]
50 pub(crate) side: String,
51
52 #[arg(long, default_value = "NORMAL")]
56 pub(crate) order_type: String,
57
58 #[arg(long)]
60 pub(crate) code: String,
61
62 #[arg(long)]
64 pub(crate) qty: f64,
65
66 #[arg(long)]
68 pub(crate) price: Option<f64>,
69
70 #[arg(long)]
72 pub(crate) amount: Option<f64>,
73
74 #[arg(long = "pred-side")]
76 pub(crate) pred_side: Option<i32>,
77
78 #[arg(long = "time-in-force")]
80 pub(crate) time_in_force: Option<String>,
81
82 #[arg(long = "fill-outside-rth")]
84 pub(crate) fill_outside_rth: bool,
85
86 #[arg(long)]
88 pub(crate) session: Option<String>,
89
90 #[arg(long = "expire-time")]
92 pub(crate) expire_time: Option<String>,
93
94 #[arg(long = "jp-acc-type")]
96 pub(crate) jp_acc_type: Option<i32>,
97
98 #[arg(long)]
100 pub(crate) confirm: bool,
101
102 #[arg(long)]
106 pub(crate) idempotency_key: Option<String>,
107
108 #[arg(long)]
111 pub(crate) stop_price: Option<f64>,
112
113 #[arg(long)]
115 pub(crate) trail_type: Option<i32>,
116
117 #[arg(long)]
119 pub(crate) trail_value: Option<f64>,
120
121 #[arg(long)]
123 pub(crate) trail_spread: Option<f64>,
124}
125
126#[derive(Args)]
127pub struct ModifyOrderArgs {
128 #[arg(short, long)]
129 pub(crate) market: String,
130
131 #[arg(long)]
132 pub(crate) acc_id: Option<u64>,
133
134 #[arg(long = "card-num")]
136 pub(crate) card_num: Option<String>,
137
138 #[arg(
140 long = "acc-id-file",
141 value_name = "MODE_0600_FILE",
142 conflicts_with_all = ["acc_id", "card_num"]
143 )]
144 pub(crate) acc_id_file: Option<std::path::PathBuf>,
145
146 #[arg(short, long, default_value = "simulate")]
147 pub(crate) env: String,
148
149 #[arg(long)]
150 pub(crate) order_id: String,
151
152 #[arg(long)]
154 pub(crate) op: String,
155
156 #[arg(long)]
158 pub(crate) qty: Option<f64>,
159
160 #[arg(long)]
162 pub(crate) price: Option<f64>,
163
164 #[arg(long = "jp-acc-type")]
166 pub(crate) jp_acc_type: Option<i32>,
167
168 #[arg(long)]
169 pub(crate) confirm: bool,
170
171 #[arg(long)]
173 pub(crate) idempotency_key: Option<String>,
174}
175
176#[derive(Args)]
177pub struct CancelOrderArgs {
178 #[arg(short, long)]
179 pub(crate) market: String,
180
181 #[arg(long)]
182 pub(crate) acc_id: Option<u64>,
183
184 #[arg(long = "card-num")]
186 pub(crate) card_num: Option<String>,
187
188 #[arg(
190 long = "acc-id-file",
191 value_name = "MODE_0600_FILE",
192 conflicts_with_all = ["acc_id", "card_num"]
193 )]
194 pub(crate) acc_id_file: Option<std::path::PathBuf>,
195
196 #[arg(short, long, default_value = "simulate")]
197 pub(crate) env: String,
198
199 #[arg(long)]
200 pub(crate) order_id: String,
201
202 #[arg(long = "jp-acc-type")]
204 pub(crate) jp_acc_type: Option<i32>,
205
206 #[arg(long)]
208 pub(crate) idempotency_key: Option<String>,
209
210 #[arg(long)]
211 pub(crate) confirm: bool,
212}
213
214#[derive(Args)]
215pub struct ReconfirmOrderArgs {
216 #[arg(short, long)]
217 pub(crate) market: String,
218
219 #[arg(long)]
220 pub(crate) acc_id: Option<u64>,
221
222 #[arg(long = "card-num")]
224 pub(crate) card_num: Option<String>,
225
226 #[arg(
228 long = "acc-id-file",
229 value_name = "MODE_0600_FILE",
230 conflicts_with_all = ["acc_id", "card_num"]
231 )]
232 pub(crate) acc_id_file: Option<std::path::PathBuf>,
233
234 #[arg(short, long, default_value = "simulate")]
235 pub(crate) env: String,
236
237 #[arg(long)]
239 pub(crate) order_id: String,
240
241 #[arg(long)]
243 pub(crate) reason: i32,
244
245 #[arg(long = "jp-acc-type")]
247 pub(crate) jp_acc_type: Option<i32>,
248
249 #[arg(long)]
251 pub(crate) confirm: bool,
252}