大家好!今天和大家分享一个非常实用的外汇日历指标——FFC,它是根据广受欢迎的新闻指标 DerkWehler 在 ForexFactory 论坛上发布的版本进行改进的。我在原有的基础上进行了修改,发现这也许对大家有帮助,因此决定和大家分享。可以说,这个指标几乎是从零开始构建的,但仍然保留了原有的技术和风格。
这个指标会在你的图表上显示外汇日历中的五个经济事件。你可以按照高、中、低影响,发言,假期或特定关键词进行过滤。具体的修改内容请查看这里.
此外,该指标还可以通过 EA 调用,使用 iCustom() 函数访问两个缓冲区:
- 缓冲区 (0) 包含距离最近事件的分钟数.
- 缓冲区 (1) 包含最近事件的影响值(低 = 1, 中 = 2, 高 = 3).
你可以通过两种方式调用缓冲区:
简单调用:(默认值将被应用)
int EventMinute = (int)iCustom(NULL,0,"FFC",0,0); if(EventMinute == 30) { .. 你的代码 .. } // 距事件还有30分钟 int EventImpact = (int)iCustom(NULL,0,"FFC",1,0); if(EventImpact == 3) { .. 你的代码 .. } // 高影响事件
高级调用:
iCustom( string NULL, // 符号 int 0, // 时间框架 string "FFC", // 自定义指标的路径/名称 bool true, // true/false: 仅活动图表 bool true, // true/false: 包含高影响 bool true, // true/false: 包含中影响 bool true, // true/false: 包含低影响 bool true, // true/false: 包含发言 bool false, // true/false: 包含假期 string "", // 查找关键词(区分大小写) string "", // 忽略关键词(区分大小写) bool true, // true/false: 允许更新 int 4, // 每隔(小时)更新 int 0, // 缓冲区: (0) 分钟, (1) 影响 int 0 // 偏移量 );
*请注意,该指标在此阶段不具备回测能力。
推荐样式:
- 高影响颜色 = C'217,83,79'
- 中影响颜色 = C'255,185,83'
- 低影响颜色 = C'91,192,222'
- 假期颜色 = clrOrchid
- 备注颜色 = clrDimGray
日历图例:
- m/m: 月度变化
- q/q: 季度变化
- y/y: 年度变化
- K 千
- M 百万
- B 十亿
- T 万亿



修改内容:
- 新增:添加了 #property strict,以兼容 MetaTrader 4 Build 600+ 并提升代码质量。
- 新增:显示事件的上一个/预测影响(带颜色的影响)。
- 新增:仅显示与活动图表相关的事件(覆盖其他参数)。
- 新增:关键词过滤。查找或忽略特定单词,例如“NFP”,将过滤出所有包含/不包含该词的事件(区分大小写)。
- 新增:显示货币强度/条形图剩余时间/点差值的选项。
- 新增:控制过去事件显示时间的选项(以分钟为单位)。
- 新增:设置面板位置的选项,可以选择图表的四个角落。
- 新增:鼠标悬停时显示事件标题、影响和剩余事件时间的工具提示。
- 新增:面板标题,作为提醒笔记使用 :)
- 修改:以“日期/时间格式”显示事件,而不是剩余分钟(可以通过工具提示显示剩余分钟)。
- 修改:即将发生事件的垂直线(你可能需要根据你的经纪商时间修改“时间偏移”输入)。
- 修改:保存即将发生事件的分钟和影响的缓冲区(见上面的例子)。
- 修改:重新排列外部输入的顺序。
- 改进:用本机 Windows URLDownloadToFileW() 函数替换 DownLoadWebPageToFile() 函数。
- 改进:将(下载/读取 XML 文件)及相关代码放入函数中,以便在需要时调用。
- 改进:用FILE_MODIFY_DATE替代了用于更新 XML 文件的“GlobalVariables”,并通过“AllowUpdates”,“UpdateHour”输入设置 OnTimer()。
- 改进:时间 GMT 偏移,现在事件将自动显示在你的本地时间。
- 改进:根据设置为右/左时对面板/文本进行对齐。
- 改进:警报功能,现在除了弹出警报外,还会发送声音警报、手机推送通知和邮件(两个独立的警报)。
- 改进:代码质量,现在该指标比以往更轻便和快速。
- 修复:各种 bug 修复,去除了一些不必要/未使用的代码或变量,将一些变量放入相关函数中。
真实作者:
致谢:
- JimDandy
- WHRoeder
- RaptorUK
* 使用此指标时,请确保在 MetaTrader 4 平台选项中启用 DLL 导入。
* 请注意,代码可能存在一些 bug 或其他缺陷,如果你发现任何问题或建议,或者更好的代码实践,请告诉我。
* 根据外汇日历网站,所有事件时间均为近似值且可能会变动。