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

по

QUIK 7 - геморой начинается

Здорова щеглы

Установил квик 6 и так технично установил, что обновился он до 7 версии (((

Захотел построить гистограмму общего спроса/предложения (черт… спалил ГРААЛЬ). 

Но график не строится!!! (выдает пустую область! В Квике 6 все было норм — (в таблице текущих торгов «общий спрос и общее предложение» показывает кол-ые значения, но если щелкнуть правой кнопкой мыши и выбрать «построить график общий спрос» то выдает пустой график ((

— как быть?!

 

Подскажите плиз )))


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

Предлагаю скрипт для расчета греков по портфелю
Скрипт для отображения греков текущей позиции в Quik (qpile)
Ссылка на скачивание


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

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

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

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

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



Почему разоряются трейдеры?

Наверное, этот вопрос задавал себе каждый, кто терял деньги. Про это написано куча теорий, и у каждого свое мнение на этот счет. С высоты многолетних наблюдений постараюсь и я ответить на этот вопрос. А заодно развить тему, вброшенную здесь: http://smart-lab.ru/blog/337934.php

Для начала: простая арифметика, 3 класс школьной программы.

У вас S депозит и L плечо.

Комиссия за сделку C, за маржиналку M (внутри дня не платится).

При C = 0.05%, M = 16% годовых и L = 4 (берем среднее, более-менее близкое к ставкам риска основных бумаг)

получим:

1. Если просто купить (или продать) на все, на уплату комиссий уйдет

   5 * S * 2 /// сразу считаем с учетом продажи /// * 0,05% = 0,5%S

   4 * S * 16% = 0,64S /// комис за пользование кредитом

Итого 64,5% от вложенного капитала — это стоимость игры с плечом в данном примере. 65% годовых, Карл! И ведь берут!

 

2. Если закрывать позицию внутри дня, то

   5 * S * 2 * 0,05% * 220 /// примерное кол-во торговых дней в году /// = внимание… 110 (сто десять) % S.



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

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

Предыдущая часть: 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еров в свободное пользование индикатор линейной регрессии (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



Немного о реальности, в которой мы живем... (философия)

А вот теперь философия, или о том, что сбылось и не сбылось от писателей фантастов, утопистов.
Джорж Оруэлл «1984» против Олдоса Хаксли «О дивный, новый мир»



Оруэлл боялся, что будут запрещать книги!
Немного о реальности, в которой мы живем... (философия) 
Хаксли считал, что книги не будут нужны, потому что большинство не захочет их читать
 Немного о реальности, в которой мы живем... (философия)

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

==**Интересует кто на сколько % заполняет свой депо под ГО в виде облигаций.**==

       Добрый день, коллеги! Интересует кто на сколько % заполняет свой депо под ГО в виде облигаций, поделитесь опытом, ибо я только пробую в этом направлении и боюсь как бы не обжечься.
      У меня брокер «Открытие» по правилам брокера в случае не хватки средств под ГО брокер будет начислять процент по кредиту (я так понял такую же величину как на споте под кредит акций). Поэтому я 2*ГО оставляю в виде денежных средств, а на остальное покупаю облигации, чтобы при не благоприятном исходе иметь запас, также имеется прослойка в виде коротких облигаций(с малой дюрацией) которые можно будет продать без особых потерь.
      Может есть смысл полностью заполнить ГО под облигации и платить процент по кредиту брокеру в надежде на рост депо и выход в «безкредитную зону», или наоборот больше денег оставить под ГО и покупать меньше облигаций?
==**Интересует кто на сколько % заполняет свой депо под ГО в виде облигаций.**==


Книга которая понравилась сразу

Вчера начал читать книгу "Кванты. Как волшебники от математики заработали миллиарды и чуть не обрушили фондовый рынок, сразу скажу, книга зацепила с первых строк (про того же Ливермора зацепило только спустя 3-4 страницы), читается легко, на уровне художественной литературы, в общем крайне рекомендую, ссылку на скачивание прилагаю, хотя сам купил электронную версию, в благодарность за труды автора:
cloud.mail.ru/public/GY3T/Ru53rH4c3 (поправил ссылку на своё облако)

PS: добавлю ещё, то что лежит на моём аккаунте литрейса (магазин эл книг)
Подлые рынки и мозг ящера: Как заработать деньги, используя знания о причинах маний, паники и крахов на финансовых рынках
cloud.mail.ru/public/8DhM/fTLZ4VWpn

Черный лебедь. Под знаком непредсказуемости (сборник)
cloud.mail.ru/public/JFMJ/7TpS2ej8t

Антихрупкость. Как извлечь выгоду из хаоса
cloud.mail.ru/public/2P36/Yzprdfky3

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