Adapt backtesting to new ways

This commit is contained in:
Matthias 2021-05-23 16:25:31 +02:00
parent 8a3451e4cf
commit 205dddc990
4 changed files with 17 additions and 7 deletions

View File

@ -205,6 +205,15 @@ export default class BacktestResultView extends Vue {
metric: 'Avg. Duration Losers', metric: 'Avg. Duration Losers',
value: humanizeDurationFromSeconds(this.backtestResult.loser_holding_avg), value: humanizeDurationFromSeconds(this.backtestResult.loser_holding_avg),
}, },
{
metric: 'Zero duration trades',
value: `${formatPercent(
(1 / this.backtestResult.total_trades) * this.backtestResult.zero_duration_trades,
2,
)} (${this.backtestResult.zero_duration_trades})`,
},
{ metric: 'Rejected buy signals', value: this.backtestResult.rejected_signals },
{ metric: '___', value: '___' }, { metric: '___', value: '___' },
{ metric: 'Max Drawdown', value: formatPercent(this.backtestResult.max_drawdown) }, { metric: 'Max Drawdown', value: formatPercent(this.backtestResult.max_drawdown) },
{ {

View File

@ -60,10 +60,10 @@ export default class TimeRangeSelect extends Vue {
} else { } else {
const tr = this.value.split('-'); const tr = this.value.split('-');
if (tr[0]) { if (tr[0]) {
this.dateFrom = timestampToDateString(dateFromString(tr[0], 'YYYYMMDD')); this.dateFrom = timestampToDateString(dateFromString(tr[0], 'yyyyMMdd'));
} }
if (tr.length > 1 && tr[1]) { if (tr.length > 1 && tr[1]) {
this.dateTo = timestampToDateString(dateFromString(tr[1], 'YYYYMMDD')); this.dateTo = timestampToDateString(dateFromString(tr[1], 'yyyyMMdd'));
} }
} }
this.emitTimeRange(); this.emitTimeRange();

View File

@ -94,6 +94,9 @@ export interface StrategyBacktestResult {
use_sell_signal: boolean; use_sell_signal: boolean;
sell_profit_only: boolean; sell_profit_only: boolean;
sell_profit_offset: number; sell_profit_offset: number;
zero_duration_trades: number;
rejected_signals: number;
// Daily stats ... // Daily stats ...
draw_days: number; draw_days: number;
drawdown_end: string; drawdown_end: string;

View File

@ -3,7 +3,7 @@
<div class="mb-2"> <div class="mb-2">
<h2 class="mt-3 d-inline">Backtesting</h2> <h2 class="mt-3 d-inline">Backtesting</h2>
<small v-show="backtestRunning" class="bt-running-label" <small v-show="backtestRunning" class="bt-running-label"
>Backtest running: {{ backtestStep }} {{ formatPercent(backtestProgress) }}</small >Backtest running: {{ backtestStep }} {{ formatPercent(backtestProgress, 2) }}</small
> >
</div> </div>
<div class="container"> <div class="container">
@ -47,12 +47,10 @@
> >
</div> </div>
</div> </div>
<div class="d-flex"> <div class="d-md-flex">
<!-- Left bar --> <!-- Left bar -->
<div <div
:class="`${ :class="`${showLeftBar ? 'col-md-3' : ''} sticky-top sticky-offset mr-3 d-flex flex-column`"
showLeftBar ? 'col-md-3' : ''
} sticky-top sticky-offset mr-3 d-flex flex-column bor`"
> >
<b-button <b-button
class="align-self-start" class="align-self-start"