页面AutoTrading · 23 / 29
AutoTrading
AutoTrading 页面是您本地工作站上前向运行的监控中心 —— 即针对实时或模拟市场数据随时间向前运行的算法和智能体。它列出唯一的全局 bulk(批量)任务(如有)、可选的智能体 bulk 任务,以及每一个附加到图表的前向运行(包括弹出的 Trade 窗口中的图表),计时器每秒更新一次。顶部的 How the bulk cycle timer works 说明解释了周期计时和状态徽章。
只有当应用在您的机器上运行时,前向运行才会继续。若要在工作站关机时继续运行,请使用 QuantCloud。
工具栏
| 按钮 | 作用 |
|---|---|
| New Bulk Run | 打开 New Run 对话框以配置算法批量任务。仅当当前没有列出算法 bulk 任务时显示。 |
| New Agent Bulk Run | 打开智能体 bulk 对话框。只要没有列出智能体 bulk 任务就会显示。 |
| Refresh | 从磁盘重新加载附加到图表的运行。 |
附加到图表的 Agents 实时运行也可从 Trade 图表的 Agents 菜单启动;它们的标签和卡片会与算法图表运行一起显示。
New Run 对话框(算法 bulk)
通过三个标签页配置批量运行。(同一对话框也用于 QuantCloud 页面上的云端运行。)标签页上方的 Load / Save 行可让您复用设置 —— 参见运行预设 (.qcs)。
Algorithm
- 选择一个算法包 —— 附加到图表的算法,或工作区的
.qcraft产物。 - 查看并编辑在包中发现的脚本输入参数(名称、类型、值),带有逐参数验证。参见输入参数。
Targets
选择范围:
| 范围 | 交易内容 |
|---|---|
| All Stocks | 您账户上每一只可交易的美国股票。 |
| All Crypto | 每一个可交易的加密货币交易对。 |
| Selected Stocks & Crypto | 仅限您从多选列表中选择的内容。您也可以在 Paste tickers (comma-separated) 中输入或粘贴列表,然后点击 Add to selection(即使您忘记点击,粘贴的股票代码也会被包含)。 |
| Screener | 已保存的筛选所匹配的任何标的,在运行处于活动状态期间按计划重新筛选。 |
Screener 范围
选择 Screener 时,标的列表会被筛选的设置取代:
| 字段 | 说明 |
|---|---|
| Screener source | Screener preset(已保存的无代码筛选)或 Python script(工作区的 Screener Script)。 |
| Preset / Screener script | 运行哪一个。 |
| Sort column (optional) / Direction | 在应用数量上限之前,如何对预设的匹配结果排序。 |
| Rank direction | 针对脚本 —— 优先取脚本 rank() 得分的哪一端。 |
| Limit | 交易多少个标的。0 表示取全部匹配。 |
| Refresh interval (days) | 运行处于活动状态期间,筛选重新运行的频率。最小值和默认值为 1 天。 |
| Refresh time (ET) | 每次重新筛选发生的时刻。默认为 16:30(美国市场收盘后半小时)。 |
| Include tickers with open positions | 添加您已持有仓位的标的,即使它们不再匹配,这样实时运行就不会悄悄丢掉持仓。 |
为什么默认是 16:30 ET。 采用新的标的全集会重启运行,所以在 11:00 进行的重新筛选会中断实时交易。将其锚定在收盘之后的时间,意味着刷新发生在没有交易的时候,并且新的标的列表会在下一个交易时段开始之前准备好。
- 时间始终是市场时间(ET),无论您身处哪个时区。字段下方的帮助文字会显示您的本地对应时间,因此
16:30 ET · 21:30 your time是同一时刻,而不是两个设置。 - 可以随时更改。 如果您选择在 09:30–16:00 ET 交易时段内的时间,字段下方会出现警告,说明重启将中断交易,但运行仍会启动 —— 由您决定。
- 间隔和时间协同工作。
16:30的1天表示每天收盘后重新筛选;16:30的3天表示每三天收盘后重新筛选。 - 将字段留空或输入非
HH:MM的内容,会以内联错误阻止运行。
Screener 目标仅限股票 —— 基本面数据不涵盖加密货币。有关如何构建筛选本身,请参阅选股器。
Schedule & data
| 字段 | 说明 |
|---|---|
| Execution trigger | Timer cycle(每 N 分钟运行一个周期)或 Live tick stream(实时流式)。使用 Live tick stream 时,Rate limit warning 链接会说明实时流会争用您的券商连接限制,因此 Timer cycle 更安全。 |
| Period (minutes) | Timer cycle 模式下每个周期的分钟数(periodMinutes)。 |
| OHLCV timeframe | 主 K 线周期。 |
| Additional timeframes (optional) | 用于 rt.get_bar 的额外 K 线周期,带有 Select all / Clear。 |
| Timer interval ms (optional) | 策略 on_timer 调用之间的毫秒数(timerIntervalMs)—— 与周期长度无关。 |
| Use fundamentals (optional) | 受 Premium / 免费数据限制。使用 Screener 目标时,每个被筛选的标的都会自动获取其基本面数据。 |
| Include Fama-French factors (global) | 受 Premium / 免费数据限制;默认开启。 |
模拟盘还是实盘由您当前的交易账户决定(在设置中选择)—— 对话框中没有账户选择器或模拟盘/实盘开关。提交需要一个带有券商 API 密钥或券商账户登录的交易账户。页脚有 Cancel 和 Run(编辑时为 Save & restart)。
智能体 bulk 对话框
New Agent Bulk Run 在许多标的上运行一个 Trading agent。所有字段均为必填:
- Agent — 不提供 Test 和 Optimization 智能体。
- Targets — 选定的标的,或一个 Screener。
- Run interval 和 Interval unit — 每个周期运行的频率(默认每 5 分钟)。
运行卡片
每图表运行卡片 — 显示标的(或“Chart (no symbol)”)、时间周期和 RUNNING 徽章,以及标签页 ID、任何基本面标的覆盖设置和 Open chart 按钮。展开可查看算法详情:算法标签、前向运行 ID、包路径、在图表上的时长、定时器间隔、输入参数、基本面文件以及任何错误。
Bulk 运行卡片 — 标题为“Bulk forward (batch)”,带有状态徽章(第一个周期开始前为 STARTING,之后为 RUNNING、STOPPED 或 PENDING RESUME)。摘要网格显示 Scope、Symbols(轮换中的数量)、Period、Paper(Yes/No)、Algorithm 和 Mode。展开可查看 Details 和 Logs 标签页;Logs 标签页流式输出日志和周期事件,并带有 Download logs(CSV)和 Clear logs。
智能体 bulk 卡片 — 显示 Interval、Symbols、Paper、Last cycle、Run id 和任何 Last error,带有 Stop、Resume、Edit 和 Delete 按钮。
监控与停止
- bulk 状态在整个应用范围内大约每 1.5 秒检查一次(不仅限于打开此页面时),因此当您在应用的其他位置工作时,运行也能保持其券商登录有效。计时器每秒更新。
- Stop bulk run 会要求确认(已在进行的工作可能会完成;进度会被保存)。
- Edit run 重新打开对话框;Save & restart 会停止当前任务,并带着您的更改重新启动。
- Delete run(仅在已停止时可用)会清除您机器上保存的状态,并将任务从列表中移除。
- 处于 pending-resume 的算法 bulk 任务会一直保留在列表中,直到您处理它。卡片上没有 Resume 按钮 —— 请使用 Edit run → Save & restart 再次启动,或者先 Delete run,再 New Bulk Run(只要列表中有任何 bulk 任务,该按钮就会被隐藏)。
另请参阅
- 选股器 — 创建 Screener 目标范围所使用的筛选
- 智能体 — 构建智能体及前向执行说明
- QuantCloud — 在云端运行器上运行算法批量任务
- 运行预设 (.qcs) — 保存和加载运行配置

