天软金融分析.NET函数大全 > 金融函数 > 技术分析 > 趋势指标 > 计算公式

MACD_Ex    

简述
平滑移动平均_扩展,利用自有数据arrData,计算MACD值。其中,数据arrData第一列为日期date,第二列为收盘close数据。
定义
MACD_Ex(ShortN:Integer;LongN:Integer;M:Integer;arrData:Array):Table
参数
名称类型说明
ShortNInteger整数,短期平滑移动平均线 LongN:整数,长期平滑移动平均线 M:整数,计算DEA的平滑移动平均的样本长度
arrDataArray数据表类型
返回Table数组,包括数据date、close、DIF、DEA、MACD
  • 算法

    (1)根据每个close数据,计算每个时间点的短期移动平均数据和长期移动平均数据;

    其中,短期移动平均数据放在字段['short']中,['short']=前一时间点的['short']*(shortN-1)/(shortN+1)+当前时间点的收盘close * 2 / (shortN+1)

    长期移动平均数据放在字段['long']中,['long']= 前一时间点的['long']*(longN-1)/(longN+1)+当前时间点的收盘close * 2 / (longN+1)
    (2)DIF =['short'] - ['long'];

    (3)DEA =前一时间点的DEA*(M-1)/(M+1)+当前时间点的DIF*2/(m+1);

    (4)MACD =2*(DIF-DEA)。
    范例

    //利用数据表arrData中的数据计算MACD值。
    Short:=12;
    Long:=26;
    M:=9;
    arrData:=array(("date":inttodate(20180904),"close":12.10),
            ("date":inttodate(20180903),"close":12.31),
            ("date":inttodate(20180831),"close":12.21));
    Return MACD_Ex(Short,Long,M,arrData);

    //结果:
相关