Блог им. SerSer

Простенький реверсивный индикатор (QLUA)

Реверсивный индикатор на основе EMA с простым алгоритмом исполнения.

Всем кто хочет пользоваться — Пользуйтесь!

Всем кто хочет модернизировать — Пользуйтесь!

Простенький реверсивный индикатор (QLUA)



PS
Не грааль!!!


Settings = 
{
        Name = "xSarEma",
        period = 21,
        period2 = 256,
        deviation=2,
        line=
        {
                {
                        Name = "Sar",
                        Color = RGB(0, 64, 0),
                        Type = TYPET_BAR,
                        Width = 3
                },
                {
                        Name = "EMA",
                        Color = RGB(0, 128, 0),
                        Type = TYPE_LINE,
                        Width = 2
                }
        ,
                {
                        Name = "BBB",
                        Color = RGB(0, 0, 255),
                        Type = TYPE_TRIANGLE_UP,
                        Width = 1
                }
        ,
                {
                        Name = "SSS",
                        Color = RGB(255, 0, 0),
                        Type = TYPE_TRIANGLE_DOWN,
                        Width = 1
                }
        }
}

----------------------------------------------------------
function cached_SAR()
        local cache_SAR={}
        local cache_ST={}
        local EMA={}
        local BB={}
        
        return function(ind, _p, _p2,_ddd)
                local period = _p
                local index = ind
                local sigma = 0

                if index == 1 then
                        cache_SAR={}
                        cache_ST={}
                        EMA={}
                        BB={}
                        
                        BB[index]=0
                        cache_SAR[index]=L(index)-2*(H(index)-L(index))
                        EMA[index]=(C(index)+O(index))/2
                        cache_ST[index]=1
                        return nil
                end
                ------------------------------
                        EMA[index]=(2/(_p/2+1))*C(index)+(1-2/(_p/2+1))*EMA[index-1]
                        BB[index]=(2/(_p2/2+1))*(C(index)-EMA[index])^2+(1-2/(_p2/2+1))*BB[index-1]
                        cache_SAR[index]=cache_SAR[index-1]
                        cache_ST[index]=cache_ST[index-1]

                        sigma=BB[index]^(1/2)

                if index ==2 then
                        return nil
                end
------------------------------------------------------------------              
                if cache_ST[index]==1 then
                                
                        cache_SAR[index]=math.max((EMA[index]-sigma*_ddd),cache_SAR[index-1])
                                                
                        if (cache_SAR[index] > C(index)) then 
                                cache_ST[index]=0
                                cache_SAR[index]=EMA[index]+sigma*_ddd
                                return  cache_SAR[index], EMA[index], nil,C(index)
                        end
                end
----------------------------

                if cache_ST[index]==0 then
                                
                        cache_SAR[index]=math.min((EMA[index]+sigma*_ddd),cache_SAR[index-1])
                
                        if (cache_SAR[index] < C(index)) then 
                                cache_ST[index]=1
                                cache_SAR[index]=EMA[index]-sigma*_ddd*1
                                return cache_SAR[index], EMA[index], C(index),nil
                        end
                end
                
----------------------------------
                                                                
                return cache_SAR[index], EMA[index], nil, nil
                        
        end
end
----------------------------

function Init()
        mySAR = cached_SAR()
        return 4
end

function OnCalculate(index)
        return mySAR(index, Settings.period, Settings.period2,Settings.deviation)
end



Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
887 | ★26
22 комментария
Для ленивых — файл 
avatar
Скачал файл, пишет ошибки выполнения скрипта
avatar
my_profit, файл поместите в папку LuaIndicators в корневой папке Квика (если нет такой папки — создайте), после чего кнопка «добавить график» и выберите индикатор
avatar
Сергей С., Квик 7 не видит
avatar
my_profit, у меня тоже 7.
avatar
my_profit, Должно быть так



avatar
Quik 7 все видит. Тот же Параболик.
Beekeeper, по картинке — аналог, но совершенно другой алгоритм, и меньше ложных сигналов



avatar
Сергей С. спасибо ещё раз большое за предоставленные индикаторы для quik, можно вас попросить ещё добавить индикаторы если это возможно.
Юрий Мисевра, Какие?
avatar
а чем от параболика отличается?
Правильный трейдинг, Параболик не рисует горизонтальные поддержки
avatar
Маркин Павел, я вижу. Принцип интересен) Там вроде ATR есть..? как-то он фильтрует параболик?
Правильный трейдинг, там совсем ни разу нет даже малейшего намека на алгоритм параболика.
динамическая поддержка в виде отступа от EMA
avatar
Маркин Павел, ой я вот про этот
smart-lab.ru/blog/344625.php#comment6101408
Правильный трейдинг, это сравнение стандартного параболика и данного индикатора
avatar
Маркин Павел, возможно я на луа релюшке " роботе возьму значения с ваших хороших индиков. переключать сделки будет?
avatar
френк френков, может  не корректно переключать
avatar
Маркин Павел, как переписать короткую программку автостопа на луа с купайла. много колбэков ответа транзакции и какие то вспомогательные.
нртр робот сделал.бросает.не коорректно.уровень пляшет иногда.треугольничек
avatar
купайлом не занимался — не хочу даже вникать в него.
пляшет, потому что для текущей свечки — это тестирование поддержки/сопротивления, а она ещё не закончила своё формирование, для робота можно использовать только значение по предыдущей свечи, т.е. по факту пробития — изменения тренда, а не по тестированию ценой поддержки/сопротивления 
avatar

Читайте на SMART-LAB:
Фото
ДОМ.РФ может увеличить прибыль за девять месяцев на 39%: прогноз Т-Инвестиций
30 октября $DOMRF опубликует результаты по международным стандартам финансовой отчетности (МСФО) за третий квартал 2026 года. Главный...
Фото
💡 Если ставка не спешит вниз
Ключевая ставка остаётся на уровне 14% с июля. По прогнозу аналитиков ВТБ Мои Инвестиции, к концу 2027 года она может снизиться до 12,25%....
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 28 октября 2026 г.
Следите за нашими новостями в удобном формате: Telegram , Youtube , RuTube, Smart-lab , ВКонтакте...
Фото
Банковский сектор сентябрь 2026 г. - рекордная прибыль, но рост все менее равномерный
Банки отчитались за сентябрь. Что интересного мы узнали?  За 12 месяцев прибыль сектора составляет уже 4,5 трлн руб. при прогнозе ЦБ 3,9–4,4...

теги блога Маркин Павел

....все тэги



UPDONW
Новый дизайн