FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::Fill Struct Reference

One execution as a strategy sees it (on_fill). More...

#include <fastmm/strategies/hooks.hpp>

Public Attributes

InstrumentId instrument
 the order's instrument, else the fill message's
 
Side side {}
 the order's side, else the fill message's
 
Price price
 this execution
 
Qty qty
 
Qty position_delta
 signed change of the position; differs from qty when the commission is charged in the base asset
 
Notional fee
 quote currency, as booked
 
bool fee_converted = true
 false: commission in a third asset, not booked (counted in stats)
 
Liquidity liquidity {}
 
bool known = false
 the id matched an order, open or recently terminal (update->order)
 
bool late = false
 the order was already terminal when the fill arrived
 
bool order_done = false
 the order reached a terminal state with this fill
 
const OmsUpdate * update = nullptr
 non-null when known
 
const OrderFillMsg * msg = nullptr
 always set by the engine
 

Detailed Description

One execution as a strategy sees it (on_fill).

The engine builds it on its stack after the position and fees are updated. The pointers are valid only during the call; do not store them.

Member Data Documentation

◆ instrument

InstrumentId fastmm::Fill::instrument

the order's instrument, else the fill message's

◆ side

Side fastmm::Fill::side {}

the order's side, else the fill message's

◆ price

Price fastmm::Fill::price

this execution

◆ qty

Qty fastmm::Fill::qty

◆ position_delta

Qty fastmm::Fill::position_delta

signed change of the position; differs from qty when the commission is charged in the base asset

◆ fee

Notional fastmm::Fill::fee

quote currency, as booked

◆ fee_converted

bool fastmm::Fill::fee_converted = true

false: commission in a third asset, not booked (counted in stats)

◆ liquidity

Liquidity fastmm::Fill::liquidity {}

◆ known

bool fastmm::Fill::known = false

the id matched an order, open or recently terminal (update->order)

◆ late

bool fastmm::Fill::late = false

the order was already terminal when the fill arrived

◆ order_done

bool fastmm::Fill::order_done = false

the order reached a terminal state with this fill

◆ update

const OmsUpdate* fastmm::Fill::update = nullptr

non-null when known

◆ msg

const OrderFillMsg* fastmm::Fill::msg = nullptr

always set by the engine