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

#include <pine_strategy_host.hpp>

Data Structures

class  FixtureCommissionTypeSlot
 
struct  FixtureIntentRow
 
class  FixtureQtyTypeSlot
 
class  FixtureRiskDirectionSlot
 
class  SourceCloseObligationView
 
class  SourceIdLedgerView
 

Public Types

enum class  FixtureIntentKind {
  MARKET ,
  EXIT ,
  ENTRY ,
  RAW_ORDER
}
 

Public Member Functions

 PineStrategyHost (compat::pine::CapAttachment cap=compat::pine::CapAttachment::None)
 
std::uint64_t broker_state_hash_projection () const override
 
void prepare_native_begin (const NativeBeginArgs &) final
 
void on_native_run_begin () final
 
void on_native_input (const Bar &, const NativeInputContext &) final
 
void on_native_tick (const Bar &, const NativeTickContext &) final
 
void on_native_bar_open (const Bar &, const NativeDecisionContext &) final
 
void on_native_bar (const Bar &, const NativeDecisionContext &) final
 
void on_native_recalculate (const Bar &, const NativeDecisionContext &, NativeCalculationReason, const native_order::ExecutionAppliedEvent *) final
 
void on_native_applied (const native_order::ExecutionAppliedEvent &, const NativeDecisionContext &) final
 
native_order::ExecutionTerms resolve_execution_terms (const NativeExecutionTermsFacts &) const final
 
NativePrecommitVerdict validate_execution_precommit (const NativePrecommitView &) const final
 
bool margin_check_allowed (const NativeMarginCheckPoint &) const final
 
std::optional< NativeMarginDecisionresolve_margin_requirement (const NativeMarginRequirementView &) const final
 
std::optional< double > resolve_margin_call_units (const NativeMarginCallView &) const final
 
std::optional< double > resolve_anchored_level (const NativeAnchoredLevelView &) const final
 
bool owns_lot_excursions () const noexcept final
 
ClosedLotExcursion closed_lot_excursion (const ClosedLotExcursionFacts &) const final
 
bool adapter_core_sizes_default_opening (bool is_long) const
 
virtual void on_source_bar (const Bar &)=0
 
void configure_pine_strategy (const PineStrategyConfig &)
 
void set_strategy_override (const StrategyOverrides &)
 
void set_syminfo_session (const std::string &)
 
void set_pine_risk_direction (int)
 
void set_pine_risk_max_cons_loss_days (int)
 
void set_pine_risk_max_drawdown (double, bool)
 
void set_pine_risk_max_intraday_loss (double, bool)
 
void set_pine_risk_max_intraday_filled_orders (int)
 
void set_pine_risk_max_position_size (double)
 
void strategy_entry (const std::string &id, bool is_long, double limit_price=std::numeric_limits< double >::quiet_NaN(), double stop_price=std::numeric_limits< double >::quiet_NaN(), double qty=std::numeric_limits< double >::quiet_NaN(), const std::string &comment={}, const std::string &oca_name={}, int oca_type=0, int qty_type=-1)
 
void strategy_close (const std::string &id, const std::string &comment={}, double qty=std::numeric_limits< double >::quiet_NaN(), double qty_percent=std::numeric_limits< double >::quiet_NaN(), bool immediately=false)
 
void strategy_close (const std::string &id, const std::string &comment, double qty, double qty_percent, bool immediately, std::uint64_t callsite_token)
 
void strategy_close_all ()
 
void strategy_exit (const std::string &id, const std::string &from_entry, double limit_price, double stop_price, double trail_points=std::numeric_limits< double >::quiet_NaN(), double trail_offset=std::numeric_limits< double >::quiet_NaN(), double trail_price=std::numeric_limits< double >::quiet_NaN(), double qty_percent=100.0, const std::string &comment={}, double qty=std::numeric_limits< double >::quiet_NaN(), const std::string &oca_name={}, double profit_ticks=std::numeric_limits< double >::quiet_NaN(), double loss_ticks=std::numeric_limits< double >::quiet_NaN())
 
void strategy_exit_cancel_bracket (const std::string &exit_id, const std::string &from_entry, const std::string &comment={})
 
void strategy_cancel (const std::string &id)
 
void strategy_cancel_all ()
 
void strategy_order (const std::string &id, bool is_long, double qty, double limit_price=std::numeric_limits< double >::quiet_NaN(), double stop_price=std::numeric_limits< double >::quiet_NaN(), const std::string &oca_name={}, int oca_type=0)
 
int pine_bar_index () const
 
int pine_last_bar_index () const
 
double prev_chart_close () const
 
bool is_first_tick () const noexcept
 
bool is_last_tick () const noexcept
 
bool history_advances_new_bar () const noexcept
 
bool security_series_slot_is_new (int) const noexcept
 
int last_bar_dual_entry_path () const
 
double live_position_size () const override
 
int pending_order_count () const
 
MarketAdmissionJournalmarket_admission_journal ()
 
const MarketAdmissionJournalmarket_admission_journal () const
 
std::vector< admission::Fieldmarket_admission_fields () const
 
int probe_fill_qty (int index, double fill_price, double *qty, int *close_only, int *partition) const
 
int pending_order_level_resolved (int index) const
 
int pending_order_effective_levels (int index, double *stop, double *limit, double *trail_activation) const
 
const PendingIntentViewpending_intent_view () const noexcept
 
int short_seed_collision_role_v1 (native_order::RequestHandle) const noexcept
 
void enable_pine_intraday_cap ()
 
void attach_pine_execution_adapter ()
 
void set_syminfo_metadata (const std::string &, double) override
 
bool set_aux_security_feed (const Bar *bars, int n, const std::string &input_tf) override
 
bool source_aux_security_feed_enabled () const override
 
void source_aux_security_input_view (const Bar *&, int &) const override
 
int observe_last_bar_dual_entry_path_v1 () const override
 
int observe_pending_count_v1 () const override
 
int observe_pending_copy_v1 (int, pf_pending_order_v1_t *) const override
 
int observe_probe_fill_qty (int, double, double *, int *, int *) const override
 
int observe_pending_level_resolved (int) const override
 
int observe_pending_effective_levels (int, double *, double *, double *) const override
 
double observe_trail_best_price_v1 () const override
 
void set_margin_call_enabled (bool enabled)
 
bool margin_call_enabled () const
 
bool set_realtime_tail (bool on, int horizon_bars) override
 
bool realtime_tail () const
 
bool set_probe_suppress_tail_logic (bool on) override
 
bool probe_suppress_tail_logic () const
 

Protected Member Functions

PineStrategyConfigfixture_configuration () noexcept
 
const PineStrategyConfigfixture_configuration () const noexcept
 
bool fixture_intraday_cap_latched ()
 
compat::pine::CapClock fixture_cap_clock () const
 
compat::pine::Calculation fixture_cap_calculation () const
 
BarTime fixture_chart_time (std::int64_t timestamp_ms) const
 
std::int64_t fixture_chart_day_key (std::int64_t timestamp_ms) const noexcept
 
std::uint64_t fixture_applied_receipt_count () const
 
bool fixture_cap_due_pending () const noexcept
 
FixtureQtyTypeSlot fixture_default_qty_type_slot () noexcept
 
FixtureCommissionTypeSlot fixture_commission_type_slot () noexcept
 
FixtureRiskDirectionSlot fixture_risk_direction_slot () noexcept
 
SourceIdLedgerView source_id_ledger_view () const noexcept
 
double signed_position_size () const
 
void freeze_script_position_view ()
 
void clear_script_position_view ()
 
const Series< double > & source_series (const std::string &) const
 
const Series< double > & source_input_series (const std::string &key, const Series< double > &fallback) const
 
const Series< double > & get_input_source (const std::string &key, const Series< double > &fallback) const
 
double margin_liquidation_price () const
 
void fixture_publish_source_series (const Bar &bar, bool new_history_slot)
 
int64_t time_close () const
 
bool pine_session_ismarket (const std::string &session, const std::string &timezone, std::int64_t bar_ms) const
 
bool pine_session_ispremarket (const std::string &session, const std::string &timezone, std::int64_t bar_ms) const
 
bool pine_session_ispostmarket (const std::string &session, const std::string &timezone, std::int64_t bar_ms) const
 
const std::vector< FixtureIntentRow > & source_pending_view () const
 
void register_security_eval (int sec_id, const std::string &requested_tf, const std::string &input_tf, bool lookahead_on, bool gaps_on=false, bool heikinashi=false)
 
void register_security_lower_tf_eval (int sec_id, const std::string &requested_tf, const std::string &input_tf)
 
int security_lower_tf_sub_bar_index (int sec_id) const
 
void validate_security_timeframes (const std::string &input_tf)
 
void source_stream_entry_comment (const PyramidEntry &, std::string &) const override
 
void hash_host_extension (BrokerStateHashSink &) const override
 
void hash_source_extension (BrokerStateHashSink &sink) const final
 
void apply_realtime_tail_horizon (const Bar *bars, int n, bool script_bar_geometry)
 

Protected Attributes

PineExecutionAdapter adapter_
 
SourceCloseObligationView position_close_obligation_ {adapter_}
 
PineStrategyConfig config_ {}
 
StrategyOverrides override_ {}
 
PineScheduler scheduler_ {}
 
bool & _src_series_active_
 
Series< double > & _src_open_
 
Series< double > & _src_high_
 
Series< double > & _src_low_
 
Series< double > & _src_close_
 
Series< double > & _src_volume_
 
Series< double > & _src_hl2_
 
Series< double > & _src_hlc3_
 
Series< double > & _src_ohlc4_
 
Series< double > & _src_hlcc4_
 
const bool & is_last_tick_
 
int source_bar_index_ = -1
 
int source_last_bar_index_ = -1
 
std::uint64_t source_callback_count_ = 0
 
bool source_configuration_captured_ = false
 
bool source_prepare_failed_ = false
 
std::vector< Baraux_security_bars_
 
std::string aux_security_input_tf_
 
std::vector< std::size_t > aux_security_chart_begin_
 
std::vector< std::size_t > aux_security_chart_end_
 
std::map< int, PineSecurityEvalStatepine_security_states_
 
bool margin_call_enabled_ = true
 
bool realtime_tail_ = false
 
int realtime_tail_horizon_bars_ = 0
 
bool probe_suppress_tail_logic_ = false
 
bool chart_ema_na_warmup_ = false
 
bool security_range_start_na_warmup_ = false
 
int64_t security_range_start_ms_ = 0
 
int64_t security_first_chart_bar_ms_ = 0
 
int64_t security_calling_close_ms_ = 0
 
bool historical_security_lookahead_projection_ = false
 
bool historical_security_lookahead_projection_active_ = false
 
bool security_history_publication_replay_ = false
 
std::vector< FixtureIntentRowsource_pending_view_cache_
 
bool excursion_priced_fill_ = false
 
bool excursion_level_fill_ = false
 
bool excursion_margin_call_ = false
 
bool excursion_margin_prefix_ = false
 
bool excursion_margin_fill_only_ = false
 
bool excursion_range_end_projection_ = false
 
double excursion_trail_offset_ticks_
 
double precommit_held_units_
 
double excursion_trail_raw_price_
 

Detailed Description

Definition at line 241 of file pine_strategy_host.hpp.

Member Enumeration Documentation

◆ FixtureIntentKind

Enumerator
MARKET 
EXIT 
ENTRY 
RAW_ORDER 

Definition at line 381 of file pine_strategy_host.hpp.

Constructor & Destructor Documentation

◆ PineStrategyHost()

Member Function Documentation

◆ broker_state_hash_projection()

std::uint64_t pineforge::source::PineStrategyHost::broker_state_hash_projection ( ) const
override

Definition at line 159 of file pine_strategy_host.cpp.

◆ prepare_native_begin()

◆ on_native_run_begin()

void pineforge::source::PineStrategyHost::on_native_run_begin ( )
final

◆ on_native_input()

void pineforge::source::PineStrategyHost::on_native_input ( const Bar & bar,
const NativeInputContext & context )
final

Definition at line 347 of file pine_strategy_host.cpp.

References scheduler_, and source_prepare_failed_.

◆ on_native_tick()

◆ on_native_bar_open()

◆ on_native_bar()

◆ on_native_recalculate()

void pineforge::source::PineStrategyHost::on_native_recalculate ( const Bar & bar,
const NativeDecisionContext & context,
NativeCalculationReason reason,
const native_order::ExecutionAppliedEvent * cause )
final

Definition at line 590 of file pine_strategy_host.cpp.

References on_native_bar(), scheduler_, and source_prepare_failed_.

◆ on_native_applied()

◆ resolve_execution_terms()

native_order::ExecutionTerms pineforge::source::PineStrategyHost::resolve_execution_terms ( const NativeExecutionTermsFacts & facts) const
final

Definition at line 609 of file pine_strategy_host.cpp.

References adapter_.

◆ validate_execution_precommit()

◆ margin_check_allowed()

bool pineforge::source::PineStrategyHost::margin_check_allowed ( const NativeMarginCheckPoint & point) const
final

Definition at line 614 of file pine_strategy_host.cpp.

References adapter_.

◆ resolve_margin_requirement()

std::optional< NativeMarginDecision > pineforge::source::PineStrategyHost::resolve_margin_requirement ( const NativeMarginRequirementView & view) const
final

Definition at line 619 of file pine_strategy_host.cpp.

References adapter_.

◆ resolve_margin_call_units()

std::optional< double > pineforge::source::PineStrategyHost::resolve_margin_call_units ( const NativeMarginCallView & view) const
final

Definition at line 624 of file pine_strategy_host.cpp.

References adapter_.

◆ resolve_anchored_level()

std::optional< double > pineforge::source::PineStrategyHost::resolve_anchored_level ( const NativeAnchoredLevelView & view) const
final

Definition at line 629 of file pine_strategy_host.cpp.

References adapter_.

◆ owns_lot_excursions()

bool pineforge::source::PineStrategyHost::owns_lot_excursions ( ) const
inlinefinalnoexcept

Definition at line 283 of file pine_strategy_host.hpp.

◆ closed_lot_excursion()

◆ adapter_core_sizes_default_opening()

bool pineforge::source::PineStrategyHost::adapter_core_sizes_default_opening ( bool is_long) const

Definition at line 1799 of file pine_strategy_host.cpp.

References adapter_.

◆ on_source_bar()

virtual void pineforge::source::PineStrategyHost::on_source_bar ( const Bar & )
pure virtual

◆ configure_pine_strategy()

void pineforge::source::PineStrategyHost::configure_pine_strategy ( const PineStrategyConfig & config)

Definition at line 842 of file pine_strategy_host.cpp.

References adapter_, config_, scheduler_, and source_configuration_captured_.

◆ set_strategy_override()

void pineforge::source::PineStrategyHost::set_strategy_override ( const StrategyOverrides & overrides)

◆ set_syminfo_session()

void pineforge::source::PineStrategyHost::set_syminfo_session ( const std::string & session)

Definition at line 859 of file pine_strategy_host.cpp.

◆ set_pine_risk_direction()

void pineforge::source::PineStrategyHost::set_pine_risk_direction ( int direction)

Definition at line 867 of file pine_strategy_host.cpp.

References adapter_.

◆ set_pine_risk_max_cons_loss_days()

void pineforge::source::PineStrategyHost::set_pine_risk_max_cons_loss_days ( int value)

Definition at line 871 of file pine_strategy_host.cpp.

References adapter_.

◆ set_pine_risk_max_drawdown()

void pineforge::source::PineStrategyHost::set_pine_risk_max_drawdown ( double value,
bool percent )

Definition at line 875 of file pine_strategy_host.cpp.

References adapter_.

◆ set_pine_risk_max_intraday_loss()

void pineforge::source::PineStrategyHost::set_pine_risk_max_intraday_loss ( double value,
bool percent )

Definition at line 879 of file pine_strategy_host.cpp.

References adapter_.

◆ set_pine_risk_max_intraday_filled_orders()

void pineforge::source::PineStrategyHost::set_pine_risk_max_intraday_filled_orders ( int limit)

Definition at line 883 of file pine_strategy_host.cpp.

References adapter_.

◆ set_pine_risk_max_position_size()

void pineforge::source::PineStrategyHost::set_pine_risk_max_position_size ( double value)

Definition at line 887 of file pine_strategy_host.cpp.

References adapter_.

◆ strategy_entry()

void pineforge::source::PineStrategyHost::strategy_entry ( const std::string & id,
bool is_long,
double limit_price = std::numeric_limits<double>::quiet_NaN(),
double stop_price = std::numeric_limits<double>::quiet_NaN(),
double qty = std::numeric_limits<double>::quiet_NaN(),
const std::string & comment = {},
const std::string & oca_name = {},
int oca_type = 0,
int qty_type = -1 )

Definition at line 25 of file pine_strategy_commands.cpp.

References adapter_, and config_.

◆ strategy_close() [1/2]

void pineforge::source::PineStrategyHost::strategy_close ( const std::string & id,
const std::string & comment = {},
double qty = std::numeric_limits<double>::quiet_NaN(),
double qty_percent = std::numeric_limits<double>::quiet_NaN(),
bool immediately = false )

Definition at line 37 of file pine_strategy_commands.cpp.

References adapter_, and config_.

◆ strategy_close() [2/2]

void pineforge::source::PineStrategyHost::strategy_close ( const std::string & id,
const std::string & comment,
double qty,
double qty_percent,
bool immediately,
std::uint64_t callsite_token )

Definition at line 43 of file pine_strategy_commands.cpp.

References adapter_, and config_.

◆ strategy_close_all()

void pineforge::source::PineStrategyHost::strategy_close_all ( )

Definition at line 52 of file pine_strategy_commands.cpp.

References adapter_, and config_.

◆ strategy_exit()

void pineforge::source::PineStrategyHost::strategy_exit ( const std::string & id,
const std::string & from_entry,
double limit_price,
double stop_price,
double trail_points = std::numeric_limits<double>::quiet_NaN(),
double trail_offset = std::numeric_limits<double>::quiet_NaN(),
double trail_price = std::numeric_limits<double>::quiet_NaN(),
double qty_percent = 100.0,
const std::string & comment = {},
double qty = std::numeric_limits<double>::quiet_NaN(),
const std::string & oca_name = {},
double profit_ticks = std::numeric_limits<double>::quiet_NaN(),
double loss_ticks = std::numeric_limits<double>::quiet_NaN() )

Definition at line 59 of file pine_strategy_commands.cpp.

References adapter_, and config_.

◆ strategy_exit_cancel_bracket()

void pineforge::source::PineStrategyHost::strategy_exit_cancel_bracket ( const std::string & exit_id,
const std::string & from_entry,
const std::string & comment = {} )

Definition at line 74 of file pine_strategy_commands.cpp.

References adapter_, and config_.

◆ strategy_cancel()

void pineforge::source::PineStrategyHost::strategy_cancel ( const std::string & id)

Definition at line 83 of file pine_strategy_commands.cpp.

References adapter_, and config_.

◆ strategy_cancel_all()

void pineforge::source::PineStrategyHost::strategy_cancel_all ( )

Definition at line 88 of file pine_strategy_commands.cpp.

References adapter_, and config_.

◆ strategy_order()

void pineforge::source::PineStrategyHost::strategy_order ( const std::string & id,
bool is_long,
double qty,
double limit_price = std::numeric_limits<double>::quiet_NaN(),
double stop_price = std::numeric_limits<double>::quiet_NaN(),
const std::string & oca_name = {},
int oca_type = 0 )

Definition at line 93 of file pine_strategy_commands.cpp.

References adapter_, and config_.

◆ pine_bar_index()

int pineforge::source::PineStrategyHost::pine_bar_index ( ) const

Definition at line 891 of file pine_strategy_host.cpp.

References scheduler_, and source_bar_index_.

◆ pine_last_bar_index()

int pineforge::source::PineStrategyHost::pine_last_bar_index ( ) const

Definition at line 895 of file pine_strategy_host.cpp.

References scheduler_, and source_last_bar_index_.

◆ prev_chart_close()

double pineforge::source::PineStrategyHost::prev_chart_close ( ) const

Definition at line 987 of file pine_strategy_host.cpp.

References scheduler_.

◆ is_first_tick()

bool pineforge::source::PineStrategyHost::is_first_tick ( ) const
noexcept

Definition at line 899 of file pine_strategy_host.cpp.

References scheduler_.

◆ is_last_tick()

bool pineforge::source::PineStrategyHost::is_last_tick ( ) const
noexcept

Definition at line 903 of file pine_strategy_host.cpp.

References scheduler_.

◆ history_advances_new_bar()

bool pineforge::source::PineStrategyHost::history_advances_new_bar ( ) const
noexcept

Definition at line 982 of file pine_strategy_host.cpp.

References scheduler_.

◆ security_series_slot_is_new()

bool pineforge::source::PineStrategyHost::security_series_slot_is_new ( int sec_id) const
noexcept

◆ last_bar_dual_entry_path()

int pineforge::source::PineStrategyHost::last_bar_dual_entry_path ( ) const

Definition at line 991 of file pine_strategy_host.cpp.

References adapter_.

◆ live_position_size()

double pineforge::source::PineStrategyHost::live_position_size ( ) const
override

Definition at line 1023 of file pine_strategy_host.cpp.

◆ pending_order_count()

int pineforge::source::PineStrategyHost::pending_order_count ( ) const

Definition at line 1027 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ market_admission_journal() [1/2]

MarketAdmissionJournal & pineforge::source::PineStrategyHost::market_admission_journal ( )

Definition at line 1031 of file pine_strategy_host.cpp.

References adapter_.

◆ market_admission_journal() [2/2]

const MarketAdmissionJournal & pineforge::source::PineStrategyHost::market_admission_journal ( ) const

Definition at line 1035 of file pine_strategy_host.cpp.

References adapter_.

◆ market_admission_fields()

std::vector< admission::Field > pineforge::source::PineStrategyHost::market_admission_fields ( ) const

Definition at line 1039 of file pine_strategy_host.cpp.

References adapter_.

◆ probe_fill_qty()

int pineforge::source::PineStrategyHost::probe_fill_qty ( int index,
double fill_price,
double * qty,
int * close_only,
int * partition ) const

Definition at line 1047 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ pending_order_level_resolved()

int pineforge::source::PineStrategyHost::pending_order_level_resolved ( int index) const

Definition at line 1052 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ pending_order_effective_levels()

int pineforge::source::PineStrategyHost::pending_order_effective_levels ( int index,
double * stop,
double * limit,
double * trail_activation ) const

Definition at line 1056 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ pending_intent_view()

◆ short_seed_collision_role_v1()

int pineforge::source::PineStrategyHost::short_seed_collision_role_v1 ( native_order::RequestHandle handle) const
noexcept

Definition at line 1065 of file pine_strategy_host.cpp.

References adapter_.

◆ enable_pine_intraday_cap()

void pineforge::source::PineStrategyHost::enable_pine_intraday_cap ( )

Definition at line 1070 of file pine_strategy_host.cpp.

References adapter_.

◆ attach_pine_execution_adapter()

void pineforge::source::PineStrategyHost::attach_pine_execution_adapter ( )

Definition at line 1074 of file pine_strategy_host.cpp.

References adapter_.

◆ set_syminfo_metadata()

void pineforge::source::PineStrategyHost::set_syminfo_metadata ( const std::string & key,
double value )
override

◆ set_aux_security_feed()

bool pineforge::source::PineStrategyHost::set_aux_security_feed ( const Bar * bars,
int n,
const std::string & input_tf )
override

◆ source_aux_security_feed_enabled()

bool pineforge::source::PineStrategyHost::source_aux_security_feed_enabled ( ) const
override

Definition at line 59 of file pine_aux_security.cpp.

References aux_security_bars_.

◆ source_aux_security_input_view()

void pineforge::source::PineStrategyHost::source_aux_security_input_view ( const Bar *& bars,
int & n ) const
override

Definition at line 63 of file pine_aux_security.cpp.

References aux_security_bars_.

◆ observe_last_bar_dual_entry_path_v1()

int pineforge::source::PineStrategyHost::observe_last_bar_dual_entry_path_v1 ( ) const
override

Definition at line 1112 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ observe_pending_count_v1()

int pineforge::source::PineStrategyHost::observe_pending_count_v1 ( ) const
override

Definition at line 1116 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ observe_pending_copy_v1()

int pineforge::source::PineStrategyHost::observe_pending_copy_v1 ( int index,
pf_pending_order_v1_t * out ) const
override

Definition at line 1120 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ observe_probe_fill_qty()

int pineforge::source::PineStrategyHost::observe_probe_fill_qty ( int index,
double fill_price,
double * qty,
int * close_only,
int * partition ) const
override

Definition at line 1125 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ observe_pending_level_resolved()

int pineforge::source::PineStrategyHost::observe_pending_level_resolved ( int index) const
override

Definition at line 1130 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ observe_pending_effective_levels()

int pineforge::source::PineStrategyHost::observe_pending_effective_levels ( int index,
double * stop,
double * limit,
double * trail_activation ) const
override

Definition at line 1134 of file pine_strategy_host.cpp.

References pending_intent_view().

◆ observe_trail_best_price_v1()

double pineforge::source::PineStrategyHost::observe_trail_best_price_v1 ( ) const
override

Definition at line 1139 of file pine_strategy_host.cpp.

References adapter_.

◆ set_margin_call_enabled()

void pineforge::source::PineStrategyHost::set_margin_call_enabled ( bool enabled)
inline

Definition at line 423 of file pine_strategy_host.hpp.

References margin_call_enabled_.

◆ margin_call_enabled()

bool pineforge::source::PineStrategyHost::margin_call_enabled ( ) const
inline

Definition at line 427 of file pine_strategy_host.hpp.

References margin_call_enabled_.

◆ set_realtime_tail()

bool pineforge::source::PineStrategyHost::set_realtime_tail ( bool on,
int horizon_bars )
inlineoverride

Definition at line 445 of file pine_strategy_host.hpp.

References realtime_tail_, and realtime_tail_horizon_bars_.

◆ realtime_tail()

bool pineforge::source::PineStrategyHost::realtime_tail ( ) const
inline

Definition at line 451 of file pine_strategy_host.hpp.

References realtime_tail_.

◆ set_probe_suppress_tail_logic()

bool pineforge::source::PineStrategyHost::set_probe_suppress_tail_logic ( bool on)
inlineoverride

Definition at line 471 of file pine_strategy_host.hpp.

References probe_suppress_tail_logic_.

◆ probe_suppress_tail_logic()

bool pineforge::source::PineStrategyHost::probe_suppress_tail_logic ( ) const
inline

Definition at line 476 of file pine_strategy_host.hpp.

References probe_suppress_tail_logic_.

Referenced by pineforge::source::PineScheduler::bar().

◆ fixture_configuration() [1/2]

PineStrategyConfig & pineforge::source::PineStrategyHost::fixture_configuration ( )
inlineprotectednoexcept

Definition at line 482 of file pine_strategy_host.hpp.

References config_.

◆ fixture_configuration() [2/2]

const PineStrategyConfig & pineforge::source::PineStrategyHost::fixture_configuration ( ) const
inlineprotectednoexcept

Definition at line 483 of file pine_strategy_host.hpp.

References config_.

◆ fixture_intraday_cap_latched()

bool pineforge::source::PineStrategyHost::fixture_intraday_cap_latched ( )
protected

◆ fixture_cap_clock()

◆ fixture_cap_calculation()

◆ fixture_chart_time()

source::PineStrategyHost::BarTime pineforge::source::PineStrategyHost::fixture_chart_time ( std::int64_t timestamp_ms) const
protected

Definition at line 940 of file pine_strategy_host.cpp.

Referenced by fixture_cap_clock().

◆ fixture_chart_day_key()

std::int64_t pineforge::source::PineStrategyHost::fixture_chart_day_key ( std::int64_t timestamp_ms) const
inlineprotectednoexcept

Definition at line 488 of file pine_strategy_host.hpp.

References adapter_.

◆ fixture_applied_receipt_count()

std::uint64_t pineforge::source::PineStrategyHost::fixture_applied_receipt_count ( ) const
protected

Definition at line 970 of file pine_strategy_host.cpp.

◆ fixture_cap_due_pending()

bool pineforge::source::PineStrategyHost::fixture_cap_due_pending ( ) const
inlineprotectednoexcept

Definition at line 492 of file pine_strategy_host.hpp.

References adapter_.

◆ fixture_default_qty_type_slot()

FixtureQtyTypeSlot pineforge::source::PineStrategyHost::fixture_default_qty_type_slot ( )
inlineprotectednoexcept

Definition at line 508 of file pine_strategy_host.hpp.

◆ fixture_commission_type_slot()

FixtureCommissionTypeSlot pineforge::source::PineStrategyHost::fixture_commission_type_slot ( )
inlineprotectednoexcept

Definition at line 524 of file pine_strategy_host.hpp.

◆ fixture_risk_direction_slot()

FixtureRiskDirectionSlot pineforge::source::PineStrategyHost::fixture_risk_direction_slot ( )
inlineprotectednoexcept

Definition at line 537 of file pine_strategy_host.hpp.

◆ source_id_ledger_view()

SourceIdLedgerView pineforge::source::PineStrategyHost::source_id_ledger_view ( ) const
inlineprotectednoexcept

Definition at line 570 of file pine_strategy_host.hpp.

◆ signed_position_size()

double pineforge::source::PineStrategyHost::signed_position_size ( ) const
protected

Definition at line 995 of file pine_strategy_host.cpp.

References scheduler_.

◆ freeze_script_position_view()

void pineforge::source::PineStrategyHost::freeze_script_position_view ( )
protected

Definition at line 999 of file pine_strategy_host.cpp.

References scheduler_.

◆ clear_script_position_view()

void pineforge::source::PineStrategyHost::clear_script_position_view ( )
protected

Definition at line 1004 of file pine_strategy_host.cpp.

References scheduler_.

◆ source_series()

const Series< double > & pineforge::source::PineStrategyHost::source_series ( const std::string & key) const
protected

Definition at line 1008 of file pine_strategy_host.cpp.

References scheduler_.

◆ source_input_series()

const Series< double > & pineforge::source::PineStrategyHost::source_input_series ( const std::string & key,
const Series< double > & fallback ) const
protected

Definition at line 1012 of file pine_strategy_host.cpp.

References scheduler_.

Referenced by get_input_source().

◆ get_input_source()

const Series< double > & pineforge::source::PineStrategyHost::get_input_source ( const std::string & key,
const Series< double > & fallback ) const
inlineprotected

Definition at line 580 of file pine_strategy_host.hpp.

References source_input_series().

◆ margin_liquidation_price()

double pineforge::source::PineStrategyHost::margin_liquidation_price ( ) const
protected

Definition at line 170 of file pine_strategy_host.cpp.

◆ fixture_publish_source_series()

void pineforge::source::PineStrategyHost::fixture_publish_source_series ( const Bar & bar,
bool new_history_slot )
inlineprotected

Definition at line 587 of file pine_strategy_host.hpp.

References scheduler_.

◆ time_close()

int64_t pineforge::source::PineStrategyHost::time_close ( ) const
inlineprotected

Definition at line 590 of file pine_strategy_host.hpp.

References pineforge::pine_time_close().

◆ pine_session_ismarket()

bool pineforge::source::PineStrategyHost::pine_session_ismarket ( const std::string & session,
const std::string & timezone,
std::int64_t bar_ms ) const
inlineprotected

Definition at line 598 of file pine_strategy_host.hpp.

References pineforge::pine_session_ismarket().

◆ pine_session_ispremarket()

bool pineforge::source::PineStrategyHost::pine_session_ispremarket ( const std::string & session,
const std::string & timezone,
std::int64_t bar_ms ) const
inlineprotected

Definition at line 603 of file pine_strategy_host.hpp.

References pineforge::pine_session_ispremarket().

◆ pine_session_ispostmarket()

bool pineforge::source::PineStrategyHost::pine_session_ispostmarket ( const std::string & session,
const std::string & timezone,
std::int64_t bar_ms ) const
inlineprotected

Definition at line 608 of file pine_strategy_host.hpp.

References pineforge::pine_session_ispostmarket().

◆ source_pending_view()

const std::vector< source::PineStrategyHost::FixtureIntentRow > & pineforge::source::PineStrategyHost::source_pending_view ( ) const
protected

Definition at line 1163 of file pine_strategy_host.cpp.

References adapter_, pineforge::source::PineStrategyHost::FixtureIntentRow::affordability_placement_equity, pineforge::admission::market_admission_v2::Draft::bind(), pineforge::source::PlacementSnapshot::birth, pineforge::OrderBirth::cause(), pineforge::OrderBirth::chart_evaluation(), pineforge::source::Close, pineforge::source::CloseAll, pineforge::source::PlacementSnapshot::command_ordinal, config_, pineforge::source::PineStrategyHost::FixtureIntentRow::created_bar, pineforge::source::PineStrategyHost::FixtureIntentRow::created_seq, pineforge::source::PineStrategyHost::FixtureIntentRow::default_stop_placement_equity, pineforge::source::PineStrategyHost::FixtureIntentRow::default_stop_placement_qty, pineforge::source::PineStrategyHost::FixtureIntentRow::default_stop_placement_signal_close, pineforge::source::PineStrategyHost::FixtureIntentRow::default_stop_sizing_price, pineforge::source::Entry, pineforge::source::PineSizingSnapshot::equity, pineforge::source::PlacementSnapshot::exit_levels, pineforge::source::ExitLimit, pineforge::source::ExitStop, pineforge::source::ExitTrail, pineforge::source::PlacementSnapshot::family, pineforge::FLAT, pineforge::source::PineStrategyHost::FixtureIntentRow::from_entry, pineforge::source::PlacementSnapshot::from_entry, pineforge::source::PineStrategyHost::FixtureIntentRow::frozen_default_qty, pineforge::source::PlacementSnapshot::frozen_market_instruction, pineforge::source::PineStrategyHost::FixtureIntentRow::frozen_market_own_units, pineforge::source::PlacementSnapshot::frozen_market_own_units, pineforge::source::PlacementSnapshot::frozen_market_targeted_close, pineforge::source::PineStrategyHost::FixtureIntentRow::frozen_market_transaction_units, pineforge::source::PlacementSnapshot::frozen_market_transaction_units, pineforge::source::PineSizingSnapshot::frozen_units, pineforge::source::PineSizingSnapshot::fx, pineforge::source::PineStrategyHost::FixtureIntentRow::id, pineforge::source::PineStrategyHost::FixtureIntentRow::incarnation, pineforge::source::PineStrategyHost::FixtureIntentRow::is_long, pineforge::source::PlacementSnapshot::is_long, pineforge::source::PineExitLevels::limit, pineforge::source::Margin, pineforge::source::PineSizingSnapshot::mark, pineforge::source::PineStrategyHost::FixtureIntentRow::market_admission, pineforge::source::PlacementSnapshot::market_admission, pineforge::admission::market_admission_v2::Draft::observation(), pineforge::source::PlacementSnapshot::oca_name, pineforge::source::PlacementSnapshot::oca_type, pineforge::source::Order, pineforge::source::PineStrategyHost::FixtureIntentRow::over_pyramiding_cap_at_placement, pineforge::source::PineStrategyHost::FixtureIntentRow::paired_flat_market_peer_seq, pineforge::source::PineStrategyHost::FixtureIntentRow::paired_flat_market_transaction_qty, pineforge::PERCENT_OF_EQUITY, pineforge::source::PlacementSnapshot::placement_cycle, pineforge::source::PineSizingSnapshot::price, pineforge::source::PlacementSnapshot::projection_affordability_equity, pineforge::source::PlacementSnapshot::projection_created_bar, pineforge::source::PlacementSnapshot::projection_default_stop_equity, pineforge::source::PlacementSnapshot::projection_default_stop_signal_close, pineforge::source::PlacementSnapshot::projection_over_pyramiding, pineforge::source::PlacementSnapshot::projection_remaining_qty, pineforge::source::PineStrategyHost::FixtureIntentRow::qty, pineforge::source::PineStrategyHost::FixtureIntentRow::qty_percent, pineforge::source::PlacementSnapshot::qty_percent, pineforge::source::PlacementSnapshot::qty_type, pineforge::source::PlacementSnapshot::requested_qty, pineforge::source::Risk, pineforge::source::PlacementSnapshot::sizing, source_bar_index_, pineforge::source::PlacementSnapshot::source_id, source_pending_view_cache_, pineforge::source::PlacementSnapshot::source_sequence, pineforge::source::PineExitLevels::stop, pineforge::source::PineStrategyHost::FixtureIntentRow::type, and pineforge::Unattributed.

◆ register_security_eval()

◆ register_security_lower_tf_eval()

void pineforge::source::PineStrategyHost::register_security_lower_tf_eval ( int sec_id,
const std::string & requested_tf,
const std::string & input_tf )
protected

Definition at line 96 of file pine_security_eval.cpp.

References register_security_eval().

◆ security_lower_tf_sub_bar_index()

int pineforge::source::PineStrategyHost::security_lower_tf_sub_bar_index ( int sec_id) const
protected

Definition at line 126 of file pine_security_eval.cpp.

◆ validate_security_timeframes()

◆ source_stream_entry_comment()

void pineforge::source::PineStrategyHost::source_stream_entry_comment ( const PyramidEntry & ,
std::string &  ) const
overrideprotected

Definition at line 1310 of file pine_strategy_host.cpp.

◆ hash_host_extension()

◆ hash_source_extension()

void pineforge::source::PineStrategyHost::hash_source_extension ( BrokerStateHashSink & sink) const
inlinefinalprotected

Definition at line 648 of file pine_strategy_host.hpp.

References hash_host_extension().

◆ apply_realtime_tail_horizon()

void pineforge::source::PineStrategyHost::apply_realtime_tail_horizon ( const Bar * bars,
int n,
bool script_bar_geometry )
protected

Field Documentation

◆ adapter_

◆ position_close_obligation_

SourceCloseObligationView pineforge::source::PineStrategyHost::position_close_obligation_ {adapter_}
protected

Definition at line 792 of file pine_strategy_host.hpp.

◆ config_

◆ override_

StrategyOverrides pineforge::source::PineStrategyHost::override_ {}
protected

Definition at line 794 of file pine_strategy_host.hpp.

Referenced by hash_host_extension(), and set_strategy_override().

◆ scheduler_

◆ _src_series_active_

bool& pineforge::source::PineStrategyHost::_src_series_active_
protected

Definition at line 798 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ _src_open_

Series<double>& pineforge::source::PineStrategyHost::_src_open_
protected

Definition at line 799 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ _src_high_

Series<double>& pineforge::source::PineStrategyHost::_src_high_
protected

Definition at line 800 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ _src_low_

Series<double>& pineforge::source::PineStrategyHost::_src_low_
protected

Definition at line 801 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ _src_close_

Series<double>& pineforge::source::PineStrategyHost::_src_close_
protected

Definition at line 802 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ _src_volume_

Series<double>& pineforge::source::PineStrategyHost::_src_volume_
protected

Definition at line 803 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ _src_hl2_

Series<double>& pineforge::source::PineStrategyHost::_src_hl2_
protected

Definition at line 804 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ _src_hlc3_

Series<double>& pineforge::source::PineStrategyHost::_src_hlc3_
protected

Definition at line 805 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ _src_ohlc4_

Series<double>& pineforge::source::PineStrategyHost::_src_ohlc4_
protected

Definition at line 806 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ _src_hlcc4_

Series<double>& pineforge::source::PineStrategyHost::_src_hlcc4_
protected

Definition at line 807 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ is_last_tick_

const bool& pineforge::source::PineStrategyHost::is_last_tick_
protected

Definition at line 808 of file pine_strategy_host.hpp.

Referenced by PineStrategyHost().

◆ source_bar_index_

int pineforge::source::PineStrategyHost::source_bar_index_ = -1
protected

◆ source_last_bar_index_

int pineforge::source::PineStrategyHost::source_last_bar_index_ = -1
protected

Definition at line 810 of file pine_strategy_host.hpp.

Referenced by on_native_bar(), on_native_run_begin(), and pine_last_bar_index().

◆ source_callback_count_

std::uint64_t pineforge::source::PineStrategyHost::source_callback_count_ = 0
protected

Definition at line 811 of file pine_strategy_host.hpp.

Referenced by hash_host_extension(), and on_native_run_begin().

◆ source_configuration_captured_

bool pineforge::source::PineStrategyHost::source_configuration_captured_ = false
protected

◆ source_prepare_failed_

bool pineforge::source::PineStrategyHost::source_prepare_failed_ = false
protected

◆ aux_security_bars_

std::vector<Bar> pineforge::source::PineStrategyHost::aux_security_bars_
protected

◆ aux_security_input_tf_

std::string pineforge::source::PineStrategyHost::aux_security_input_tf_
protected

Definition at line 816 of file pine_strategy_host.hpp.

Referenced by hash_host_extension(), and set_aux_security_feed().

◆ aux_security_chart_begin_

std::vector<std::size_t> pineforge::source::PineStrategyHost::aux_security_chart_begin_
protected

Definition at line 817 of file pine_strategy_host.hpp.

Referenced by hash_host_extension().

◆ aux_security_chart_end_

std::vector<std::size_t> pineforge::source::PineStrategyHost::aux_security_chart_end_
protected

Definition at line 818 of file pine_strategy_host.hpp.

Referenced by hash_host_extension().

◆ pine_security_states_

std::map<int, PineSecurityEvalState> pineforge::source::PineStrategyHost::pine_security_states_
protected

◆ margin_call_enabled_

bool pineforge::source::PineStrategyHost::margin_call_enabled_ = true
protected

◆ realtime_tail_

bool pineforge::source::PineStrategyHost::realtime_tail_ = false
protected

◆ realtime_tail_horizon_bars_

int pineforge::source::PineStrategyHost::realtime_tail_horizon_bars_ = 0
protected

Definition at line 838 of file pine_strategy_host.hpp.

Referenced by apply_realtime_tail_horizon(), and set_realtime_tail().

◆ probe_suppress_tail_logic_

bool pineforge::source::PineStrategyHost::probe_suppress_tail_logic_ = false
protected

◆ chart_ema_na_warmup_

bool pineforge::source::PineStrategyHost::chart_ema_na_warmup_ = false
protected

Definition at line 866 of file pine_strategy_host.hpp.

Referenced by set_syminfo_metadata().

◆ security_range_start_na_warmup_

bool pineforge::source::PineStrategyHost::security_range_start_na_warmup_ = false
protected

Definition at line 877 of file pine_strategy_host.hpp.

Referenced by set_syminfo_metadata().

◆ security_range_start_ms_

int64_t pineforge::source::PineStrategyHost::security_range_start_ms_ = 0
protected

Definition at line 878 of file pine_strategy_host.hpp.

Referenced by set_syminfo_metadata().

◆ security_first_chart_bar_ms_

int64_t pineforge::source::PineStrategyHost::security_first_chart_bar_ms_ = 0
protected

Definition at line 902 of file pine_strategy_host.hpp.

◆ security_calling_close_ms_

int64_t pineforge::source::PineStrategyHost::security_calling_close_ms_ = 0
protected

Definition at line 911 of file pine_strategy_host.hpp.

◆ historical_security_lookahead_projection_

bool pineforge::source::PineStrategyHost::historical_security_lookahead_projection_ = false
protected

Definition at line 918 of file pine_strategy_host.hpp.

Referenced by set_syminfo_metadata().

◆ historical_security_lookahead_projection_active_

bool pineforge::source::PineStrategyHost::historical_security_lookahead_projection_active_ = false
protected

Definition at line 919 of file pine_strategy_host.hpp.

◆ security_history_publication_replay_

bool pineforge::source::PineStrategyHost::security_history_publication_replay_ = false
protected

Definition at line 926 of file pine_strategy_host.hpp.

Referenced by security_series_slot_is_new().

◆ source_pending_view_cache_

std::vector<FixtureIntentRow> pineforge::source::PineStrategyHost::source_pending_view_cache_
mutableprotected

Definition at line 929 of file pine_strategy_host.hpp.

Referenced by source_pending_view().

◆ excursion_priced_fill_

bool pineforge::source::PineStrategyHost::excursion_priced_fill_ = false
mutableprotected

◆ excursion_level_fill_

bool pineforge::source::PineStrategyHost::excursion_level_fill_ = false
mutableprotected

◆ excursion_margin_call_

bool pineforge::source::PineStrategyHost::excursion_margin_call_ = false
mutableprotected

◆ excursion_margin_prefix_

bool pineforge::source::PineStrategyHost::excursion_margin_prefix_ = false
mutableprotected

◆ excursion_margin_fill_only_

bool pineforge::source::PineStrategyHost::excursion_margin_fill_only_ = false
mutableprotected

◆ excursion_range_end_projection_

bool pineforge::source::PineStrategyHost::excursion_range_end_projection_ = false
mutableprotected

Definition at line 947 of file pine_strategy_host.hpp.

Referenced by closed_lot_excursion().

◆ excursion_trail_offset_ticks_

double pineforge::source::PineStrategyHost::excursion_trail_offset_ticks_
mutableprotected
Initial value:
=
std::numeric_limits<double>::quiet_NaN()

Definition at line 948 of file pine_strategy_host.hpp.

Referenced by closed_lot_excursion(), on_native_applied(), and validate_execution_precommit().

◆ precommit_held_units_

double pineforge::source::PineStrategyHost::precommit_held_units_
mutableprotected
Initial value:
=
std::numeric_limits<double>::quiet_NaN()

Definition at line 952 of file pine_strategy_host.hpp.

Referenced by on_native_applied(), and validate_execution_precommit().

◆ excursion_trail_raw_price_

double pineforge::source::PineStrategyHost::excursion_trail_raw_price_
mutableprotected
Initial value:
=
std::numeric_limits<double>::quiet_NaN()

Definition at line 958 of file pine_strategy_host.hpp.

Referenced by closed_lot_excursion(), hash_host_extension(), on_native_applied(), and validate_execution_precommit().


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