|
PineForge v0.13.1-379-g9b50973
Deterministic PineScript v6 backtest runtime — C ABI reference
|
Go to the source code of this file.
Data Structures | |
| struct | pf_native_decision_v1 |
| Where the kernel is, presented to every callback. More... | |
| struct | pf_native_applied_v1 |
One applied execution, presented to on_applied. More... | |
| struct | pf_native_event_v1 |
| One recorded event, read back by strategy_native_events_v1. More... | |
| struct | pf_native_working_v1 |
| One live request, copied out by strategy_native_working_get_v1. More... | |
| struct | pf_native_open_lot_v1 |
One open physical lot, copied out by strategy_native_open_lot_get_v1 — the C spelling of NativeOpenLot (R5 gap lane N18): the book that strategy_native_position_v1 aggregates, lot by lot, marked at the price strategy_native_open_lot_count_v1 was given. More... | |
| struct | pf_native_state_v1 |
| The run's lifecycle and its typed failure. More... | |
| struct | pf_native_trail_state_v1 |
The trail projection of strategy_native_trail_state_v1 — the C spelling of NativeTrailState. More... | |
| struct | pf_native_margin_view_v1 |
The facts one margin hook is handed — the C spelling of NativeMarginRequirementView, NativeMarginCheckPoint and NativeMarginCallView, which differ only in which of these facts they carry. More... | |
| struct | pf_native_margin_decision_v1 |
The host's answer to one requirement view — NativeMarginDecision. More... | |
| struct | pf_native_close_view_v1 |
| The facts a host-sized CLOSE is resolved from, handed to pf_native_callbacks_v1::on_close_units. More... | |
| struct | pf_native_lot_excursion_v1 |
One closing lot's booking facts — ClosedLotExcursionFacts (RULING A48). More... | |
| struct | pf_native_risk_state_v1 |
The run's generic risk ledger — the C spelling of NativeRiskState (L9). More... | |
| struct | pf_native_request_v1 |
| One order request. More... | |
| struct | pf_native_subscription_v1 |
| One declared higher-timeframe series of pf_native_run_spec_ext_v1. More... | |
| struct | pf_native_run_spec_ext_v1 |
| The run-specification fields pf_native_run_spec_v1 predates. More... | |
| struct | pf_native_callbacks_v1 |
| The C host's strategy logic. More... | |
Macros | |
| #define | PINEFORGE_HAS_NATIVE_C_API_V1 1 |
| Feature probe for the C-level native host API. | |
| #define | PF_NATIVE_API_VERSION 1 |
| Monotonic version of this header's native-C layouts. | |
| #define | PF_NATIVE_OK 0 |
| Success. | |
| #define | PF_NATIVE_E_HANDLE -1 |
| NULL handle, or not a C-callback native host. | |
| #define | PF_NATIVE_E_STRUCT -2 |
struct_size / version mismatch. | |
| #define | PF_NATIVE_E_TAG -3 |
| An enum field outside its enumeration. | |
| #define | PF_NATIVE_E_ARGUMENT -4 |
| NULL output, negative count, out-of-range index. | |
| #define | PF_NATIVE_E_STATE -5 |
| Illegal here: the command legality rule, or the kernel's own lifecycle, refused it. | |
| #define | PF_NATIVE_E_REJECTED -6 |
| The kernel rejected the request (reason written out). | |
| #define | PF_NATIVE_E_UNSUPPORTED -7 |
| A tag this API version cannot represent. | |
| #define | PF_NATIVE_E_EXCEPTION -8 |
| A C++ exception was contained at the boundary. | |
| #define | PF_NATIVE_E_NOT_WORKING -9 |
| The target handle is no longer a live request. | |
| #define | PF_NATIVE_E_INVALID_TARGET -10 |
| The target handle was never issued by this run. | |
| #define | PF_NATIVE_E_RUN_FAILED -11 |
| The run did not reach Completed; read the state. | |
| #define | PF_NATIVE_E_REFUSED -12 |
| execute_current refused; see pf_native_refusal_e. | |
| #define | PF_NATIVE_ABSENT 1 |
| Non-negative outcome: the kernel HAS no answer here and the output was left at its documented empty. | |
| #define | PF_NATIVE_FAILURE_CALLBACK 5 |
NativeFailureCode::CallbackException — the code latched when a C callback returns non-zero. | |
| #define | PF_NATIVE_REQUEST_V1_BASE_SIZE ((uint32_t)offsetof(pf_native_request_v1, anchor_rounding)) |
| Byte length of pf_native_request_v1 as the L13 lane first published it, before the anchored-leg tail was appended. | |
| #define | PF_NATIVE_REQUEST_V1_ANCHOR_SIZE ((uint32_t)offsetof(pf_native_request_v1, size_price)) |
| Byte length of pf_native_request_v1 with L7b's anchored-leg tail but without L3b's sizing-detail tail — the second of its three published layouts. | |
| #define | PF_NATIVE_RUN_SPEC_EXT_V1_BASE_SIZE ((uint32_t)offsetof(pf_native_run_spec_ext_v1, risk_has_max_drawdown)) |
Byte length of pf_native_run_spec_ext_v1 as the L13 lane first published it, before the risk_* tail was appended. | |
| #define | PF_NATIVE_RUN_SPEC_EXT_V1_RISK_SIZE ((uint32_t)offsetof(pf_native_run_spec_ext_v1, intrabar_kind)) |
| Byte length of pf_native_run_spec_ext_v1 with L9's risk tail but without N8's intrabar / policy tail — the second of its four published layouts. | |
| #define | PF_NATIVE_RUN_SPEC_EXT_V1_POLICY_SIZE ((uint32_t)offsetof(pf_native_run_spec_ext_v1, auxiliary_tf)) |
Byte length of pf_native_run_spec_ext_v1 with N8's intrabar / policy tail but before the auxiliary_* tail was appended — the third of its four published layouts. | |
| #define | PF_NATIVE_CALLBACKS_V1_BASE_SIZE ((uint32_t)offsetof(pf_native_callbacks_v1, on_recalculate)) |
| Byte length of pf_native_callbacks_v1 as the L13 lane first published it, before the six-hook tail was appended. | |
Functions | |
| int | strategy_native_api_version (void) |
| This header's layout version. | |
| pf_strategy_t | strategy_native_host_create_v1 (const pf_native_callbacks_v1 *callbacks) |
Allocate a native host that forwards every kernel callback to callbacks. | |
| void | strategy_native_host_free (pf_strategy_t s) |
| Release a handle from strategy_native_host_create_v1. | |
| int | strategy_native_run_v1 (pf_strategy_t s, const pf_bar_t *bars, int n, pf_report_t *out) |
Run n bars as one batch and fill out. | |
| void | strategy_native_report_free_v1 (pf_report_t *report) |
| Free the heap arrays inside a report filled by strategy_native_run_v1. | |
| int | strategy_native_submit_v1 (pf_strategy_t s, const pf_native_request_v1 *request, uint64_t *incarnation, uint32_t *reject) |
Submit request. | |
| int | strategy_native_replace_v1 (pf_strategy_t s, uint64_t incarnation, const pf_native_request_v1 *request, uint64_t *successor) |
Replace the live request incarnation with request. | |
| int | strategy_native_cancel_v1 (pf_strategy_t s, uint64_t incarnation) |
| Cancel one live request. | |
| int | strategy_native_cancel_all_v1 (pf_strategy_t s) |
| Cancel every live request, dependants included. | |
| int | strategy_native_cancel_where_v1 (pf_strategy_t s, const char *text, uint32_t field) |
Cancel exactly the live requests whose field equals text. | |
| int | strategy_native_execute_current_v1 (pf_strategy_t s, uint64_t incarnation, uint32_t price_rule, uint32_t *refusal) |
| Execute one live request at the current execution point. | |
| int | strategy_native_position_v1 (pf_strategy_t s, double *signed_units, double *average_price, uint64_t *lots) |
| Read the physical position. | |
| int | strategy_native_working_len_v1 (pf_strategy_t s) |
| Snapshot the live working book and return its length. | |
| int | strategy_native_working_get_v1 (pf_strategy_t s, int index, pf_native_working_v1 *out) |
Copy row index of the most recent working snapshot into out. | |
| int | strategy_native_open_lot_count_v1 (pf_strategy_t s, double mark) |
Snapshot the open lots marked at mark and return their count. | |
| int | strategy_native_open_lot_get_v1 (pf_strategy_t s, int index, pf_native_open_lot_v1 *out) |
Copy row index of the most recent open-lot snapshot into out. | |
| int | strategy_native_events_v1 (pf_strategy_t s, uint64_t after_ordinal, pf_native_event_v1 *out, int cap) |
Copy up to cap events with an ordinal strictly greater than after_ordinal into out, in the kernel's own recording order. | |
| int | strategy_native_state_v1 (pf_strategy_t s, pf_native_state_v1 *out) |
Read the run's lifecycle and typed failure into out. | |
| int | strategy_native_declare_subscriptions_v1 (pf_strategy_t s, const pf_native_subscription_v1 *rows, int n) |
Declare this run's higher-timeframe series from inside on_run_begin — declare_timeframe_subscriptions(). | |
| int | strategy_native_partial_bar_v1 (pf_strategy_t s, pf_bar_t *out) |
The bar so far at the current cursor — current_partial_bar(). | |
| int | strategy_native_recalculations_v1 (pf_strategy_t s, uint64_t *driven, uint64_t *skipped) |
How many recalculations the kernel drove, and how many it suppressed because a point had spent its max_recalculations_per_point budget — native_recalculation_count() / native_recalculations_skipped(). | |
| int | strategy_native_trail_state_v1 (pf_strategy_t s, uint64_t incarnation, pf_native_trail_state_v1 *out) |
The trail projection of one live request — trail_state(). | |
| int | strategy_native_series_bar_v1 (pf_strategy_t s, uint32_t subscription, pf_bar_t *out) |
The latest completed bucket of a declared subscription — native_series_bar(). | |
| int | strategy_native_marked_equity_v1 (pf_strategy_t s, double mark, double *out) |
The account's marked equity at mark — native_marked_equity(). | |
| int | strategy_native_liquidation_price_v1 (pf_strategy_t s, double *out) |
The price at which the marked equity falls below the run's maintenance requirement for the live position's side — native_liquidation_price(). | |
| int | strategy_native_risk_state_v1 (pf_strategy_t s, pf_native_risk_state_v1 *out) |
The run's generic risk ledger — native_risk_state(). | |
| int | strategy_native_continuation_hash_v1 (pf_strategy_t s, uint64_t *out) |
The run's continuation identity — native_continuation_hash(). | |
| int | strategy_native_cohort_open_v1 (pf_strategy_t s, uint64_t *cohort) |
| Open a cohort roster for PF_NATIVE_OWNER_BIND_COHORT. | |
| int | strategy_native_cohort_add_v1 (pf_strategy_t s, uint64_t cohort, uint64_t incarnation) |
| Enrol a live request into a cohort roster. | |
| int | strategy_native_cohort_remove_v1 (pf_strategy_t s, uint64_t cohort, uint64_t incarnation) |
| Remove a request from a cohort roster. | |
| int | strategy_configure_native_ext_v1 (pf_strategy_t s, const pf_native_run_spec_v1 *base, const pf_native_run_spec_ext_v1 *ext) |
| Configure a native run from the v1 specification plus the extension. | |
| int | strategy_native_append_auxiliary_bars_v1 (pf_strategy_t s, const pf_bar_t *bars, int32_t n) |
Append later bars to the run's declared auxiliary feed on a realtime stream (NativeStrategyHost::append_auxiliary_bars). | |
| #define PINEFORGE_HAS_NATIVE_C_API_V1 1 |
Feature probe for the C-level native host API.
When defined, strategy_native_host_create_v1 is available.
Definition at line 184 of file native_c_api.h.
| #define PF_NATIVE_API_VERSION 1 |
Monotonic version of this header's native-C layouts.
Every versioned struct below carries it in its version field.
Definition at line 188 of file native_c_api.h.
Referenced by grid_without_a_ladder_is_refused(), main(), make_ext(), on_bar(), run_mode(), and submit().
| #define PF_NATIVE_FAILURE_CALLBACK 5 |
NativeFailureCode::CallbackException — the code latched when a C callback returns non-zero.
Mirrors the C++ enumerator; pinned by a static_assert.
Definition at line 228 of file native_c_api.h.