PHPerKaigi 2021

trader_adx

(PECL trader >= 0.2.0)

trader_adxAverage Directional Movement Index

说明

trader_adx ( array $high , array $low , array $close , int $timePeriod = ? ) : array

参数

high

高价,浮点数数组。

low

低价,浮点数数组。

close

收盘价,浮点数数组。

timePeriod

Number of period. Valid range from 2 to 100000.

返回值

Returns an array with calculated data or false on failure.

add a note add a note

User Contributed Notes 1 note

up
0
geekgirl dot joy at gmail dot com
20 days ago
<?php
// Per wikipedia ADX is "an indicator of trend strength in a series of prices of a financial instrument."
// The original implementation used 14 days.

$highs = array(118.99, 119.14, 120.5, 115.23, 115.93, 118.829, 116, 112.2, 110.88, 110.19, 112.86, 112.11, 110.25, 112.44);
$lows = array(112.68, 115.26, 112.5, 110, 112.8, 113.61, 112.04, 108.71, 106.09, 103.1, 109.16, 106.77, 105, 107.67);
$closes = array(112.82, 117.32, 113.49, 112, 115.355, 115.54, 112.13, 110.34, 106.84, 110.08, 111.81, 107.12, 108.22, 112.28);

$time_period = floor(count($highs) / 2); // Per Wikipedia on the ADX indicator calculation:
                                         // UpMove = today's high − yesterday's high
                                         // DownMove = yesterday's low − today's low
                                         //
                                         // Thence: The maximal length for $time_period
                                         // is: floor(count($the_number_of_samples) / 2);
                                        

var_dump(trader_adx($highs, $lows, $closes, $time_period));
/*
array(1) {
  [13]=>
  float(48.909)
}
*/
To Top