IsMaAstringent
简述
均线收敛,与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数。
IsMaAstringent(N1:Integer;N2:Integer;N:Integer;error:Resl;PermitCross:Bool):Bool
名称 | 类型 | 说明 |
---|
N1 | Integer | 整数,均线天数 |
N2 | Integer | 整数,均线天数 |
N | Integer | 整数,收敛天数 |
Error | Resl | 实数,收敛允许误差(%) |
PermitCross | Bool | 真假,允许收敛后穿越 |
返回 | Bool | 布尔值,1表示均线收敛,0表示非均线收敛 |
(1)若PermitCross为假则执行(2)(3)(4),若为真则执行(5)(6);
(2)a =N1日均线-N2日均线;
(3)b =前N-1日的a;
(4)若有a>0&&b<0或a<0&&b>0成立,则返回假,否则执行(5)(6);
(5)若b>0,表达式c为: a<=前一日的a*(1+error/100),若有连续N日的c为真,则返回1,否则返回0;
(6)若b<=0,表达式c为: a>=前一日的a*(1+error/100),若有连续N日的c为真,则返回1,否则返回0。
//计算白云机场截止2011年9月13日的是否是均线收敛情况。
oV:=BackUpSystemParameters();
setsysparam(pn_stock(),'SH600004');
setsysparam(pn_date(),inttodate(20110913));
setsysparam(pn_cycle(),cy_day());
N1:=10;
N2:=20;
N:=5;
Error:=5;
PermitCross:=true;
v:= IsMaAstringent(N1,N2,Error,PermitCross);
RestoreSystemParameters(oV);
return v;
//结果:0