40 throw std::runtime_error
42 "Threshold for tracking best bids "
43 "or offers can't be a negative value. "
81 threshold_ = other.threshold_;
82 enabled_ = other.enabled_;
93 , threshold_(), enabled_(false)
134 "BBO Threshold Enable",
154 if (0 <= value.mantissa())
181 "BBO Threshold Settings",
193ONIXS_CONFLATEDUDP_EXPORTED
202ONIXS_CONFLATEDUDP_EXPORTED
231 return price_.group();
240 price_.assignNoControl(other.price_);
241 quantity_.assignNoControl(other.quantity_);
242 numberOfOrders_.assignNoControl(other.numberOfOrders_);
252 , numberOfOrders_(
group)
264 : price_(other.price_)
265 , quantity_(other.quantity_)
266 , numberOfOrders_(other.numberOfOrders_)
308 return numberOfOrders_;
315 return numberOfOrders_;
327 numberOfOrders_.enabled()
360 "Direct BBO Tracking Settings",
371ONIXS_CONFLATEDUDP_EXPORTED
385 toStr(str, tracking);
403 BboTracking bboTracking_;
420 return bboTracking_.group();
442 : maintain_(false), bboTracking_(
group)
454 : maintain_(other.maintain_)
455 , bboTracking_(other.bboTracking_)
522 "Base Book Management Settings",
571 Base::assignNoControl(other);
618 return defaultDepth_;
653 "Fixed Depth Book Management Settings",
654 &FixedDepthBookManagement::assignNoControl,
690ONIXS_CONFLATEDUDP_EXPORTED
704 toStr(str, strategy);
713FixedDepthBookManagement
758 updateNotification_ =
759 other.updateNotification_;
767 : SettingGroup(controller)
768 , directBooks_(&group(), 10)
769 , updateNotification_(
786 , updateNotification_(
787 other.updateNotification_)
817 return updateNotification_;
828 "Update Notification",
845 "Book Management Settings",
846 &BookManagement::assignNoControl,
856ONIXS_CONFLATEDUDP_EXPORTED
870 toStr(str, settings);
#define ONIXS_CONFLATEDUDP_LTWT_STRUCT
#define ONIXS_CONFLATEDUDP_LTWT_CLASS
#define ONIXS_CONFLATEDUDP_NAMESPACE_END
#define ONIXS_CONFLATEDUDP_LTWT_CLASS_DECL(name)
#define ONIXS_CONFLATEDUDP_NAMESPACE_BEGIN
BaseBookManagement(const BaseBookManagement &other)
friend class BookManagement
const SettingGroup & group() const
const BboTracking & bboTracking() const
~BaseBookManagement()
Finalizes the instance.
void maintain(bool value)
Forces Handler to maintain order books.
BaseBookManagement(const SettingGroup *group=NULL)
BboTracking & bboTracking()
void assignNoControl(const BaseBookManagement &other)
Defines tracking attributes for a particular BBO parameter.
const Decimal & threshold() const
Threshold for the parameter being tracked.
BboThreshold(const BboThreshold &other)
const SettingGroup & group() const
friend class DirectBboTracking
Lets grouping and value assignment control functioning.
void threshold(const Decimal &value)
void assignNoControl(const BboThreshold &other)
void enabled(bool value)
Indicates whether tracking is enabled.
~BboThreshold()
Finalizes the group.
BboThreshold(const SettingGroup *group=NULL)
bool enabled() const
Indicates whether tracking is enabled.
Parameters affecting book management machinery.
const DirectBookManagement & directBooks() const
Management and tracking parameters for direct books.
void updateNotification(BookUpdateNotification::Enum value)
Defines the way Handler raises order book update event.
BookManagement(const BookManagement &other)
BookUpdateNotification::Enum updateNotification() const
DirectBookManagement & directBooks()
Management and tracking parameters for direct books.
friend class HandlerSettings
BookManagement(SettingAssignController *controller=NULL)
Initializes instance with default values.
A real number with floating exponent.
Defines tracking for BBO in direct books.
friend class BaseBookManagement
const BboThreshold & price() const
Price tracking attributes.
const SettingGroup & group() const
const BboThreshold & numberOfOrders() const
Tracking for order quantity.
const BboThreshold & quantity() const
Quantity tracking attributes.
BboThreshold & quantity()
Quantity tracking attributes.
void assignNoControl(const DirectBboTracking &other)
DirectBboTracking(const SettingGroup *group=NULL)
DirectBboTracking(const DirectBboTracking &other)
bool exceeded(const DirectPriceLevel &previous, const DirectPriceLevel ¤t) const
Checks whether any of thresholds is exceeded.
BboThreshold & price()
Price tracking attributes.
~DirectBboTracking()
Finalizes the instance.
bool enabled() const
Indicates whether tracking enabled at all.
BboThreshold & numberOfOrders()
Tracking for order quantity.
Encapsulates price level concept.
Int64 quantity() const
Quantify for the given price.
const Decimal & price() const
Int32 & numberOfOrders()
Updates total number of orders.
MbpBookDepth defaultDepth() const
void defaultDepth(Depth value)
friend class BookManagement
~FixedDepthBookManagement()
Finalizes the instance.
FixedDepthBookManagement(const FixedDepthBookManagement &other)
FixedDepthBookManagement(const SettingGroup *group=NULL, Depth defaultDepth=0)
Base services for settings grouped by a certain criteria.
void controlAssignment(const Char *description, Assignee &assignee, Value value) const
FixedDepthBookManagement< DirectBboTracking, MbpBookDepth > DirectBookManagement
Management and tracking parameters for direct books.
ONIXS_CONFLATEDUDP_EXPORTED void toStr(std::string &, BookState::Enum)
Serializes book state value into a string.
void throwBadBboThreshold()
Raises exception on invalid best bid/offer threshold value.
ONIXS_CONFLATEDUDP_EXPORTED bool thresholdExceeded(const Decimal &, const Decimal &, const Decimal &)
Defines book update notification strategies.