|
PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
|
#include <pine_scheduler.hpp>
Data Structures | |
| class | InputView |
| struct | InputWaypoint |
Public Member Functions | |
| PineScheduler () | |
| ~PineScheduler () | |
| void | capture_begin (const NativeBeginArgs &) |
| void | release_batch_input () noexcept |
| void | run_begin (PineStrategyHost &) |
| void | input (const Bar &, const NativeInputContext &, PineStrategyHost &) |
| void | tick (const Bar &, const NativeTickContext &, PineStrategyHost &) |
| void | bar_open (const Bar &, const NativeDecisionContext &, PineStrategyHost &) |
| void | bar (const Bar &, const NativeDecisionContext &, PineStrategyHost &) |
| void | applied (const native_order::ExecutionAppliedEvent &) |
| bool | coof_recalculation_due (const native_order::ExecutionAppliedEvent &, const NativeDecisionContext &, PineStrategyHost &) const |
| void | recalculate (const native_order::ExecutionAppliedEvent &, const NativeDecisionContext &, PineStrategyHost &) |
| PineLanguageState & | language () noexcept |
| bool | is_first_tick () const noexcept |
| bool | is_last_tick () const noexcept |
| bool | bar_magnifier_enabled () const noexcept |
| bool | history_advances_new_bar () const noexcept |
| bool | security_series_slot_is_new (int) const noexcept |
| double | previous_chart_close () const noexcept |
| int | bar_index_offset () const noexcept |
| void | set_bar_index_offset (int value) noexcept |
| void | set_source_series_active (bool value) noexcept |
| double | script_position_view (int bar_index, PositionSide side, double quantity) const noexcept |
| void | freeze_script_position_view (int bar_index, PositionSide side, double quantity, const std::vector< PyramidEntry > &lots) |
| void | clear_script_position_view () noexcept |
| const Series< double > & | source_series (const std::string &) const |
| void | fixture_publish_source_series (const Bar &, bool new_history_slot) |
| int | source_bar_count () const noexcept |
| std::optional< Bar > | next_source_bar (int interval_index) const |
| std::optional< Bar > | retained_input_from (int input_index, std::int64_t at_or_after) const |
| bool | retains_stream () const noexcept |
| bool | input_is_observed_ticks () const noexcept |
| void | retain_confirmed_input (const Bar &bar, std::int64_t script_open_ms=std::numeric_limits< std::int64_t >::min()) noexcept |
| std::size_t | confirmed_input_count () const noexcept |
| std::optional< Bar > | confirmed_input_bar_at (std::int64_t timestamp) const noexcept |
| InputView | retained_input () const noexcept |
| bool | retained_input_is_chart () const noexcept |
| std::optional< std::int64_t > | last_published_script_open () const noexcept |
| bool | terminal_source_bar () const noexcept |
| int | source_bar_index_for (const NativeDecisionContext &context) const noexcept |
| std::optional< InputWaypoint > | next_input_waypoint (const PineStrategyHost &, const NativeDecisionContext &) const noexcept |
| const Bar * | current_script_bar () const noexcept |
| const Bar * | lower_path_bar_at (const PineStrategyHost &host, const NativeDecisionContext &context) const noexcept |
| void | sub_bar_complete () noexcept |
| std::optional< Bar > | broker_bar (const PineStrategyHost &host, const NativeDecisionContext &context) const |
| void | hash_state (BrokerStateHashSink &) const |
Static Public Member Functions | |
| static bool | confirmed_script_interval_complete (const NativeInputContext &context) noexcept |
Definition at line 26 of file pine_scheduler.hpp.
|
default |
|
default |
| void pineforge::source::PineScheduler::capture_begin | ( | const NativeBeginArgs & | args | ) |
Definition at line 22 of file pine_scheduler_native.cpp.
References pineforge::engine_script_run_v19::NativeBeginArgs::bar_magnifier, pineforge::engine_script_run_v19::NativeBeginArgs::bars, pineforge::engine_script_run_v19::NativeBeginArgs::input_tf, pineforge::engine_script_run_v19::NativeBeginArgs::is_stream, pineforge::engine_script_run_v19::NativeBeginArgs::magnifier_distribution, pineforge::engine_script_run_v19::NativeBeginArgs::magnifier_samples, pineforge::engine_script_run_v19::NativeBeginArgs::magnifier_volume_weighted, pineforge::engine_script_run_v19::NativeBeginArgs::magnifier_volume_weighted_max_samples, pineforge::engine_script_run_v19::NativeBeginArgs::magnifier_volume_weighted_min_samples, pineforge::engine_script_run_v19::NativeBeginArgs::n, pineforge::engine_script_run_v19::NativeBeginArgs::script_tf, pineforge::engine_script_run_v19::NativeBeginArgs::simple_run, and pineforge::engine_script_run_v19::NativeBeginArgs::warmup_n.
|
noexcept |
Definition at line 48 of file pine_scheduler_native.cpp.
| void pineforge::source::PineScheduler::run_begin | ( | PineStrategyHost & | host | ) |
Definition at line 191 of file pine_scheduler_native.cpp.
References pineforge::tf_ratio().
| void pineforge::source::PineScheduler::input | ( | const Bar & | bar, |
| const NativeInputContext & | context, | ||
| PineStrategyHost & | host ) |
Definition at line 454 of file pine_scheduler_native.cpp.
References bar(), pineforge::engine_script_run_v19::NativeInputContext::completes_script_interval, confirmed_script_interval_complete(), pineforge::engine_script_run_v19::NativeInputContext::input_index, pineforge::native_calendar::native_calendar_v2::NativeInterval::open_ms, retain_confirmed_input(), retained_input(), pineforge::engine_script_run_v19::NativeInputContext::script_interval, and pineforge::tf_change().
| void pineforge::source::PineScheduler::tick | ( | const Bar & | bar, |
| const NativeTickContext & | context, | ||
| PineStrategyHost & | host ) |
Definition at line 585 of file pine_scheduler_native.cpp.
References bar(), pineforge::engine_script_run_v19::NativeTickContext::decision, pineforge::native_driver_v5::NativeDecisionContext::input_interval, pineforge::native_calendar::native_calendar_v2::NativeInterval::next_period_open_ms, pineforge::native_calendar::native_calendar_v2::NativeInterval::open_ms, and pineforge::native_driver_v5::NativeDecisionContext::script_interval.
| void pineforge::source::PineScheduler::bar_open | ( | const Bar & | value, |
| const NativeDecisionContext & | context, | ||
| PineStrategyHost & | host ) |
Definition at line 606 of file pine_scheduler_native.cpp.
References pineforge::native_driver_v5::NativeDecisionContext::script_bar_open_ms.
| void pineforge::source::PineScheduler::bar | ( | const Bar & | value, |
| const NativeDecisionContext & | context, | ||
| PineStrategyHost & | host ) |
Definition at line 622 of file pine_scheduler_native.cpp.
References pineforge::calendar_period_for(), pineforge::native_driver_v5::NativeDecisionContext::coordinate, pineforge::DAY, pineforge::native_driver_v5::NativeCoordinate::input_interval_index, pineforge::native_driver_v5::NativeDecisionContext::is_terminal_sub_bar, pineforge::source::detail::run_spec(), pineforge::native_driver_v5::NativeDecisionContext::script_bar_open_ms, pineforge::session_period_open_ms(), terminal_source_bar(), pineforge::tf_to_seconds(), and pineforge::Bar::timestamp.
Referenced by broker_bar(), fixture_publish_source_series(), hash_state(), input(), lower_path_bar_at(), retain_confirmed_input(), and tick().
| void pineforge::source::PineScheduler::applied | ( | const native_order::ExecutionAppliedEvent & | event | ) |
Definition at line 728 of file pine_scheduler_native.cpp.
References pineforge::native_order::native_order_v8::ExecutionAppliedEvent::ordinal.
| bool pineforge::source::PineScheduler::coof_recalculation_due | ( | const native_order::ExecutionAppliedEvent & | event, |
| const NativeDecisionContext & | context, | ||
| PineStrategyHost & | host ) const |
Definition at line 733 of file pine_scheduler_native.cpp.
References pineforge::native_driver_v5::NativeDecisionContext::coordinate, pineforge::native_order::native_order_v8::ExecutionAppliedEvent::ordinal, pineforge::native_driver_v5::NativeCoordinate::path_phase, and pineforge::native_driver_v5::NativeCoordinate::provenance.
| void pineforge::source::PineScheduler::recalculate | ( | const native_order::ExecutionAppliedEvent & | event, |
| const NativeDecisionContext & | context, | ||
| PineStrategyHost & | host ) |
Definition at line 767 of file pine_scheduler_native.cpp.
References pineforge::native_driver_v5::NativeDecisionContext::coordinate, pineforge::native_driver_v5::NativeCoordinate::input_interval_index, pineforge::source::kCoofLoopGuard, lower_path_bar_at(), pineforge::native_driver_v5::NativeCoordinate::path_phase, pineforge::recalc_cap, pineforge::source::detail::run_spec(), pineforge::native_driver_v5::NativeDecisionContext::script_bar_open_ms, and pineforge::Bar::timestamp.
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 76 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 77 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 78 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 79 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 82 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 85 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 86 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 87 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 88 of file pine_scheduler.hpp.
|
noexcept |
Definition at line 404 of file pine_scheduler_native.cpp.
References pineforge::bar_index, pineforge::LONG, and pineforge::SHORT.
| void pineforge::source::PineScheduler::freeze_script_position_view | ( | int | bar_index, |
| PositionSide | side, | ||
| double | quantity, | ||
| const std::vector< PyramidEntry > & | lots ) |
Definition at line 418 of file pine_scheduler_native.cpp.
References pineforge::bar_index.
|
noexcept |
Definition at line 430 of file pine_scheduler_native.cpp.
| const Series< double > & pineforge::source::PineScheduler::source_series | ( | const std::string & | key | ) | const |
Definition at line 434 of file pine_scheduler_native.cpp.
References pineforge::engine_invariant.
| void pineforge::source::PineScheduler::fixture_publish_source_series | ( | const Bar & | bar, |
| bool | new_history_slot ) |
Definition at line 448 of file pine_scheduler_native.cpp.
References bar().
|
inlinenoexcept |
Definition at line 95 of file pine_scheduler.hpp.
References source_bar_count().
Referenced by source_bar_count().
|
inline |
Definition at line 96 of file pine_scheduler.hpp.
|
inline |
Definition at line 109 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 116 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 117 of file pine_scheduler.hpp.
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 154 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 155 of file pine_scheduler.hpp.
Referenced by broker_bar().
|
inlinestaticnoexcept |
Definition at line 166 of file pine_scheduler.hpp.
Referenced by input().
|
inlinenoexcept |
Definition at line 174 of file pine_scheduler.hpp.
Referenced by input().
|
inlinenoexcept |
Definition at line 175 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 180 of file pine_scheduler.hpp.
|
inlinenoexcept |
Definition at line 185 of file pine_scheduler.hpp.
Referenced by bar().
|
noexcept |
Definition at line 247 of file pine_scheduler_native.cpp.
|
noexcept |
Definition at line 305 of file pine_scheduler_native.cpp.
References pineforge::Bar::close, pineforge::Bar::high, pineforge::Bar::low, lower_path_bar_at(), pineforge::Bar::open, pineforge::price, pineforge::source::detail::run_consumer(), and pineforge::source::detail::run_spec().
|
inlinenoexcept |
Definition at line 202 of file pine_scheduler.hpp.
|
noexcept |
Definition at line 265 of file pine_scheduler_native.cpp.
References bar(), pineforge::native_run_spec_v3::NativeRunSpec::intrabar, pineforge::native_run_spec_v3::IntrabarPath::lower(), pineforge::source::detail::run_consumer(), and pineforge::source::detail::run_spec().
Referenced by broker_bar(), next_input_waypoint(), and recalculate().
|
noexcept |
Definition at line 290 of file pine_scheduler_native.cpp.
|
inline |
Definition at line 218 of file pine_scheduler.hpp.
References bar(), broker_bar(), confirmed_input_bar_at(), and lower_path_bar_at().
Referenced by broker_bar().
| void pineforge::source::PineScheduler::hash_state | ( | BrokerStateHashSink & | f | ) | const |
Definition at line 921 of file pine_state_hash.cpp.
References pineforge::engine_script_run_v19::BrokerStateHashSink::b(), bar(), pineforge::engine_script_run_v19::BrokerStateHashSink::d(), pineforge::engine_script_run_v19::BrokerStateHashSink::i(), pineforge::engine_script_run_v19::BrokerStateHashSink::s(), and pineforge::engine_script_run_v19::BrokerStateHashSink::u().