【问题标题】:How to calculate MACD using PHP?如何使用 PHP 计算 MACD?
【发布时间】:2019-06-16 07:13:24
【问题描述】:

使用 Binance 中的以下类,我得到了相似的 MACD 和信号值:

我的代码来自:

https://github.com/hurdad/doo-forex/blob/master/protected/class/Technical%20Indicators/MACD.php

如何修改类以得到准确的值?

【问题讨论】:

  • 您好,您能否提供有关您发送到此库的输入的信息?
  • 它们看起来不像好课。静态方法,笨拙的文件和文件夹命名,糟糕的提交信息,没有得到积极维护,没有测试。但是,如果必须,您可以使用它们 - 您是否尝试过创建自己的类来扩展这个类?

标签: php binance


【解决方案1】:

/* * 指数移动平均线 (EMA) * * EPA 的开始以第一个数据点为种子。 * 之后的每一天: * EMAtoday = α⋅xtoday + (1-α)EMAyesterday * * 在哪里 * α:表示权重减小程度的系数,一个介于 0 和 1 之间的恒定平滑因子。 * * @param 数组 $numbers * @param int $n EPA 的长度 * @return 指数移动平均线数组 */

function exponentialMovingAverage( $numbers, $n)
{
$m   = count($numbers);
$α   = 2 / ($n + 1);
$EMA = [];

// Start off by seeding with the first data point
$EMA[] = $numbers[0];

// Each day after: EMAtoday = α⋅xtoday + (1-α)EMAyesterday
for ($i = 1; $i < $m; $i++) {
$EMA[] = ($α * $numbers[$i]) + ((1 - $α) * $EMA[$i - 1]);
}

return $EMA;}

【讨论】:

【解决方案2】:

您可以使用php-trader lib,注意它只能用作 CLI。

但这是相当简单的数学运算:

MACD = EMA26 - EMA12

【讨论】:

  • 直方图和信号呢?
猜你喜欢
  • 2021-09-01
  • 1970-01-01
  • 2018-12-31
  • 1970-01-01
  • 2020-01-11
  • 2013-05-03
  • 1970-01-01
  • 2015-09-20
  • 2012-09-23
相关资源
最近更新 更多