Начнем с того, что Candle не может Exist. Оно может только Exists.
Поэтому первая и очевидная ошибка для пишущего программиста, о которой выясняется только наступив на грабли.
Это к уровню знания английского и камень в огород разработчиков.
Второе и самое главное.
Можно привести простой(!!!) - это ключевое слово - простой и очевидный пример.
Кто нибудь, пожалуйста.
Хочу написать что-то вроде
Всё. То есть просто отсеивать ошибку не существования свечки на графике с галкой "Показывать пустые интервалы".
Пользователя бывают дятлы.
Без интервалов, конечно, все прекрасно работает.
Симптом: Квик упорно игнорирует условие CandleExist(idx) и залезает во внутрь бла-бла и как итог появляется ошибка с красным крестом attempt to perform arithmetic on a nil value, чего быть не должно.
Смысл только в подавлении этой ошибки наименьшим фильтром и геморроем для программиста.
Вопрос только в этом.
В документации какой-то ад.
Хочу простой игнор свечки по простому условию.
Не работающий пример из примера документации:
Опыт программирования именно на Lua - меньше недели.
C/C++ и C# знаю хорошо.
Спасибо.
Поэтому первая и очевидная ошибка для пишущего программиста, о которой выясняется только наступив на грабли.
Это к уровню знания английского и камень в огород разработчиков.
Второе и самое главное.
Можно привести простой(!!!) - это ключевое слово - простой и очевидный пример.
Кто нибудь, пожалуйста.
Хочу написать что-то вроде
Код |
---|
function OnCalculate(idx) -- вход if CandleExist(idx) == true then -- имеется в виду если свечка существует на графике, то есть ее какой-нибудь O(idx) ~= nil бла-бла-бла расчеты с переменными end -- мне даже else тут не нужен, вместо него или nil или молчаливый игнор свечки end |
Всё. То есть просто отсеивать ошибку не существования свечки на графике с галкой "Показывать пустые интервалы".
Пользователя бывают дятлы.
Без интервалов, конечно, все прекрасно работает.
Симптом: Квик упорно игнорирует условие CandleExist(idx) и залезает во внутрь бла-бла и как итог появляется ошибка с красным крестом attempt to perform arithmetic on a nil value, чего быть не должно.
Смысл только в подавлении этой ошибки наименьшим фильтром и геморроем для программиста.
Вопрос только в этом.
В документации какой-то ад.
Хочу простой игнор свечки по простому условию.
Не работающий пример из примера документации:
Код |
---|
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) if CandleExist(idx) then -- добавляю тут это и намеренно делаю пустые интервалы в квике 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 end |
Опыт программирования именно на Lua - меньше недели.
C/C++ и C# знаю хорошо.
Спасибо.