diff --git a/src/components/ftbot/BacktestGraphsView.vue b/src/components/ftbot/BacktestGraphs.vue similarity index 100% rename from src/components/ftbot/BacktestGraphsView.vue rename to src/components/ftbot/BacktestGraphs.vue diff --git a/src/components/ftbot/BacktestResultView.vue b/src/components/ftbot/BacktestResultAnalysis.vue similarity index 100% rename from src/components/ftbot/BacktestResultView.vue rename to src/components/ftbot/BacktestResultAnalysis.vue diff --git a/src/components/ftbot/BacktestRun.vue b/src/components/ftbot/BacktestRun.vue new file mode 100644 index 00000000..5e1e48b1 --- /dev/null +++ b/src/components/ftbot/BacktestRun.vue @@ -0,0 +1,258 @@ + + + + + diff --git a/src/components/ftbot/TimeRangeSelect.vue b/src/components/ftbot/TimeRangeSelect.vue index a4839dfe..f442562f 100644 --- a/src/components/ftbot/TimeRangeSelect.vue +++ b/src/components/ftbot/TimeRangeSelect.vue @@ -61,20 +61,24 @@ const timeRange = computed(() => { return ''; }); -const updateInput = () => { +function updateInput() { const tr = props.modelValue.split('-'); if (tr[0]) { - dateFrom.value = timestampToDateString(dateFromString(tr[0], 'yyyyMMdd')); + dateFrom.value = timestampToDateString( + tr[0].length === 8 ? dateFromString(tr[0], 'yyyyMMdd') : parseInt(tr[0]) * 1000, + ); } else { dateFrom.value = ''; } if (tr.length > 1 && tr[1]) { - dateTo.value = timestampToDateString(dateFromString(tr[1], 'yyyyMMdd')); + dateTo.value = timestampToDateString( + tr[1].length === 8 ? dateFromString(tr[1], 'yyyyMMdd') : parseInt(tr[1]) * 1000, + ); } else { dateTo.value = ''; } emit('update:modelValue', timeRange.value); -}; +} watch( () => timeRange.value, diff --git a/src/stores/btStore.ts b/src/stores/btStore.ts new file mode 100644 index 00000000..b8df2251 --- /dev/null +++ b/src/stores/btStore.ts @@ -0,0 +1,25 @@ +import { defineStore } from 'pinia'; + +export const useBtStore = defineStore('btStore', { + state: () => { + return { + strategy: '', + selectedTimeframe: '', + selectedDetailTimeframe: '', + timerange: '', + maxOpenTrades: '', + stakeAmount: '', + startingCapital: '', + allowCache: true, + enableProtections: false, + stakeAmountUnlimited: false, + freqAI: { + enabled: false, + model: '', + identifier: '', + }, + }; + }, + getters: {}, + actions: {}, +}); diff --git a/src/views/BacktestingView.vue b/src/views/BacktestingView.vue index 344f8a97..895913e6 100644 --- a/src/views/BacktestingView.vue +++ b/src/views/BacktestingView.vue @@ -94,213 +94,18 @@ v-if="btFormMode == 'historicResults'" class="flex-fill row d-flex flex-column bt-config" > - +
-
- Strategy - -
- - - - - - - - - - - - - - - - - -
- Unlimited stake - - -
-
- - - - - - - - - - -
- -
-
- -

Backtesting summary

-
- - Start backtest - - - Load backtest result - - Stop Backtest - Reset Backtest -
+
- - @@ -312,35 +117,31 @@ >