集散指标(Accumulation/Distribution,简称AD)是一种用于技术分析的指标,旨在衡量股票或其他资产的买入和卖出压力。该指标基于成交量和价格之间的关系,可以用来识别市场趋势的强度和可能的转折点。集散指标通过计算每个交易日的成交量和价格变化来确定资产的累积(Accumulation)或分布(Distribution)。如果某个交易日的收盘价高于前一日的收盘价,则认为资产处于累积状态,表示市场看涨情绪较强,买盘较多。相反,如果某个交易日的收盘价低于前一日的收盘价,则认为资产处于分布状态,表示市场看跌情绪较强,卖盘较多。
AD指标是MT4自带的技术指标之一,在mt4上方菜单栏依次点击-插入-技术指标-成交量-Accumulation/Distribution,点“确定”即可将AD插入到当前图表中。如下图所示:
AD 指标由一条曲线组成,当曲线上升时,表示市场资金流入;当曲线下降时,表示市场资金流出。要获取 AD 指标的数据,我们需要使用 MT4 中的 iAD() 函数。
iAD() 函数的结构如下:
double iAD(
string symbol, // 交易品种名称
int timeframe, // 图表时间周期
int shift // 指标索引/序号
);
其中参数说明:
- symbol,交易品种名称,当前窗口货币对为 Symbol(),要自行定义参数,可以参考 input string symname = “XAUUSD “; 之类。
- timeframe,图表周期,指一分钟 M1 到月线 MN1 共 9 个图表周期。要自行定义参数,可以参考用 int 或者 ENUM_TIMEFRAMES,如:input ENUM_TIMEFRAMES Period_x = PERIOD_CURRENT; 0 和 PERIOD_CURRENT 都代表当前图表周期。
- shift,获取对应指标线的索引/序号,0 指当前最新 K 线所对应的值,然后从右往左分别是 1、2、3、4…..,这种规则排序。
获取当前图表中从右侧开始第二个 K 线,也就是 1 号 K 线对应的 AD 指标值,参考代码:
double AD_1 = iAD(Symbol(), 0, 1);
跨图表获取黄金 XAUUSD 一小时 H1 图表中最新 0 号 K 线对应的 AD 指标值,参考代码:
double XAUUSDAD_0 = iAD("XAUUSD", PERIOD_H1, 0);
如果要获取多个单位的 AD 指标的值,可以定义数组并结合 for() 循环来编写。总的说来,AD 指标的编程并不复杂,实际外汇ea编程开发中根据需要演变 iAD() 函数的参数即可。