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")]
55 pub(crate) order_type: String,
56
57 #[arg(long)]
59 pub(crate) code: String,
60
61 #[arg(long)]
63 pub(crate) qty: f64,
64
65 #[arg(long)]
67 pub(crate) price: Option<f64>,
68
69 #[arg(long)]
71 pub(crate) amount: Option<f64>,
72
73 #[arg(long = "pred-side")]
75 pub(crate) pred_side: Option<i32>,
76
77 #[arg(long = "time-in-force")]
79 pub(crate) time_in_force: Option<String>,
80
81 #[arg(long = "fill-outside-rth")]
83 pub(crate) fill_outside_rth: bool,
84
85 #[arg(long)]
87 pub(crate) session: Option<String>,
88
89 #[arg(long = "expire-time")]
91 pub(crate) expire_time: Option<String>,
92
93 #[arg(long = "jp-acc-type")]
95 pub(crate) jp_acc_type: Option<i32>,
96
97 #[arg(long)]
99 pub(crate) confirm: bool,
100
101 #[arg(long)]
105 pub(crate) idempotency_key: Option<String>,
106
107 #[arg(long)]
110 pub(crate) stop_price: Option<f64>,
111
112 #[arg(long)]
114 pub(crate) trail_type: Option<i32>,
115
116 #[arg(long)]
118 pub(crate) trail_value: Option<f64>,
119
120 #[arg(long)]
122 pub(crate) trail_spread: Option<f64>,
123}
124
125#[derive(Args)]
126pub struct ModifyOrderArgs {
127 #[arg(short, long)]
128 pub(crate) market: String,
129
130 #[arg(long)]
131 pub(crate) acc_id: Option<u64>,
132
133 #[arg(long = "card-num")]
135 pub(crate) card_num: Option<String>,
136
137 #[arg(
139 long = "acc-id-file",
140 value_name = "MODE_0600_FILE",
141 conflicts_with_all = ["acc_id", "card_num"]
142 )]
143 pub(crate) acc_id_file: Option<std::path::PathBuf>,
144
145 #[arg(short, long, default_value = "simulate")]
146 pub(crate) env: String,
147
148 #[arg(long)]
149 pub(crate) order_id: String,
150
151 #[arg(long)]
153 pub(crate) op: String,
154
155 #[arg(long)]
157 pub(crate) qty: Option<f64>,
158
159 #[arg(long)]
161 pub(crate) price: Option<f64>,
162
163 #[arg(long = "jp-acc-type")]
165 pub(crate) jp_acc_type: Option<i32>,
166
167 #[arg(long)]
168 pub(crate) confirm: bool,
169
170 #[arg(long)]
172 pub(crate) idempotency_key: Option<String>,
173}
174
175#[derive(Args)]
176pub struct CancelOrderArgs {
177 #[arg(short, long)]
178 pub(crate) market: String,
179
180 #[arg(long)]
181 pub(crate) acc_id: Option<u64>,
182
183 #[arg(long = "card-num")]
185 pub(crate) card_num: Option<String>,
186
187 #[arg(
189 long = "acc-id-file",
190 value_name = "MODE_0600_FILE",
191 conflicts_with_all = ["acc_id", "card_num"]
192 )]
193 pub(crate) acc_id_file: Option<std::path::PathBuf>,
194
195 #[arg(short, long, default_value = "simulate")]
196 pub(crate) env: String,
197
198 #[arg(long)]
199 pub(crate) order_id: String,
200
201 #[arg(long = "jp-acc-type")]
203 pub(crate) jp_acc_type: Option<i32>,
204
205 #[arg(long)]
207 pub(crate) idempotency_key: Option<String>,
208
209 #[arg(long)]
210 pub(crate) confirm: bool,
211}
212
213#[derive(Args)]
214pub struct ReconfirmOrderArgs {
215 #[arg(short, long)]
216 pub(crate) market: String,
217
218 #[arg(long)]
219 pub(crate) acc_id: Option<u64>,
220
221 #[arg(long = "card-num")]
223 pub(crate) card_num: Option<String>,
224
225 #[arg(
227 long = "acc-id-file",
228 value_name = "MODE_0600_FILE",
229 conflicts_with_all = ["acc_id", "card_num"]
230 )]
231 pub(crate) acc_id_file: Option<std::path::PathBuf>,
232
233 #[arg(short, long, default_value = "simulate")]
234 pub(crate) env: String,
235
236 #[arg(long)]
238 pub(crate) order_id: String,
239
240 #[arg(long)]
242 pub(crate) reason: i32,
243
244 #[arg(long = "jp-acc-type")]
246 pub(crate) jp_acc_type: Option<i32>,
247
248 #[arg(long)]
250 pub(crate) confirm: bool,
251}