脚本页面概览

脚本页面是你编写自己的指标和全自动策略的地方。它把脚本列表、身份信息条、代码编辑器、运行条、输出控制台和参考栏集中在同一个界面上,一切都在本机沙箱中运行。

Senzoukria · 文档 · 更新于 2026 年 9 月


位置

位置
主菜单 → 脚本
页面副标题
“编写你自己的指标和全自动策略。一切都在这台电脑上沙箱运行 —— 没有网络、没有文件访问、没有经纪商 API。”
运行预算
每次执行 2 秒,在隔离的 worker 中
示例运行
300 根合成 K 线,tick 大小 0.25
存储
脚本保存在本机,键为 orderflow.userIndicators.v1

它做什么

页面的每个区域回答一个问题:列表说明你正在处理哪个脚本,身份信息条说明它叫什么、画在哪里、用哪种语言,编辑器说明它做什么,运行条负责执行,控制台和示意图说明上一次运行产生了什么。

身份信息条和代码之间有一行带四个步骤的功能条 —— 编写、检查、运行、结果 —— 每一步显示的都是真实状态,而不是一条理想化的路径。“编写”显示“已保存”或“有未保存的改动”。“检查”报告“JavaScript,无需引擎”、Python 的引擎阶段,或在代码与所声明语言相矛盾时显示“代码看起来像 Python”。“运行”显示“尚未运行”“运行中…”、一个耗时与 K 线数,或一次失败及其行号。“结果”报告输出、策略决策,或错误及其日志计数。

控件

页面的实际控件及其默认值
控件默认值作用
新建指标创建一个 compute() 返回可绘制输出的脚本。
新建策略创建一个 decide() 为模拟账户返回交易决策的脚本。
从模板开始打开模板库,并按该脚本的语言筛选。
脚本(列表开关)展开收起左侧列表,把宽度让给编辑器。
绘制目标画在图表上“画在图表上”覆盖在价格之上;“独立窗格”给脚本一个自己的窗格。
语言JavaScript与脚本一起保存。切换并不会翻译代码。
在示例数据上运行Ctrl+Enter在 300 根合成 K 线上运行草稿,并填充功能条、示意图和控制台。
保存Ctrl+S干净时按钮显示“已保存”,草稿有改动时显示“保存改动”。
显示在图表上新建指标时为开启刚创建的指标已经在显示;这个开关把它从指标面板的“我的脚本”分组中加入或移除。

如何使用

  • 从模板开始,而不是从空白文件开始:每个模板展示一种不同的数据取用方式 —— 收盘价、delta、时段、逐价位的足迹图、一个未平仓头寸。
  • 尽早并频繁地运行。运行在本机进行,确定性强,且不产生任何费用。
  • 感觉哪里不对时,从左到右读那一行功能条:它会指出第一个状态不佳的步骤。
  • 切换“显示在图表上”之前先保存 —— 图表读取的是已保存的脚本,而不是草稿。

局限与陷阱

  • 脚本运行在隔离的 worker 中,预算为 2 秒。死循环杀死的是它自己的 worker,而不是应用。
  • 策略只在这台电脑上交易模拟考核账户;它永远无法触及经纪商。
  • 示例数据是一条确定性随机游走,不是市场。一次运行只能证明代码可以执行并返回正确的结构,绝不能证明它能盈利。
  • 离开页面时它保持挂载,因此回来即刻可用,助手的长回复也会继续流式输出。

其他语言版本

常见问题

我的脚本保存在哪里?
保存在这台电脑的本地存储中,键为 orderflow.userIndicators.v1。它们不会被上传到任何地方。
“在示例数据上运行”究竟在什么上运行?
在由确定性随机游走生成的 300 根合成 K 线上运行,并通过上下文传入 0.25 的 tick 大小。同一个脚本运行两次结果相同。
为什么功能条的“检查”步骤是红色的?
要么是所声明的语言与代码相矛盾,要么是所声明语言的引擎缺失或启动失败。该步骤会指明是哪一种。