trader_bbands() 返回的值是什么意思?

What is the meaning of the values returned from trader_bbands()?

我正在使用 PHP 的交易员 library

我使用trader_bbands()函数

$bBand = trader_bbands( $NumberArray,
                        25,
                        TRADER_REAL_MIN,
                        TRADER_REAL_MIN,
                        TRADER_MA_TYPE_EMA
                        );

它return是三个数组。

$bBand[0]; // upper-edge of the Bollinger Band           ( an upline )
$bBand[1]; //  central line the Bollinger Bands surround ( a moving average )
$bBand[2]; // lower-edge of the Bollinger Band           ( a downline )

我原来的$NumberArray值都在2000.0

左右

$bBand[1] 是简单移动平均线,因此 return 是 2000 左右的数字。

但是 $bBand[0]$bBand[2] return 值 如下所示(引用自 var_dump() 的示例)

  double(3.1325286910105E+38)
  [105] =>
  double(3.1907365920756E+38)
  [106] =>
  double(3.1907365920756E+38)
  [107] =>
  double(3.1740850650235E+38)
  [108] =>
  double(3.1498571396175E+38)

Q1:这个数组是什么意思?

我对布林带的预期是 2000 + α 左右,或者 2000 - α。

A1:
1。作为第一步,请查看有关 trader_bbands() 的 php-library 文档。
2。发布 MCVE-altogether-with-a-DataSET 以允许针对常见的 DataSET[ 进行验证=73=]3。比较参考实现以证明 { PASS |失败 }-Trader php-library 实施的状态。

Ad Step 1.:
array trader_bbands ( array $real [, integer $timePeriod [, float $nbDevUp [, float $nbDevDn [, integer $mAType ]]]] )

我们同意设置 $nbDevUp = 1.0,而不是技术上最小的 float TRADER_REAL_MIN
我们同意设置 $nbDevDn = 1.0.

我们同意设置$timePeriod = 7

我们同意设置$real

$real = array(
               0 => 2000.0,
               1 => 2001.0,
               2 => 2002.0,
               3 => 2003.0,
               4 => 2004.0,
               5 => 2005.0,
               6 => 2006.0,
               );

期望:

.std()-sigma-相关值应该以公平的方式出现,独立于不知道关于 Trader php-library 模型的所有实现细节 trader_bbands() 演算,特别是在 TRADER_MA_TYPE_EMA 模式下,缺少模型中使用的指数加权细节。 尽管如此

A) $bBand[0][i] - $bBand[1][i] == $bBand[1][i] - $bBand[2][i] 之间的所有差异
应该是 == 2.0

B) 某处记录的 .ewma() 方法中使用了 指数 的值在 Trader php-library

嗯,当然,如果没有这样的值,人们可能会求助于暴力反向搜索来寻找所使用的匹配值,但这可能是一种相当低效的方法来证明 $bBand[1] 值在 Trader php-library 中以与使用
ewmaEXP = 2.0 / ( timePeriod + 1 ).

的常用 Quant 实践兼容的方式计算