pub struct PerformanceMetrics {Show 38 fields
pub net_profit: f64,
pub net_profit_percent: f64,
pub gross_profit: f64,
pub gross_profit_percent: f64,
pub gross_loss: f64,
pub gross_loss_percent: f64,
pub max_drawdown: f64,
pub max_drawdown_percent: f64,
pub max_runup: f64,
pub max_runup_percent: f64,
pub buy_hold_return: Option<f64>,
pub buy_hold_return_percent: Option<f64>,
pub sharpe_ratio: Option<f64>,
pub sortino_ratio: Option<f64>,
pub profit_factor: Option<f64>,
pub total_closed_trades: usize,
pub total_open_trades: usize,
pub num_winning_trades: usize,
pub num_losing_trades: usize,
pub num_even_trades: usize,
pub percent_profitable: Option<f64>,
pub avg_trade: f64,
pub avg_trade_percent: f64,
pub avg_winning_trade: f64,
pub avg_winning_trade_percent: f64,
pub avg_losing_trade: f64,
pub avg_losing_trade_percent: f64,
pub ratio_avg_win_loss: Option<f64>,
pub largest_winning_trade: f64,
pub largest_winning_trade_percent: f64,
pub largest_losing_trade: f64,
pub largest_losing_trade_percent: f64,
pub avg_bars_in_trades: usize,
pub avg_bars_in_winning_trades: usize,
pub avg_bars_in_losing_trades: usize,
pub commission_paid: f64,
pub max_contracts_held: f64,
pub margin_calls: usize,
}Expand description
Aggregated performance metrics for one slice of trades (All, Long-only, or Short-only).
Mirrors TradingView’s Performance Summary columns.
Fields§
§net_profit: f64Net profit in account currency.
net_profit_percent: f64Net profit as percentage of initial capital.
gross_profit: f64Sum of profits from winning trades.
gross_profit_percent: f64Gross profit as percentage of initial capital.
gross_loss: f64Sum of losses from losing trades (positive number).
gross_loss_percent: f64Gross loss as percentage of initial capital.
max_drawdown: f64Maximum equity drawdown in account currency.
max_drawdown_percent: f64Maximum equity drawdown as percentage.
max_runup: f64Maximum equity run-up in account currency.
max_runup_percent: f64Maximum equity run-up as percentage.
buy_hold_return: Option<f64>Buy & hold return in account currency.
buy_hold_return_percent: Option<f64>Buy & hold return as percentage of initial capital.
sharpe_ratio: Option<f64>Annualized Sharpe ratio.
sortino_ratio: Option<f64>Annualized Sortino ratio.
profit_factor: Option<f64>Gross profit / gross loss.
total_closed_trades: usizeTotal number of closed trades.
total_open_trades: usizeTotal number of currently open trades.
num_winning_trades: usizeNumber of winning (profit > 0) closed trades.
num_losing_trades: usizeNumber of losing (profit < 0) closed trades.
num_even_trades: usizeNumber of break-even (profit == 0) closed trades.
percent_profitable: Option<f64>Winning trades / total closed trades × 100.
avg_trade: f64Average P&L per closed trade.
avg_trade_percent: f64Average P&L percentage per closed trade.
avg_winning_trade: f64Average profit per winning trade.
avg_winning_trade_percent: f64Average profit percentage per winning trade.
avg_losing_trade: f64Average loss per losing trade.
avg_losing_trade_percent: f64Average loss percentage per losing trade.
ratio_avg_win_loss: Option<f64>Average winning trade / average losing trade (absolute).
largest_winning_trade: f64Largest single winning trade profit.
largest_winning_trade_percent: f64Largest single winning trade profit percentage.
largest_losing_trade: f64Largest single losing trade loss.
largest_losing_trade_percent: f64Largest single losing trade loss percentage.
avg_bars_in_trades: usizeAverage number of bars held across all closed trades.
avg_bars_in_winning_trades: usizeAverage number of bars held across winning trades.
avg_bars_in_losing_trades: usizeAverage number of bars held across losing trades.
commission_paid: f64Total commission paid.
max_contracts_held: f64Peak number of contracts/shares held simultaneously.
margin_calls: usizeNumber of margin calls triggered.
Trait Implementations§
Source§impl Clone for PerformanceMetrics
impl Clone for PerformanceMetrics
Source§fn clone(&self) -> PerformanceMetrics
fn clone(&self) -> PerformanceMetrics
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PerformanceMetrics
impl Debug for PerformanceMetrics
Auto Trait Implementations§
impl Freeze for PerformanceMetrics
impl RefUnwindSafe for PerformanceMetrics
impl Send for PerformanceMetrics
impl Sync for PerformanceMetrics
impl Unpin for PerformanceMetrics
impl UnwindSafe for PerformanceMetrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.