NUMBER
<названиефункции>(NUMBER index) NUMBER Size()
Описание значений функций O, H, L, C, V, T , Size
совпадает со значениями, приведенными в разделе Функции для работы с графиками. Пример
скрипта, реализующего
индикатор «Moving
Average»:
Settings={}
Settings.Name = "SimpleMA"
Settings.mode = "C"
Settings.period = 5
Settings.str_field = "STRING field"
function dValue(i,param)
local v = param or "C"
if v == "O" then
return O(i)
elseif v == "H" then
return H(i)
elseif v == "L" then
return L(i)
elseif v == "C" then
return C(i)
elseif v == "V" then
return V(i)
elseif v == "M" then
return (H(i) + L(i))/2
elseif v == "T" then
return (H(i) + L(i)+C(i))/3
elseif v == "W" then
return (H(i) + L(i)+2*C(i))/4
else
return C(i)
end
end
function Init()
return 1
end
function OnCalculate(idx)
local per = Settings.period
local mode = Settings.mode
local lValue = iValue
if idx >= per then
local ma_value=0
for j = (idx-per)+1, idx do
ma_value = ma_value+dValue(j, mode)
end
return ma_value/per
else
return nil
end
end