-
Notifications
You must be signed in to change notification settings - Fork 2
/
post_order.h
62 lines (57 loc) · 1.71 KB
/
post_order.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef _SBE_APP_POST_ORDER_H_
#define _SBE_APP_POST_ORDER_H_
#include <unistd.h>
#include <cassert>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <optional>
#include <variant>
#include <vector>
#include "decimal.h"
#include "spot_sbe/Floor.h"
#include "spot_sbe/MatchType.h"
#include "spot_sbe/OrderCapacity.h"
#include "spot_sbe/OrderSide.h"
#include "spot_sbe/OrderStatus.h"
#include "spot_sbe/OrderType.h"
#include "spot_sbe/SelfTradePreventionMode.h"
#include "spot_sbe/TimeInForce.h"
#include "util.h"
using spot_sbe::Floor;
using spot_sbe::MatchType;
using spot_sbe::OrderCapacity;
using spot_sbe::OrderSide;
using spot_sbe::OrderStatus;
using spot_sbe::OrderType;
using spot_sbe::SelfTradePreventionMode;
using spot_sbe::TimeInForce;
struct NewOrder {
int64_t order_id;
std::optional<int64_t> order_list_id;
int64_t transaction_time;
Decimal price;
Decimal orig_qty;
Decimal executed_qty;
Decimal cummulative_quote_qty;
OrderStatus::Value status;
TimeInForce::Value time_in_force;
OrderType::Value order_type;
OrderSide::Value side;
std::optional<Decimal> stop_price;
std::optional<int64_t> trailing_delta;
std::optional<int64_t> trailing_time;
std::optional<int64_t> working_time;
std::optional<int64_t> iceberg_qty;
std::optional<int64_t> strategy_id;
std::optional<int32_t> strategy_type;
std::optional<OrderCapacity::Value> order_capacity;
std::optional<Floor::Value> working_floor;
SelfTradePreventionMode::Value self_trade_prevention_mode;
std::optional<int64_t> trade_group_id;
std::optional<Decimal> prevented_quantity;
std::optional<bool> used_sor;
std::string symbol;
std::string client_order_id;
};
#endif