Избранное трейдера Boris

по

Модификации на тему 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

Линейная регрессия в помощь...

Добрый день!

Для всех QUIKеров в свободное пользование индикатор линейной регрессии (LUA).
Линейная регрессия в помощь...
Settings = 
{
        Name = "xLinReg",
        period = 128,
        deviation=2,
        line=
        {
                {
                        Name = "xLinReg",
                        Color = RGB(0, 0, 255),
                        Type = TYPE_LINE,
                        Width = 3
                },
                {
                        Name = "xLinReg",
                        Color = RGB(192, 0, 0),
                        Type = TYPE_LINE,
                        Width = 3
                },
                {
                        Name = "xLinReg",
                        Color = RGB(0, 128, 0),
                        Type = TYPE_LINE,
                        Width = 3
                }
        
        }
}



----------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
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)
                
                
                for i = 1, period-1 do
                        ZZZ=aav+bb*(-(period-1)/2+i)
                        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 = c_FF()
        
        return 3
end
function OnCalculate(index)
        
        
        
        return myFF(index, Settings.period,Settings.deviation)
        
                
end


Продолжение: http://smart-lab.ru/blog/337978.php



Трендовый/Контртрендовый торговый робот на индикаторе RSI под Quik

Трендовый/Контртрендовый торговый робот на индикаторе RSI под Quik

Всех приветствую.

Представляю вашему вниманию торгового робота на основе индикатора Индекс относительной силы (Relative Strength Index, RSI). Данный торговый робот позволит вам торговать трендовую или контртрендовую стратегию на рынке ММВБ акциями или фьючерсами. Робот анализирует индикатор и принимает на основе этого торговые решения, позволяя тем самым автоматизировать торговлю. В этой статье расскажу, как запустить робота и опишу торговый алгоритм, реализованный в механической торговой системе (МТС).

Трендовый/Контртрендовый торговый робот на индикаторе RSI под Quik



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

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

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

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

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



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

РТС.

Добрый вечер, господа! Мне кажется, или наш рынок отказывается падать? Это же радует!

Ну а теперь по сути. Шорт по РТС от 26 мая закрыт. Прибыль составила около 4700 пунктов. Почему закрыл? Есть причины и сейчас я о них напишу.

Во-первых, первый цикл падения по сберу закончился практически одновременно с отбоем РТС вверх, лишь чуть-чуть смазав границу своего цикла. Но самое главное — РТС сегодня отбился вверх не просто от уровня, нет. Если вы включите месячный график вы увидите, что этот уровень — месячный — очень мощный уровень. И на такие вещи не реагировать нельзя. Просуммировав все это, я решил закрыть шорт. Но покупок пока не совершал. 

А теперь хочу написать главное. Я знаю, что по моим целям многие выставляют тейки, это видно на графике, знаю, что по моим сигналам продают или покупают. И случается, люди пишут мне благодарность за сигнал. Но я понимаю, что большинство здесь не хочет ждать долго и пытаются заработать сегодня-завтра. Что я на это отвечу? Ребят, это сложнее, чем сидеть в позе долго, поверьте.

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

Всем привет! Индикатор для 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
Как пользоваться:

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

Система Татарина. Часть 4. Заключительная

9. Работа на послеторговых сессиях.

Только наиболее ликвидные бумаги. Требование маржинальности  и доступности в шорт.
Вход.
После окончания основных торгов, начиная с 18:40, ищем в «стаканах» крупную заявку, которая явно может сдвинуть результирующую цену послеторговой сессии в свою сторону. Цена должна сильно (на 0,8-1%) отличаться от Цены закрытия последней свечи основных торгов. Встаем перед ней ей в противоход.
Объем.
Без плечей, таким объемом, чтобы не сдвинуть «стакан».
Выход.
На предторговой сессии или на открытии основных торгов следующего дня.

Если мировые рынки, в первую очередь американский, пойдут против позиции, Цена чаще всего открывается близко к точке входа. В этом случае выход по безубытку или с небольшим убытком.
В противном случае цель — половина полученной разницы между ценой входа в позицию и ценой закрытия последней свечи основных торгов.
Стоп: отсутствует.



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

Система Татарина. Часть 3.

6. Свечные паттерны. Разворот

Система Татарина. Часть 3. 

Рисунок 23

После сильной дневной свечи (от 2%) появляется свеча противоположного направления, также не менее 2%, и закрытие на макс/мин дня. Тень в направлении второй свечи не более 0,3%.
В позицию пока не входим, ждем третий день.
Если следующая свеча пробивает уровень первой и второй свечи гэпом по направлению второй свечи — входа нет.
Условие входа: открытие против второй, сигнальной свечи, или на уровне макс/мин сигнальной свечи.
Вход — стоп-приказом на уровне макс/мин второго дня (по его направлению).
Объем 2-3 плеча.
Стоп 0,3% от точки входа.
Цель — 0,5% для первых 50% позиции и 1% для вторых 50% позиции.
Если первые 50% позиции закрыты по цели 0,5%, стоп переносится на уровень цены входа в позицию.
Удержание позиции не более 30 минут.
Переноса позиции нет.
Направление позиции лонг/шорт.



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

Система Татарина. Часть 2.

4. Контртренд.
Работает для 30 наиболее ликвидных бумаг.
Точка входа ищется только в первые 2 часа торгов.
Не  использовать, если по акции вышла новость, вызвавшая сильное движение цены (до недели тому назад) .
Вход только на свои, без плечей.
Направление позиции лонг/шорт.
При прочих равных, выбирается более «быстрая» бумага.
Желательно, чтобы бумага опережала рынок, или шла в против рынка.
Ищем бумагу, которая в первые 2 часа работы выросла на 2,5-3%. Рост отсчитывается от последней сделки вчерашнего дня, результаты послеторговой сессии не учитывается.
Вход против движения на 50% портфеля.
По-возможности ищется плотность котировок в стакане и заявка размещается перед ней (± 10 копеек).
Откуп позиции — 0,5% от точки входа.
Если после входа цена не откатывает и не продолжает движение, т.е. консолидируется, то выход через 30 минут.

Если рост продолжается до 3,5-4%, вход на оставшиеся 50% портфеля.
Стоп устанавливается на усмотрение трейдера — 4,3-4,5% роста бумаги.
При доливке позиции, средняя цена получается в районе 3—3,5% роста.
Цель устанавливается на 0,5% ниже средней цены позиции.
Есть выход по времени — макс. 30 минут после доливки.



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

Система Татарина. Часть 1.

За картинки сорри — принтскрин с PDF

Торговые стратегии трейдера ТАТАРИН30

 Содержание

1.Предисловие.
2. Рост/падение 5 дней подряд.
3. Лидеры роста. 4,5%.
4. Контртренд.
5. Статистический арбитраж ФСК ЕЭС — Россети.
6. Свечные паттерны. Разворот
7. Свечные паттерны. Продолжение
8. Свечные паттерны. Треугольники
9. Работа на после торговых сессиях
10. Фьючерсы
11. Вход при пробое границы коридора.

1. Предисловие.

В настоящем обзоре приводятся стратегии успешного трейдера, ведущего свой блог на Смартлабе.
Основанием для написания послужило обучение, пройденное у него некоторое время назад. Обладая собственным значительным опытом торговли на фондовой бирже, должен отметить, что все предложенные стратегии являются рабочими. Однако возможность практической работы по ним несколько различается. Для некоторых стратегий возможна простая торговля «руками», для других предпочтительна небольшая «механизация» в виде вспомогательных программ и/или скриптов, реализацию третьих либо полу-, либо полностью автоматизировать.



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

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