倾向性平面测量法 - 页 4

 
Mathemat:

但这样一来,你就不得不拒绝标准的元定额算法。


如果时间紧迫,就必须 拒绝。
 
Mathemat:

问题是,我们必须学会如何比在标准元报价包中更优化地计算混杂。我们需要一些计算醪糟的递归算法,其中N周期的醪糟是用已知的N+1周期的醪糟来计算的。原则上,这并不困难,但这样一来,人们就不得不拒绝标准的metacquot算法。

关于袋子的密度:我们显然需要某种聚类算法,因为它们在垂直方向上可能是非常异质的(对于一个给定的酒吧)。简而言之,这项任务在技术上一点也不容易。

我们可以做一个指标,其中最后一百个(如果我们使用一百个袋子)的值返回袋子的值。但在这种情况下,它只适用于SMA。其他魔杖的算法有点不同,但原则上也是可行的。
 

我不太明白,维克多。请更详细地解释。什么是一维数组中的 "最后一百"?

原则上,所有向导都已经内置了元引号算法中的递归性。但它适合于调用同一时期的擦拭物。 而我们每次都有不同的时期。

 
Mathemat:

原则上,所有向导都已经内置了元引号算法中的递归性。但它有利于调用同一时期的混杂物。 而我们的时期每次都不同。

for (i = 2; i<=N;i++) {
  Sum += Close[i];
  MA[i] = Sum/i;
}
P.S. 看来和也应该是数组 :)
 
Mathemat:

我不太明白,维克多。请更详细地解释。什么是一维数组中的 "最后一百"?

原则上,所有向导都已经内置了元引号算法中的递归性。但它适合于呼叫同一时期的擦拭。 而我们的时期每次都不同。


如果你按平均数计算。

int i,j;
double sum=0, Count;
for (i=0;i<100;i++) {
   for (j=0;j<step;j++) {
       sum+=Close[i*step+j];
       Count++;
   }
   Buffer[i]=sum/Count;
}
类似这样的事情。
 

我不是这个意思。

double SMA( int newperiod, int sh, double SMAprev )
{
   return( ( SMAprev * ( newperiod - 1 ) + Close[ sh + newperiod - 1 ] ) / newperiod );
}

该函数没有对iMA()进行昂贵的调用(会将一堆和值加起来),而是计算一个周期递增为1的掩码,而不考虑周期。 因此,事实上,iMA()在每个计数的柱子上只能调用一次,第一和最后一个。

对于EMA来说,类似的算法也是反复出现的,尽管没有那么明显。SMMA等同于EMA,只有LWMA还有待观察。

 
调用任何函数都是一种额外的开销。另一方面,如果记住了一个金额而不是SMAprev,就可以避免一些操作。
 
嗯,是的,金额是记得的,或者说是以前的SMA。用标准的方法贴出两个代码在一根柱子上做一千次计算没有问题,用我的方法也一样。并比较他们的效率。
 

当然,它更快。但我说的是 "更快":)。将其与我的相比,这是在上面。

 
啊哈,Candid,现在明白了。对于一个任意的酒吧,有一个移位sh。

// размер массива SMA[] уже установлен равным N+1 перед вызовом функции
void createSMAsArray( int sh, double& SMA[] ) 
{
   double Sum = 0;
   for ( int i = 1; i <= N; i ++ ) 
   {
     Sum += Close[ sh + i - 1 ];
     SMA[ i ] = Sum / i;
   }
   return;
}
是这样的吗?注意最初的求和指数。
原因: