|
| | Configurator (const ::openpit::Engine &engine) noexcept |
| |
| void | OrderSizeLimit (std::string_view name, ::openpit::pretrade::policies::OrderSizeBrokerBarrierUpdate broker=::openpit::pretrade::policies::OrderSizeBrokerBarrierUpdate::Unchanged(), std::optional< std::vector<::openpit::pretrade::policies::OrderSizeAssetBarrier >> assets=std::nullopt, std::optional< std::vector< ::openpit::pretrade::policies::OrderSizeAccountAssetBarrier >> accountAssets=std::nullopt) const |
| |
| void | PnlBoundsKillSwitch (std::string_view name, std::optional< std::vector<::openpit::pretrade::policies::PnlBoundsBrokerBarrier >> brokers=std::nullopt, std::optional< std::vector< ::openpit::pretrade::policies::PnlBoundsAccountBarrierUpdate >> accounts=std::nullopt) const |
| |
| void | RateLimit (std::string_view name, ::openpit::pretrade::policies::RateLimitBrokerBarrierUpdate broker=::openpit::pretrade::policies::RateLimitBrokerBarrierUpdate::Unchanged(), std::optional< std::vector<::openpit::pretrade::policies::RateLimitAssetBarrier >> assets=std::nullopt, std::optional< std::vector<::openpit::pretrade::policies::RateLimitAccountBarrier >> accounts=std::nullopt, std::optional< std::vector< ::openpit::pretrade::policies::RateLimitAccountAssetBarrier >> accountAssets=std::nullopt) const |
| | Clearing an account or account+asset barrier keeps its sliding-window log; re-adding the key resumes counting orders still inside its window. More...
|
| |
| void | SetAccountPnl (std::string_view name, ::openpit::param::AccountId accountId, const ::openpit::param::Asset &settlementAsset, ::openpit::param::Pnl pnl) const |
| |
| ::openpit::PolicyConfigurationResult | SetSpotFundsAccountPnl (std::string_view name, ::openpit::param::AccountId accountId, ::openpit::accountadjustment::PnlHaltReason reason) const |
| | Replaces one SpotFunds live account P&L accumulator with a halt reason. More...
|
| |
| ::openpit::PolicyConfigurationResult | SetSpotFundsAccountPnl (std::string_view name, ::openpit::param::AccountId accountId, ::openpit::param::Pnl pnl) const |
| | Replaces one SpotFunds live account P&L accumulator with a numeric value. More...
|
| |
| void | SpotFunds (std::string_view name, std::optional< std::uint16_t > globalSlippageBps=std::nullopt, std::optional<::openpit::pretrade::policies::SpotFundsPricingSource > pricingSource=std::nullopt, std::optional< std::vector<::openpit::pretrade::policies::SpotFundsOverride >> overrides=std::nullopt) const |
| |
| void | SpotFundsAccountGroupLimitMode (std::string_view name, ::openpit::param::AccountGroupId accountGroupId, std::optional<::openpit::pretrade::policies::SpotFundsLimitMode > mode) const |
| |
| void | SpotFundsAccountLimitMode (std::string_view name, ::openpit::param::AccountId accountId, std::optional<::openpit::pretrade::policies::SpotFundsLimitMode > mode) const |
| |
| void | SpotFundsGlobalLimitMode (std::string_view name, ::openpit::pretrade::policies::SpotFundsLimitMode mode) const |
| |
| ::openpit::AccountBlockOutcomes | SpotFundsPnlBoundsKillSwitch (std::string_view name, ::openpit::pretrade::policies::SpotFundsPnlBoundsGlobalBarrierUpdate global=::openpit::pretrade::policies::SpotFundsPnlBoundsGlobalBarrierUpdate::Unchanged(), std::optional< std::vector< ::openpit::pretrade::policies::SpotFundsPnlBoundsAccountGroupBarrier >> accountGroups=std::nullopt, std::optional< std::vector< ::openpit::pretrade::policies::SpotFundsPnlBoundsAccountBarrier >> accounts=std::nullopt) const |
| | Retunes the SpotFunds self-computed P&L bounds axis. More...
|
| |
| void | SpotFundsPositionLimit (std::string_view name, ::openpit::param::AccountId accountId, const ::openpit::param::Asset &asset, std::optional<::openpit::param::Quantity > limit) const |
| | Pins, replaces, or clears the inclusive long and short position magnitude limit for an account and asset in the named SpotFunds policy. More...
|
| |
Retunes the SpotFunds self-computed P&L bounds axis.
The global update uses the explicitly named Unchanged, Clear, and Set operations. Optional group/account vectors are PATCH axes: std::nullopt leaves the axis unchanged and an engaged empty vector clears it. Account updates preserve each live accumulated P&L value. With a known effective account currency, an account-tier mismatch fails closed and blocks the account; account-group and global mismatches are skipped. A known-currency account with no account barrier and no matching fallback has no effective barrier, but its P&L keeps accumulating and publishing. Without an effective currency, the first in-scope barrier applies. Bounds are compared as stored and are never FX-converted.
An account whose effective barrier changed is evaluated against its stored account P&L in the same call: an already halted account, or one already beyond the new barrier, is blocked before this call returns and its block is reported here as already recorded by the engine. Each returned accounts::AccountBlockOutcome names the account that owns its newly inserted block. Removing the last effective barrier reports no block and does not release an existing block. Clearing an override can expose a fallback barrier; the fallback is evaluated normally and may record and report a block.
Pins, replaces, or clears the inclusive long and short position magnitude limit for an account and asset in the named SpotFunds policy.
The checked position starts with recorded available + held, including a negative held residual. A long projection adds open positive incoming; a short projection subtracts open positive held. Only the side the order moves toward is checked, so a position-reducing order passes while that projection stays within the limit. A breach rejects with PositionLimitExceeded at Order scope. A projection that cannot be computed exactly rejects with ArithmeticOverflow at Order scope. A change applies from the next order and does not re-evaluate open reservations. std::nullopt clears the limit.