FennEdge Learn · 编程

DAS Trader Advanced Hotkey Script Course

读懂代码,检查状态,验证结果。 从语言与数据结构,到订单对象、事件工作流和完整项目,系统学习 Advanced Script 编程。

按约 1046 分钟安排,已包含阅读、算例和每课练习;实际用时因人而异。

36节课程≈1046预计分钟—登录后保存进度
12
第 12/36 课 · 约 30 分钟

DAS 脚本 K 线、指标与观察区间

检查 K 线字段并构建区间计算,分清已显示与已收盘。

先定义图表契约,再写公式

前置知识:集合与命名窗口。K 线取决于股票、周期、时段、加载历史和图表位置。GetBar(-5) 的官方描述是倒数第五根已显示 K 线,不应改写成保证已收盘。手册示例使用 HI;不要把其他 API 的 High、Close、Timestamp 字段直接搬过来。

同时检查 K 线和指标

$feChart = GetWindowObj("feChart");
$feBar = $feChart.GetBar(-5);
$feBar.ShowObject();
$feBarHigh = $feBar.HI;
$feStudy = $feChart.GetStudyVal("feVwap");
MsgBox($feBarHigh, $feStudy);

前提与结果解释

Advanced Script · 读取与显示。需配置 feChart、feVwap,至少加载五根已显示 K 线。GetStudyVal 读取命名指标的最新值,不一定对应 GetBar(-5) 那根 K 线。两者相减会组合两个时间位置;若这正是计算目的,应明确标注。多输出指标需要单独核对配置,不能虚构通用的输出索引参数。

构建有边界的观察区间

先在当前 build 对照图表验证 -1、-2、-3,包括最新一根是否仍在形成。确认索引后,下面扩展收集三根 HI。它不代表“最近三根已完成 K 线”。必须先验证历史数量与缺失 K 线行为,再运行遍历。

索引验证后的扩展

$feBarHighs = NewUserObj();
$feOffset = 1;
while ($feOffset < 4) {
    $feCurrentBar = $feChart.GetBar(0 - $feOffset);
    $feBarHighs.Set($feOffset, $feCurrentBar.HI);
    $feOffset = $feOffset + 1;
}
$feBarHighs.ShowObject();

练习与参考解答

使用已确认的高点 21.20、21.35、21.10,借助集合课循环求最大值。参考解答:从键 1 初始化,比较键 2、3,得到 21.35。只改变周期后重做,解释为什么观察区间改变。记录读取时间与 K 线位置;循环期间新 K 线出现可能导致相对索引移动,不能将其当作原子历史快照接口。