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

по

Подборка годноты vol.2

Подборка годноты vol.2

Йоу трейдеры и другая живность смарт-лаба! Несколько месяцев назад сделал для вас пост где собрал самые нужные (на мой скромный взгляд) ресурсы и медиа для комфортного и быстрого поглощения информации — smart-lab.ru/blog/317442.php

Сегодня в новой подборке годноты решил сделать упор на образовательные/научные источники. Именно пища для мозга, а не игра в танки или покемонов (ну разок можно), лучший отдых и переключение, а заодно и мальчишеская радость от новых знаний о мире и структуре вещей.

НО еще немного займу ваше внимание (перед самой подборкой), рассказав наблюдение о поведении аудитории в сети. Публика (ядро 25-35 лет) стала больше проникаться к всевозможным научным знаниям и новостям, на фоне громких открытий и прорывов в науке за последнее время. Тяга к знаниям дала рост для всевозможных научных СМИ, где приглашаются светила науки (в том числе и русские). Почему же по ТВ об это не говорят? Наша наука ушла в диджитал-подполье, и там дала ростки в брейнбизнесе. 



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

Модификации на тему 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еров в свободное пользование индикатор линейной регрессии (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



Битва за скорость: QLUA vs MQL5 - почему MQL5 быстрее от 50 до 600 раз?

Для сравнения языков MQL5 и QLUA мы написали несколько тестов, которые замеряют скорость выполнения базовых операций.

В тестах использовался компьютер с Windows 7 Professional 64 bit, MetaTrader 5 build 1340 и QUIK версии 7.2.0.45.

Результаты представлены в таблице, где все значения представлены в миллисекундах (чем меньше время, тем лучше):

Название            MQL5        QLUA     Преимущество MQL5

TestFloat          3 969     273 391     69 раз
TestArrays           375     230 768    615 раз
TestFibo           1 125      61 110     55 раз
TestPiCalculated   2 328     183 812     79 раз
TestQuickSort      2 031     211 279    104 раза
TestAckermann        828      64 541     78 раз

Сравнение производительности MQL5 и QLUA, чем меньше, тем лучше



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

Атаман,историческая справка

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

Тогда интернет был еще маленький.
Существовал всего один сайт, позволяющий вбивать ордера, исполняющиеся по реальным ценам и участвовать во всемирном виртуальном конкурсе трейдеров.
Из 31,3к участников на первом месте был он, Атаман, точнее Александр Ермаченко:
Атаман,историческая справка

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

Lbot3D: углубление внутреннего содержания.

    • 14 апреля 2016, 08:51
    • |
    • XXM
  • Еще
                                                         

Открылась бездна звезд полна;
Звездам числа нет, бездне дна.
                     М. В. Ломоносов

Конструктор стратегий Lbot позволяет создавать разнообразные торговые стратегии.
Он хорош для составления долгосрочных стратегий: входы и выходы из позиций — по рыночным ценам, в арсенале — весь набор индикаторов QUIK.
Созданный на его основе конструктор Lbot3D — программа с бо́льшими возможностями: входы и выходы возможны по лимитированным заявкам, и по одному инструменту могут быть запущены одновременно неограниченное количество стратегий, совершенно независимых друг от друга. Они могут управлять своими долями от части денежных средств, выделенных для этого инструмента из общего депозита.

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

Подборка годноты vol.1

Подборка годноты vol.1
Пока весь смартлаб орет о ставках/нефти/рубле/улюкаеве/горепрогнозистах/подливных гуру и тд — я подготовил, как мне кажется, норм постецкий. Вашему вниманию тщательно сцеженная, рассортированная по тематикам мякотка для работы, учебы и отдыха в нашей общей интернет-помойке: 


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

forexpf.ru  — 1 год назад этот сайт лежал когда на него ринулась каждая домохозяйка отслеживать курс рубля. Нормальный ресурсоёмкий сайт, чтобы попырому прочекать нефтянку, голду или бакс.

freestockcharts.com  — если вдруг упал tradingview.com.



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

SuperScalp 1.4

    • 06 марта 2016, 11:25
    • |
    • XXM
  • Еще
SuperScalp 1.4

Небольшая по объему (но, с учетом комментариев, количество строк больше 555) программа, которая не только позволяет торговать выбранным инструментом простым нажатием на ячейки таблицы, но и может вести полное протоколирование с точностью до миллисекунд действий пользователя, программы и коллбэков QUIK: OnTransReply, OnTrade, OnOrder.
С исходным кодом, слегка приправлен комментариями. Скачать:  www.xsharp.ru/superscalp
Бесплатен, без ограничения сроков, «Free software».

Предыдущие версии: тут и тут

UPD. действий программы и коллбэков => действий пользователя, программы и коллбэков


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