PineForge v0.13.1-379-g9b50973
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
pineforge::engine_script_run_v18::BacktestEngine Class Referenceabstract

#include <engine.hpp>

Data Structures

struct  AbortFlag
 
struct  AbortRequested
 
struct  BarTime
 
struct  ExecutionConsumerSlot
 
struct  NativeConsumerBindTag
 
struct  NativeSecurityFeed
 
struct  SecurityEvalState
 

Public Member Functions

virtual ~BacktestEngine ()
 
int execution_contract () const
 
bool native_bound () const
 
virtual void on_bar (const Bar &bar)=0
 
void run (const Bar *bars, int n)
 
void run (const Bar *input_bars, int n_input, const std::string &input_tf, const std::string &script_tf, bool bar_magnifier=false, int magnifier_samples=4, MagnifierDistribution magnifier_dist=MagnifierDistribution::ENDPOINTS)
 
virtual bool set_aux_security_feed (const Bar *bars, int n, const std::string &input_tf)
 
bool set_native_security_feed (const std::string &timeframe, const Bar *bars, int n)
 
bool native_security_feed_enabled () const
 
int64_t native_security_substitutions () const
 
int64_t native_security_misses () const
 
bool chart_day_partition_installed () const
 
bool stream_begin (const Bar *warmup_bars, int n_warmup, const std::string &input_tf, const std::string &script_tf="")
 
bool stream_push_bar (const Bar &bar)
 
bool stream_push_tick (const TradeTick &tick)
 
bool stream_push_ticks (const TradeTick *ticks, int n)
 
bool stream_advance_time (int64_t timestamp_ms)
 
bool stream_end (bool finalize_partial_input_bar=false)
 
bool stream_is_realtime () const
 
int stream_order_actions_len () const
 
const StreamOrderActionstream_order_action_at (int i) const
 
void stream_order_actions_clear ()
 
uint64_t stream_state_hash () const
 
bool set_account_currency_fx_series (const int64_t *timestamps_ms, const double *rates, int n)
 
void run (const Bar *input_bars, int n_input, const std::string &input_tf, const std::string &script_tf, const std::unordered_map< std::string, std::string > &inputs, const SymInfo &syminfo, const void *overrides=nullptr, bool bar_magnifier=false, int magnifier_samples=4, MagnifierDistribution magnifier_dist=MagnifierDistribution::ENDPOINTS)
 
int trade_count () const
 
const Tradeget_trade (int i) const
 
std::size_t closed_trade_count () const noexcept
 
const Tradeclosed_trade (std::size_t i) const
 
int report_trade_count () const
 
const Tradeget_report_trade (int i) const
 
int closed_trade_close_cause (int i) const
 
double max_contracts_held_all () const
 
double max_contracts_held_long () const
 
double max_contracts_held_short () const
 
int eventrades () const
 
void fill_report (ReportC *out) const
 
const std::string & last_error () const
 
void set_input (const std::string &key, const std::string &value)
 
void clear_inputs ()
 
void set_trade_start_time (int64_t timestamp_ms)
 
void set_chart_timezone (const std::string &tz)
 
const std::string & chart_timezone () const
 
void set_syminfo_timezone (const std::string &tz)
 
void set_syminfo_session (const std::string &s)
 
void set_syminfo_type (const std::string &t)
 
bool session_template_knows_early_close () const
 Whether TradingView's session template for this symbol carries the exchange's early closes and holidays, so a D/W/M request.security bucket completes on a shortened session's actual last chart bar (TimeframeAggregator::set_early_close_completes): exchange-listed kinds (stock, futures, index, fund, dr, ...) yes – NYSE:F's 12:45 ET half-day bar and CME's 11:45 CT early-close bar are pinned; the OTC quote streams – forex, cfd, crypto – no: their period ends at the nominal close and a session ending early completes lazily on the next period's first bar (OANDA:XAUUSD 15m, lab tv oanda pin, ledger log-20260905t034240z-30be11fe).
 
bool set_syminfo_string (const std::string &key, const std::string &value)
 
void set_syminfo_mintick (double m)
 
void set_syminfo_pointvalue (double pv)
 
virtual void set_syminfo_metadata (const std::string &key, double value)
 
const std::string & main_period () const
 
virtual bool set_realtime_tail (bool on, int horizon_bars)
 
virtual bool set_probe_suppress_tail_logic (bool on)
 
void set_path_order (int mode)
 
uint64_t broker_state_hash () const
 
double position_avg_price () const
 
int64_t position_cycle_seq () const
 
double trail_best_price () const
 
virtual double live_position_size () const
 
virtual int observe_last_bar_dual_entry_path_v1 () const
 
virtual int observe_pending_count_v1 () const
 
virtual int observe_pending_copy_v1 (int index, pf_pending_order_v1_t *out) const
 
virtual int observe_probe_fill_qty (int index, double fill_price, double *qty, int *close_only, int *partition) const
 
virtual int observe_pending_level_resolved (int index) const
 
virtual int observe_pending_effective_levels (int index, double *stop, double *limit, double *trail_activation) const
 
virtual double observe_trail_best_price_v1 () const
 
double live_current_equity () const
 
int64_t script_bars_processed () const
 
void set_broker_state_hash_recording (bool on)
 
void set_magnifier_volume_weighted (bool on)
 
void set_trace_enabled (bool on)
 
bool trace_enabled () const
 
int last_run_status () const
 
void request_abort ()
 
void trace (const std::string &name, double value)
 
void trace (const std::string &name, bool value)
 
void trace (const std::string &name, int value)
 

Static Public Member Functions

static void free_report (ReportC *report)
 

Protected Types

enum class  StreamPhase {
  IDLE ,
  REALTIME ,
  ENDED
}
 
enum class  StreamInputMode {
  UNSET ,
  TICKS ,
  BARS
}
 
enum class  PositionReductionCause {
  SCRIPT_ORDER ,
  BRACKET_EXIT ,
  MARGIN_CALL
}
 

Protected Member Functions

 BacktestEngine (NativeConsumerBindTag)
 
IExecutionConsumerexecution_consumer ()
 
const IExecutionConsumerexecution_consumer () const
 
virtual void hash_host_extension (BrokerStateHashSink &) const
 
virtual void hash_source_extension (BrokerStateHashSink &) const
 
virtual std::uint64_t broker_state_hash_projection () const
 
std::uint64_t broker_state_hash_from_execution_hash (std::uint64_t) const
 
double get_input_double (const std::string &key, double default_val) const
 
int get_input_int (const std::string &key, int default_val) const
 
int64_t get_input_int64 (const std::string &key, int64_t default_val) const
 
bool get_input_bool (const std::string &key, bool default_val) const
 
std::string get_input_string (const std::string &key, const std::string &default_val) const
 
double get_syminfo_metadata (const std::string &key) const
 
execution::Result settle_native_execution_at (const execution::Action &action, const execution::Fill &fill, const execution::PhysicalExecutionContext &context)
 
execution::Result settle_with_context (const execution::Action &action, const execution::Fill &fill, const execution::LifecycleEffects &lifecycle, const execution::PhysicalExecutionContext &context)
 
execution::SettlementInspection inspect_native_settlement (const execution::Action &action, const execution::Fill &fill) const
 
execution::SettlementInspection inspect_native_settlement_scoped (const execution::Action &action, const execution::Fill &fill, execution::CloseScope scope) const
 
execution::Result settle_native_execution_scoped_at (const execution::Action &action, const execution::Fill &fill, const execution::PhysicalExecutionContext &context, execution::CloseScope scope)
 
execution::SettlementInspection inspect_native_settlement_selected (const execution::Action &action, const execution::Fill &fill, const execution::SelectedOpeningSet &selection) const
 
execution::Result settle_native_execution_selected_at (const execution::Action &action, const execution::Fill &fill, const execution::PhysicalExecutionContext &context, const execution::SelectedOpeningSet &selection)
 
execution::Result settle_execution_selected_with_lifecycle (const execution::Action &action, const execution::Fill &fill, const execution::LifecycleEffects &lifecycle, const execution::SelectedOpeningSet &selection)
 
execution::AccountEffectProjection project_native_settlement_v1 (const execution::Action &action, const execution::Fill &fill) const
 
execution::AccountEffectProjection project_native_settlement_scoped_v1 (const execution::Action &action, const execution::Fill &fill, execution::CloseScope scope) const
 
execution::AccountEffectProjection project_native_settlement_selected_v1 (const execution::Action &action, const execution::Fill &fill, const execution::SelectedOpeningSet &selection) const
 
execution::SettlementInspection inspect_native_reversal_v1 (const execution::ReverseTo &reversal, const execution::Fill &fill) const
 
execution::AccountEffectProjection project_native_reversal_v1 (const execution::ReverseTo &reversal, const execution::Fill &fill) const
 
execution::Result settle_native_reversal_at_v1 (const execution::ReverseTo &reversal, const execution::Fill &fill, const execution::PhysicalExecutionContext &context)
 
execution::Result settle_reversal_with_lifecycle_v1 (const execution::ReverseTo &reversal, const execution::Fill &fill, const execution::LifecycleEffects &lifecycle)
 
double marked_equity (double price) const
 
double round_to_mintick (double price) const
 
double bar_fill_price (double raw_bar_price) const
 
double tick_grid_price (double price) const
 
int price_grid_decimals () const
 
double level_on_price_grid (double level) const
 
Bar broker_tick_bar (const Bar &bar) const
 
double calc_commission (double fill_price, double qty) const
 
double open_entry_commission (const PyramidEntry &pe) const
 
double allocated_entry_commission (const PyramidEntry &pe, double units) const
 
void snapshot_entry_commission (PyramidEntry &pe) const
 
double apply_qty_step (double qty) const
 
double apply_exit_qty_step (double qty) const
 
double apply_percent_exit_qty_step (double requested_qty, double available_qty) const
 
double net_profit () const
 
double gross_profit () const
 
double gross_loss () const
 
double current_equity () const
 
double max_runup_percent () const
 
double grossprofit_percent () const
 
double grossloss_percent () const
 
double avg_trade () const
 
double avg_trade_percent () const
 
double avg_winning_trade () const
 
double avg_losing_trade () const
 
double avg_winning_trade_percent () const
 
double avg_losing_trade_percent () const
 
double open_trades_capital_held () const
 
double open_profit (double current_price) const
 
int count_wintrades () const
 
int count_losstrades () const
 
BarTime _decompose_bar_time () const
 
int _bar_hour () const
 
int _bar_minute () const
 
int _bar_second () const
 
int _bar_dayofmonth () const
 
int _bar_dayofweek () const
 
int _bar_month () const
 
int _bar_year () const
 
int _bar_weekofyear () const
 
bool chart_bar_ismarket (int64_t bar_ms) const
 
void check_abort ()
 
int32_t intern_trace_name (const std::string &name)
 
void register_security_eval (int sec_id, const std::string &requested_tf, const std::string &input_tf)
 
void dispatch_security_eval (SecurityEvalState &state, const Bar &bar, bool publish, int64_t bar_index)
 
void feed_security_eval_state (SecurityEvalState &state, const Bar &input_bar)
 
virtual void prepare_script_run (const Bar *, int, bool)
 
virtual void configure_security_evaluators ()
 
virtual void evaluate_security (int sec_id, const Bar &bar, bool is_complete)
 
virtual void clear_security (int sec_id)
 
virtual void snapshot_script_state ()
 
virtual void restore_script_state ()
 
virtual void commit_script_state ()
 
virtual void finalize_bar ()
 
void fold_equity_extreme (double eq)
 
void update_equity_extremes ()
 
void record_equity_point (int64_t script_bar_ts)
 
double closed_trade_profit (int index) const
 
double closed_trade_profit_percent (int idx) const
 
double closed_trade_commission (int idx) const
 
int closed_trade_entry_bar_index (int idx) const
 
int closed_trade_exit_bar_index (int idx) const
 
std::string closed_trade_entry_comment (int idx) const
 
std::string closed_trade_exit_comment (int idx) const
 
std::string closed_trade_entry_id (int idx) const
 
std::string closed_trade_exit_id (int idx) const
 
uint64_t closed_trade_entry_incarnation (int idx) const
 
double closed_trade_entry_price (int idx) const
 
double closed_trade_exit_price (int idx) const
 
int64_t closed_trade_entry_time (int idx) const
 
int64_t closed_trade_exit_time (int idx) const
 
double closed_trade_size (int idx) const
 
double closed_trade_max_runup (int idx) const
 
double closed_trade_max_runup_percent (int idx) const
 
double closed_trade_max_drawdown (int idx) const
 
double closed_trade_max_drawdown_percent (int idx) const
 
std::string closed_trade_direction (int idx) const
 
std::string open_trade_direction (int idx) const
 
double open_trade_profit (int idx) const
 
double open_trade_profit_percent (int idx) const
 
double open_trade_commission (int idx) const
 
int open_trade_entry_bar_index (int idx) const
 
std::string open_trade_entry_comment (int idx) const
 
std::string open_trade_entry_id (int idx) const
 
double open_trade_entry_price (int idx) const
 
int64_t open_trade_entry_time (int idx) const
 
double open_trade_size (int idx) const
 
double open_trade_max_drawdown (int idx) const
 
double open_trade_max_drawdown_percent (int idx) const
 
double open_trade_max_runup (int idx) const
 
double open_trade_max_runup_percent (int idx) const
 
std::string position_entry_name () const
 
double max_drawdown_percent () const
 
execution::Result settle_with_context_scoped (const execution::Action &action, const execution::Fill &fill, const execution::LifecycleEffects &lifecycle, const execution::PhysicalExecutionContext &context, execution::CloseScope scope)
 
execution::Result settle_with_context_selected (const execution::Action &action, const execution::Fill &fill, const execution::LifecycleEffects &lifecycle, const execution::PhysicalExecutionContext &context, const execution::SelectedOpeningSet &selection)
 
execution::AccountEffectProjection project_with_membership (const execution::Action &action, const execution::Fill &fill, execution::CloseScope book_or_opening, const execution::SelectedOpeningSet *selected) const
 
execution::SettlementInspection inspect_with_membership (const execution::Action &action, const execution::Fill &fill, execution::CloseScope book_or_opening, const execution::SelectedOpeningSet *selected) const
 
execution::Result settle_with_membership (const execution::Action &action, const execution::Fill &fill, const execution::LifecycleEffects &lifecycle, const execution::PhysicalExecutionContext &context, execution::CloseScope book_or_opening, const execution::SelectedOpeningSet *selected)
 
execution::Status preview_native_settlement_commit (const execution::Action &action, const execution::Fill &fill, const execution::PhysicalExecutionContext &context, execution::CloseScope scope, const execution::SelectedOpeningSet *selected, execution::AccountEffectProjection &account, std::vector< double > &row_pnl) const
 
execution::Status preview_native_settlement_commit (const execution::ReverseTo &reversal, const execution::Fill &fill, const execution::PhysicalExecutionContext &context, execution::AccountEffectProjection &account, std::vector< double > &row_pnl) const
 
execution::Status validate_native_settlement_book (double &held) const
 
execution::Status allocate_native_settlement_closes (NativeSettlementStage &stage, const execution::CloseScope &book_or_opening, double &remaining) const
 
void finish_native_settlement_stage (NativeSettlementStage &stage, const execution::Fill &fill) const
 
execution::SettlementInspection inspect_native_settlement_stage (const NativeSettlementStage &stage, const execution::Fill &fill) const
 
execution::AccountEffectProjection project_native_settlement_stage (const NativeSettlementStage &stage, const execution::Fill &fill) const
 
execution::Result commit_native_settlement_stage (NativeSettlementStage &stage, const execution::Fill &fill, const execution::LifecycleEffects &lifecycle, const execution::PhysicalExecutionContext &context)
 
void build_native_settlement_close_rows (const NativeSettlementStage &stage, const execution::Fill &fill, const execution::PhysicalExecutionContext &context, NativeSettlementRows &rows) const
 
execution::Status prepare_native_settlement_commit (const NativeSettlementStage &stage, const execution::Fill &fill, const execution::PhysicalExecutionContext &context, NativeSettlementRows &rows) const
 
execution::Status preflight_native_settlement_effects (const NativeSettlementStage &stage, const execution::LifecycleEffects &lifecycle, const NativeSettlementRows &rows)
 
execution::Result commit_prepared_native_settlement_stage (NativeSettlementStage &stage, const execution::Fill &fill, const execution::LifecycleEffects &lifecycle, const execution::PhysicalExecutionContext &context, NativeSettlementRows &rows)
 
execution::Result settle_source_staged_execution (NativeSettlementStage &stage, const execution::Fill &fill, const execution::LifecycleEffects &lifecycle, const execution::PhysicalExecutionContext &context)
 
void stage_native_settlement (NativeSettlementStage &stage, const execution::Action &action, const execution::Fill &fill, execution::CloseScope book_or_opening, const execution::SelectedOpeningSet *selected, const execution::LifecycleEffects *lifecycle) const
 
void stage_native_settlement (NativeSettlementStage &stage, const execution::ReverseTo &reversal, const execution::Fill &fill, const execution::LifecycleEffects *lifecycle) const
 
void append_same_side_fill (PyramidEntry lot)
 
void append_quoted_lot (PyramidEntry lot, double total_qty, double average_price)
 
void open_quoted_position (PositionSide requested, PyramidEntry lot)
 
void record_close_trade (Trade trade)
 
void validate_close_trade_counters (const Trade *rows, size_t count) const
 
std::vector< double > quote_execution_commissions (const std::vector< double > &closed_units, double opening_units, const execution::Fill &fill) const
 
Trade build_close_trade_with_costs (const PyramidEntry &pe, double close_qty, double fill_price, bool was_long, double entry_commission, double exit_commission, const execution::PhysicalExecutionContext &context) const
 
void reset_position_state_to_flat ()
 
void reset_run_state ()
 
double account_currency_fx_at (int64_t timestamp_ms) const
 
double active_account_currency_fx () const
 
void settle_position_after_partial_exit (PositionReductionCause cause)
 
void prepare_native_security_feeds (const Bar *input_bars, int n_input)
 
void prepare_chart_day_partition (const Bar *input_bars, int n_input)
 
bool substitute_native_security_bar (SecurityEvalState &state, Bar &bar, bool count_miss=true)
 
virtual bool source_aux_security_feed_enabled () const
 
virtual void source_aux_security_input_view (const Bar *&bars, int &n) const
 
bool aux_security_feed_enabled () const
 
void stream_observe_entry (const PyramidEntry &pe)
 
virtual void source_stream_entry_comment (const PyramidEntry &, std::string &) const
 
void stream_observe_exit (size_t trade_index)
 
void stream_refresh_action_metadata (size_t first_action, size_t first_trade)
 
void fill_trades_section (ReportC *out) const
 
void fill_metrics_section (ReportC *out) const
 
void fill_security_diag_section (ReportC *out) const
 
void fill_trace_section (ReportC *out) const
 
void guard_native_mutation (const char *operation)
 

Protected Attributes

PositionSide position_side_ = PositionSide::FLAT
 
double position_entry_price_ = 0.0
 
broker::OpeningObligations opening_obligations_
 
int64_t position_entry_time_ = 0
 
double position_qty_ = 0.0
 
int position_entry_count_ = 0
 
int position_open_bar_ = -1
 
int64_t position_cycle_seq_ = 0
 
int64_t next_position_cycle_seq_ = 1
 
std::vector< PyramidEntrypyramid_entries_
 
double initial_capital_ = 1000000.0
 
CommissionType commission_type_ = CommissionType::PERCENT
 
double commission_value_ = 0.0
 
int slippage_ = 0
 
double syminfo_mintick_ = 0.01
 
double qty_step_ = 0.0
 
double account_currency_fx_ = 1.0
 
std::vector< int64_t > account_currency_fx_timestamps_
 
std::vector< double > account_currency_fx_rates_
 
bool account_currency_fx_broker_epoch_initialized_ = false
 
std::size_t account_currency_fx_broker_epoch_ = 0
 
double account_currency_fx_broker_rate_ = 1.0
 
int64_t trade_start_time_ = std::numeric_limits<int64_t>::min()
 
SymInfo syminfo_
 
int64_t last_bar_time_ = 0
 
int last_bar_index_ = 0
 
int path_order_mode_ = 0
 
bool is_tail_bar_ = false
 
std::string chart_timezone_
 
std::unordered_map< std::string, std::string > inputs_
 
std::unordered_map< std::string, double > syminfo_metadata_
 
Bar current_bar_
 
int bar_index_ = 0
 
int64_t security_next_input_ms_ = 0
 
uint64_t next_order_incarnation_ = 1
 
double fold_exit_trail_peak_ = std::numeric_limits<double>::quiet_NaN()
 
std::vector< Tradetrades_
 
std::vector< Traderange_end_trades_
 
double trail_best_price_ = std::numeric_limits<double>::quiet_NaN()
 
broker::PositionCloseObligation position_close_obligation_
 
double net_profit_sum_ = 0.0
 
double net_profit_roundoff_bound_ = 0.0
 
double net_profit_roundoff_value_ = 0.0
 
double gross_profit_sum_ = 0.0
 
double gross_loss_sum_ = 0.0
 
int win_trades_count_ = 0
 
int loss_trades_count_ = 0
 
double max_equity_ = 0.0
 
double max_drawdown_ = 0.0
 
double max_runup_ = 0.0
 
double min_equity_ = 0.0
 
std::vector< pf_equity_point_tequity_curve_
 
int64_t bars_in_market_ = 0
 
double first_bar_open_ = std::numeric_limits<double>::quiet_NaN()
 
bool broker_state_hash_recording_ = false
 
std::vector< uint64_t > broker_state_hashes_
 
double max_contracts_held_all_ = 0.0
 
double max_contracts_held_long_ = 0.0
 
double max_contracts_held_short_ = 0.0
 
int eventrades_count_ = 0
 
LotExcursionHook lot_excursion_hook_
 
uint64_t last_script_continuation_hash_ = 0
 
bool last_script_continuation_valid_ = false
 
int64_t bar_time_memo_ts_ = std::numeric_limits<int64_t>::min()
 
BarTime bar_time_memo_ {}
 
bool bar_magnifier_enabled_ = false
 
bool barstate_islast_ = false
 
int magnifier_samples_ = 4
 
MagnifierDistribution magnifier_dist_ = MagnifierDistribution::ENDPOINTS
 
bool magnifier_volume_weighted_ = false
 
uint64_t broker_fill_event_seq_ = 0
 
bool prev_in_session_ = false
 
bool session_ismarket_ = false
 
bool session_isfirstbar_ = false
 
bool session_islastbar_ = false
 
std::string input_tf_
 
std::string script_tf_
 
int script_tf_seconds_ = 0
 
TimeframeAggregator script_tf_agg_
 
int64_t prev_bar_timestamp_ = 0
 
StreamPhase stream_phase_ = StreamPhase::IDLE
 
bool stream_warmup_mode_ = false
 
bool host_mutation_guard_inert_ = false
 
int64_t stream_input_tf_ms_ = 0
 
int64_t stream_next_input_open_ms_ = 0
 
int64_t stream_clock_ms_ = 0
 
int64_t stream_last_tick_ms_ = 0
 
uint64_t stream_last_sequence_ = 0
 
bool stream_seen_sequence_ = false
 
bool stream_has_input_bar_ = false
 
Bar stream_input_bar_ {}
 
double stream_last_price_ = 0.0
 
bool stream_has_last_price_ = false
 
int stream_next_script_bar_index_ = 0
 
bool stream_script_bar_had_tick_ = false
 
bool stream_script_tick_seen_ = false
 
StreamInputMode stream_input_mode_ = StreamInputMode::UNSET
 
bool stream_observe_actions_ = false
 
uint64_t stream_action_sequence_ = 0
 
std::vector< StreamOrderActionstream_order_actions_
 
std::vector< SecurityEvalStatesecurity_eval_states_
 
std::string security_input_tf_
 
std::vector< NativeSecurityFeednative_security_feeds_
 
int64_t diag_native_security_substitutions_ = 0
 
int64_t diag_native_security_misses_ = 0
 
NativeDayPartition chart_day_partition_
 
bool trace_enabled_ = false
 
int last_run_status_ = 0
 
AbortFlag abort_requested_
 
std::vector< TraceEntryCtrace_buffer_
 
std::vector< std::string > trace_names_
 
std::unordered_map< std::string, int32_t > trace_name_index_
 
int64_t diag_input_bars_processed_ = 0
 
int64_t diag_script_bars_processed_ = 0
 
int64_t diag_magnifier_sub_bars_processed_ = 0
 
int64_t diag_magnifier_sample_ticks_processed_ = 0
 
int diag_script_tf_ratio_ = 0
 
bool diag_needs_aggregation_ = false
 
std::string last_error_
 
ExecutionConsumerSlot execution_consumer_slot_
 

Static Protected Attributes

static constexpr double kLevelGridBandPoints = 0.01
 

Detailed Description

Definition at line 353 of file engine.hpp.

Member Enumeration Documentation

◆ StreamPhase

Enumerator
IDLE 
REALTIME 
ENDED 

Definition at line 1626 of file engine.hpp.

◆ StreamInputMode

Enumerator
UNSET 
TICKS 
BARS 

Definition at line 1647 of file engine.hpp.

◆ PositionReductionCause

Enumerator
SCRIPT_ORDER 
BRACKET_EXIT 
MARGIN_CALL 

Definition at line 2093 of file engine.hpp.

Constructor & Destructor Documentation

◆ BacktestEngine()

pineforge::engine_script_run_v18::BacktestEngine::BacktestEngine ( NativeConsumerBindTag )
explicitprotected

◆ ~BacktestEngine()

virtual pineforge::engine_script_run_v18::BacktestEngine::~BacktestEngine ( )
virtual

Member Function Documentation

◆ execution_consumer() [1/2]

IExecutionConsumer & pineforge::engine_script_run_v18::BacktestEngine::execution_consumer ( )
protected

◆ execution_consumer() [2/2]

const IExecutionConsumer & pineforge::engine_script_run_v18::BacktestEngine::execution_consumer ( ) const
protected

◆ hash_host_extension()

virtual void pineforge::engine_script_run_v18::BacktestEngine::hash_host_extension ( BrokerStateHashSink & ) const
protectedvirtual

◆ hash_source_extension()

virtual void pineforge::engine_script_run_v18::BacktestEngine::hash_source_extension ( BrokerStateHashSink & ) const
protectedvirtual

◆ broker_state_hash_projection()

virtual std::uint64_t pineforge::engine_script_run_v18::BacktestEngine::broker_state_hash_projection ( ) const
protectedvirtual

◆ broker_state_hash_from_execution_hash()

std::uint64_t pineforge::engine_script_run_v18::BacktestEngine::broker_state_hash_from_execution_hash ( std::uint64_t ) const
protected

◆ get_input_double()

double pineforge::engine_script_run_v18::BacktestEngine::get_input_double ( const std::string & key,
double default_val ) const
protected

◆ get_input_int()

int pineforge::engine_script_run_v18::BacktestEngine::get_input_int ( const std::string & key,
int default_val ) const
protected

◆ get_input_int64()

int64_t pineforge::engine_script_run_v18::BacktestEngine::get_input_int64 ( const std::string & key,
int64_t default_val ) const
protected

◆ get_input_bool()

bool pineforge::engine_script_run_v18::BacktestEngine::get_input_bool ( const std::string & key,
bool default_val ) const
protected

◆ get_input_string()

std::string pineforge::engine_script_run_v18::BacktestEngine::get_input_string ( const std::string & key,
const std::string & default_val ) const
protected

◆ get_syminfo_metadata()

double pineforge::engine_script_run_v18::BacktestEngine::get_syminfo_metadata ( const std::string & key) const
inlineprotected

Definition at line 505 of file engine.hpp.

References pineforge::na< double >(), and syminfo_metadata_.

◆ settle_native_execution_at()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_native_execution_at ( const execution::Action & action,
const execution::Fill & fill,
const execution::PhysicalExecutionContext & context )
protected

◆ settle_with_context()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_with_context ( const execution::Action & action,
const execution::Fill & fill,
const execution::LifecycleEffects & lifecycle,
const execution::PhysicalExecutionContext & context )
protected

◆ inspect_native_settlement()

execution::SettlementInspection pineforge::engine_script_run_v18::BacktestEngine::inspect_native_settlement ( const execution::Action & action,
const execution::Fill & fill ) const
protected

◆ inspect_native_settlement_scoped()

execution::SettlementInspection pineforge::engine_script_run_v18::BacktestEngine::inspect_native_settlement_scoped ( const execution::Action & action,
const execution::Fill & fill,
execution::CloseScope scope ) const
protected

◆ settle_native_execution_scoped_at()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_native_execution_scoped_at ( const execution::Action & action,
const execution::Fill & fill,
const execution::PhysicalExecutionContext & context,
execution::CloseScope scope )
protected

◆ inspect_native_settlement_selected()

execution::SettlementInspection pineforge::engine_script_run_v18::BacktestEngine::inspect_native_settlement_selected ( const execution::Action & action,
const execution::Fill & fill,
const execution::SelectedOpeningSet & selection ) const
protected

◆ settle_native_execution_selected_at()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_native_execution_selected_at ( const execution::Action & action,
const execution::Fill & fill,
const execution::PhysicalExecutionContext & context,
const execution::SelectedOpeningSet & selection )
protected

◆ settle_execution_selected_with_lifecycle()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_execution_selected_with_lifecycle ( const execution::Action & action,
const execution::Fill & fill,
const execution::LifecycleEffects & lifecycle,
const execution::SelectedOpeningSet & selection )
protected

◆ project_native_settlement_v1()

execution::AccountEffectProjection pineforge::engine_script_run_v18::BacktestEngine::project_native_settlement_v1 ( const execution::Action & action,
const execution::Fill & fill ) const
protected

◆ project_native_settlement_scoped_v1()

execution::AccountEffectProjection pineforge::engine_script_run_v18::BacktestEngine::project_native_settlement_scoped_v1 ( const execution::Action & action,
const execution::Fill & fill,
execution::CloseScope scope ) const
protected

◆ project_native_settlement_selected_v1()

execution::AccountEffectProjection pineforge::engine_script_run_v18::BacktestEngine::project_native_settlement_selected_v1 ( const execution::Action & action,
const execution::Fill & fill,
const execution::SelectedOpeningSet & selection ) const
protected

◆ inspect_native_reversal_v1()

execution::SettlementInspection pineforge::engine_script_run_v18::BacktestEngine::inspect_native_reversal_v1 ( const execution::ReverseTo & reversal,
const execution::Fill & fill ) const
protected

◆ project_native_reversal_v1()

execution::AccountEffectProjection pineforge::engine_script_run_v18::BacktestEngine::project_native_reversal_v1 ( const execution::ReverseTo & reversal,
const execution::Fill & fill ) const
protected

◆ settle_native_reversal_at_v1()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_native_reversal_at_v1 ( const execution::ReverseTo & reversal,
const execution::Fill & fill,
const execution::PhysicalExecutionContext & context )
protected

◆ settle_reversal_with_lifecycle_v1()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_reversal_with_lifecycle_v1 ( const execution::ReverseTo & reversal,
const execution::Fill & fill,
const execution::LifecycleEffects & lifecycle )
protected

◆ marked_equity()

double pineforge::engine_script_run_v18::BacktestEngine::marked_equity ( double price) const
protected

References pineforge::price.

◆ round_to_mintick()

double pineforge::engine_script_run_v18::BacktestEngine::round_to_mintick ( double price) const
inlineprotected

Definition at line 913 of file engine.hpp.

References pineforge::price, and syminfo_mintick_.

Referenced by bar_fill_price().

◆ bar_fill_price()

double pineforge::engine_script_run_v18::BacktestEngine::bar_fill_price ( double raw_bar_price) const
inlineprotected

Definition at line 970 of file engine.hpp.

References round_to_mintick().

◆ tick_grid_price()

double pineforge::engine_script_run_v18::BacktestEngine::tick_grid_price ( double price) const
inlineprotected

Definition at line 1009 of file engine.hpp.

References pineforge::price, and syminfo_mintick_.

Referenced by broker_tick_bar().

◆ price_grid_decimals()

int pineforge::engine_script_run_v18::BacktestEngine::price_grid_decimals ( ) const
inlineprotected

Definition at line 1051 of file engine.hpp.

References syminfo_mintick_.

Referenced by level_on_price_grid().

◆ level_on_price_grid()

double pineforge::engine_script_run_v18::BacktestEngine::level_on_price_grid ( double level) const
inlineprotected

Definition at line 1061 of file engine.hpp.

References kLevelGridBandPoints, and price_grid_decimals().

◆ broker_tick_bar()

Bar pineforge::engine_script_run_v18::BacktestEngine::broker_tick_bar ( const Bar & bar) const
inlineprotected

◆ calc_commission()

double pineforge::engine_script_run_v18::BacktestEngine::calc_commission ( double fill_price,
double qty ) const
inlineprotected

◆ open_entry_commission()

double pineforge::engine_script_run_v18::BacktestEngine::open_entry_commission ( const PyramidEntry & pe) const
inlineprotected

◆ allocated_entry_commission()

double pineforge::engine_script_run_v18::BacktestEngine::allocated_entry_commission ( const PyramidEntry & pe,
double units ) const
inlineprotected

Definition at line 1127 of file engine.hpp.

References open_entry_commission(), and pineforge::PyramidEntry::qty.

◆ snapshot_entry_commission()

void pineforge::engine_script_run_v18::BacktestEngine::snapshot_entry_commission ( PyramidEntry & pe) const
inlineprotected

◆ apply_qty_step()

double pineforge::engine_script_run_v18::BacktestEngine::apply_qty_step ( double qty) const
inlineprotected

Definition at line 1163 of file engine.hpp.

References qty_step_.

◆ apply_exit_qty_step()

double pineforge::engine_script_run_v18::BacktestEngine::apply_exit_qty_step ( double qty) const
inlineprotected

Definition at line 1188 of file engine.hpp.

References qty_step_.

Referenced by apply_percent_exit_qty_step().

◆ apply_percent_exit_qty_step()

double pineforge::engine_script_run_v18::BacktestEngine::apply_percent_exit_qty_step ( double requested_qty,
double available_qty ) const
inlineprotected

Definition at line 1203 of file engine.hpp.

References apply_exit_qty_step(), and qty_step_.

◆ net_profit()

double pineforge::engine_script_run_v18::BacktestEngine::net_profit ( ) const
inlineprotected

Definition at line 1382 of file engine.hpp.

References net_profit_sum_.

◆ gross_profit()

double pineforge::engine_script_run_v18::BacktestEngine::gross_profit ( ) const
inlineprotected

Definition at line 1383 of file engine.hpp.

References gross_profit_sum_.

◆ gross_loss()

double pineforge::engine_script_run_v18::BacktestEngine::gross_loss ( ) const
inlineprotected

Definition at line 1384 of file engine.hpp.

References gross_loss_sum_.

◆ current_equity()

double pineforge::engine_script_run_v18::BacktestEngine::current_equity ( ) const
inlineprotected

Definition at line 1385 of file engine.hpp.

References initial_capital_, and net_profit_sum_.

Referenced by live_current_equity().

◆ max_runup_percent()

double pineforge::engine_script_run_v18::BacktestEngine::max_runup_percent ( ) const
inlineprotected

Definition at line 1387 of file engine.hpp.

References initial_capital_, and max_runup_.

◆ grossprofit_percent()

double pineforge::engine_script_run_v18::BacktestEngine::grossprofit_percent ( ) const
inlineprotected

Definition at line 1390 of file engine.hpp.

References gross_profit_sum_, and initial_capital_.

◆ grossloss_percent()

double pineforge::engine_script_run_v18::BacktestEngine::grossloss_percent ( ) const
inlineprotected

Definition at line 1393 of file engine.hpp.

References gross_loss_sum_, and initial_capital_.

◆ avg_trade()

double pineforge::engine_script_run_v18::BacktestEngine::avg_trade ( ) const
inlineprotected

Definition at line 1396 of file engine.hpp.

References net_profit_sum_, and trades_.

◆ avg_trade_percent()

double pineforge::engine_script_run_v18::BacktestEngine::avg_trade_percent ( ) const
inlineprotected

Definition at line 1400 of file engine.hpp.

References trades_.

◆ avg_winning_trade()

double pineforge::engine_script_run_v18::BacktestEngine::avg_winning_trade ( ) const
inlineprotected

Definition at line 1407 of file engine.hpp.

References gross_profit_sum_, and win_trades_count_.

◆ avg_losing_trade()

double pineforge::engine_script_run_v18::BacktestEngine::avg_losing_trade ( ) const
inlineprotected

Definition at line 1410 of file engine.hpp.

References gross_loss_sum_, and loss_trades_count_.

◆ avg_winning_trade_percent()

double pineforge::engine_script_run_v18::BacktestEngine::avg_winning_trade_percent ( ) const
inlineprotected

Definition at line 1413 of file engine.hpp.

References trades_, and win_trades_count_.

◆ avg_losing_trade_percent()

double pineforge::engine_script_run_v18::BacktestEngine::avg_losing_trade_percent ( ) const
inlineprotected

Definition at line 1422 of file engine.hpp.

References loss_trades_count_, and trades_.

◆ open_trades_capital_held()

double pineforge::engine_script_run_v18::BacktestEngine::open_trades_capital_held ( ) const
inlineprotected

◆ open_profit()

double pineforge::engine_script_run_v18::BacktestEngine::open_profit ( double current_price) const
inlineprotected

◆ count_wintrades()

int pineforge::engine_script_run_v18::BacktestEngine::count_wintrades ( ) const
inlineprotected

Definition at line 1450 of file engine.hpp.

References win_trades_count_.

◆ count_losstrades()

int pineforge::engine_script_run_v18::BacktestEngine::count_losstrades ( ) const
inlineprotected

Definition at line 1451 of file engine.hpp.

References loss_trades_count_.

◆ _decompose_bar_time()

◆ _bar_hour()

int pineforge::engine_script_run_v18::BacktestEngine::_bar_hour ( ) const
inlineprotected

◆ _bar_minute()

int pineforge::engine_script_run_v18::BacktestEngine::_bar_minute ( ) const
inlineprotected

◆ _bar_second()

int pineforge::engine_script_run_v18::BacktestEngine::_bar_second ( ) const
inlineprotected

◆ _bar_dayofmonth()

int pineforge::engine_script_run_v18::BacktestEngine::_bar_dayofmonth ( ) const
inlineprotected

◆ _bar_dayofweek()

int pineforge::engine_script_run_v18::BacktestEngine::_bar_dayofweek ( ) const
inlineprotected

◆ _bar_month()

int pineforge::engine_script_run_v18::BacktestEngine::_bar_month ( ) const
inlineprotected

◆ _bar_year()

int pineforge::engine_script_run_v18::BacktestEngine::_bar_year ( ) const
inlineprotected

◆ _bar_weekofyear()

int pineforge::engine_script_run_v18::BacktestEngine::_bar_weekofyear ( ) const
inlineprotected

◆ chart_bar_ismarket()

bool pineforge::engine_script_run_v18::BacktestEngine::chart_bar_ismarket ( int64_t bar_ms) const
protected

◆ check_abort()

void pineforge::engine_script_run_v18::BacktestEngine::check_abort ( )
inlineprotected

Definition at line 1758 of file engine.hpp.

References abort_requested_.

◆ intern_trace_name()

int32_t pineforge::engine_script_run_v18::BacktestEngine::intern_trace_name ( const std::string & name)
protected

◆ register_security_eval()

void pineforge::engine_script_run_v18::BacktestEngine::register_security_eval ( int sec_id,
const std::string & requested_tf,
const std::string & input_tf )
protected

◆ dispatch_security_eval()

void pineforge::engine_script_run_v18::BacktestEngine::dispatch_security_eval ( SecurityEvalState & state,
const Bar & bar,
bool publish,
int64_t bar_index )
protected

References pineforge::bar_index.

◆ feed_security_eval_state()

void pineforge::engine_script_run_v18::BacktestEngine::feed_security_eval_state ( SecurityEvalState & state,
const Bar & input_bar )
protected

◆ prepare_script_run()

virtual void pineforge::engine_script_run_v18::BacktestEngine::prepare_script_run ( const Bar * ,
int ,
bool  )
inlineprotectedvirtual

Definition at line 1811 of file engine.hpp.

◆ configure_security_evaluators()

virtual void pineforge::engine_script_run_v18::BacktestEngine::configure_security_evaluators ( )
inlineprotectedvirtual

Definition at line 1813 of file engine.hpp.

◆ evaluate_security()

virtual void pineforge::engine_script_run_v18::BacktestEngine::evaluate_security ( int sec_id,
const Bar & bar,
bool is_complete )
inlineprotectedvirtual

Definition at line 1814 of file engine.hpp.

◆ clear_security()

virtual void pineforge::engine_script_run_v18::BacktestEngine::clear_security ( int sec_id)
inlineprotectedvirtual

Definition at line 1815 of file engine.hpp.

◆ snapshot_script_state()

virtual void pineforge::engine_script_run_v18::BacktestEngine::snapshot_script_state ( )
inlineprotectedvirtual

Definition at line 1823 of file engine.hpp.

◆ restore_script_state()

virtual void pineforge::engine_script_run_v18::BacktestEngine::restore_script_state ( )
inlineprotectedvirtual

Definition at line 1824 of file engine.hpp.

◆ commit_script_state()

virtual void pineforge::engine_script_run_v18::BacktestEngine::commit_script_state ( )
inlineprotectedvirtual

Definition at line 1825 of file engine.hpp.

◆ finalize_bar()

virtual void pineforge::engine_script_run_v18::BacktestEngine::finalize_bar ( )
inlineprotectedvirtual

Definition at line 1830 of file engine.hpp.

◆ fold_equity_extreme()

void pineforge::engine_script_run_v18::BacktestEngine::fold_equity_extreme ( double eq)
inlineprotected

Definition at line 1840 of file engine.hpp.

References max_drawdown_, max_equity_, max_runup_, and min_equity_.

Referenced by update_equity_extremes().

◆ update_equity_extremes()

void pineforge::engine_script_run_v18::BacktestEngine::update_equity_extremes ( )
inlineprotected

◆ record_equity_point()

void pineforge::engine_script_run_v18::BacktestEngine::record_equity_point ( int64_t script_bar_ts)
inlineprotected

◆ closed_trade_profit()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_profit ( int index) const
inlineprotected

Definition at line 1882 of file engine.hpp.

References trades_.

◆ closed_trade_profit_percent()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_profit_percent ( int idx) const
inlineprotected

Definition at line 1887 of file engine.hpp.

References trades_.

◆ closed_trade_commission()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_commission ( int idx) const
inlineprotected

Definition at line 1891 of file engine.hpp.

References trades_.

◆ closed_trade_entry_bar_index()

int pineforge::engine_script_run_v18::BacktestEngine::closed_trade_entry_bar_index ( int idx) const
inlineprotected

Definition at line 1895 of file engine.hpp.

References pineforge::na< int >(), and trades_.

◆ closed_trade_exit_bar_index()

int pineforge::engine_script_run_v18::BacktestEngine::closed_trade_exit_bar_index ( int idx) const
inlineprotected

Definition at line 1899 of file engine.hpp.

References pineforge::na< int >(), and trades_.

◆ closed_trade_entry_comment()

std::string pineforge::engine_script_run_v18::BacktestEngine::closed_trade_entry_comment ( int idx) const
inlineprotected

Definition at line 1903 of file engine.hpp.

References trades_.

◆ closed_trade_exit_comment()

std::string pineforge::engine_script_run_v18::BacktestEngine::closed_trade_exit_comment ( int idx) const
inlineprotected

Definition at line 1907 of file engine.hpp.

References trades_.

◆ closed_trade_entry_id()

std::string pineforge::engine_script_run_v18::BacktestEngine::closed_trade_entry_id ( int idx) const
inlineprotected

Definition at line 1911 of file engine.hpp.

References trades_.

◆ closed_trade_exit_id()

std::string pineforge::engine_script_run_v18::BacktestEngine::closed_trade_exit_id ( int idx) const
inlineprotected

Definition at line 1915 of file engine.hpp.

References trades_.

◆ closed_trade_entry_incarnation()

uint64_t pineforge::engine_script_run_v18::BacktestEngine::closed_trade_entry_incarnation ( int idx) const
inlineprotected

Definition at line 1919 of file engine.hpp.

References trades_.

◆ closed_trade_entry_price()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_entry_price ( int idx) const
inlineprotected

Definition at line 1923 of file engine.hpp.

References trades_.

◆ closed_trade_exit_price()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_exit_price ( int idx) const
inlineprotected

Definition at line 1927 of file engine.hpp.

References trades_.

◆ closed_trade_entry_time()

int64_t pineforge::engine_script_run_v18::BacktestEngine::closed_trade_entry_time ( int idx) const
inlineprotected

Definition at line 1931 of file engine.hpp.

References trades_.

◆ closed_trade_exit_time()

int64_t pineforge::engine_script_run_v18::BacktestEngine::closed_trade_exit_time ( int idx) const
inlineprotected

Definition at line 1935 of file engine.hpp.

References trades_.

◆ closed_trade_size()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_size ( int idx) const
inlineprotected

Definition at line 1939 of file engine.hpp.

References trades_.

◆ closed_trade_max_runup()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_max_runup ( int idx) const
inlineprotected

Definition at line 1943 of file engine.hpp.

References trades_.

◆ closed_trade_max_runup_percent()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_max_runup_percent ( int idx) const
inlineprotected

Definition at line 1951 of file engine.hpp.

References syminfo_, and trades_.

◆ closed_trade_max_drawdown()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_max_drawdown ( int idx) const
inlineprotected

Definition at line 1957 of file engine.hpp.

References trades_.

◆ closed_trade_max_drawdown_percent()

double pineforge::engine_script_run_v18::BacktestEngine::closed_trade_max_drawdown_percent ( int idx) const
inlineprotected

Definition at line 1961 of file engine.hpp.

References syminfo_, and trades_.

◆ closed_trade_direction()

std::string pineforge::engine_script_run_v18::BacktestEngine::closed_trade_direction ( int idx) const
inlineprotected

Definition at line 1969 of file engine.hpp.

References trades_.

◆ open_trade_direction()

std::string pineforge::engine_script_run_v18::BacktestEngine::open_trade_direction ( int idx) const
inlineprotected

Definition at line 1973 of file engine.hpp.

References pineforge::FLAT, pineforge::LONG, position_side_, and pyramid_entries_.

◆ open_trade_profit()

double pineforge::engine_script_run_v18::BacktestEngine::open_trade_profit ( int idx) const
protected

◆ open_trade_profit_percent()

double pineforge::engine_script_run_v18::BacktestEngine::open_trade_profit_percent ( int idx) const
protected

◆ open_trade_commission()

double pineforge::engine_script_run_v18::BacktestEngine::open_trade_commission ( int idx) const
protected

◆ open_trade_entry_bar_index()

int pineforge::engine_script_run_v18::BacktestEngine::open_trade_entry_bar_index ( int idx) const
protected

◆ open_trade_entry_comment()

std::string pineforge::engine_script_run_v18::BacktestEngine::open_trade_entry_comment ( int idx) const
protected

◆ open_trade_entry_id()

std::string pineforge::engine_script_run_v18::BacktestEngine::open_trade_entry_id ( int idx) const
protected

◆ open_trade_entry_price()

double pineforge::engine_script_run_v18::BacktestEngine::open_trade_entry_price ( int idx) const
protected

◆ open_trade_entry_time()

int64_t pineforge::engine_script_run_v18::BacktestEngine::open_trade_entry_time ( int idx) const
protected

◆ open_trade_size()

double pineforge::engine_script_run_v18::BacktestEngine::open_trade_size ( int idx) const
protected

◆ open_trade_max_drawdown()

double pineforge::engine_script_run_v18::BacktestEngine::open_trade_max_drawdown ( int idx) const
protected

◆ open_trade_max_drawdown_percent()

double pineforge::engine_script_run_v18::BacktestEngine::open_trade_max_drawdown_percent ( int idx) const
protected

◆ open_trade_max_runup()

double pineforge::engine_script_run_v18::BacktestEngine::open_trade_max_runup ( int idx) const
protected

◆ open_trade_max_runup_percent()

double pineforge::engine_script_run_v18::BacktestEngine::open_trade_max_runup_percent ( int idx) const
protected

◆ position_entry_name()

std::string pineforge::engine_script_run_v18::BacktestEngine::position_entry_name ( ) const
inlineprotected

Definition at line 1993 of file engine.hpp.

References pineforge::FLAT, position_side_, and pyramid_entries_.

◆ max_drawdown_percent()

double pineforge::engine_script_run_v18::BacktestEngine::max_drawdown_percent ( ) const
inlineprotected

Definition at line 1998 of file engine.hpp.

References initial_capital_, and max_drawdown_.

◆ settle_with_context_scoped()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_with_context_scoped ( const execution::Action & action,
const execution::Fill & fill,
const execution::LifecycleEffects & lifecycle,
const execution::PhysicalExecutionContext & context,
execution::CloseScope scope )
protected

◆ settle_with_context_selected()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_with_context_selected ( const execution::Action & action,
const execution::Fill & fill,
const execution::LifecycleEffects & lifecycle,
const execution::PhysicalExecutionContext & context,
const execution::SelectedOpeningSet & selection )
protected

◆ project_with_membership()

execution::AccountEffectProjection pineforge::engine_script_run_v18::BacktestEngine::project_with_membership ( const execution::Action & action,
const execution::Fill & fill,
execution::CloseScope book_or_opening,
const execution::SelectedOpeningSet * selected ) const
protected

◆ inspect_with_membership()

execution::SettlementInspection pineforge::engine_script_run_v18::BacktestEngine::inspect_with_membership ( const execution::Action & action,
const execution::Fill & fill,
execution::CloseScope book_or_opening,
const execution::SelectedOpeningSet * selected ) const
protected

◆ settle_with_membership()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_with_membership ( const execution::Action & action,
const execution::Fill & fill,
const execution::LifecycleEffects & lifecycle,
const execution::PhysicalExecutionContext & context,
execution::CloseScope book_or_opening,
const execution::SelectedOpeningSet * selected )
protected

◆ preview_native_settlement_commit() [1/2]

execution::Status pineforge::engine_script_run_v18::BacktestEngine::preview_native_settlement_commit ( const execution::Action & action,
const execution::Fill & fill,
const execution::PhysicalExecutionContext & context,
execution::CloseScope scope,
const execution::SelectedOpeningSet * selected,
execution::AccountEffectProjection & account,
std::vector< double > & row_pnl ) const
protected

◆ preview_native_settlement_commit() [2/2]

execution::Status pineforge::engine_script_run_v18::BacktestEngine::preview_native_settlement_commit ( const execution::ReverseTo & reversal,
const execution::Fill & fill,
const execution::PhysicalExecutionContext & context,
execution::AccountEffectProjection & account,
std::vector< double > & row_pnl ) const
protected

◆ validate_native_settlement_book()

execution::Status pineforge::engine_script_run_v18::BacktestEngine::validate_native_settlement_book ( double & held) const
protected

◆ allocate_native_settlement_closes()

execution::Status pineforge::engine_script_run_v18::BacktestEngine::allocate_native_settlement_closes ( NativeSettlementStage & stage,
const execution::CloseScope & book_or_opening,
double & remaining ) const
protected

◆ finish_native_settlement_stage()

void pineforge::engine_script_run_v18::BacktestEngine::finish_native_settlement_stage ( NativeSettlementStage & stage,
const execution::Fill & fill ) const
protected

◆ inspect_native_settlement_stage()

execution::SettlementInspection pineforge::engine_script_run_v18::BacktestEngine::inspect_native_settlement_stage ( const NativeSettlementStage & stage,
const execution::Fill & fill ) const
protected

◆ project_native_settlement_stage()

execution::AccountEffectProjection pineforge::engine_script_run_v18::BacktestEngine::project_native_settlement_stage ( const NativeSettlementStage & stage,
const execution::Fill & fill ) const
protected

◆ commit_native_settlement_stage()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::commit_native_settlement_stage ( NativeSettlementStage & stage,
const execution::Fill & fill,
const execution::LifecycleEffects & lifecycle,
const execution::PhysicalExecutionContext & context )
protected

◆ build_native_settlement_close_rows()

void pineforge::engine_script_run_v18::BacktestEngine::build_native_settlement_close_rows ( const NativeSettlementStage & stage,
const execution::Fill & fill,
const execution::PhysicalExecutionContext & context,
NativeSettlementRows & rows ) const
protected

◆ prepare_native_settlement_commit()

execution::Status pineforge::engine_script_run_v18::BacktestEngine::prepare_native_settlement_commit ( const NativeSettlementStage & stage,
const execution::Fill & fill,
const execution::PhysicalExecutionContext & context,
NativeSettlementRows & rows ) const
protected

◆ preflight_native_settlement_effects()

execution::Status pineforge::engine_script_run_v18::BacktestEngine::preflight_native_settlement_effects ( const NativeSettlementStage & stage,
const execution::LifecycleEffects & lifecycle,
const NativeSettlementRows & rows )
protected

◆ commit_prepared_native_settlement_stage()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::commit_prepared_native_settlement_stage ( NativeSettlementStage & stage,
const execution::Fill & fill,
const execution::LifecycleEffects & lifecycle,
const execution::PhysicalExecutionContext & context,
NativeSettlementRows & rows )
protected

◆ settle_source_staged_execution()

execution::Result pineforge::engine_script_run_v18::BacktestEngine::settle_source_staged_execution ( NativeSettlementStage & stage,
const execution::Fill & fill,
const execution::LifecycleEffects & lifecycle,
const execution::PhysicalExecutionContext & context )
protected

◆ stage_native_settlement() [1/2]

void pineforge::engine_script_run_v18::BacktestEngine::stage_native_settlement ( NativeSettlementStage & stage,
const execution::Action & action,
const execution::Fill & fill,
execution::CloseScope book_or_opening,
const execution::SelectedOpeningSet * selected,
const execution::LifecycleEffects * lifecycle ) const
protected

◆ stage_native_settlement() [2/2]

void pineforge::engine_script_run_v18::BacktestEngine::stage_native_settlement ( NativeSettlementStage & stage,
const execution::ReverseTo & reversal,
const execution::Fill & fill,
const execution::LifecycleEffects * lifecycle ) const
protected

◆ append_same_side_fill()

void pineforge::engine_script_run_v18::BacktestEngine::append_same_side_fill ( PyramidEntry lot)
protected

◆ append_quoted_lot()

void pineforge::engine_script_run_v18::BacktestEngine::append_quoted_lot ( PyramidEntry lot,
double total_qty,
double average_price )
protected

◆ open_quoted_position()

void pineforge::engine_script_run_v18::BacktestEngine::open_quoted_position ( PositionSide requested,
PyramidEntry lot )
protected

◆ record_close_trade()

void pineforge::engine_script_run_v18::BacktestEngine::record_close_trade ( Trade trade)
protected

◆ validate_close_trade_counters()

void pineforge::engine_script_run_v18::BacktestEngine::validate_close_trade_counters ( const Trade * rows,
size_t count ) const
protected

◆ quote_execution_commissions()

std::vector< double > pineforge::engine_script_run_v18::BacktestEngine::quote_execution_commissions ( const std::vector< double > & closed_units,
double opening_units,
const execution::Fill & fill ) const
protected

◆ build_close_trade_with_costs()

Trade pineforge::engine_script_run_v18::BacktestEngine::build_close_trade_with_costs ( const PyramidEntry & pe,
double close_qty,
double fill_price,
bool was_long,
double entry_commission,
double exit_commission,
const execution::PhysicalExecutionContext & context ) const
protected

◆ reset_position_state_to_flat()

void pineforge::engine_script_run_v18::BacktestEngine::reset_position_state_to_flat ( )
protected

◆ reset_run_state()

void pineforge::engine_script_run_v18::BacktestEngine::reset_run_state ( )
protected

◆ account_currency_fx_at()

double pineforge::engine_script_run_v18::BacktestEngine::account_currency_fx_at ( int64_t timestamp_ms) const
protected

◆ active_account_currency_fx()

double pineforge::engine_script_run_v18::BacktestEngine::active_account_currency_fx ( ) const
protected

Referenced by calc_commission(), and open_profit().

◆ settle_position_after_partial_exit()

void pineforge::engine_script_run_v18::BacktestEngine::settle_position_after_partial_exit ( PositionReductionCause cause)
protected

◆ prepare_native_security_feeds()

void pineforge::engine_script_run_v18::BacktestEngine::prepare_native_security_feeds ( const Bar * input_bars,
int n_input )
protected

◆ prepare_chart_day_partition()

void pineforge::engine_script_run_v18::BacktestEngine::prepare_chart_day_partition ( const Bar * input_bars,
int n_input )
protected

◆ substitute_native_security_bar()

bool pineforge::engine_script_run_v18::BacktestEngine::substitute_native_security_bar ( SecurityEvalState & state,
Bar & bar,
bool count_miss = true )
protected

◆ source_aux_security_feed_enabled()

virtual bool pineforge::engine_script_run_v18::BacktestEngine::source_aux_security_feed_enabled ( ) const
protectedvirtual

◆ source_aux_security_input_view()

virtual void pineforge::engine_script_run_v18::BacktestEngine::source_aux_security_input_view ( const Bar *& bars,
int & n ) const
protectedvirtual

◆ aux_security_feed_enabled()

bool pineforge::engine_script_run_v18::BacktestEngine::aux_security_feed_enabled ( ) const
inlineprotected

Definition at line 2173 of file engine.hpp.

References source_aux_security_feed_enabled().

◆ stream_observe_entry()

void pineforge::engine_script_run_v18::BacktestEngine::stream_observe_entry ( const PyramidEntry & pe)
protected

◆ source_stream_entry_comment()

virtual void pineforge::engine_script_run_v18::BacktestEngine::source_stream_entry_comment ( const PyramidEntry & ,
std::string &  ) const
protectedvirtual

◆ stream_observe_exit()

void pineforge::engine_script_run_v18::BacktestEngine::stream_observe_exit ( size_t trade_index)
protected

◆ stream_refresh_action_metadata()

void pineforge::engine_script_run_v18::BacktestEngine::stream_refresh_action_metadata ( size_t first_action,
size_t first_trade )
protected

◆ fill_trades_section()

void pineforge::engine_script_run_v18::BacktestEngine::fill_trades_section ( ReportC * out) const
protected

◆ fill_metrics_section()

void pineforge::engine_script_run_v18::BacktestEngine::fill_metrics_section ( ReportC * out) const
protected

◆ fill_security_diag_section()

void pineforge::engine_script_run_v18::BacktestEngine::fill_security_diag_section ( ReportC * out) const
protected

◆ fill_trace_section()

void pineforge::engine_script_run_v18::BacktestEngine::fill_trace_section ( ReportC * out) const
protected

◆ guard_native_mutation()

◆ execution_contract()

int pineforge::engine_script_run_v18::BacktestEngine::execution_contract ( ) const

◆ native_bound()

bool pineforge::engine_script_run_v18::BacktestEngine::native_bound ( ) const

◆ on_bar()

virtual void pineforge::engine_script_run_v18::BacktestEngine::on_bar ( const Bar & bar)
pure virtual

◆ run() [1/3]

void pineforge::engine_script_run_v18::BacktestEngine::run ( const Bar * bars,
int n )

◆ run() [2/3]

void pineforge::engine_script_run_v18::BacktestEngine::run ( const Bar * input_bars,
int n_input,
const std::string & input_tf,
const std::string & script_tf,
bool bar_magnifier = false,
int magnifier_samples = 4,
MagnifierDistribution magnifier_dist = MagnifierDistribution::ENDPOINTS )

References pineforge::ENDPOINTS.

◆ set_aux_security_feed()

virtual bool pineforge::engine_script_run_v18::BacktestEngine::set_aux_security_feed ( const Bar * bars,
int n,
const std::string & input_tf )
virtual

◆ set_native_security_feed()

bool pineforge::engine_script_run_v18::BacktestEngine::set_native_security_feed ( const std::string & timeframe,
const Bar * bars,
int n )

◆ native_security_feed_enabled()

bool pineforge::engine_script_run_v18::BacktestEngine::native_security_feed_enabled ( ) const
inline

Definition at line 2277 of file engine.hpp.

References native_security_feeds_.

◆ native_security_substitutions()

int64_t pineforge::engine_script_run_v18::BacktestEngine::native_security_substitutions ( ) const
inline

Definition at line 2282 of file engine.hpp.

References diag_native_security_substitutions_.

◆ native_security_misses()

int64_t pineforge::engine_script_run_v18::BacktestEngine::native_security_misses ( ) const
inline

Definition at line 2285 of file engine.hpp.

References diag_native_security_misses_.

◆ chart_day_partition_installed()

bool pineforge::engine_script_run_v18::BacktestEngine::chart_day_partition_installed ( ) const
inline

Definition at line 2290 of file engine.hpp.

References chart_day_partition_.

◆ stream_begin()

bool pineforge::engine_script_run_v18::BacktestEngine::stream_begin ( const Bar * warmup_bars,
int n_warmup,
const std::string & input_tf,
const std::string & script_tf = "" )

◆ stream_push_bar()

bool pineforge::engine_script_run_v18::BacktestEngine::stream_push_bar ( const Bar & bar)

◆ stream_push_tick()

bool pineforge::engine_script_run_v18::BacktestEngine::stream_push_tick ( const TradeTick & tick)

◆ stream_push_ticks()

bool pineforge::engine_script_run_v18::BacktestEngine::stream_push_ticks ( const TradeTick * ticks,
int n )

◆ stream_advance_time()

bool pineforge::engine_script_run_v18::BacktestEngine::stream_advance_time ( int64_t timestamp_ms)

◆ stream_end()

bool pineforge::engine_script_run_v18::BacktestEngine::stream_end ( bool finalize_partial_input_bar = false)

◆ stream_is_realtime()

bool pineforge::engine_script_run_v18::BacktestEngine::stream_is_realtime ( ) const
inline

Definition at line 2311 of file engine.hpp.

References REALTIME, and stream_phase_.

◆ stream_order_actions_len()

int pineforge::engine_script_run_v18::BacktestEngine::stream_order_actions_len ( ) const
inline

Definition at line 2312 of file engine.hpp.

References stream_order_actions_.

◆ stream_order_action_at()

const StreamOrderAction & pineforge::engine_script_run_v18::BacktestEngine::stream_order_action_at ( int i) const
inline

Definition at line 2313 of file engine.hpp.

References stream_order_actions_.

◆ stream_order_actions_clear()

void pineforge::engine_script_run_v18::BacktestEngine::stream_order_actions_clear ( )
inline

Definition at line 2316 of file engine.hpp.

References stream_order_actions_.

◆ stream_state_hash()

uint64_t pineforge::engine_script_run_v18::BacktestEngine::stream_state_hash ( ) const

◆ set_account_currency_fx_series()

bool pineforge::engine_script_run_v18::BacktestEngine::set_account_currency_fx_series ( const int64_t * timestamps_ms,
const double * rates,
int n )

◆ run() [3/3]

void pineforge::engine_script_run_v18::BacktestEngine::run ( const Bar * input_bars,
int n_input,
const std::string & input_tf,
const std::string & script_tf,
const std::unordered_map< std::string, std::string > & inputs,
const SymInfo & syminfo,
const void * overrides = nullptr,
bool bar_magnifier = false,
int magnifier_samples = 4,
MagnifierDistribution magnifier_dist = MagnifierDistribution::ENDPOINTS )

References pineforge::ENDPOINTS.

◆ trade_count()

int pineforge::engine_script_run_v18::BacktestEngine::trade_count ( ) const
inline

Definition at line 2343 of file engine.hpp.

References trades_.

◆ get_trade()

const Trade & pineforge::engine_script_run_v18::BacktestEngine::get_trade ( int i) const
inline

Definition at line 2344 of file engine.hpp.

References trades_.

◆ closed_trade_count()

std::size_t pineforge::engine_script_run_v18::BacktestEngine::closed_trade_count ( ) const
inlinenoexcept

Definition at line 2352 of file engine.hpp.

References trades_.

◆ closed_trade()

const Trade & pineforge::engine_script_run_v18::BacktestEngine::closed_trade ( std::size_t i) const
inline

Definition at line 2353 of file engine.hpp.

References trades_.

◆ report_trade_count()

int pineforge::engine_script_run_v18::BacktestEngine::report_trade_count ( ) const
inline

Definition at line 2360 of file engine.hpp.

References range_end_trades_, and trades_.

◆ get_report_trade()

const Trade & pineforge::engine_script_run_v18::BacktestEngine::get_report_trade ( int i) const
inline

Definition at line 2363 of file engine.hpp.

References range_end_trades_, and trades_.

◆ closed_trade_close_cause()

int pineforge::engine_script_run_v18::BacktestEngine::closed_trade_close_cause ( int i) const

◆ max_contracts_held_all()

double pineforge::engine_script_run_v18::BacktestEngine::max_contracts_held_all ( ) const
inline

Definition at line 2381 of file engine.hpp.

References max_contracts_held_all_.

◆ max_contracts_held_long()

double pineforge::engine_script_run_v18::BacktestEngine::max_contracts_held_long ( ) const
inline

Definition at line 2382 of file engine.hpp.

References max_contracts_held_long_.

◆ max_contracts_held_short()

double pineforge::engine_script_run_v18::BacktestEngine::max_contracts_held_short ( ) const
inline

Definition at line 2383 of file engine.hpp.

References max_contracts_held_short_.

◆ eventrades()

int pineforge::engine_script_run_v18::BacktestEngine::eventrades ( ) const
inline

Definition at line 2386 of file engine.hpp.

References eventrades_count_.

◆ fill_report()

void pineforge::engine_script_run_v18::BacktestEngine::fill_report ( ReportC * out) const

◆ free_report()

static void pineforge::engine_script_run_v18::BacktestEngine::free_report ( ReportC * report)
static

◆ last_error()

const std::string & pineforge::engine_script_run_v18::BacktestEngine::last_error ( ) const
inline

Definition at line 2395 of file engine.hpp.

References last_error_.

◆ set_input()

void pineforge::engine_script_run_v18::BacktestEngine::set_input ( const std::string & key,
const std::string & value )
inline

◆ clear_inputs()

void pineforge::engine_script_run_v18::BacktestEngine::clear_inputs ( )
inline

Definition at line 2404 of file engine.hpp.

References guard_native_mutation(), and inputs_.

◆ set_trade_start_time()

void pineforge::engine_script_run_v18::BacktestEngine::set_trade_start_time ( int64_t timestamp_ms)
inline

Definition at line 2408 of file engine.hpp.

References guard_native_mutation(), and trade_start_time_.

◆ set_chart_timezone()

void pineforge::engine_script_run_v18::BacktestEngine::set_chart_timezone ( const std::string & tz)
inline

Definition at line 2440 of file engine.hpp.

References chart_timezone_, and guard_native_mutation().

◆ chart_timezone()

const std::string & pineforge::engine_script_run_v18::BacktestEngine::chart_timezone ( ) const
inline

Definition at line 2444 of file engine.hpp.

References chart_timezone_.

◆ set_syminfo_timezone()

void pineforge::engine_script_run_v18::BacktestEngine::set_syminfo_timezone ( const std::string & tz)
inline

Definition at line 2455 of file engine.hpp.

References guard_native_mutation(), and syminfo_.

◆ set_syminfo_session()

void pineforge::engine_script_run_v18::BacktestEngine::set_syminfo_session ( const std::string & s)
inline

Definition at line 2459 of file engine.hpp.

References guard_native_mutation(), and syminfo_.

◆ set_syminfo_type()

void pineforge::engine_script_run_v18::BacktestEngine::set_syminfo_type ( const std::string & t)
inline

Definition at line 2469 of file engine.hpp.

References guard_native_mutation(), and syminfo_.

◆ session_template_knows_early_close()

bool pineforge::engine_script_run_v18::BacktestEngine::session_template_knows_early_close ( ) const

Whether TradingView's session template for this symbol carries the exchange's early closes and holidays, so a D/W/M request.security bucket completes on a shortened session's actual last chart bar (TimeframeAggregator::set_early_close_completes): exchange-listed kinds (stock, futures, index, fund, dr, ...) yes – NYSE:F's 12:45 ET half-day bar and CME's 11:45 CT early-close bar are pinned; the OTC quote streams – forex, cfd, crypto – no: their period ends at the nominal close and a session ending early completes lazily on the next period's first bar (OANDA:XAUUSD 15m, lab tv oanda pin, ledger log-20260905t034240z-30be11fe).

syminfo.type comes from the harness (strategy_set_syminfo_type <- PINEFORGE_VERIFY_SYMTYPE); the constructor default "crypto" keeps an untyped run on the lazy rule.

◆ set_syminfo_string()

bool pineforge::engine_script_run_v18::BacktestEngine::set_syminfo_string ( const std::string & key,
const std::string & value )
inline

Definition at line 2490 of file engine.hpp.

References guard_native_mutation(), and syminfo_.

◆ set_syminfo_mintick()

void pineforge::engine_script_run_v18::BacktestEngine::set_syminfo_mintick ( double m)
inline

Definition at line 2510 of file engine.hpp.

References guard_native_mutation(), syminfo_, and syminfo_mintick_.

◆ set_syminfo_pointvalue()

void pineforge::engine_script_run_v18::BacktestEngine::set_syminfo_pointvalue ( double pv)
inline

Definition at line 2514 of file engine.hpp.

References guard_native_mutation(), and syminfo_.

◆ set_syminfo_metadata()

virtual void pineforge::engine_script_run_v18::BacktestEngine::set_syminfo_metadata ( const std::string & key,
double value )
virtual

◆ main_period()

const std::string & pineforge::engine_script_run_v18::BacktestEngine::main_period ( ) const
inline

Definition at line 2523 of file engine.hpp.

References script_tf_.

◆ set_realtime_tail()

virtual bool pineforge::engine_script_run_v18::BacktestEngine::set_realtime_tail ( bool on,
int horizon_bars )
virtual

◆ set_probe_suppress_tail_logic()

virtual bool pineforge::engine_script_run_v18::BacktestEngine::set_probe_suppress_tail_logic ( bool on)
virtual

◆ set_path_order()

void pineforge::engine_script_run_v18::BacktestEngine::set_path_order ( int mode)
inline

Definition at line 2559 of file engine.hpp.

References guard_native_mutation(), and path_order_mode_.

◆ broker_state_hash()

uint64_t pineforge::engine_script_run_v18::BacktestEngine::broker_state_hash ( ) const

◆ position_avg_price()

double pineforge::engine_script_run_v18::BacktestEngine::position_avg_price ( ) const
inline

Definition at line 2705 of file engine.hpp.

References position_entry_price_.

◆ position_cycle_seq()

int64_t pineforge::engine_script_run_v18::BacktestEngine::position_cycle_seq ( ) const
inline

Definition at line 2706 of file engine.hpp.

References position_cycle_seq_.

◆ trail_best_price()

double pineforge::engine_script_run_v18::BacktestEngine::trail_best_price ( ) const
inline

Definition at line 2707 of file engine.hpp.

References trail_best_price_.

◆ live_position_size()

virtual double pineforge::engine_script_run_v18::BacktestEngine::live_position_size ( ) const
inlinevirtual

Definition at line 2718 of file engine.hpp.

References pineforge::LONG, position_qty_, position_side_, and pineforge::SHORT.

◆ observe_last_bar_dual_entry_path_v1()

virtual int pineforge::engine_script_run_v18::BacktestEngine::observe_last_bar_dual_entry_path_v1 ( ) const
virtual

◆ observe_pending_count_v1()

virtual int pineforge::engine_script_run_v18::BacktestEngine::observe_pending_count_v1 ( ) const
virtual

◆ observe_pending_copy_v1()

virtual int pineforge::engine_script_run_v18::BacktestEngine::observe_pending_copy_v1 ( int index,
pf_pending_order_v1_t * out ) const
virtual

◆ observe_probe_fill_qty()

virtual int pineforge::engine_script_run_v18::BacktestEngine::observe_probe_fill_qty ( int index,
double fill_price,
double * qty,
int * close_only,
int * partition ) const
virtual

◆ observe_pending_level_resolved()

virtual int pineforge::engine_script_run_v18::BacktestEngine::observe_pending_level_resolved ( int index) const
virtual

◆ observe_pending_effective_levels()

virtual int pineforge::engine_script_run_v18::BacktestEngine::observe_pending_effective_levels ( int index,
double * stop,
double * limit,
double * trail_activation ) const
virtual

◆ observe_trail_best_price_v1()

virtual double pineforge::engine_script_run_v18::BacktestEngine::observe_trail_best_price_v1 ( ) const
virtual

◆ live_current_equity()

double pineforge::engine_script_run_v18::BacktestEngine::live_current_equity ( ) const
inline

Definition at line 2733 of file engine.hpp.

References current_equity().

◆ script_bars_processed()

int64_t pineforge::engine_script_run_v18::BacktestEngine::script_bars_processed ( ) const
inline

Definition at line 2738 of file engine.hpp.

References diag_script_bars_processed_.

◆ set_broker_state_hash_recording()

void pineforge::engine_script_run_v18::BacktestEngine::set_broker_state_hash_recording ( bool on)
inline

Definition at line 2781 of file engine.hpp.

References broker_state_hash_recording_, and guard_native_mutation().

◆ set_magnifier_volume_weighted()

void pineforge::engine_script_run_v18::BacktestEngine::set_magnifier_volume_weighted ( bool on)
inline

◆ set_trace_enabled()

void pineforge::engine_script_run_v18::BacktestEngine::set_trace_enabled ( bool on)
inline

Definition at line 2798 of file engine.hpp.

References guard_native_mutation(), and trace_enabled_.

◆ trace_enabled()

bool pineforge::engine_script_run_v18::BacktestEngine::trace_enabled ( ) const
inline

Definition at line 2802 of file engine.hpp.

References trace_enabled_.

◆ last_run_status()

int pineforge::engine_script_run_v18::BacktestEngine::last_run_status ( ) const
inline

Definition at line 2805 of file engine.hpp.

References last_run_status_.

◆ request_abort()

void pineforge::engine_script_run_v18::BacktestEngine::request_abort ( )
inline

Definition at line 2811 of file engine.hpp.

References abort_requested_.

◆ trace() [1/3]

void pineforge::engine_script_run_v18::BacktestEngine::trace ( const std::string & name,
double value )

◆ trace() [2/3]

void pineforge::engine_script_run_v18::BacktestEngine::trace ( const std::string & name,
bool value )
inline

Definition at line 2822 of file engine.hpp.

References trace().

Referenced by trace().

◆ trace() [3/3]

void pineforge::engine_script_run_v18::BacktestEngine::trace ( const std::string & name,
int value )
inline

Definition at line 2823 of file engine.hpp.

References trace().

Referenced by trace().

Field Documentation

◆ position_side_

PositionSide pineforge::engine_script_run_v18::BacktestEngine::position_side_ = PositionSide::FLAT
protected

◆ position_entry_price_

double pineforge::engine_script_run_v18::BacktestEngine::position_entry_price_ = 0.0
protected

Definition at line 390 of file engine.hpp.

Referenced by open_profit(), open_trades_capital_held(), and position_avg_price().

◆ opening_obligations_

broker::OpeningObligations pineforge::engine_script_run_v18::BacktestEngine::opening_obligations_
protected

Definition at line 394 of file engine.hpp.

◆ position_entry_time_

int64_t pineforge::engine_script_run_v18::BacktestEngine::position_entry_time_ = 0
protected

Definition at line 395 of file engine.hpp.

◆ position_qty_

double pineforge::engine_script_run_v18::BacktestEngine::position_qty_ = 0.0
protected

◆ position_entry_count_

int pineforge::engine_script_run_v18::BacktestEngine::position_entry_count_ = 0
protected

Definition at line 407 of file engine.hpp.

◆ position_open_bar_

int pineforge::engine_script_run_v18::BacktestEngine::position_open_bar_ = -1
protected

Definition at line 408 of file engine.hpp.

◆ position_cycle_seq_

int64_t pineforge::engine_script_run_v18::BacktestEngine::position_cycle_seq_ = 0
protected

Definition at line 412 of file engine.hpp.

Referenced by position_cycle_seq().

◆ next_position_cycle_seq_

int64_t pineforge::engine_script_run_v18::BacktestEngine::next_position_cycle_seq_ = 1
protected

Definition at line 413 of file engine.hpp.

◆ pyramid_entries_

std::vector<PyramidEntry> pineforge::engine_script_run_v18::BacktestEngine::pyramid_entries_
protected

Definition at line 414 of file engine.hpp.

Referenced by open_trade_direction(), and position_entry_name().

◆ initial_capital_

double pineforge::engine_script_run_v18::BacktestEngine::initial_capital_ = 1000000.0
protected

◆ commission_type_

CommissionType pineforge::engine_script_run_v18::BacktestEngine::commission_type_ = CommissionType::PERCENT
protected

Definition at line 420 of file engine.hpp.

Referenced by calc_commission().

◆ commission_value_

double pineforge::engine_script_run_v18::BacktestEngine::commission_value_ = 0.0
protected

Definition at line 421 of file engine.hpp.

Referenced by calc_commission().

◆ slippage_

int pineforge::engine_script_run_v18::BacktestEngine::slippage_ = 0
protected

Definition at line 422 of file engine.hpp.

◆ syminfo_mintick_

double pineforge::engine_script_run_v18::BacktestEngine::syminfo_mintick_ = 0.01
protected

◆ qty_step_

double pineforge::engine_script_run_v18::BacktestEngine::qty_step_ = 0.0
protected

Definition at line 429 of file engine.hpp.

Referenced by apply_exit_qty_step(), apply_percent_exit_qty_step(), and apply_qty_step().

◆ account_currency_fx_

double pineforge::engine_script_run_v18::BacktestEngine::account_currency_fx_ = 1.0
protected

Definition at line 441 of file engine.hpp.

◆ account_currency_fx_timestamps_

std::vector<int64_t> pineforge::engine_script_run_v18::BacktestEngine::account_currency_fx_timestamps_
protected

Definition at line 442 of file engine.hpp.

◆ account_currency_fx_rates_

std::vector<double> pineforge::engine_script_run_v18::BacktestEngine::account_currency_fx_rates_
protected

Definition at line 443 of file engine.hpp.

◆ account_currency_fx_broker_epoch_initialized_

bool pineforge::engine_script_run_v18::BacktestEngine::account_currency_fx_broker_epoch_initialized_ = false
protected

Definition at line 449 of file engine.hpp.

◆ account_currency_fx_broker_epoch_

std::size_t pineforge::engine_script_run_v18::BacktestEngine::account_currency_fx_broker_epoch_ = 0
protected

Definition at line 450 of file engine.hpp.

◆ account_currency_fx_broker_rate_

double pineforge::engine_script_run_v18::BacktestEngine::account_currency_fx_broker_rate_ = 1.0
protected

Definition at line 451 of file engine.hpp.

◆ trade_start_time_

int64_t pineforge::engine_script_run_v18::BacktestEngine::trade_start_time_ = std::numeric_limits<int64_t>::min()
protected

Definition at line 453 of file engine.hpp.

Referenced by set_trade_start_time().

◆ syminfo_

◆ last_bar_time_

int64_t pineforge::engine_script_run_v18::BacktestEngine::last_bar_time_ = 0
protected

Definition at line 458 of file engine.hpp.

◆ last_bar_index_

int pineforge::engine_script_run_v18::BacktestEngine::last_bar_index_ = 0
protected

Definition at line 459 of file engine.hpp.

◆ path_order_mode_

int pineforge::engine_script_run_v18::BacktestEngine::path_order_mode_ = 0
protected

Definition at line 468 of file engine.hpp.

Referenced by set_path_order().

◆ is_tail_bar_

bool pineforge::engine_script_run_v18::BacktestEngine::is_tail_bar_ = false
protected

Definition at line 472 of file engine.hpp.

◆ chart_timezone_

std::string pineforge::engine_script_run_v18::BacktestEngine::chart_timezone_
protected

Definition at line 477 of file engine.hpp.

Referenced by chart_timezone(), and set_chart_timezone().

◆ inputs_

std::unordered_map<std::string, std::string> pineforge::engine_script_run_v18::BacktestEngine::inputs_
protected

Definition at line 478 of file engine.hpp.

Referenced by clear_inputs(), and set_input().

◆ syminfo_metadata_

std::unordered_map<std::string, double> pineforge::engine_script_run_v18::BacktestEngine::syminfo_metadata_
protected

Definition at line 485 of file engine.hpp.

Referenced by get_syminfo_metadata().

◆ current_bar_

Bar pineforge::engine_script_run_v18::BacktestEngine::current_bar_
protected

Definition at line 511 of file engine.hpp.

Referenced by _decompose_bar_time(), record_equity_point(), and update_equity_extremes().

◆ bar_index_

int pineforge::engine_script_run_v18::BacktestEngine::bar_index_ = 0
protected

Definition at line 512 of file engine.hpp.

◆ security_next_input_ms_

int64_t pineforge::engine_script_run_v18::BacktestEngine::security_next_input_ms_ = 0
protected

Definition at line 520 of file engine.hpp.

◆ next_order_incarnation_

uint64_t pineforge::engine_script_run_v18::BacktestEngine::next_order_incarnation_ = 1
protected

Definition at line 521 of file engine.hpp.

◆ fold_exit_trail_peak_

double pineforge::engine_script_run_v18::BacktestEngine::fold_exit_trail_peak_ = std::numeric_limits<double>::quiet_NaN()
protected

Definition at line 532 of file engine.hpp.

◆ trades_

◆ range_end_trades_

std::vector<Trade> pineforge::engine_script_run_v18::BacktestEngine::range_end_trades_
protected

Definition at line 542 of file engine.hpp.

Referenced by get_report_trade(), and report_trade_count().

◆ trail_best_price_

double pineforge::engine_script_run_v18::BacktestEngine::trail_best_price_ = std::numeric_limits<double>::quiet_NaN()
protected

Definition at line 621 of file engine.hpp.

Referenced by trail_best_price().

◆ position_close_obligation_

broker::PositionCloseObligation pineforge::engine_script_run_v18::BacktestEngine::position_close_obligation_
protected

Definition at line 625 of file engine.hpp.

◆ net_profit_sum_

double pineforge::engine_script_run_v18::BacktestEngine::net_profit_sum_ = 0.0
protected

◆ net_profit_roundoff_bound_

double pineforge::engine_script_run_v18::BacktestEngine::net_profit_roundoff_bound_ = 0.0
protected

Definition at line 635 of file engine.hpp.

◆ net_profit_roundoff_value_

double pineforge::engine_script_run_v18::BacktestEngine::net_profit_roundoff_value_ = 0.0
protected

Definition at line 639 of file engine.hpp.

◆ gross_profit_sum_

double pineforge::engine_script_run_v18::BacktestEngine::gross_profit_sum_ = 0.0
protected

Definition at line 640 of file engine.hpp.

Referenced by avg_winning_trade(), gross_profit(), and grossprofit_percent().

◆ gross_loss_sum_

double pineforge::engine_script_run_v18::BacktestEngine::gross_loss_sum_ = 0.0
protected

Definition at line 641 of file engine.hpp.

Referenced by avg_losing_trade(), gross_loss(), and grossloss_percent().

◆ win_trades_count_

int pineforge::engine_script_run_v18::BacktestEngine::win_trades_count_ = 0
protected

Definition at line 642 of file engine.hpp.

Referenced by avg_winning_trade(), avg_winning_trade_percent(), and count_wintrades().

◆ loss_trades_count_

int pineforge::engine_script_run_v18::BacktestEngine::loss_trades_count_ = 0
protected

Definition at line 643 of file engine.hpp.

Referenced by avg_losing_trade(), avg_losing_trade_percent(), and count_losstrades().

◆ max_equity_

double pineforge::engine_script_run_v18::BacktestEngine::max_equity_ = 0.0
protected

Definition at line 646 of file engine.hpp.

Referenced by fold_equity_extreme().

◆ max_drawdown_

double pineforge::engine_script_run_v18::BacktestEngine::max_drawdown_ = 0.0
protected

Definition at line 647 of file engine.hpp.

Referenced by fold_equity_extreme(), and max_drawdown_percent().

◆ max_runup_

double pineforge::engine_script_run_v18::BacktestEngine::max_runup_ = 0.0
protected

Definition at line 648 of file engine.hpp.

Referenced by fold_equity_extreme(), and max_runup_percent().

◆ min_equity_

double pineforge::engine_script_run_v18::BacktestEngine::min_equity_ = 0.0
protected

Definition at line 649 of file engine.hpp.

Referenced by fold_equity_extreme().

◆ equity_curve_

std::vector<pf_equity_point_t> pineforge::engine_script_run_v18::BacktestEngine::equity_curve_
protected

Definition at line 652 of file engine.hpp.

Referenced by record_equity_point().

◆ bars_in_market_

int64_t pineforge::engine_script_run_v18::BacktestEngine::bars_in_market_ = 0
protected

Definition at line 653 of file engine.hpp.

Referenced by record_equity_point().

◆ first_bar_open_

double pineforge::engine_script_run_v18::BacktestEngine::first_bar_open_ = std::numeric_limits<double>::quiet_NaN()
protected

Definition at line 654 of file engine.hpp.

Referenced by record_equity_point().

◆ broker_state_hash_recording_

bool pineforge::engine_script_run_v18::BacktestEngine::broker_state_hash_recording_ = false
protected

Definition at line 660 of file engine.hpp.

Referenced by set_broker_state_hash_recording().

◆ broker_state_hashes_

std::vector<uint64_t> pineforge::engine_script_run_v18::BacktestEngine::broker_state_hashes_
protected

Definition at line 661 of file engine.hpp.

◆ max_contracts_held_all_

double pineforge::engine_script_run_v18::BacktestEngine::max_contracts_held_all_ = 0.0
protected

Definition at line 664 of file engine.hpp.

Referenced by max_contracts_held_all(), and update_equity_extremes().

◆ max_contracts_held_long_

double pineforge::engine_script_run_v18::BacktestEngine::max_contracts_held_long_ = 0.0
protected

Definition at line 665 of file engine.hpp.

Referenced by max_contracts_held_long(), and update_equity_extremes().

◆ max_contracts_held_short_

double pineforge::engine_script_run_v18::BacktestEngine::max_contracts_held_short_ = 0.0
protected

Definition at line 666 of file engine.hpp.

Referenced by max_contracts_held_short(), and update_equity_extremes().

◆ eventrades_count_

int pineforge::engine_script_run_v18::BacktestEngine::eventrades_count_ = 0
protected

Definition at line 669 of file engine.hpp.

Referenced by eventrades().

◆ lot_excursion_hook_

LotExcursionHook pineforge::engine_script_run_v18::BacktestEngine::lot_excursion_hook_
protected

Definition at line 701 of file engine.hpp.

◆ last_script_continuation_hash_

uint64_t pineforge::engine_script_run_v18::BacktestEngine::last_script_continuation_hash_ = 0
protected

Definition at line 706 of file engine.hpp.

◆ last_script_continuation_valid_

bool pineforge::engine_script_run_v18::BacktestEngine::last_script_continuation_valid_ = false
protected

Definition at line 707 of file engine.hpp.

◆ kLevelGridBandPoints

double pineforge::engine_script_run_v18::BacktestEngine::kLevelGridBandPoints = 0.01
staticconstexprprotected

Definition at line 1050 of file engine.hpp.

Referenced by level_on_price_grid().

◆ bar_time_memo_ts_

int64_t pineforge::engine_script_run_v18::BacktestEngine::bar_time_memo_ts_ = std::numeric_limits<int64_t>::min()
mutableprotected

Definition at line 1476 of file engine.hpp.

Referenced by _decompose_bar_time().

◆ bar_time_memo_

BarTime pineforge::engine_script_run_v18::BacktestEngine::bar_time_memo_ {}
mutableprotected

Definition at line 1477 of file engine.hpp.

Referenced by _decompose_bar_time().

◆ bar_magnifier_enabled_

bool pineforge::engine_script_run_v18::BacktestEngine::bar_magnifier_enabled_ = false
protected

Definition at line 1520 of file engine.hpp.

◆ barstate_islast_

bool pineforge::engine_script_run_v18::BacktestEngine::barstate_islast_ = false
protected

Definition at line 1521 of file engine.hpp.

◆ magnifier_samples_

int pineforge::engine_script_run_v18::BacktestEngine::magnifier_samples_ = 4
protected

Definition at line 1525 of file engine.hpp.

◆ magnifier_dist_

MagnifierDistribution pineforge::engine_script_run_v18::BacktestEngine::magnifier_dist_ = MagnifierDistribution::ENDPOINTS
protected

Definition at line 1526 of file engine.hpp.

◆ magnifier_volume_weighted_

bool pineforge::engine_script_run_v18::BacktestEngine::magnifier_volume_weighted_ = false
protected

Definition at line 1530 of file engine.hpp.

Referenced by set_magnifier_volume_weighted().

◆ broker_fill_event_seq_

uint64_t pineforge::engine_script_run_v18::BacktestEngine::broker_fill_event_seq_ = 0
protected

Definition at line 1584 of file engine.hpp.

◆ prev_in_session_

bool pineforge::engine_script_run_v18::BacktestEngine::prev_in_session_ = false
protected

Definition at line 1591 of file engine.hpp.

◆ session_ismarket_

bool pineforge::engine_script_run_v18::BacktestEngine::session_ismarket_ = false
protected

Definition at line 1594 of file engine.hpp.

◆ session_isfirstbar_

bool pineforge::engine_script_run_v18::BacktestEngine::session_isfirstbar_ = false
protected

Definition at line 1595 of file engine.hpp.

◆ session_islastbar_

bool pineforge::engine_script_run_v18::BacktestEngine::session_islastbar_ = false
protected

Definition at line 1596 of file engine.hpp.

◆ input_tf_

std::string pineforge::engine_script_run_v18::BacktestEngine::input_tf_
protected

Definition at line 1613 of file engine.hpp.

◆ script_tf_

std::string pineforge::engine_script_run_v18::BacktestEngine::script_tf_
protected

Definition at line 1614 of file engine.hpp.

Referenced by main_period().

◆ script_tf_seconds_

int pineforge::engine_script_run_v18::BacktestEngine::script_tf_seconds_ = 0
protected

Definition at line 1618 of file engine.hpp.

◆ script_tf_agg_

TimeframeAggregator pineforge::engine_script_run_v18::BacktestEngine::script_tf_agg_
protected

Definition at line 1619 of file engine.hpp.

◆ prev_bar_timestamp_

int64_t pineforge::engine_script_run_v18::BacktestEngine::prev_bar_timestamp_ = 0
protected

Definition at line 1620 of file engine.hpp.

◆ stream_phase_

StreamPhase pineforge::engine_script_run_v18::BacktestEngine::stream_phase_ = StreamPhase::IDLE
protected

Definition at line 1627 of file engine.hpp.

Referenced by stream_is_realtime().

◆ stream_warmup_mode_

bool pineforge::engine_script_run_v18::BacktestEngine::stream_warmup_mode_ = false
protected

Definition at line 1628 of file engine.hpp.

◆ host_mutation_guard_inert_

bool pineforge::engine_script_run_v18::BacktestEngine::host_mutation_guard_inert_ = false
protected

Definition at line 1633 of file engine.hpp.

◆ stream_input_tf_ms_

int64_t pineforge::engine_script_run_v18::BacktestEngine::stream_input_tf_ms_ = 0
protected

Definition at line 1634 of file engine.hpp.

◆ stream_next_input_open_ms_

int64_t pineforge::engine_script_run_v18::BacktestEngine::stream_next_input_open_ms_ = 0
protected

Definition at line 1635 of file engine.hpp.

◆ stream_clock_ms_

int64_t pineforge::engine_script_run_v18::BacktestEngine::stream_clock_ms_ = 0
protected

Definition at line 1636 of file engine.hpp.

◆ stream_last_tick_ms_

int64_t pineforge::engine_script_run_v18::BacktestEngine::stream_last_tick_ms_ = 0
protected

Definition at line 1637 of file engine.hpp.

◆ stream_last_sequence_

uint64_t pineforge::engine_script_run_v18::BacktestEngine::stream_last_sequence_ = 0
protected

Definition at line 1638 of file engine.hpp.

◆ stream_seen_sequence_

bool pineforge::engine_script_run_v18::BacktestEngine::stream_seen_sequence_ = false
protected

Definition at line 1639 of file engine.hpp.

◆ stream_has_input_bar_

bool pineforge::engine_script_run_v18::BacktestEngine::stream_has_input_bar_ = false
protected

Definition at line 1640 of file engine.hpp.

◆ stream_input_bar_

Bar pineforge::engine_script_run_v18::BacktestEngine::stream_input_bar_ {}
protected

Definition at line 1641 of file engine.hpp.

◆ stream_last_price_

double pineforge::engine_script_run_v18::BacktestEngine::stream_last_price_ = 0.0
protected

Definition at line 1642 of file engine.hpp.

◆ stream_has_last_price_

bool pineforge::engine_script_run_v18::BacktestEngine::stream_has_last_price_ = false
protected

Definition at line 1643 of file engine.hpp.

◆ stream_next_script_bar_index_

int pineforge::engine_script_run_v18::BacktestEngine::stream_next_script_bar_index_ = 0
protected

Definition at line 1644 of file engine.hpp.

◆ stream_script_bar_had_tick_

bool pineforge::engine_script_run_v18::BacktestEngine::stream_script_bar_had_tick_ = false
protected

Definition at line 1645 of file engine.hpp.

◆ stream_script_tick_seen_

bool pineforge::engine_script_run_v18::BacktestEngine::stream_script_tick_seen_ = false
protected

Definition at line 1646 of file engine.hpp.

◆ stream_input_mode_

StreamInputMode pineforge::engine_script_run_v18::BacktestEngine::stream_input_mode_ = StreamInputMode::UNSET
protected

Definition at line 1648 of file engine.hpp.

◆ stream_observe_actions_

bool pineforge::engine_script_run_v18::BacktestEngine::stream_observe_actions_ = false
protected

Definition at line 1649 of file engine.hpp.

◆ stream_action_sequence_

uint64_t pineforge::engine_script_run_v18::BacktestEngine::stream_action_sequence_ = 0
protected

Definition at line 1650 of file engine.hpp.

◆ stream_order_actions_

std::vector<StreamOrderAction> pineforge::engine_script_run_v18::BacktestEngine::stream_order_actions_
protected

◆ security_eval_states_

std::vector<SecurityEvalState> pineforge::engine_script_run_v18::BacktestEngine::security_eval_states_
protected

Definition at line 1683 of file engine.hpp.

◆ security_input_tf_

std::string pineforge::engine_script_run_v18::BacktestEngine::security_input_tf_
protected

Definition at line 1686 of file engine.hpp.

◆ native_security_feeds_

std::vector<NativeSecurityFeed> pineforge::engine_script_run_v18::BacktestEngine::native_security_feeds_
protected

Definition at line 1699 of file engine.hpp.

Referenced by native_security_feed_enabled().

◆ diag_native_security_substitutions_

int64_t pineforge::engine_script_run_v18::BacktestEngine::diag_native_security_substitutions_ = 0
protected

Definition at line 1700 of file engine.hpp.

Referenced by native_security_substitutions().

◆ diag_native_security_misses_

int64_t pineforge::engine_script_run_v18::BacktestEngine::diag_native_security_misses_ = 0
protected

Definition at line 1701 of file engine.hpp.

Referenced by native_security_misses().

◆ chart_day_partition_

NativeDayPartition pineforge::engine_script_run_v18::BacktestEngine::chart_day_partition_
protected

Definition at line 1709 of file engine.hpp.

Referenced by chart_day_partition_installed().

◆ trace_enabled_

bool pineforge::engine_script_run_v18::BacktestEngine::trace_enabled_ = false
protected

Definition at line 1722 of file engine.hpp.

Referenced by set_trace_enabled(), and trace_enabled().

◆ last_run_status_

int pineforge::engine_script_run_v18::BacktestEngine::last_run_status_ = 0
protected

Definition at line 1726 of file engine.hpp.

Referenced by last_run_status().

◆ abort_requested_

AbortFlag pineforge::engine_script_run_v18::BacktestEngine::abort_requested_
protected

Definition at line 1756 of file engine.hpp.

Referenced by check_abort(), and request_abort().

◆ trace_buffer_

std::vector<TraceEntryC> pineforge::engine_script_run_v18::BacktestEngine::trace_buffer_
protected

Definition at line 1762 of file engine.hpp.

◆ trace_names_

std::vector<std::string> pineforge::engine_script_run_v18::BacktestEngine::trace_names_
protected

Definition at line 1763 of file engine.hpp.

◆ trace_name_index_

std::unordered_map<std::string, int32_t> pineforge::engine_script_run_v18::BacktestEngine::trace_name_index_
protected

Definition at line 1764 of file engine.hpp.

◆ diag_input_bars_processed_

int64_t pineforge::engine_script_run_v18::BacktestEngine::diag_input_bars_processed_ = 0
protected

Definition at line 1768 of file engine.hpp.

◆ diag_script_bars_processed_

int64_t pineforge::engine_script_run_v18::BacktestEngine::diag_script_bars_processed_ = 0
protected

Definition at line 1769 of file engine.hpp.

Referenced by script_bars_processed().

◆ diag_magnifier_sub_bars_processed_

int64_t pineforge::engine_script_run_v18::BacktestEngine::diag_magnifier_sub_bars_processed_ = 0
protected

Definition at line 1770 of file engine.hpp.

◆ diag_magnifier_sample_ticks_processed_

int64_t pineforge::engine_script_run_v18::BacktestEngine::diag_magnifier_sample_ticks_processed_ = 0
protected

Definition at line 1771 of file engine.hpp.

◆ diag_script_tf_ratio_

int pineforge::engine_script_run_v18::BacktestEngine::diag_script_tf_ratio_ = 0
protected

Definition at line 1772 of file engine.hpp.

◆ diag_needs_aggregation_

bool pineforge::engine_script_run_v18::BacktestEngine::diag_needs_aggregation_ = false
protected

Definition at line 1773 of file engine.hpp.

◆ last_error_

std::string pineforge::engine_script_run_v18::BacktestEngine::last_error_
protected

Definition at line 1779 of file engine.hpp.

Referenced by last_error().

◆ execution_consumer_slot_

ExecutionConsumerSlot pineforge::engine_script_run_v18::BacktestEngine::execution_consumer_slot_
protected

Definition at line 2236 of file engine.hpp.


The documentation for this class was generated from the following file: