我想用PHP计算EMA(指数移动平均线)值.
I want to calculate the EMA (Exponential Moving Average) value in PHP.
我尝试使用以下代码,但它给了我500错误.
I've tried with following code but it's giving me 500 error.
$real = array(12,15,17,19,21,25,28,12,15,16); $timePeriod = 3; $data = trader_ema($real,$timePeriod); var_dump($data);PHP:EMA计算功能 trader-ema
PHP: EMA calculation function trader-ema
尝试了长时间的Google搜索,但在PHP中对此没有任何帮助.因此,我不知道要计算EMA值需要做什么.
Tried with long time Googling but not getting any help on this in PHP. So, I've no clue what needs to be done to calculate the EMA value.
编辑-1:已安装的扩展程序
我已经安装了所有必需的扩展,现在我得到了输出.但这似乎没有提供适当的输出.
I've installed all the necessary extensions, Now I am getting the output. But it doesn't seems giving proper output.
我认为PHP用于计算EMA的功能无法正常工作.在这方面的任何帮助将不胜感激.
I think PHP function for calculating EMA is not working properly. Any help in this would be greatly appreciated.
推荐答案我建议使用以下数学库:github/markrogoyski/math-php
I recommend to use the math library from: github/markrogoyski/math-php
public static function exponentialMovingAverage(array $numbers, int $n): array { $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; }更多推荐
PHP中的指数移动平均线
发布评论