trader_adx
(PECL trader >= 0.2.0)
trader_adx — Average Directional Movement Index
Description
array trader_adx
( array
$high
, array $low
, array $close
[, integer $timePeriod
] )
Parameters
-
high
-
High price, array of real values.
-
low
-
Low price, array of real values.
-
close
-
Closing price, array of real values.
-
timePeriod
-
Number of period. Valid range from 2 to 100000.
Return Values
Returns an array with calculated data or false on failure.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Математические расширения
- Technical Analysis for Traders
- trader_acos
- trader_ad
- trader_add
- trader_adosc
- trader_adx
- trader_adxr
- trader_apo
- trader_aroon
- trader_aroonosc
- trader_asin
- trader_atan
- trader_atr
- trader_avgprice
- trader_bbands
- trader_beta
- trader_bop
- trader_cci
- trader_cdl2crows
- trader_cdl3blackcrows
- trader_cdl3inside
- trader_cdl3linestrike
- trader_cdl3outside
- trader_cdl3starsinsouth
- trader_cdl3whitesoldiers
- trader_cdlabandonedbaby
- trader_cdladvanceblock
- trader_cdlbelthold
- trader_cdlbreakaway
- trader_cdlclosingmarubozu
- trader_cdlconcealbabyswall
- trader_cdlcounterattack
- trader_cdldarkcloudcover
- trader_cdldoji
- trader_cdldojistar
- trader_cdldragonflydoji
- trader_cdlengulfing
- trader_cdleveningdojistar
- trader_cdleveningstar
- trader_cdlgapsidesidewhite
- trader_cdlgravestonedoji
- trader_cdlhammer
- trader_cdlhangingman
- trader_cdlharami
- trader_cdlharamicross
- trader_cdlhighwave
- trader_cdlhikkake
- trader_cdlhikkakemod
- trader_cdlhomingpigeon
- trader_cdlidentical3crows
- trader_cdlinneck
- trader_cdlinvertedhammer
- trader_cdlkicking
- trader_cdlkickingbylength
- trader_cdlladderbottom
- trader_cdllongleggeddoji
- trader_cdllongline
- trader_cdlmarubozu
- trader_cdlmatchinglow
- trader_cdlmathold
- trader_cdlmorningdojistar
- trader_cdlmorningstar
- trader_cdlonneck
- trader_cdlpiercing
- trader_cdlrickshawman
- trader_cdlrisefall3methods
- trader_cdlseparatinglines
- trader_cdlshootingstar
- trader_cdlshortline
- trader_cdlspinningtop
- trader_cdlstalledpattern
- trader_cdlsticksandwich
- trader_cdltakuri
- trader_cdltasukigap
- trader_cdlthrusting
- trader_cdltristar
- trader_cdlunique3river
- trader_cdlupsidegap2crows
- trader_cdlxsidegap3methods
- trader_ceil
- trader_cmo
- trader_correl
- trader_cos
- trader_cosh
- trader_dema
- trader_div
- trader_dx
- trader_ema
- trader_errno
- trader_exp
- trader_floor
- trader_get_compat
- trader_get_unstable_period
- trader_ht_dcperiod
- trader_ht_dcphase
- trader_ht_phasor
- trader_ht_sine
- trader_ht_trendline
- trader_ht_trendmode
- trader_kama
- trader_linearreg_angle
- trader_linearreg_intercept
- trader_linearreg_slope
- trader_linearreg
- trader_ln
- trader_log10
- trader_ma
- trader_macd
- trader_macdext
- trader_macdfix
- trader_mama
- trader_mavp
- trader_max
- trader_maxindex
- trader_medprice
- trader_mfi
- trader_midpoint
- trader_midprice
- trader_min
- trader_minindex
- trader_minmax
- trader_minmaxindex
- trader_minus_di
- trader_minus_dm
- trader_mom
- trader_mult
- trader_natr
- trader_obv
- trader_plus_di
- trader_plus_dm
- trader_ppo
- trader_roc
- trader_rocp
- trader_rocr100
- trader_rocr
- trader_rsi
- trader_sar
- trader_sarext
- trader_set_compat
- trader_set_unstable_period
- trader_sin
- trader_sinh
- trader_sma
- trader_sqrt
- trader_stddev
- trader_stoch
- trader_stochf
- trader_stochrsi
- trader_sub
- trader_sum
- trader_t3
- trader_tan
- trader_tanh
- trader_tema
- trader_trange
- trader_trima
- trader_trix
- trader_tsf
- trader_typprice
- trader_ultosc
- trader_var
- trader_wclprice
- trader_willr
- trader_wma
Коментарии
<?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)
}
*/
After hours of trial and error, I feel fairly confident the adx function works like many others. Insert a block(s) of ohlc data and set a time period for an output.
For example, I am using 48 30-min blocks of ohlc data (1 day). But I wanted the indicators true to design (adx is usually 14 periods) so I would trim the data to 14 periods in and set timePeriods=14 and get errors. No need to do all that. Put the entire 48 period array(s) in and set the period to 14 (or whatever you like). The output is close to online sources. The function will use the last 14 periods or whatever you set to generate the correct output.
The best/closest I can find for a manual to these functions is located tulipindicators dot org which you can test using excel with a free plugin at tulipcell dot org.
I was able to pull my historical indicator data generated with these functions and was able to recreate the numbers which matched closely to online trading platforms.