From 66c49d1a8d26bbaf86ef04d9b6ebe0176664a68a Mon Sep 17 00:00:00 2001 From: Justin Gu <97915@qq.com> Date: Sun, 5 Jul 2026 00:15:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(web-ui):=20=E4=B8=89=E5=A4=84=E5=9B=9E?= =?UTF-8?q?=E6=B5=8B=E5=85=A5=E5=8F=A3=E9=BB=98=E8=AE=A4=E8=B5=B7=E5=A7=8B?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E7=BB=9F=E4=B8=80=E4=B8=BA=202020-01-06?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 单标的回测、组合回测、参数寻优原默认起始日为「3 年前」(动态滚动), 统一改为固定日期 2020-01-06,便于跨时间横向对比。结束日仍为今天。 SymbolPicker 共用组件的 defineModel 默认值同步更新。 --- web-ui/src/components/SymbolPicker.vue | 4 ++-- web-ui/src/views/BacktestView.vue | 2 +- web-ui/src/views/OptimizeView.vue | 2 +- web-ui/src/views/PortfolioView.vue | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web-ui/src/components/SymbolPicker.vue b/web-ui/src/components/SymbolPicker.vue index 3e2e671..4e91138 100644 --- a/web-ui/src/components/SymbolPicker.vue +++ b/web-ui/src/components/SymbolPicker.vue @@ -2,7 +2,7 @@ // 选标的 + 配置日期范围(取行情由父组件在「开始回测/开始寻优」时触发)。 // 市场按 6 位代码智能识别,不再手动选择。 // 后端 /bars 仅支持 count(上限 800,约 3.2 年),固定拉满后前端按日期过滤。 -// 默认:结束日=今天(最近交易日),开始日=3年前。 +// 默认:结束日=今天(最近交易日),开始日=2020-01-06。 import { computed, ref } from 'vue' @@ -24,7 +24,7 @@ const store = useBacktestStore() const code = defineModel('code', { default: '000001' }) const category = defineModel('category', { default: 'DAY' }) const startDate = defineModel('startDate', { - default: new Date(Date.now() - 365 * 3 * 86400_000).toISOString().slice(0, 10), + default: '2020-01-06', }) const endDate = defineModel('endDate', { default: new Date().toISOString().slice(0, 10), diff --git a/web-ui/src/views/BacktestView.vue b/web-ui/src/views/BacktestView.vue index 1886dc4..89632cc 100644 --- a/web-ui/src/views/BacktestView.vue +++ b/web-ui/src/views/BacktestView.vue @@ -31,7 +31,7 @@ function isoDaysFromNow(days: number): string { d.setDate(d.getDate() + days) return d.toISOString().slice(0, 10) } -const startDate = ref(isoDaysFromNow(-365 * 3)) +const startDate = ref('2020-01-06') const endDate = ref(isoDaysFromNow(0)) // 表单状态(v-model 给子组件) diff --git a/web-ui/src/views/OptimizeView.vue b/web-ui/src/views/OptimizeView.vue index 2a4b3e0..9c75078 100644 --- a/web-ui/src/views/OptimizeView.vue +++ b/web-ui/src/views/OptimizeView.vue @@ -27,7 +27,7 @@ function isoDaysFromNow(days: number): string { d.setDate(d.getDate() + days) return d.toISOString().slice(0, 10) } -const startDate = ref(isoDaysFromNow(-365 * 3)) +const startDate = ref('2020-01-06') const endDate = ref(isoDaysFromNow(0)) const strategy = ref('ma_cross') diff --git a/web-ui/src/views/PortfolioView.vue b/web-ui/src/views/PortfolioView.vue index 86ec413..530707a 100644 --- a/web-ui/src/views/PortfolioView.vue +++ b/web-ui/src/views/PortfolioView.vue @@ -36,7 +36,7 @@ function isoDaysFromNow(days: number): string { d.setDate(d.getDate() + days) return d.toISOString().slice(0, 10) } -const startDate = ref(isoDaysFromNow(-365 * 3)) +const startDate = ref('2020-01-06') const endDate = ref(isoDaysFromNow(0)) onMounted(async () => {