Маркин Павел
Маркин Павел личный блог
16 августа 2016, 15:49

Простенький реверсивный индикатор (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



22 Комментария
  • my_profit
    16 августа 2016, 18:23
    Скачал файл, пишет ошибки выполнения скрипта
  • Револьвер (Beekeeper)
    16 августа 2016, 21:58
    Quik 7 все видит. Тот же Параболик.
  • Андрей Нестеров
    19 августа 2016, 20:44
    Сергей С. спасибо ещё раз большое за предоставленные индикаторы для quik, можно вас попросить ещё добавить индикаторы если это возможно.
  • Правильный трейдинг
    25 октября 2016, 03:46
    а чем от параболика отличается?
      • Правильный трейдинг
        25 октября 2016, 12:58
        Маркин Павел, я вижу. Принцип интересен) Там вроде ATR есть..? как-то он фильтрует параболик?
          • Правильный трейдинг
            25 октября 2016, 13:13
            Маркин Павел, ой я вот про этот
            smart-lab.ru/blog/344625.php#comment6101408
              • френк френков
                23 декабря 2016, 02:29
                Маркин Павел, возможно я на луа релюшке " роботе возьму значения с ваших хороших индиков. переключать сделки будет?
                  • френк френков
                    23 декабря 2016, 12:41
                    Маркин Павел, как переписать короткую программку автостопа на луа с купайла. много колбэков ответа транзакции и какие то вспомогательные.
                    нртр робот сделал.бросает.не коорректно.уровень пляшет иногда.треугольничек

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн