PineForge
v0.13.1-379-g9b50973
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
metrics.hpp
Go to the documentation of this file.
1
#pragma once
2
// Pure metric computations over closed-trade arrays and equity curves.
3
// No BacktestEngine dependency: unit-testable standalone, called by
4
// fill_report. Conventions (NaN rules, positive-magnitude losses, even-
5
// trade handling) are documented per-field in <pineforge/pineforge.h>.
6
// pineforge.h MUST precede engine.hpp (PINEFORGE_NO_STRATEGY_DECLS; see engine.hpp).
7
#include <
pineforge/pineforge.h
>
8
#include <
pineforge/engine.hpp
>
// TradeC
9
#include <string>
10
11
namespace
pineforge
{
12
namespace
metrics
{
13
14
enum class
TradeFilter
{
ALL
,
LONG
,
SHORT
};
15
16
pf_trade_stats_t
compute_trade_stats
(
const
TradeC
* trades,
int
n,
17
TradeFilter
filter,
double
initial_capital);
18
19
// Acquires the global timezone lock (tz_util::ScopedTimezone) when chart_tz
20
// is non-UTC; MUST NOT be called while already holding a ScopedTimezone
21
// (non-recursive mutex -- deadlock). See src/timezone.hpp.
22
pf_equity_stats_t
compute_equity_stats
(
const
pf_equity_point_t
* curve, int64_t n,
23
double
initial_capital,
24
const
std::string& chart_tz,
25
double
first_open,
double
last_close,
26
int64_t bars_in_market,
double
net_profit);
27
28
}
// namespace metrics
29
}
// namespace pineforge
engine.hpp
pineforge::metrics
Definition
metrics.hpp:12
pineforge::metrics::TradeFilter
TradeFilter
Definition
metrics.hpp:14
pineforge::metrics::TradeFilter::ALL
@ ALL
Definition
metrics.hpp:14
pineforge::metrics::TradeFilter::SHORT
@ SHORT
Definition
metrics.hpp:14
pineforge::metrics::TradeFilter::LONG
@ LONG
Definition
metrics.hpp:14
pineforge::metrics::compute_equity_stats
pf_equity_stats_t compute_equity_stats(const pf_equity_point_t *curve, int64_t n, double initial_capital, const std::string &chart_tz, double first_open, double last_close, int64_t bars_in_market, double net_profit)
pineforge::metrics::compute_trade_stats
pf_trade_stats_t compute_trade_stats(const TradeC *trades, int n, TradeFilter filter, double initial_capital)
pineforge
Definition
bar.hpp:4
pineforge.h
pf_equity_point_t
Single per-script-bar equity point.
Definition
pineforge.h:325
pf_equity_stats_t
Equity-curve-derived statistics (all-trades only, like TV).
Definition
pineforge.h:259
pf_trade_stats_t
Trade-level statistics block — computed once each for all / long / short.
Definition
pineforge.h:196
pineforge::TradeC
Definition
engine.hpp:196
include
pineforge
metrics.hpp
PineForge v0.13.1-379-g9b50973 — Apache-2.0 —
github.com/pineforge-4pass/pineforge-engine