- 显示:
- 3898
- 等级:
- 已发布:
- 2014.01.24 06:44
- 已更新:
- 2016.11.22 07:33
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
本 MACD 指标可以被应用于任何时段, 可以高于或者低于当前图表的时段.
其数值的计算可以基于任何常见的价格类型. 当指标被应用到低于当前图表时段时, 不可能显示全部数据. 在这种情况下, 依赖于所选的价格类型, 它会使用不同的方法提供最接近的数值.
两个例子:
- timeframe_1=5 分钟, timeframe_2=1 分钟, 计算基于 收盘价 价格序列:
对于任何 timeframe_1 上的柱, 指标将使用 timeframe_2 最新的柱或者柱关闭时间最接近 timeframe_1 上开启时间的柱. 这样可以使柱在关闭或者尚未关闭时都能正确显示.
- timeframe_1=5 分钟, timeframe_2=1 分钟, 计算基于 开盘价 价格序列:
对于任何 timeframe_1 上的柱, 指标将使用 timeframe_2 上最新的柱或者柱开启时间接近 timeframe_1 上开启时间的柱. 这样可以使柱在关闭或者尚未关闭时都能正确显示. 这里的逻辑是, 如果您选择基于柱的开启时间计算您的指标, 可能您也会在新柱开启时进行交易. 在这种情况下, 新的5-分钟柱开启时, 您只需要知道5个1分钟柱中的第一个柱开启时间的数值. 5个1分钟柱中的第二个将在计算中被忽略.
您可以把时段任意相互混合, 甚至它们之间无法同步, 例如 timeframe_1 = 5 分钟并且 timeframe_2 = 12 分钟. 指标将会保证它们能够被同步. 它的工作原理和上面的例子类似.
附加的 excel 表格 (Conversion between timeframes.zip) 包含了所有可能组合的例子并且提供了更多的可视解释. 也可以参考源代码来看它是怎样做的. 希望它将对您创建您自己的多时段指标有所帮助.
当在时段间切换时, 需要一些时间(几秒钟)以载入价格数据. 如果指标未能显示, 请人工刷新图表.
需要:
- MovingAverages.mqh(默认包含文件位于 terminal_data_folder\MQL5\Include 文件夹)
- MACD_Histogram_MC (同样发布于 mql5.com)
把 MACD Histogram_MTF_MC.mq5 和 MACD_Histogram_MC.mq5 放到 terminal_data_folder\MQL5\Indicators 目录下以使指标正常工作.
检查源代码以切换错误信息的开关:
bool ShowErrorMessages=false; // 开/关调试的错误信息
更新历史:
2010 09 26: v03
- 优化了时段小于当前图表时段时数值的显示;
- 把缓冲区设为 EMPTY_VALUE 而不是 0 以后: if(convertedTime<tempTimeArray_TF2[0]);
- 代码优化;
- 从OnInit()中删除了 PLOT_DRAW_BEGIN - 继承于单时段指标;
- 把 ArraySetAsSeries 函数移入 OnInit();
- 增加 MODE_SMMA 和 MODE_LWMA 做为信号线的 MA 方法;
- 把 ENUM_APPLIED_PRICE 做为列表中的最后一个输入参数;
2010 08 28: v02B
- 指标首次发布;
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/176
![MACD 柱形图, 多种颜色 [v04]](https://c.mql5.com/i/code/indicator.png)
带有 MACD 线, 信号线和多种颜色柱形图的 MACD 指标.

我们所希望的是思考算法和方法, 而不是如何下单的语法和数值. 这里给您提供使用MQL5管理仓位的函数.