PHP Conference Japan 2024

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 上找到最接近这些函数的手册,您可以使用 excel 和 tulipcell dot org 上的免费插件进行测试。

我能够提取使用这些函数生成的我的历史指标数据,并且能够重新创建与在线交易平台非常匹配的数字。
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