Блог им. 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



★25
Для ленивых — файл 
avatar

Маркин Павел

Скачал файл, пишет ошибки выполнения скрипта
avatar

my_profit

my_profit, файл поместите в папку LuaIndicators в корневой папке Квика (если нет такой папки — создайте), после чего кнопка «добавить график» и выберите индикатор
avatar

Маркин Павел

Сергей С., Квик 7 не видит
avatar

my_profit

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

Маркин Павел


....все тэги
2010-2020
UPDONW