trader_adx

(PECL trader >= 0.2.0)

trader_adx平均方向性指数

描述

trader_adx(
    数组 $high,
    数组 $low,
    数组 $close,
    整型 $timePeriod = ?
): 数组

参数

high

最高价格,实数数组。

low

最低价格,实数数组。

close

收盘价格,实数数组。

timePeriod

周期数。有效范围为 2 到 100000。

返回值

返回包含计算数据的数组,或在失败时返回 false。

添加备注

用户贡献的备注 2 个备注

1
tl4gvx29ku39 at opayq dot com
3 年前
经过几个小时的反复试验,我对 adx 函数的工作原理比较有信心,它与许多其他函数类似。插入一个或多个 ohlc 数据块并设置输出的时间周期。

例如,我使用 48 个 30 分钟的 ohlc 数据块(1 天)。但我希望指标符合设计(adx 通常为 14 个周期),所以我将数据修剪到 14 个周期,并设置 timePeriods=14,然后出现错误。不需要做这些。将整个 48 个周期数组插入,并将周期设置为 14(或您喜欢的任何值)。输出与在线来源很接近。该函数将使用您设置的最后 14 个周期或任何周期来生成正确的输出。

对于这些函数的手册,我找到的最接近的是 tulipindicators dot org,您可以在 tulipcell dot org 使用 Excel 和一个免费插件对其进行测试。

我能够提取使用这些函数生成的我的历史指标数据,并且能够重新创建与在线交易平台非常匹配的数字。
0
geekgirl dot joy at gmail dot com
3 年前
<?php
// 据维基百科,ADX 是“衡量金融工具价格系列趋势强度的指标”。
// 原版实现使用 14 天。

$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); // 据维基百科关于 ADX 指标计算的说明:
// UpMove = 今天的最高价 - 昨天的最高价
// DownMove = 昨天的最低价 - 今天的最低价
//
// 因此:$time_period 的最大长度
// 为:floor(count($样本数) / 2);


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