网友求助:
麻烦老师看一下自编的M日前N日内最高价公式,飞狐会计算错误.谢谢
M5:=ma(c,5);
M10:=ma(c,10);
AA:=cross(M5,M10);
JX:AA;
BB:=cross(M10,M5);
SX:BB;
JX1:=barslast(JX)+1;{上次金叉位置}
JX2:ref(JX1,JX1+1)+JX1+1;{之前第二次金叉位置}
JX3:=ref(JX1,JX2+1)+JX2+1;
SX1:barslast(SX)+1,COLOR0066ff;{上次死叉位置}
ZZ:JX2-SX1;
Z2:SX1-1;
Z1:REF(hhv(h,zz),Z2);
麻烦大师看一下Z1值,求Z2周期前ZZ周期的高点,其中Z2值是上次均线死叉后到今天的天数减1天。ZZ值是前二次金叉到上次死叉的周期数。现在的问题是上一次Z1高点要大于上上次Z1高点才能取得上一次Z1高点值。如果小于的话,公式自动取上上次Z1的高点值。怎么会这样呢?如果另编一个指标,用数值代替Z2和ZZ,则正好能取得Z1值。
截了个图,大家看看,其中前高测试的指标也是用Z1:REF(hhv(h,N),M);
其中N和M值取的就是ZZ和Z2值,只不过有数字代替了。但计算结果差了很远
是不是我“测试”指标中写的有什么问题?
如果上次Z1值大于上上次Z1值,则“测试”指标正好能取得上次Z1值。要是小于上上次的话,指标会自动取得上上次的Z1而不是上次的Z1值,怎么会这样,难道飞狐也有计算错的时候。
解答如下:
M5:=ma(c,5);
M10:=ma(c,10);
AA:=cross(M5,M10);
JX:=AA;
BB:=cross(M10,M5);
SX:=BB;
JX1:=barslast(JX);{上次金叉位置}
JX2:=ref(JX1,JX1+1)+JX1+1;{之前第二次金叉位置}
SX1:=barslast(SX),COLOR0066ff;{上次死叉位置}
ZZ:=IF(JX1>SX1,JX1-SX1,JX2-SX1);
Z1:REF(hhv(h,zz),SX1);