数据差序列
Fi,j=xj-xi ,其中(i<j,且d2≤j-i≤d1)
寻找入点与出点
若最大涨幅,则Up(i,j)=Max(Fi,j)
若最大跌幅,则Down(i,j)=Min(Fi,j)
即入点:i 出点:j
值差
Dv=xj-xi
比例
Rv=xjAbs(xi)-1,若xi=0,则xi=1.0e-5
注:
i、j:分别为序列Data的下标值,从0开始。
xi、xj:分别为序列Data中下标为i、j的元素值 。
d1:最大间隔,默认为最大长度,即length(Data)-1。
d2:最小间隔(本函数不支持该约束条件的设置),默认为1。
1.0e-5:即0.00001
范例01:
//计算一组序列的最大涨幅
data:=array(3,1,7,5,6,3);
return MaxDrawDown(data,1);
//结果:
结果说明:入点为data[1],出点为data[2],两者差为6,最大涨幅比例差为6
范例02:
//------计算100日股票的最大跌幅
setsysparam(pn_stock(),'SZ000002');
setsysparam(pn_date(),20181031T);
setsysparam(pn_rate(),1);
setsysparam(pn_rateday(),20181031T);
setsysparam(pn_cycle(),cy_day());
data:=nday3(100,close());
t:=MaxDrawDown(data);
return t;
//结果t:
注:若需计算最大跌幅率,则只需t[3]*100即可。