MarketByOrder

struct MarketByOrder

Public Functions

inline virtual ~MarketByOrder()
virtual std::string_view exchange() const = 0
virtual std::string_view symbol() const = 0
virtual uint16_t max_depth() const = 0
virtual double price_increment() const = 0
virtual double quantity_increment() const = 0
virtual Precision price_precision() const = 0
virtual Precision quantity_precision() const = 0
virtual uint16_t stream_id() const = 0
virtual std::chrono::nanoseconds exchange_time_utc() const = 0
virtual uint64_t exchange_sequence() const = 0
virtual uint32_t checksum() const = 0
virtual std::pair<size_t, size_t> size() const = 0
virtual bool empty() const = 0
virtual void clear() = 0
template<typename ...Args>
inline void operator()(Args&&... args)
virtual void extract(std::vector<MBOUpdate>&, size_t max_depth = 0) const = 0
virtual void extract(std::vector<MBOUpdate>&, Side, double price) const = 0
virtual void extract(std::vector<Layer>&, size_t max_depth = 0) const = 0
virtual std::span<Layer const> extract_2(std::span<Layer> const&) const = 0
virtual bool exists(Side, double price) const = 0
virtual std::pair<size_t, bool> find_index(Side, double price) const = 0
virtual double total_quantity(Side, double price) const = 0
virtual double accumulated_quantity(Side, double price, bool excluding_price = false) const = 0
virtual double accumulated_quantity_price_index(Side, size_t index, bool excluding_price = false) const = 0
virtual std::pair<MBOUpdate, bool> find_order(Side, std::string_view const &order_id) const = 0
virtual std::pair<Position, bool> get_queue_position(Side, std::string_view const &order_id) const = 0
inline void operator()(std::span<MBOUpdate const> const &orders)
template<typename Callback>
inline void operator()(MarketByOrderUpdate const &market_by_order_update, std::vector<MBOUpdate> &orders, Callback callback)
template<typename Callback>
inline void create_snapshot(std::vector<MBOUpdate> &orders, Callback callback) const
struct OrderUpdate

Public Members

Side side = {}
UpdateAction action = {}
double remaining_quantity = NaN
double last_modified_quantity = NaN
double total_traded_quantity = NaN
double last_traded_quantity = NaN
double total_queue_quantity = NaN
double queue_position_quantity = NaN
size_t queue_position = {}
bool iceberg = false
struct Position

Public Members

double quantity = NaN
double before = NaN
double total = NaN