1 подписчик
Несколько лет назад я увлекся торговлей на фондовой бирже. Занимаясь программированием, решил воспользоваться возможностями программы QUIK и написать робота, который бы выставлял заявки, используя индикатор технического анализа Simple Moving Average. В документации по QLUA описывается такой пример:
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
Около минуты
20 января 2024