Skip to content

IOrderValidator

IOrderValidator defines the interface for validating outbound orders before submission. It ensures correctness and compliance with predefined constraints (e.g. price ranges, order size).

class IOrderValidator : public ISubsystem {
public:
  virtual ~IOrderValidator() = default;
  virtual bool validate(const Order& order, std::string& reason) const = 0;
};

Purpose

  • Prevent invalid or unsafe orders from reaching the execution layer by performing sanity checks.

Responsibilities

Method Description
validate Checks if the order is valid. Returns true if valid; else sets reason.

Notes

  • Must be called prior to invoking IOrderExecutor::submitOrder().
  • Provides human-readable error messages via the reason output parameter.
  • Implementations can enforce checks such as:

  • Non-zero quantity

  • Price within expected deviation
  • Tick-size alignment
  • Symbol validity
  • Integrated into the engine as an ISubsystem for lifecycle coordination.