GFT's dealbook charting package does not have smoothed moving average built in. it has instead a modified moving average, but it's not the same thing. therefore I set out to make one. by studying the code for smoothed moving average in MT4, I wrote the following code:
function SMMA;
input s(series), period(number);
result res(series);
vars i(number), tmp(number), l(number), cnt(number), f(number);
begin
f := front(s);
l := f + period - 1;
cnt := back(s);
if l <= cnt then begin
tmp := 0;
for i := f to l do
tmp := tmp + s[i];
res[l] := tmp / period;
for i := l + 1 to cnt do
res[i] := ((res[l]/period)*(period-1) + s[i]) / period;
end;
end.
however it doesn't work properly. I could not figure out why. could some of the more professional gurus here help diagnose this? please ...
function SMMA;
input s(series), period(number);
result res(series);
vars i(number), tmp(number), l(number), cnt(number), f(number);
begin
f := front(s);
l := f + period - 1;
cnt := back(s);
if l <= cnt then begin
tmp := 0;
for i := f to l do
tmp := tmp + s[i];
res[l] := tmp / period;
for i := l + 1 to cnt do
res[i] := ((res[l]/period)*(period-1) + s[i]) / period;
end;
end.
however it doesn't work properly. I could not figure out why. could some of the more professional gurus here help diagnose this? please ...