Voting

: six minus zero?
(Example: nine)

The Note You're Voting On

kazemi dot milad at gmail dot com
6 years ago
trader_ema in wrong calculate value
this return just simple moving avrage
for get ema correct use this code
$number is data array and $n is number of period
example:
$number[0] => last value
$number[n] =>first value

function exponentialMovingAverage(array $numbers, int $n): array
{
$numbers=array_reverse($numbers);
$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]);
}
$EMA=array_reverse($EMA);
return $EMA;
}

<< Back to user notes page

To Top