Пытаюсь разобраться в примере SMA, но не могу найти описания что делает функция Squeeze. Есть ли где ее описание?
Я понимаю, что это как то завязано на пропуск в расчете несуществующих свечей в ds. Что содержится в переменных Ip,Ipp,Ippp
Я понимаю, что это как то завязано на пропуск в расчете несуществующих свечей в ds. Что содержится в переменных Ip,Ipp,Ippp
| Код |
|---|
--[[Simple Moving Average (SMA)
SMA = sum(Pi) / n]]
function F_SMA()
local sum = {}
local it = {p=0, l=0}
return function (I, P, VT, ds)
if I == 1 then
sum = {}
it = {p=0, l=0}
end
if CandleExist(I,ds) then
if I~=it.p then it={p=I, l=it.l+1} end
local Ip,Ipp,Ippp = Squeeze(it.l,P),Squeeze(it.l-1,P),Squeeze(it.l-P,P)
sum[Ip] = (sum[Ipp] or 0) + GetValueEX(it.p,VT,ds)
if it.l >= P then
return (sum[Ip] - (sum[Ippp] or 0)) / P
end
end
return nil
end
end
|