DAS 高级脚本语言与 API 参考
查语法、上下文、副作用与证据,覆盖本课程涉及的接口。
使用这份参考
这里收录本课程涉及的语言与接口。完整练习与解答见对应课程;每种窗口与券商特有的契约仍须单独验证。官方已记录表示对应文档存在说明;待实测表示 FennEdge 没有在具体 DAS build 上验证;待确认表示不能从本次来源确认准确契约。三者不能互相替代。
基线:Advanced Hotkey Guide 与 DAS Order Objects V2,2025-06-27;订单与 Locate 说明,2026-08-03;Trigger Guide,2026-07-06;OCO 说明,2026-06-30。来源核对日:2026-09-11。文档日期不是最低支持版本。每项都应在你使用的 build、窗口与账户下再次确认。
变量赋值 / Assignment
$name = expression;
全局变量;赋值会覆盖旧值,不区分大小写。跨热键共享,不能假设账户隔离或跨重启持久化。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 4
流程控制 / Control flow
if (condition) { ... } else { ... }
条件分支;手册示例用 == 比较,return; 结束脚本,while 有版本相关循环限制。错误后的继续行为仍需实测。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 5
MsgBox
MsgBox(value1, value2, ...)
全局函数,显示值并等待用户交互;不是订单回执。手册未在此定义可依赖的返回值。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 7
GetWindowObj
GetWindowObj("windowName")
参数是已配置的窗口名称,返回窗口对象;名称不存在、关闭、重命名后的行为待实测。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 11
ShowObject
$object.ShowObject()
对象检查方法,用于查看暴露的属性;不把检查方法的返回值当作原对象使用。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 15
GetQuoteObj
GetQuoteObj("symbol")
按股票取得报价对象,行情字段只读,另有可写 data 槽位;先加载对应行情。缺失数据行为与新鲜度需要另行确认。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 17
GetAccountObj
GetAccountObj("account")
按账户取得账户对象;文档展示 BP,但 BP 不等于允许风险金额。使用明确确认的模拟账户。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 10
GetStudyVal
$chart.GetStudyVal("studyName")
图表对象方法;参数是配置的指标名称,读取最新数值。周期、时段、多输出与缺失指标情况要分别核对。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 36
GetBar
$chart.GetBar(-5)
文档例子读取倒数第 5 根已显示 K 线,返回可检查的 bar 对象;不推测其他索引或缺失值约定。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 36
Round
Round(value, precision)
精度参数有特殊约定:手册列出 1–6 小数位,以及 100、101 的整手行为。不是通用向下取整别名;按目标数量与价格规则实测。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 7
ExecHotkey
ExecHotkey("hotkeyName")
执行热键文件中的命名脚本,副作用取决于被调用内容;依赖正文、变量和目标上下文都要审查。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 38
GetSecond
GetSecond()
返回午夜起累计秒数。不能把它直接当 Unix 时间戳;具体时区、跨日和精度在当前环境确认。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · p. 7
Exec
Exec(script1, script2, ...)
执行字符串或变量里的脚本;字符串内的双引号需要转义。无内置事务或局部变量隔离保证,副作用取决于正文。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · pp. 37-40
GetHotkeyScript
GetHotkeyScript("hotkeyName")
取得命名热键的脚本文本,单独调用不执行。准确拼写不是 GetHokeyScript;缺失名称的返回行为待实测。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · pp. 37-38
DrawHorzLineWithPrice / Color
DrawHorzLineWithPrice(price, Color(100, 100, 100))
在 Chart 上绘制水平参考线;需要正确图表执行上下文。也可用 Color("RED")。一次绘图不保证随指标更新,不创建订单。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · pp. 36-37
GetMousePtPrice
GetMousePtPrice()
读取鼠标指向的图表价格,绑定热键并在图表上触发。指针不在绘图区时的结果待实测。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · pp. 36-37
RemoveAllTrendLines
RemoveAllTrendLines;
清理趋势线,有删除标注的副作用,不等于只撤销最后一条。先保存布局,在专用练习图表核对关联与全局线的作用范围。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · pp. 37
NewAlertObj / AddItem / Save
NewAlertObj() · $alert.AddItem("L1 BID", ">", threshold) · $alert.Save()
创建 Alert 对象,设置 name、Symb,添加条件后保存。Reset() 后 Save() 是手册给出的移除示例。重复名称、重复触发和默认动作需检查;Script 字段在提醒设置中单独配置。
状态:官方已记录 · 客户端待实测。 Advanced Hotkey Guide · pp. 33-34
GetAlertObj:契约待确认
手册 p. 33–34 的标题提到此函数,但正文没有明确查找参数或缺失时的结果。本参考不提供猜测签名。创建与清理代码见 Alert 与触发脚本。
状态:标题提及 · 详细契约待确认 · 客户端待实测。Advanced Hotkey Guide · p. 33
Locate 窗口命令
| 写法 | 作用 |
|---|---|
$window.InquiryShare = 110; |
填写询价数量 |
$window.Inquire; |
向配置的提供方发起询价 |
$window.LocateLowest; |
实际 Locate 动作,可能产生费用 |
前提是 $window 来自已配置、已命名的 Short Locate 窗口;股票、账户/提供方需要核对。命令形式没有函数括号。询价后必须依据本次响应判断状态,不能把脚本继续执行当成已完成。分步例子见 Locate 课程。
状态:官方已记录 · 客户端及券商环境待实测。DAS · Short Locate
Input
Input(title, message) · Input()
全局交互函数;显示输入窗口并取得输入。带标题和消息的形式见 p. 7,无参数形式见 p. 40。接收值先当用户文本,不依赖自动数字转换。取消、空文本与空白文本的区别未形成完整契约;不能把没有内容当作合法零。每次请求先清掉旧的 ready 状态,验证后再公布结果。不要把输入直接传给 Exec。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 7,40 · 课程与练习
GetVar / SetVar / DelVar
GetVar(name) · SetVar(name, value) · DelVar(name1, name2, ...)
按字符串名称读取、写入或删除全局变量。GetVar 返回对应值,SetVar 和 DelVar 改变共享状态;不能把它们当局部字典。名称字符串是否包含 $、不存在变量返回什么以及删除后的访问行为,在当前说明中不够明确。课程先用同一字符串进行 Set/Get/Del 命名探针,不声称它等价于某个 $ 标识符。记录测试结论后再做动态键。删除值不是停止仍会使用它的回调。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 7 · 课程与练习
NewUserObj
NewUserObj()
创建自定义对象,用属性组成有明确结构的配置、状态或结果。字段名由脚本定义;version、valid、count 等是本课程约定,不是平台保留协议。逐个初始化消费者将读取的字段,再发布对象。对象赋值不构成已记录的深拷贝;每条独立记录应明确创建自己的对象。对象与全局变量不自动持久化,也不自动按账户隔离。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 29-32 · 课程与练习
Set / Get / Del
object.Set(key, value) · object.Get(key) · object.Del(key)
对象方法支持按键访问,官方例子包括数值键以及 Del("")。可以用数字键加自己维护的 count 表示集合;这不是 JavaScript Array。没有依据把 Length、push、map、迭代器或自动移位补进去。删除中间项不应被假定会压缩剩余索引;要么保留空位并明确规则,要么自行重建集合。Del("") 是清空对象内容的操作,不能当成只删一条。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 29-32 · 课程与练习
Quote fields / data
quote.BID · ASK · LAST · HI · LO · VOLUME · SYMBOL · data
行情字段读取市场数据,data 则是可写的附加状态槽位。不要把两个层混为一谈。给 data 赋自定义对象前确认所有权,否则另一个脚本的数据会被覆盖。连续读取多个字段不构成原子快照;附加观察时间也不能证明源行情新鲜。账户差异要在你的记录键中显式表达。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 10,29-32 · 课程与练习
Window title, ticker and focus
$window.GetWindowTitle() · $window.GetTicker() · FocusWindow name;
GetWindowTitle 与 GetTicker 读取当前上下文,FocusWindow 按已配置名称切换焦点,是无括号命令。读取上下文函数不会锁定随后执行的裸命令目标。对象的 GetWindowObj 显式查找与前台焦点是两种机制。重名、窗口关闭和类型不匹配都应在模拟环境验证,不能猜测缺失时的返回值。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 11,21 · 课程与练习
NewOrderObj / fields
NewOrderObj() · NewOrderObj(shortForm)
创建 Order 对象草稿。官方列出 Account、Symbol、Price、Share、Open、Side、Tif、Route、RefNum、Status、Type;不要根据名称为 Open 或 Status 编造完整状态枚举。短写参数另见 V2。先显式设置身份与字段,再用 ShowObject 对照目标账户。对象创建或赋值不等于发送;代码示例中的 Send 保持注释。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 22-28 · 课程与练习
Clear / Send / Cancel
order.Clear() · order.Send() · order.Cancel()
Clear 清理对象内容,不是撤销已发送订单。Send 请求发送,Cancel 请求撤单;调用返回与外部接受、成交或撤销是不同证据。先确认对象是你要处理的草稿还是已存在订单记录。文档含每秒发送限制说明,但应按当前 build 和 broker 验证,不能通过循环或 Wait 推断可用吞吐。重试前先核对是否已产生请求。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 22-23 · 课程与练习
Order Objects V2 grammar
Side Share Symbol Route OrderType OtherPrice Price TIF
这是 NewOrderObj 的短写解析,不是另一个 NewOrderObjV2 函数。未填写字段可能来自 Default Order Templates;文档默认方向是 Sell。Side 包含 B/BUY、S/SELL、SS/SHRT/SHORT。短写的 D、D+ 与属性赋值的 DAY、DAY+ 不能无条件互换。修改 Route 不自动修正 Type。先设置账户,再考虑 Send。Sell 示例和 Range 次序冲突见勘误课。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 DAS Order Objects V2 · pp. 1-5 · 课程与练习
Order types / Peg / TIF
M · L · P · SM · SL · SLP · TL · RG · RGM
类型分别涉及 Market、Limit、Peg、Stop Market、Stop Limit、盘前盘后 Stop Limit、Trailing、Range 与 Range Market。SL 的触发价在限价前。Trailing 数字距离与带 % 的距离不是同一单位。Peg 策略包含 AGG/MID/PRIM/LAST,且路由必须支持。SLP 需要券商启用。TIF 列表包括 DAY、DAY+、AtOpen、AtClose、FOC、IOC、GTC、GTC+;保留原文 FOC,不默改成 FOK。它们是文档词汇,不是所有路由和账户的支持承诺。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 DAS Order Objects V2 · pp. 3-5 · 课程与练习
GetOrderObj
GetOrderObj(filter)
通过过滤条件读取订单对象。复合过滤器一节标明 5.7.9.9+,字段包括 Acc、Symb、Oid、RefNum、Price、Share、First、Last,以逗号组合;准确例子见课程。返回第一条匹配记录,不是订单数组。先使用已知 RefNum 并对照 Orders,避免仅按股票匹配到别的账户。无匹配行为必须实测,不能凭空补一个安全空对象。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 23,29 · 课程与练习
Account CancelOrder
account.CancelOrder(flag, symbol, price)
账户对象上的撤单方法,过滤范围由接收账户和参数共同决定。文档列 BUY、SELL、FIST、LAST、P>、P<、P=、P>=、P<=,并演示按位样式分隔符 | 组合,例如 BUY|P<。其中 FIST 保留为原文拼写疑点,不自行改成 FIRST 并给出可执行示例。必须先理解“多条订单请求”的作用范围;返回后仍需确认每条订单终态。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 10 · 课程与练习
WithTrigger / OCO
WithTrigger=RT:... PX:... ACT:... QTY:... TIF:...;
为主单附加次单说明的传统命令结构;官方 Trigger Guide 描述主单完全成交后触发。QTY:POS 不等于主单固定 Share。OCO 是订单间的取消关系,不能通过创建两张独立订单代替。课程提供全注释的 WithTrigger 字段阅读,以及 OCO 界面和 Wizard 生成步骤;并不编造未核对的 OCO 热键语法。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Trigger Order Guide · 2026-07-06 · 课程与练习
Timer Event / Chart Update Script / DesktopLoadScript
Event callback bodies configured in DAS
Timer 文档描述每秒执行,Chart Update 随图表更新执行,DesktopLoadScript 是桌面加载入口;三者不是可互换时钟。每次回调要有界,避免阻塞弹窗、无限等待与隐式重复动作。准备初始化、启用、观察、禁用、清理五个阶段。先停入口再删数据;本课程的 enabled 字段是应用约定,不会自动取消平台事件配置。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 6,18-19,35 · 课程与练习
Wait
Wait(milliseconds)
暂停当前脚本一段毫秒时间后继续。毫秒与 GetSecond 的秒必须分开。等待不是 broker 确认,不保证行情刷新,也不等于后台调度器。事件中长时间等待会影响交互与执行节奏;用有界回调读取最新状态,并明确跳过、补跑和时钟回退策略。课程采用跳过积压,不制造批量重放。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 8,18-19 · 课程与练习
Speak / PlaySound
Speak(text, device, flag) · PlaySound(file, device, flag)
播放语音或本机 WAV/MP3。设备是本机名称;可用标志有 INTRPT、SHARE、STOP、LOOP。这些是有感知副作用,重复事件可能叠音或循环。先单次播放确认设备,再测试停止,最后才接入事件。文件播放不是任意文件读写 API;不从它推导 JSON、CSV 或网络下载能力。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 7-8 · 课程与练习
Application and desktop commands
NewWindow · SaveDesktop · SaveLayout · SwitchDesktop · Shell
全局 App 表列出窗口、布局、主题、朗读、行情暂停/恢复、录屏和外部打开等命令。无括号命令没有函数返回值。SaveLayout 会覆盖当前布局;ClearDesktop 会清理窗口;Shell 和 HTTP/HTTPS 属于外部动作,不能当成返回 JSON 的 fetch。Panic 涉及账户清仓,不是普通错误恢复指令。本课程按作用范围审阅这些命令,不提供自动清仓或任意外部执行入口。
状态:官方文档已核对;上面列出的不确定项保留待确认,客户端待实测。 Advanced Hotkey Guide · pp. 8-9 · 课程与练习
传统命令与有副作用的操作
| 写法 / 类别 | 行为 | 核对重点 |
|---|---|---|
Price / Share |
修改 Montage 输入 | 焦点、字段继承、单位 |
BUY=Load |
加载买单信息 | 不按 Enter;仍会改变订单输入 |
BUY=Send / SELL=Send |
发送订单 | 账户、路由、TIF、数量与回执 |
TriggerOrder |
关联后续订单 | 主单条件、部分成交、后续确认 |
| 撤单命令 | 请求撤销订单 | 当前 build 的准确拼写与账户/股票作用范围 |
InquiryShare / Inquire |
数量配置 / 询价 | 窗口、提供方与响应 |
LocateLowest |
Locate 动作 | 数量、费用、有效性与结果 |
这些条目用于识别副作用,不是可以拼接执行的完整脚本。来源:订单字段与 Load/Send、关联订单、Locate。
参考层的覆盖边界
| 参考分类 | 本版覆盖 | 尚需确认 |
|---|---|---|
| 语法、运算符、变量、流程控制 | 本课程使用的语法 | 完整运算符、类型转换与错误继续行为 |
| 全局函数、窗口对象 | 上方最小契约与检查方法 | 未记录的窗口属性与缺失结果行为 |
| 订单对象 | 构建、V2 语法、类型、查询、撤单与生命周期 | 缺失结果、冲突示例与 build 实测 |
| 图表、行情、账户 | 只读接口与数据语义 | 多输出指标、缺失值和跨窗口一致性 |
| UI、时间、事件 | Input、音频、Timer、Chart Update、DesktopLoadScript、Alert | GetAlertObj 契约、回调重入与断线行为 |
| 文件与外部交互 | 副作用审查方法 | 逐项接口权限与契约 |
| 常量、错误、兼容性 | 记录方法和待确认标记 | 券商路由全集、错误码、最低 build |
未查证的能力不等于“不支持”。添加参考项时记录准确签名、参数、返回值、副作用、来源页码、build 和测试证据;文档冲突保留双方说明,不凭相似语言猜测。