We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e91103b commit 3461dcfCopy full SHA for 3461dcf
backtesting/_stats.py
@@ -75,9 +75,13 @@ def compute_stats(
75
trades_df['Tag'] = [t.tag for t in trades]
76
77
# Add indicator values
78
- for ind in strategy_instance._indicators:
79
- trades_df[f'Entry_{ind.name}'] = ind[trades_df['EntryBar'].values]
80
- trades_df[f'Exit_{ind.name}'] = ind[trades_df['ExitBar'].values]
+ if len(trades_df):
+ for ind in strategy_instance._indicators:
+ ind = np.atleast_2d(ind)
81
+ for i, values in enumerate(ind): # multi-d indicators
82
+ suffix = f'_{i}' if len(ind) > 1 else ''
83
+ trades_df[f'Entry_{ind.name}{suffix}'] = values[trades_df['EntryBar'].values]
84
+ trades_df[f'Exit_{ind.name}{suffix}'] = values[trades_df['ExitBar'].values]
85
86
commissions = sum(t._commissions for t in trades)
87
del trades
0 commit comments