Я использую трейдера библиотека PHP.
Я использую trader_bbands()
функция
$bBand = trader_bbands( $NumberArray,
25,
TRADER_REAL_MIN,
TRADER_REAL_MIN,
TRADER_MA_TYPE_EMA
);
Возвращает три массива.
$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]
это простая скользящая средняя, поэтому она возвращает числа около 2000.
тем не мение $bBand[0]
а также $bBand[2]
возвращаемые значения
как это ниже (пример, приведенный из 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. Просмотрите документацию php-библиотеки на trader_bbands()
в качестве первого шага.
2. Опубликовать MCVE
-вообще-с-а-DataSET
чтобы разрешить проверку в отношении общего DataSET
3. Сравните эталонные реализации, чтобы доказать {PASS | FAIL} -статус Trader
PHP-библиотека реализация.
Шаг объявления 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()
-сигма-связанные ценности должны быть честными, независимо от незнания всех деталей реализации Trader
PHP-библиотека модель 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-библиотека.
Ну, конечно, без такого значения можно прибегнуть к обратному поиску методом грубой силы для найденного подходящего значения, но это может быть довольно неэффективный способ доказать $bBand[1]
значения рассчитаны в Trader
PHP-библиотека способом, совместимым с обычной практикой Quant для использования
ewmaEXP = 2.0 / ( timePeriod + 1 )
,
Других решений пока нет …