非滞后工具 - 页 46

 

我不明白我的错误在哪里

圆周率=3.1415926535

周期e=4

长度=9

Coeff=3*pi

相位=长度-1

Len = Length*Cyclee + Phase

for i=0 to Len-1

如果i<=相位1,那么

t = 1.0*i/(Phase-1)

否则

t = 1.0 + (i-Phase+1)*(2.0*Cyclee-1.0)/(Cyclee*Length-1.0)

结束语

beta = Cos(pi*t)

g = 1.0/(Coeff*t+1)

如果t <= 0.5 那么

g = 1

endif

alfa = g * beta

接下来

 
zilliq:
我不明白我的错误在哪里

pi=3.1415926535

周期e=4

长度=9

Coeff=3*pi

相位=长度-1

Len = Length*Cyclee + Phase

for i=0 to Len-1

如果i<=相位1,那么

t = 1.0*i/(Phase-1)

否则

t = 1.0 + (i-Phase+1)*(2.0*Cyclee-1.0)/(Cyclee*Length-1.0)

结束语

beta = Cos(pi*t)

g = 1.0/(Coeff*t+1)

如果t <= 0.5 那么

g = 1

endif

alfa = g * beta

下一个

zilliq

你必须有一个alfas数组

 

谢谢姆拉登。

但什么叫 "阿尔法阵列"?

有一点很奇怪,我没有看到我在哪里包括价格

谢谢你的下一步回答

Zilliq

 
zilliq:
谢谢Mladen。

但什么叫 "阿尔法阵列"?

有一点很奇怪,我没有看到我在哪里包括价格。

谢谢你接下来的回答

Zilliq

Zilliq

看一下代码的这一部分。

double sum = 0, sumw = 0;

for (k=0; k =0; k++) { sum += nlmalphas[k]*nlmprices[r-k]; sumw += nlmalphas[k]; }

if (sumw!=0)

return(sum/sumw);

else return(price);

这是使用价格的地方(每个价格都有自己的阿尔法--在价格的长数组中的每个价格都应用它自己的阿尔法作为加权系数--这就是为什么你要在数组中存储不同价值的阿尔法--以便能够应用于相应的价格)。

 

总是这么快回答

好吧,我想我会理解的,这不是一个简单的代码,但我会尝试的。

谢谢大家,祝大家有一个愉快的一天

Zilliq

 
zilliq:
总是这么快回答

好吧,我想我会理解的,这不是一个简单的代码,但我会尝试的。

谢谢大家,祝大家有一个愉快的一天

Zilliq

编码愉快

 

Nonlag ma信封。

更新后的版本发布在这里:https://www.mql5.com/en/forum/general

附加的文件:
 

这个版本的NonLag MA histo with alerts也更新了,以使用NonLag ma的新计算方式:nonlag_ma_histo_mtfalerts-1_nmc.mq4

最初它被张贴在这里:https://www.mql5.com/en/forum/general

附加的文件:
 

嗨,Mladen。

似乎可以了,但您能否确认在代码的最后

1/ 我们需要添加所有alfa*price

2/ 我们用这个总和除以所有alfa的总和?

i=0到Len-1

非常感谢,祝你有个愉快的一天

Zilliq

mladen:
编码愉快
附加的文件:
cac40_index.png  30 kb
 
zilliq:
嗨,Mladen。

似乎是可以的,但你能否确认在代码的最后

1/ 我们需要添加所有的alfa*price

2/ 我们用这个总和除以所有alfa的总和?

i=0到Len-1

非常感谢,祝你有个愉快的一天

兹利克

是的,我们用这个总和除以所使用的字母的总和(这样最古老的字母也有一个逻辑值--一种指标的缩放)。

NonLag ma只是一种数字滤波器,其系数适用于某个位置的每个价格(就像SMA是一个数字滤波器,所有系数都设置为1)。如果你记住了这一点,就会更容易知道你在做什么。