Избранное трейдера Игорь В.

по

Торговый робот на индикаторе Price Channel под Quik

Торговый робот на индикаторе Price Channel под Quik

Всех приветствую.Не буду скрывать индикатор Price Channel мне очень нравится и близок. Первые свои прибыльные торговые системы в 2010 году строил на TSLab именно с использованием этого индикатора.

Сегодня хочу вам представить бесплатного торгового робота именно на индикаторе Price Channel. Это робот позволит торговать трендовый алгоритм на ММВБ через Quik на рынках: фьючерсов и акций.

Торговый робот на индикаторе Price Channel под Quik



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

Про возврат налога НДФЛ за убытки с торговли. Важный момент.

    • 20 сентября 2016, 17:36
    • |
    • Krendel
      Smart-lab премиум
  • Еще
Озадачился давно еще я возвратом налога на прибыль за 2015 год с торговли за счет убытков за 2011-2014 гг. Походил-поискал бухов, кто декларацию заполнит правильно, да никто браться не хотел. Но потом кое-как нашел одну барышню — заполнила. Подал декларацию за 2015 в налоговую вместе с заявлением и справками брокера за 2011-2015 годы.

На днях позвонили из налоговой, просили переделать декларацию (т.к. бух-ша заполнила как обычно для физиков, без учета биржевой специфики, а там нужно специальный лист З (не три, а «зе») заполнять), подать корректировку по ней и сдать декларации за 2013-2014 годы, где указать полученный убыток. Это все бухгалтерша подготовила, сегодня отнес… Более ранние декларации сдавать нельзя, т.к. принимают только за последние 3 года.

Вот какой важный момент получается (в НК в редакции 2010 года это все есть). Убытки, по закону, можно учитывать в течение 10 лет, но все они должны были быть своевременно задекларированы в налоговой (именно в виде деклараций с убытками), чтобы возвратом убытка потом можно было воспользоваться при получении прибыли. А тут есть ограничение в 3 предыдущих года, если вовремя не оформили все как надо.

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

Ассистент трейдера - алерты на мобильнике.

Приложение предназначено для получения точных и своевременных уведомлений в момент, когда цена достигнет заданного уровня.

Страница установки:
play.google.com/store/apps/details?id=ru.astrader.assistant

Анализируемые инструменты: ММВБ, FORTS, FOREX, мировые индексы.

Особенности работы приложения: 
1. Высокая точность определения пробоя цены, даже если это был секундный пробой и цена вернулась к прежнему уровню. 
2. Повтор уведомления, если оно не было прочитано. 
3. Вычисления происходят на отдельном сервере. И даже если у телефона временно отсутствовало интернет соединение, вы получите уведомление при восстановлении связи с сервером. 
4. Синхронизация с различными устройствами. Т.е. настроить целевые уровни можно на компьютере, подкорректировать на планшете, а уведомления получать на телефон. (Необходима авторизация единым логином на всех устройствах.)Ассистент трейдера - алерты на мобильнике.
Ассистент трейдера - алерты на мобильнике.
Кому пригодилось — ставим лайки!))



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

Предыдущая часть: 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




сравниваем OpenKantu и tslab

Нашёл новую прикольную прогу.
Генератор свечных паттернов, бесплатная и с открытым кодом.
mechanicalforex.com/kantu-system-generator
И кстати у её создателей классный сайт, там много статей про создание и тестирование систем.
И у них есть платная версия с кучей кучей функций за около 300 баксов в первый год и 160 в следующие, https://asirikuy.com/newsite/
По описанию платная версия круче тслаба во многом. Так что когда тслаб поднимет цены то скорее всего переёду на неё,
она может торговать мосбиржу через мт5 протокол.


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

Про здоровье (о спине)

Тут иногда проскакивают темки по поводу здоровья.
Расскажу и про свое. Веду в общем то сидячий образ жизни,
за монитором, но не в силу торговли, а как бывший программист.
Ну к 40 годам всплыли проблемы, в частности со спиной — болела с обратной стороны живота,
поясница то есть. Грешил на камни в почках, да, их тоже нашел. Так что камрады, сходите на УЗИ
для начала — проверьте почки и желчный пузырь. Потом пошел к неврологу-рентген-диагноз на полстраницы
со словом остеохондроз и еще чего то там. Что-делать то? Путного ничего не сказали кроме как идти в спецмагазин-аптеку и там выбирать что то для спины.
Спина продолжала болеть-стрелять, а другого образа жизни не предвиделось… я не карпов72, я на завод не могу. Ну зарядки-разминки это недолго, а большую часть времени все равно сидишь.

Подумал и сделал две вещи:
1. поменял кресло на обычный деревянный стул на четырех ножках и высокой спинкой.
2. купил доску метр на 30см. Сплю на диване, но на доске. Первое время спать на спине было страшно неудобно — спина ныла, что ей нехорошо. Но терпел, хотелось на бок лечь — но так начинали ребра болеть.

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

Для QUIK индикатор Parabolik учитывающий волатильность

   Добавляю код сделанного мной индикатора Parabolik в котором параметр ускорение зависит от волатильности. Чем больше волатильность, тем больше увеличивается ускорение и индикатор быстрее «догоняет» цену. Подобные есть на просторах интернета для метатрейдера (и не бесплатно), для квика не встречал.

 Для QUIK индикатор Parabolik учитывающий волатильность

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

Код индикатора:

Settings = {
Name = "Parabolic ATR",
Period_ATR=14,
line = {{
                Name = "Parabolic ATR",
                Type = TYPE_POINT,
                Color = RGB(255,0,0),
                Width = 2
                }
                }
}

old_idx=0
long=false
short=false
revers=false


function Init()
        return 1
end

function OnCalculate(idx)
if idx<Settings.Period_ATR then
return nil
else
if idx==Settings.Period_ATR  then
psar={}
psar[idx]=L(idx)
long=true
hmax=H(idx)
per_ATR=Settings.Period_ATR
local TR=0
for js=(idx-per_ATR),idx-1 do
TR=(TR+H(js)-L(js))
end
Old_ATR=TR/per_ATR
revers=true
else

if idx~=old_idx then
local TR=0
for js=(idx-per_ATR),idx-1 do
TR=(TR+H(js)-L(js))
end
local ATR=TR/per_ATR
af=ATR/(Old_ATR+ATR)
af=af/10
Old_ATR=ATR
if long then
if hmax<H(idx-1) then
hmax=H(idx-1)
end
psar[idx]=psar[idx-1]+af*(hmax-psar[idx-1])
end
if short then
if lmin>L(idx-1) then
lmin=L(idx-1)
end
psar[idx]=psar[idx-1]+af*(lmin-psar[idx-1])
end
revers=true
end
if long and L(idx)<psar[idx] and revers then
psar[idx]=hmax
short=true
long=false
lmin=L(idx)
af=Step
revers=false
end
if short and H(idx)>psar[idx] and revers then
psar[idx]=lmin
long=true
short=false
hmax=H(idx)
af=Step
revers=false
end
end

old_idx=idx

return psar[idx]
end
end



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

Как и где отслеживать портфель

Как и где отслеживать портфель


Существует множество бесплатных сервисов для отслеживания портфеля. Наиболее удобные из них предлагают сайты Google.FinanceYahoo!FinanceFinviz.comMorningstar и Seeking Alpha. Я использую Porflolio от Google.Finance. В нем есть все для эффективного ведения портфеля и он лучше других справляется с учетом транзакций. 

Для того чтобы начать работу в Google.Finance, нужно авторизоваться через свою учетную запись в Google, затем перейти в раздел Porflolio и нажать кнопку Создать портфель (Create new portfolio).


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

>>> Android x86 для нетбука

Вышла новая версия Android x86  (marshmallow-x86) v. 6 

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

Получается типа планшета и можно использовать для резервных андроид-софтин от брокеров.

Лично у меня нормально работает версия Android-x86 4.4

Образ пишется на флэшку и ставится как любая другая ОС.

В сети и на ютубе есть мануалы.

Спрашивайте здесь кому что интересно.


Открытый Универсальный Робот – Основа робота

Продолжаем разработку универсального робота!

Выкладываю код OUR-0.3, который в настоящий момент еще далеко не полный – это только основа, скачать можно здесь https://yadi.sk/d/l3uic67yruCxa

Код прокомментирован подробно, но дам дополнительное описание общего плана, чтобы логику работы робота можно было представить.

Итак, по порядку:

Робот состоит из двух файлов: OUR.lua содержит основные функции (OnInit, main, коолбэки – пока только один OnStop), FunOUR.lua содержит вспомогательные функции – все остальные. Дополнительно приложен файл с информацией и файл с образцом котировок.

Функция OnInit

1 Первоначально котировки с сервера поступают в источник – таблицу с барами TBar (там все заполняется автоматически при подключении источника).

2 Далее робот делает различные вычисления, результаты которых он помещает в таблицу с данными TDat (также туда копируются параметры баров из TBar), эту таблицу нужно заполнять самому, ключи таблицы на свое усмотрение, но конечно часть ключей в алгоритм уже заложены, это «key»,«O»,«H»,«L»,«C»,«V»,«T» от них идут все вычисления. TDat – это таблица, содержащая таблицы по каждому бару, ключ соответствует номеру бара в источнике. Структура такого типа:

TDat = {
[1321] = {"O","H","L","C","SMAf","SMAs"…},
[1322] = {"O","H","L","C","SMAf","SMAs"…},
…
}


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

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