Избранное трейдера самара

по

Реверсивный Индикатор для всех шортящих Сбербанк

АХТУНГ!!!



Всем кто шортит, или очень хочет зашортить Сбербанк — Воспользуйтесь лекарственным профилактическим индикатором (ссылка на скачивание ниже)
Реверсивный Индикатор для всех шортящих Сбербанк

xsarATR.lua

 (QUIK LUA)

как установить:
файл поместите в папку LuaIndicators в корневой папке Квика (если нет такой папки — создайте), после чего кнопка «добавить график» и выберите индикатор xsarATR
Реверсивный Индикатор для всех шортящих Сбербанк


( Читать дальше )

RSI альтернативные возможности и нестандартное использование (LUA)

Индекс относительной силы (RSI от англ. relative strength index) — индикатор технического анализа, определяющий силутренда и вероятность его смены. Популярность RSI обусловлена простотой его интерпретации. Индикатор может рисовать фигуры технического анализа — «голова-плечи», «вершина» и другие, которые часто анализируют наравне с графиком цены

Каждый трейдер в своей жизни проходил через данный индикатор, были и сигналы, и «вроде как дивергенция», и перекупленность с перепроданностью на глазок

Но стандартно встроенная реализация RSI не позволяет сделать и малой части.

( Читать дальше )

Модификации на тему Price Channel (QUIK LUA)

Может кому нибудь будет интересен модифицированный Price Channel в Квике
Модификации на тему Price Channel (QUIK LUA)

Settings = 
{
        Name = "xPc5",
        period = 24,
        line=
        {
                {
                        Name = "xPc5",
                        Color = RGB(0, 128, 0),
                        Type = TYPE_LINE,
                        Width = 2
                },
        
                {
                        Name = "xPc5",
                        Color = RGB(255, 64, 64),
                        Type = TYPET_BAR,
                        Width = 3
                },
                {
                        Name = "xPc5",
                        Color = RGB(64, 64, 255),
                        Type = TYPET_BAR,
                        Width = 3
                }
        
        }
}

----------------------------------------------------------
function c_FF()


        return function(ind, _p)
                local period = _p
                local index = ind
                local MAX_ = 0
                local MIN_ = 0
                local MAX2_ = 0
                local MIN2_ = 0         

                if index == 1 then
                        MAX_ = C(index)
                        MIN_ = C(index)
                        MAX2_ = C(index)
                        MIN2_ = C(index)
                        return nil
                end
----------------------------------------------------------------------
                period = _p
                if index < period then period = index end
                MAX_ = H(index)
                MIN_ = L(index)
                MAX2_ = 0
                MIN2_ = 0
                for i = 0, (period-1) do
                        if MAX_ < H(index-i) then    MAX_ = H(index-i)       end
                        if MIN_ > L(index-i) then    MIN_ = L(index-i)       end
                        MAX2_ = MAX2_ + MAX_
                        MIN2_ = MIN2_ + MIN_
                end
                MAX2_ = MAX2_/(period)
                MIN2_ = MIN2_/(period)
                return (MAX2_+MIN2_)/2, MAX2_, MIN2_
        end             
end


function Init()
        myFF = c_FF()
        return 3
end
function OnCalculate(index)
        return myFF(index, Settings.period)
end

Альтернатива стандартному Болинджеру - Болинджер через линейную регрессию

Добрый вечер.

При одних и тех же периодах — намного информативней и интересней...

Альтернатива стандартному Болинджеру - Болинджер через линейную регрессию

Settings = 
{
        Name = "xBollinger_LinReg",
        period = 40,
        deviation=2,
        line=
        {
                {
                        Name = "xBollinger_LinReg",
                        Color = RGB(0, 0, 255),
                        Type = TYPE_LINE,
                        Width = 2
                },
                {
                        Name = "xBollinger_LinReg",
                        Color = RGB(192, 0, 0),
                        Type = TYPE_LINE,
                        Width = 2
                },
                {
                        Name = "xBollinger_LinReg",
                        Color = RGB(0, 128, 0),
                        Type = TYPE_LINE,
                        Width = 6
                }
        
        }
}


function c_FF()
        
        local AMA={}
        local CC={}
        
        return function(ind, _p,_ddd)
                local period = _p
                local index = ind
                
                local vol = 0
        
                local sigma = 0
                local sigma2 = 0

                local aav = 0
                local bb = 0
                local ZZZ = 0

                                        
                if index == 1 then
                        AMA={}
                        CC={}
                        
                        CC[index]=(C(index)+H(index)+L(index))/3
                        AMA[index]=(C(index)+O(index))/2
                        
                        return nil
                end
                
                ------------------------------
                AMA[index]=AMA[index-1]
                CC[index]=(C(index)+H(index)+L(index))/3

                if index < (_p) then return nil end
                                
                period =_p
                if index < period then period = index end
        --------------- 
                sigma=0
                sigma2=0
                aav=0
                ZZZ=0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        aav=aav+ZZZ
                        sigma=sigma+ZZZ*(-(period-1)/2+i)
                        sigma2=sigma2+(-(period-1)/2+i)^2
                end
        bb=sigma/sigma2
        aav=aav/period
                
        AMA[index]=aav+bb*((period-1)/2)
                
                sigma=0
                sigma2=0
                sigma3 = 0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        sigma2=aav+bb*(-(period-1)/2+i)
                        sigma=sigma+(ZZZ-sigma2)^2

                end
                sigma=(sigma/period)^(1/2)
                                                                
                        return AMA[index]-sigma*_ddd,AMA[index]+sigma*_ddd, AMA[index]
                        
        end
end


function Init()
        myFF = c_FF()
        
        return 3
end
function OnCalculate(index)
        
        
        
        return myFF(index, Settings.period,Settings.deviation)
        
                
end



Индикатор "Параболическая регрессия/тренд" (Бонус к линейной)

Предыдущая часть: smart-lab.ru/blog/337952.php

Для всех QUIKеров в свободное пользование индикатор «Параболическая регрессия/тренд» (LUA).

Индикатор "Параболическая регрессия/тренд" (Бонус к линейной)

Settings = 
{
        Name = "xLinRegP",
        period = 128,
        deviation=2,
        line=
        {
                {
                        Name = "xLinRegP",
                        Color = RGB(128, 128, 255),
                        Type = TYPE_LINE,
                        Width = 4
                },
                {
                        Name = "xLinRegP",
                        Color = RGB(192,128,128),
                        Type = TYPE_LINE,
                        Width = 4
                },
                {
                        Name = "xLinRegP",
                        Color = RGB(96, 128,96),
                        Type = TYPE_LINE,
                        Width = 4
                }
        
        }
}

----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
function cached_FF()
        local AMA={}
        local CC={}
        local II2 = 0
        local II4 = 0
        
        
        return function(ind, _p,_ddd)
                local period = _p
                local index = ind
                
                local vol = 0
        
                local sigma = 0
                local sigma2 = 0
                local sigma3 = 0
                local sigma4 = 0

                local aav = 0
                local aa = 0
                local bb = 0
                local cc = 0
                local ZZZ = 0
                local ttt = 0


                                                
                if index == 1 then
                        
                        AMA={}
        
                        CC={}

                        CC[index]=(C(index)+H(index)+L(index))/3
                
                        AMA[index]=(C(index)+O(index))/2
                
                                II2=0
                                II4=0
                        for i = 0, period-1 do
                                ttt=(-(period-1)/2+i)^2
                                II2=II2+ttt
                                II4=II4+ttt^2
                        end
                
                        return nil
                end
                
                ------------------------------
                
                        AMA[index]=AMA[index-1]
                        ----------------------------------
                        CC[index]=(C(index)+H(index)+L(index))/3
                        ---------------------
                


                        
                if index < (Size()-2) then return nil end
                
                ----------------------------------------------------


                sigma=0
                sigma2=0
                sigma3=0
                sigma4=0
                aav=0
                ZZZ=0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        
                        aav=aav+ZZZ
                        sigma=sigma+ZZZ*(-(period-1)/2+i)
                        ttt=(-(period-1)/2+i)^2
                        sigma3=sigma3+ZZZ*ttt
                end
                
                ------------------------
        bb=sigma/II2
    cc=(sigma3-aav*II2/period)/(II4-II2*II2/period)
        aa=(aav-cc*II2)/period
        aav=aav/period
                
        AMA[index]=aa+bb*((period-1)/2)+cc*((period-1)/2)^2             ------- парабола
        -------------------------------

                
                sigma=0
                sigma2=0
                sigma3 = 0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        sigma2=aa+bb*(-(period-1)/2+i)+cc*(-(period-1)/2+i)^2           ------- парабола
                        sigma=sigma+(ZZZ-sigma2)^2

                end
                sigma=(sigma/period)^(1/2)
                
                for i = 1, period-1 do
                        ZZZ=aa+bb*(-(period-1)/2+i)+cc*(-(period-1)/2+i)^2
                        SetValue(index+i-period+1, 3, ZZZ)
                        SetValue(index+i-period+1, 2, ZZZ+sigma*_ddd)
                        SetValue(index+i-period+1, 1, ZZZ-sigma*_ddd)

                end     
                        SetValue(index+0-period+1, 3, nil)
                        SetValue(index+0-period+1, 2, nil)
                        SetValue(index+0-period+1, 1, nil)
        
                
                ----------------------------------
                                                                
                        return AMA[index]-sigma*_ddd,AMA[index]+sigma*_ddd, AMA[index]
                        
        end
end
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------
----------------------------    ----------------------------    ----------------------------

function Init()
        myFF = cached_FF()

        return 3
end

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




Индикаторы для QUIK - ASCTrend

После семинара В. Олейника захотелось в своем квике получить индикатор ASCTrend, но т.к. на просторах интернета не смог его найти, то решил сделать свой путем переработки кода для MT5. На авторство не претендую, просто вдруг кому пригодится.
Синяя точка под свечой — сигнал на покупку, красная над свечой — сигнал на продажу.

Краткое описание.

По большому счету — это обычный трендовый индикатор, который своими точками указывает на момент разворота тренда, пусть и не всегда удачно, но идеальных индикаторов не существует. Для формирования торговых сигналов используется стандартный индикатор Larry Williams` Percent Range.
Параметр у данного индикатора всего один, но он очень важен, так как отвечает за частоту появления точек на графике. Этот параметр не может быть меньше «3», так как индикатор начинает работать нестабильно и часто неправильно. Но при увеличении значения не значит, что сделки будут появляться часто, как раз наоборот, фильтр становится жестче и сигналов становится меньше, что позволяет отлавливать более затяжные тренды.
Взято отсюда: http://findicators.com/indikator-asctrend



( Читать дальше )

Всем привет! Индикатор для QUIK - нештатный, нашару

Всем привет! 
Чуть о себе: зарабатываю на российском рынке (только для себя), делаю торговые программы (для себя и для других).
Давно читаю Smart-lab, нахожу что-то полезное и интересное. Вот добавлю одну свою легенькую утилитку для Квика, надеюсь пригодится.

Всем привет! Индикатор для QUIK - нештатный, нашару

Индикатор Fractal_Chennal, рисует уровни по «фракталам» с задаваемым периодом. В отличии от штатного  «Fractals» дожидается окончательного формирования формации. Я его использовал в качестве трейлинг-стопа в некоторых программах. Отдает два значения скриптам.
Код:

Settings={
Name = "Fractal_Chennal",
period=5,
line={
{
Name = "Level_High",
Type =TYPE_LINE,-- = LINE --линии  = DASH -- тире  = POINT -- точки
Width = 1,
Color = RGB(0,255, 0)--green
},
{
Name = "Level_Low",
Type =TYPE_LINE,
Width = 1,
Color = RGB(255,0,0)--root
}}}

idx_prosl=0

function Init()
return 2
end

function OnCalculate(idx)
if idx==1 then
P = math.floor(Settings.period/2)*2+1
message("Код бумаги: "..getDataSourceInfo().sec_code.." ; период индикатора: "..P,1)
t_H,t_L={},{}
end
if idx~=nil and idx>P then
if idx_prosl~=idx then
local l=idx-P
for l=l,idx-1 do
t_H[l]=H(l)
t_L[l]=L(l)
end
if t_H[#t_H-(P-1)/2]==math.max(unpack(t_H,#t_H-P+1,#t_H)) then
H_ind_value=t_H[#t_H-(P-1)/2]
end
if t_L[#t_L-(P-1)/2]==math.min(unpack(t_L,#t_L-P+1,#t_L)) then
L_ind_value=t_L[#t_L-(P-1)/2]
end
end
else
H_ind_value=nil
L_ind_value=nil
end
idx_prosl=idx
return H_ind_value, L_ind_value
end
Как пользоваться:

( Читать дальше )

Pivot Points, индикатор для QUIK.

    • 21 июня 2015, 00:47
    • |
    • XXM
  • Еще
Уровни Pivot points, в общем — старая тема (даже на Smart-lab.ru), но она еще не закрыта:

На этот раз арсенал доступных индикаторов в QUIK пополнился индикатором Pivot Points:

Данный инструмент позволяет:
— определить момент входа в рынок;
— расставить стопы и тейк-профиты;
— рассчитать уровни вероятного изменения цен.


Pivot Points

PP = (H + L + C) / 3
R1 = PP + (PP — L) = 2P — L
S1 = PP — (H — PP) = 2P — H
R2 = PP + (H — L)
S2 = PP — (H — L)
R3 = H + 2(PP — L) = R1 + (H — L)
S3 = L — 2(H — PP) = S1 — (H — L)

Скачать. 


Канал Кёльтнера. Индикатор для QUIK.

    • 01 марта 2015, 11:40
    • |
    • XXM
  • Еще

Канал Кёльтнера (англ. Keltner channel) — технический индикатор, состоящий из двух полос, построенных вокруг экспоненциальной cкользящей средней (Exponential Moving Average, EMA), ширина которых зависит от волатильности рынка, определяемой индикатором среднего изменения цены за период (average true range, ATR)
Период вычисления EMA  - 20, ATR — 10 периодов, ширина полосы — две величины ATR.
Можно перенастроить.
Канал Кёльтнера. Индикатор для QUIK.
Представлена версия индикатора, рисующая сигналы на торговлю внутри канала:
1. Продать: закрытие свечи внутри канала а максимум свечи был выше верхней линии канала.
2. Купить: закрытие свечи внутри канала а минимум свечи был ниже нижней линии канала.
Для настройки индикатора на случай торговли на пробой канала наружу, следует направления линий «bue» и «sell» поменять наоборот: параметр Type «Треугольник вверх» с «Треугольник вниз».
Скачать: KeltnerChannel.lua
 


Camarilla Equation. Индикатор для QUIK. Часть 2.

    • 29 декабря 2014, 17:11
    • |
    • XXM
  • Еще
Первая часть: Camarilla Equation. Индикатор для QUIK. 26.12.2014г.
В обновленном варианте индикатора появилась возможность выбора расчета недельных уровней: 
Настройки индикатора:
вкладка «Общие» — «Пользовательские настройки» — period: D/W

 
Camarilla Equation (Daily/Weekly)

Скачать: там же.

....все тэги
UPDONW
Новый дизайн