30 double stop_level = std::numeric_limits<double>::quiet_NaN();
31 double limit_level = std::numeric_limits<double>::quiet_NaN();
39 const std::optional<ExitPlacementEvidence>&
evidence() const noexcept {
return evidence_; }
58 double quantity = std::numeric_limits<double>::quiet_NaN();
94 double tick_high = std::numeric_limits<double>::quiet_NaN();
98 double stop,
double limit,
bool continues_at_later_open() const noexcept
bool holds_limit() const noexcept
ExitLegActivationBounds resolve(std::int64_t owner_cycle, int owner_entry_bar) const
bool holds_stop() const noexcept
const std::optional< ExitPlacementEvidence > & evidence() const noexcept
ExitActivationPolicy()=default
ExitActivationPolicy select_exit_activation(const ExitActivationRequest &request, double stop, double limit, const ExitActivationContext &context)
compat::pine::ExitActivationPolicy PineExitActivationPolicy
std::uint64_t market_recalc_fill
std::uint64_t market_recalc_incarnation
std::string_view first_lot_id
bool after_first_open_fill
std::uint64_t current_fill
std::uint64_t first_lot_incarnation
HistoricalBirthReach birth_reach
std::string_view from_entry
std::string_view oca_name
std::int64_t position_cycle
std::optional< LimitContinuation > limit_continuation
LimitContinuationCause cause
std::uint64_t observed_fill_sequence