Начнем с того, что 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# знаю хорошо.
Спасибо.