OnCalculate. Двойной проход при изменении свойств индикатора

Страницы: 1
RSS
OnCalculate. Двойной проход при изменении свойств индикатора
 
Добрый день.
Заметил такую особенность. При добавлении своего индикатора, OnCalculate, как и положено, "проходит" по всем свечкам. Но при изменении свойств индикатора, происходит два "прохода". Первый со старыми свойствами, второй с новыми. Так и должно быть? Квик в офлайне.
Код
Settings= 
{
 Name = "Example1" ,
 Mult = 1 
} 
function Init() 
 OnCalcCo unt=0
 return 1 
end 
function OnCalculate(index) 
 OnCalcCo unt=OnCalcCount+1
 PrintDbgStr("[QLUA] " .. tostring(OnCalcCount) .. "  Mult " .. tostring(Settings.Mult))
 return index*Settings.Mult
 -- return nil 
end
После добавления (счетчик увеличился на количество свечек)

Счетчик соответствует количеству свечей.
При изменении свойств счетчик вырос на двойное число свечей (два прохода)
 
У вас счетчик не обнуляется.
функция INIT()  выполняется лишь один раз при загрузке индикатора на график.
 
Так и задумано. К INIT() вопросов нет. Все что я сделал, это :
1. Добавил индикатор (приложил скрин). Счетчик вырос на число свечек.
2. Один раз изменил его свойства, Mult менял на 2 (второй скрин).

После шага 2 счетчик должен вырасти на число баров,а фактически вырос на (число баров)*2
 
Причем судя по записям в DebugView, сначала скрип прогнал OnCalculate со старым параметром Mult, затем (второй раз с новым)
 
Код
Settings= 
{
 Name = "Example1" ,
 Mult = 1 
} 
function Init() 
 OnCalcCo unt=0
 return 1 
end 
function OnCalculate(index) 
 if index==1 then message ("Index= " .. tostring(index) .."  Mult= " .. tostring(Settings.Mult)) end
 return index*Settings.Mult
end
Добавляю индикатор - получаю одно окно сообщений. Меняю в свойствах индикатора Mult, получаю еще два окна!

 
я тоже замечал, что OnCalculate прогоняет все свечи при удалении индикатора. Я предположил, что это для того, чтобы стереть старый график, хотя мне это показалось очень странным и бессмысленным
 
Здравствуйте!

Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.
 
А также рассмотрите вопрос пересчета всех индикаторов при удалении одного из них, как это делается при добавлении.


Возможно, что между индикаторами имеются зависимости.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Добрый день,

Описанная Вами ошибка будет исправлена в ближайшем обновлении ПО.
Приносим извинения за причиненные неудобства.
Страницы: 1
Читают тему
Наверх