如何在Amibroker探索结果列中显示范围结束日+45天的日期
Amibroker探索中显示区间结束日+45天的日期及对应收盘价
你的代码存在硬编码结束日期的问题,无法适配任意日期区间设置。以下是优化后的方案,自动读取分析窗口的区间结束日,同时将目标日期和对应收盘价添加到探索结果列中:
// 自动获取探索日期范围的最后一个交易日时间戳 RangeEndDate = LastValue( DateTime() ); // 计算结束日往后推45天的时间戳 TargetDateTime = DateTimeAdd( RangeEndDate, 45, inDaily ); // 转换为可读日期字符串(可自定义格式,示例为YYYY-MM-DD) TargetDateStr = DateTimeToStr( TargetDateTime, "YYYY-MM-DD" ); // 获取目标日期的收盘价,无数据时取最近有效收盘价 TargetPrice = Lookup( C, TargetDateTime, -1 ); // 向探索结果添加列 AddColumn( TargetDateStr, "45天后日期", formatDate ); AddColumn( TargetPrice, "45天后收盘价", formatPrice ); // 替换为你实际的买入筛选逻辑 Buy = /* 你的买入信号条件 */; Filter = Buy;
关键说明:
LastValue(DateTime()):自动抓取分析窗口设置的日期范围的最后交易日时间戳,无需手动输入固定日期。- 若需要调整日期显示格式,修改
DateTimeToStr的第二个参数即可,比如"DD-MM-YYYY"对应日-月-年格式。 AddColumn函数负责将计算结果添加到探索结果中,formatDate和formatPrice确保显示格式规范。- 务必将
Buy = /* 你的买入信号条件 */;替换为你实际的买入筛选规则,Filter = Buy;控制仅显示符合买入条件的标的。
使用步骤:
- 将上述代码替换到你的AFL编辑器中
- 在分析窗口设置好目标21天日期区间
- 运行探索,即可在结果列表中看到新增的日期和收盘价列
内容的提问来源于stack exchange,提问作者pradeep
相关产品推荐
相关产品推荐

