Пытаюсь написать простой индикатор на основе ADX. QUIK зависает при вызове этого индикатора. сыплет ошибками "attempt to index field "?"
Код |
---|
Settings=
{
Name = "***AAA"
}
function Init()
return 1
end
function OnCalculate(index)
plusdi,n,q = getCandlesByIndex ("SBAdx",1,0,getNumCandles("SBAdx")) -- get +DI table
minusdi,n,q = getCandlesByIndex ("SBAdx",2,0,getNumCandles("SBAdx")) -- get -DI table
return handler()
end
function handler()
if plusdi[index].close ~= nil and minusdi[index].close ~= nil then
if plusdi[index].close > 30 then
my_indicator = 1
elseif minusdi[index].close > 30 then
my_indicator = -1
else my_indicator = 0
end
else my_indicator = 0
end
return my_indicator
end
|