DAS 脚本参考线与图表标注
画价格与指标参考线,读取鼠标价格,明确图表上下文与清理范围。
从读取价格到画一条线
上一课读取了报价、指标和 K 线。这一课把一个数值变成图表上的参考线。线的位置表示你选择记录的价格,不是交易信号,也不会创建挂单或止损单。
DrawHorzLineWithPrice(price, color) 在 Chart 上画水平线:第一个参数是价格,第二个参数通过 Color(...) 指定颜色。先在练习桌面打开一张图表,确认股票、周期和价格坐标,再让该 Chart 获得焦点后执行热键。全局变量保存价格,不会自动指定绘图目标。
第一条固定价格参考线
Advanced Script · 修改图表绘图。 在专用练习 Chart 中执行;12.50 是虚构练习值,可改成当前图表可见范围内的数值。本段不读取行情,也不修改订单。
$feLinePrice = 12.50;
DrawHorzLineWithPrice($feLinePrice, Color(100, 100, 100));
第一句只写入全局变量;第二句才改变图表。灰色来自 RGB 参数。官方也记录了 Color("RED") 这样的命名颜色。DAS 图表自己的配色独立于本网页主题,练习时要在你的图表背景上检查线条可见性。
执行后核对价格轴上的位置。看不见时,先查价格是否超出显示范围、窗口是否正确和颜色是否可见,不要连续按热键。重复运行可能增加重复线条;本例没有更新某条已存在的线,也没有实现去重。
把指标的当前值画成参考线
Advanced Script · 读取指标并修改当前 Chart。 将目标 Chart 命名为 feChart,把 VWAP 指标命名为 feVwap。保持这个 Chart 为当前执行窗口,确认指标已加载。条件检查不涵盖窗口或指标不存在的情况。
$feChart = GetWindowObj("feChart");
$feLinePrice = $feChart.GetStudyVal("feVwap");
if ($feLinePrice <= 0) {
MsgBox("Check the study value before drawing");
return;
}
DrawHorzLineWithPrice($feLinePrice, Color(100, 100, 100));
GetStudyVal 的接收对象决定从哪里读取数据,裸调用的绘图命令依赖当前 Chart 上下文。二者必须是同一张图表,不能因为变量叫 $feChart 就认为后续所有命令会自动切到它。
这里画的是执行当时的数值快照。VWAP 继续变化时,已画出的线不应被当作实时 VWAP。不要直接把这个例子放进 Chart Update Script 或 Timer Event;先解决重复绘制、更新目标和清理范围,再讨论自动刷新。
用鼠标位置选择参考价格
官方的 GetMousePtPrice() 用于取得鼠标指向的图表价格,应绑定到热键,在指针位于图表区域时触发。移动到编辑器里点击执行,会改变这个输入条件。
Advanced Script · 读取鼠标对应价格并显示。 在 Chart 上触发;先做读取练习,再考虑把确认过的值交给绘图函数。
$feMousePrice = GetMousePtPrice();
MsgBox($feMousePrice);
鼠标在标题栏、坐标轴外或另一窗口时会返回什么,本课程没有实测。不要把这类未知返回值当作合法价格,也不要把它直接写进订单。
清理与保护已有标注
官方提供 RemoveAllTrendLines; 清理趋势线。它的名称包含 All,不是“只撤销本例最后画的那一条”。清理前保存布局,并在只包含练习线的 Chart 上确认全局线/关联图表的影响范围。
传统 Chart 命令 · 删除图表标注。 仅在确认可以清空的练习图表中单独执行,不与绘图例子连在同一个热键里。
RemoveAllTrendLines;
动手练习:给每条线留下解释
先画固定值,再记录一次指标值,最后读取鼠标价格。为每次操作记下股票、周期、数值来源、执行时间和目标 Chart。改变周期后观察旧线是否仍在原价格;在没有实测自动更新前,将它标记为快照。完成后只清理专用练习图表。
辅助线的所有权与清理
把练习放在独立 Chart,记录每次画线的输入价格与原因。固定线、鼠标线和 study 快照线都只是图形;没有证据表明它们自动拥有订单关系。若重复执行后出现多条线,应先停止重复入口,再清理,而不是在 Timer 中不断 RemoveAllTrendLines。
本课程没有为水平线虚构句柄、更新 API 或按名称删除 API。若需求是“只维护我自己的那条线”,先确认客户端是否提供对应契约;全删再画会影响用户的其他图形,不能作为等价实现。
练习解答与进阶
画一条当前 VWAP 参考线后,VWAP 继续变化而线不动,这是快照绘制的预期;不是脚本失效。鼠标价格应在图表绘图区内触发并与坐标轴核对。清理前记录已有图形数,确认清理范围是否包含关联图表或全局线。
下一步在 Chart 数据实验 中先验证数据来源,再决定画什么线。颜色只能表达辅助分类,不能替代价格和时间标签。