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

MACD_f    

简述
平滑异同平均MACD线,利用短期(常用为12日)移动平均线与长期(常用为26日)移动平均线之间的聚合与分离状况,对买进、卖出时机作出研判的技术指标。与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()和执行点数PN_nDay()相关。调用时需注意设置系统参数。
定义
MACD_f(Short:Integer;Long:Integer;M:Integer;Type:Integer):Table/Boolean
参数
名称类型说明
Shortinteger整数,快速平滑移动平均线
Longinteger整数,慢速平滑移动平均线
Minteger整数,计算DEA的平滑移动平均的样本长度。
Typeinteger结果类型
取值含义
0取当前值
1取执行点数区间值
2是否金叉
3是否死叉
4是否0轴上金叉
5是否0轴上死叉
6是否0轴下金叉
7是否0轴下死叉
返回Array,TableArray
Type返回类型
0,1数组
2,3,4,5,6,7布尔值
数组结果说明:第一行存放DIF值,第二行存放DEA值,第三行存放MACD值
  • 算法

    (1)DIF =Short日收盘价的移动平均 - Long日收盘价的移动平均;
    (2)DEA =M日DIF的移动平均;
    (3)MACD =2*(DIF - DEA);
    (4)Type=0,返回当前时间的DIF、DEA、MACD;
    (5)Type=1,返回当前时间往前推共nDay个DIF、DEA、MACD区间序列;nDay由系统参数PN_nDay()设置,默认值为180;
    (6)Type=2,返回DIF是否上穿DEA;
    (7)Type=3,返回DIF是否下穿DEA;
    (8)Type=4,返回是否DIF上穿DEA且DIF>=0,DEA>=0 ;
    (9)Type=5,返回是否DIF下穿DEA且DIF>=0,DEA>=0;
    (10)Type=6,返回是否DIF上穿DEA且DIF<=0,DEA<=0;
    (11)Type=7,返回是否DIF下穿DEA且DIF<=0,DEA<=0。
    范例

      
    //计算白云机场截止2011年9月8日的平滑异同平均DIF线、EDA线和MACD线。
    oV:=BackUpSystemParameters();
    setsysparam(pn_stock(),'SH600004');
    setsysparam(pn_date(),inttodate(20110908));
    setsysparam(pn_cycle(),cy_day());
    setsysparam(pn_rate(),0);
    Short:=12;
    Long:=26;
    M:=9;
    v:=MACD_f(Short,Long,M,0);
    RestoreSystemParameters(oV);
    return v;

    //结果:

    范例二:
    ///计算白云机场截止2011年9月8日向前推共5日的平滑异同平均DIF线、EDA线和MACD线。
    oV:=BackUpSystemParameters();
    setsysparam(pn_stock(),'SH600004');
    setsysparam(pn_date(),inttodate(20110913));
    setsysparam(pn_cycle(),cy_day());
    setsysparam(pn_rate(),0);
    setsysparam(pn_nday(),5);
    Short:=12;
    Long:=26;
    M:=9;
    v:=MACD_f(Short,Long,M,1);
    RestoreSystemParameters(oV);
    return v;

    //结果:
相关