文档1.0 (latest)
页面运行预设 (.qcs) · 17 / 29

运行预设 (.qcs)

将运行对话框的设置保存并重新加载为 QuantCraft 工作区文件夹中扩展名为 .qcs 的 JSON 文件。使用它可以在多次会话之间复用标的、时间周期、输入参数和其他选项,而无需重新输入。


在界面中的位置

每个对话框的对话框正文顶部(标题和描述的正下方)都会显示 Load 和 Save:

对话框如何打开
Run backtestQuantCraft IDE → Test → Run backtest
Bulk forward new runAutoTrading 或 QuantCloud → 启动新的 bulk forward 任务
Chart forward testTrade → 附加 .qcraft.json 算法 → 打开算法参数

先决条件

  1. 桌面应用 — 保存/加载使用原生文件对话框(纯浏览器预览中不可用)。
  2. 工作区文件夹 — 通过 QuantCraft 的 Files sidebar → Workspace Folder 设置。对话框默认使用该目录。

如果未设置工作区,应用会先提示您选择一个。


文件格式

文件为 UTF-8 JSON。顶层结构:

{ "format": "quantcraft-run-config-v1", "savedFrom": "backtest", "savedAt": "2026-06-09T12:00:00.000Z", "settings": { } }
字段含义
format必须为 quantcraft-run-config-v1。
savedFrom元数据:backtest、bulk_forward 或 chart_forward(保存该文件的对话框)。
savedAt文件写入时的 ISO 时间戳。
settings运行选项的扁平对象(见下表)。所有键均为可选。

Save 只写入适用于当前对话框的字段。Load 始终使用目标对话框的规则,并忽略不适用的键。

默认建议的文件名

对话框默认名称
Run backtestbacktest-config.qcs
Bulk forwardbulk-forward-config.qcs
Chart forward testchart-forward-config.qcs

保存时您可以选择任何以 .qcs 结尾的名称。


各对话框的设置字段

键BacktestBulk forwardChart forward
symbols、assetType、symbolPaste是——
symbolSource("manual" / "screener")是——
screenerSource、screenerPresetId、screenerScriptId、screenerSortColumn、screenerSortDirection、screenerRankDirection、screenerLimit、screenerIntervalDays、screenerIncludeOpenPositions是是—
screenerRefreshTime—是—
symbolPaste(bulk:粘贴的股票代码)—是—
startingBalance、startDate、endDate、warmupBars是——
ohlcvSource是——
timeframeAlpaca、timeframeB2、minBars是——
secondaryTimeframes是是是
includeFundamentals、fundamentalsPickerValues、fundamentalsExtraPaths是是*是
includeFactors是是是
includeCalendar、applySplits、applyDividends、dividendDatePolicy是——
inputParams是是是
optimize、optimizeMode、geneticPopulationSize、geneticGenerations、geneticElitism、geneticCrossoverRate、geneticMutationRate、geneticFitnessMetric、geneticSeed是——
slPct、slDollars、tpPct、tpDollars、riskPctPerTrade、riskFixedPerTrade是†——
commissionModel、commissionCost、commissionMinTradeCost是——
slippageModel、slippageVolumeLimit、slippagePriceImpact、slippageSpread是——
algoId—是—
targetScope、selectedStocks、selectedCrypto—是—
periodMinutes、timeframeUi—是—
tickMode—是—
timerIntervalMs—是是

* Bulk 在存在时会保存/应用基本面数据选择器的值;fundamentalsExtraPaths 主要是回测字段。
† 当表单/负载辅助函数中存在时会保存/应用;Run backtest 对话框的界面中可能不显示 SL/TP/风险输入项。

ohlcvSource: 回测使用 "alpaca" 或 "b2"(QuantCraft 价格数据源)。

tickMode: 仅限 bulk — "timer"(定时器周期)或 "tick"(实时 tick 流)。对话框中将其标注为 Execution trigger。

includeFactors: 当为 true 时,运行会附带全球 Fama-French 因子数据。如果您没有 Premium / 免费数据访问权限,将其加载到回测或 bulk forward 对话框时会将其清除(连同 includeFundamentals);chart forward 对话框则按保存的内容应用。策略读取 fama_french.qc;每月的 rows 是一个 YYYYMM 字典 — 参见 Fama-French 因子。

includeCalendar(回测):加载时有同样的 Premium 限制。dividendDatePolicy 为 "best_available"(默认 — 估算的除息日会被入账)、"exact_only" 或 "off"。对话框中没有对应的控件,因此 .qcs 文件是更改它的唯一方式。参见日历数据。

timeframeB2(回测):当您不是 Premium 用户时,加载的值会被限制为日线 / 周线 / 月线。

secondaryTimeframes: 用于 rt.get_bar(Timeframe.X, shift) 的额外 K 线周期列表(例如 ["1Hour", "1D"])。为空时会从保存的文件中省略。加载到 bulk forward 时,与恢复的主时间周期相同的条目会被丢弃;回测和 chart-forward 对话框则保留保存时的列表。参见 OHLCV 与 K 线数据。

佣金 / 滑点键(commissionModel、commissionCost、commissionMinTradeCost、slippageModel、slippageVolumeLimit、slippagePriceImpact、slippageSpread):仅从回测保存。有关模型含义,请参阅账户模型。

inputParams 的结构

以脚本参数名称为键的对象。每个条目:

"LOOKBACK": { "type": "int", "value": "20", "optStep": "5", "optMax": "40" }
  • optStep 和 optMax 仅从回测保存(优化网格)。forward 对话框在加载时会去掉它们。
  • 只有存在于当前加载脚本中的名称才会被应用;文件中的其他名称会被忽略。

有关策略代码中如何发现 params.NAME,请参阅输入参数。


跨对话框加载

您可以将从一个对话框保存的 .qcs 文件加载到另一个对话框中。应用只会应用兼容的字段,并静默跳过其余内容。

来源 → 目标传递的内容
Backtest → bulk forwardsymbols + assetType → 目标范围及股票/加密货币选择;timeframeAlpaca 或 B2 的 d/w → timeframeUi;secondaryTimeframes;tickMode(如存在);基本面/因子字段;inputParams;timerIntervalMs(如存在)
Backtest → chart forwardinputParams、基本面字段、includeFactors、secondaryTimeframes、timerIntervalMs;日期、余额和优化字段会被忽略
Bulk forward → backtestselectedStocks / selectedCrypto → symbols;timeframeUi → timeframeAlpaca,或当保存的 ohlcvSource(否则为对话框当前价格数据源)为 B2 时使用 B2 的 timeframeB2;基本面 / 因子字段;secondaryTimeframes;选股器字段;inputParams
任意 → 任意未知或不适用的键会被忽略,不会报错

时间周期映射

来源映射到
timeframeUi 的 1D / 1Week回测的 timeframeAlpaca,或当数据源为 B2 时映射到 B2 的 timeframeB2 d / w
回测的 timeframeB2 d / wBulk 的 timeframeUi 1D / 1Week
回测中其他任何 timeframeB2(m 月线、m5、h1、4h 等)bulk 中没有对应项 — 跨对话框加载时跳过

标的和 bulk 目标

  • Backtest → bulk: symbols 在可能时被归类到 selectedStocks 或 selectedCrypto;目标范围变为 Selected。
  • Bulk → backtest: 已选的股票和加密货币合并到 symbols 数组中;assetType 从选择中推断。

Bulk forward 编辑模式

编辑已有的 bulk 运行时,Load 仍会应用目标、周期、时间周期、定时器、tick 模式和脚本 params。algoId 不会改变(该运行的算法是固定的)。


相关的工作区产物

扩展名用途
.py策略源文件(工作区镜像)
.qcraft.json用于 Trade / 前向运行的已编译可运行包
.qcs已保存的运行对话框预设(本页)
阅读约 4 分钟建议修改 ↗
运行预设 (.qcs) — 文档 (1.0 (latest)) | QuantCraft