1#[derive(Debug, Clone)]
2pub struct AccountInfo {
3 pub login: i64,
4 pub trade_mode: i64,
5 pub leverage: i64,
6 pub limit_orders: i64,
7 pub margin_so_mode: i64,
8 pub trade_allowed: bool,
9 pub trade_expert: bool,
10 pub margin_mode: i64,
11 pub currency_digits: i64,
12 pub fifo_close: bool,
13 pub balance: f64,
14 pub credit: f64,
15 pub profit: f64,
16 pub equity: f64,
17 pub margin: f64,
18 pub free_margin: f64,
19 pub margin_level: f64,
20 pub margin_so_call: f64,
21 pub margin_so_so: f64,
22 pub margin_initial: f64,
23 pub margin_maintenance: f64,
24 pub assets: f64,
25 pub liabilities: f64,
26 pub commission_blocked: f64,
27 pub name: String,
28 pub server: String,
29 pub currency: String,
30 pub company: String,
31}
32
33#[derive(Debug, Clone)]
34pub struct TerminalInfo {
35 pub community_account: bool,
36 pub community_connection: bool,
37 pub connected: bool,
38 pub dlls_allowed: bool,
39 pub trade_allowed: bool,
40 pub trade_api_disabled: bool,
41 pub email_enabled: bool,
42 pub ftp_enabled: bool,
43 pub notifications_enabled: bool,
44 pub mqid: bool,
45 pub build: i64,
46 pub max_bars: i64,
47 pub code_page: i64,
48 pub ping_last: i64,
49 pub community_balance: f64,
50 pub retransmission: f64,
51 pub company: String,
52 pub name: String,
53 pub language: String,
54 pub path: String,
55 pub data_path: String,
56 pub common_data_path: String,
57}
58
59#[derive(Debug, Clone)]
60pub struct VersionInfo {
61 pub version: i32,
62 pub build: i32,
63 pub build_date: String,
64}
65
66#[derive(Debug, Clone)]
67pub struct SymbolInfo {
68 pub custom: bool,
69 pub chart_mode: i64,
70 pub select: bool,
71 pub visible: bool,
72 pub session_deals: i64,
73 pub session_buy_orders: i64,
74 pub session_sell_orders: i64,
75 pub volume: i64,
76 pub volume_high: i64,
77 pub volume_low: i64,
78 pub time: i64,
79 pub digits: i64,
80 pub spread: i64,
81 pub spread_float: bool,
82 pub ticks_book_depth: i64,
83 pub trade_calc_mode: i64,
84 pub trade_mode: i64,
85 pub start_time: i64,
86 pub expiration_time: i64,
87 pub trade_stops_level: i64,
88 pub trade_freeze_level: i64,
89 pub trade_exe_mode: i64,
90 pub swap_mode: i64,
91 pub swap_rollover3days: i64,
92 pub margin_hedged_use_leg: bool,
93 pub expiration_mode: i64,
94 pub filling_mode: i64,
95 pub order_mode: i64,
96 pub order_gtc_mode: i64,
97 pub option_mode: i64,
98 pub option_right: i64,
99 pub bid: f64,
100 pub bidhigh: f64,
101 pub bidlow: f64,
102 pub ask: f64,
103 pub askhigh: f64,
104 pub asklow: f64,
105 pub last: f64,
106 pub lasthigh: f64,
107 pub lastlow: f64,
108 pub volume_real: f64,
109 pub volumehigh_real: f64,
110 pub volumelow_real: f64,
111 pub option_strike: f64,
112 pub point: f64,
113 pub trade_tick_value: f64,
114 pub trade_tick_value_profit: f64,
115 pub trade_tick_value_loss: f64,
116 pub trade_tick_size: f64,
117 pub trade_contract_size: f64,
118 pub trade_accrued_interest: f64,
119 pub trade_face_value: f64,
120 pub trade_liquidity_rate: f64,
121 pub volume_min: f64,
122 pub volume_max: f64,
123 pub volume_step: f64,
124 pub volume_limit: f64,
125 pub swap_long: f64,
126 pub swap_short: f64,
127 pub margin_initial: f64,
128 pub margin_maintenance: f64,
129 pub session_volume: f64,
130 pub session_turnover: f64,
131 pub session_interest: f64,
132 pub session_buy_orders_volume: f64,
133 pub session_sell_orders_volume: f64,
134 pub session_open: f64,
135 pub session_close: f64,
136 pub session_aw: f64,
137 pub session_price_settlement: f64,
138 pub session_price_limit_min: f64,
139 pub session_price_limit_max: f64,
140 pub margin_hedged: f64,
141 pub price_change: f64,
142 pub price_volatility: f64,
143 pub price_theoretical: f64,
144 pub price_greeks_delta: f64,
145 pub price_greeks_theta: f64,
146 pub price_greeks_gamma: f64,
147 pub price_greeks_vega: f64,
148 pub price_greeks_rho: f64,
149 pub price_greeks_omega: f64,
150 pub price_sensitivity: f64,
151 pub basis: String,
152 pub category: String,
153 pub currency_base: String,
154 pub currency_profit: String,
155 pub currency_margin: String,
156 pub bank: String,
157 pub description: String,
158 pub exchange: String,
159 pub formula: String,
160 pub isin: String,
161 pub name: String,
162 pub page: String,
163 pub path: String,
164}
165
166#[derive(Debug, Clone)]
167pub struct Tick {
168 pub time: i64,
169 pub bid: f64,
170 pub ask: f64,
171 pub last: f64,
172 pub volume: u64,
173 pub time_msc: i64,
174 pub flags: u32,
175 pub volume_real: f64,
176}
177
178#[derive(Debug, Clone)]
179pub struct Rate {
180 pub time: i64,
181 pub open: f64,
182 pub high: f64,
183 pub low: f64,
184 pub close: f64,
185 pub tick_volume: u64,
186 pub spread: i32,
187 pub real_volume: u64,
188}
189
190#[derive(Debug, Clone)]
191pub struct TradePosition {
192 pub ticket: i64,
193 pub time: i64,
194 pub time_msc: i64,
195 pub time_update: i64,
196 pub time_update_msc: i64,
197 pub r#type: i32,
198 pub magic: i64,
199 pub identifier: i64,
200 pub reason: i32,
201 pub volume: f64,
202 pub price_open: f64,
203 pub price_current: f64,
204 pub price_sl: f64,
205 pub price_tp: f64,
206 pub swap: f64,
207 pub profit: f64,
208 pub symbol: String,
209 pub comment: String,
210 pub external_id: String,
211}
212
213#[derive(Debug, Clone)]
214pub struct TradeOrder {
215 pub ticket: i64,
216 pub time_setup: i64,
217 pub time_setup_msc: i64,
218 pub time_done: i64,
219 pub time_done_msc: i64,
220 pub time_expiration: i64,
221 pub r#type: i32,
222 pub type_time: i32,
223 pub type_filling: i32,
224 pub state: i32,
225 pub magic: i64,
226 pub position_id: i64,
227 pub position_by_id: i64,
228 pub reason: i32,
229 pub volume_initial: f64,
230 pub volume_current: f64,
231 pub price_open: f64,
232 pub price_current: f64,
233 pub price_sl: f64,
234 pub price_tp: f64,
235 pub price_stoplimit: f64,
236 pub symbol: String,
237 pub comment: String,
238 pub external_id: String,
239}
240
241#[derive(Debug, Clone)]
242pub struct TradeDeal {
243 pub ticket: i64,
244 pub order: i64,
245 pub time: i64,
246 pub time_msc: i64,
247 pub r#type: i32,
248 pub entry: i32,
249 pub magic: i64,
250 pub position_id: i64,
251 pub reason: i32,
252 pub volume: f64,
253 pub price: f64,
254 pub commission: f64,
255 pub swap: f64,
256 pub profit: f64,
257 pub fee: f64,
258 pub symbol: String,
259 pub comment: String,
260 pub external_id: String,
261}
262
263#[derive(Debug, Clone)]
264pub struct BookInfo {
265 pub r#type: i64,
266 pub price: f64,
267 pub volume: i64,
268 pub volume_real: f64,
269}