Избранное трейдера Алексей

по

Как вернуть НДФЛ и зачесть все убытки: пошаговая инструкция

Всем доброго дня. Спешу описать пошаговый план действий для тех, кто из вас получал убытки в прошлые годы на фондовом рынке.

Все об инвестиционном вычете

Правило первое
– зачесть убытки можно прибылью, которая была получена позже. Если, например, убыток был в 2016 году, а прибыль в 2015 году, то для сальдирования убытка надо ждать следующего прибыльного года.

Каждый год мы закрываем либо «+», либо «-». Государство дает нам возможность вернуть часть убытка в виде налога, который был удержан с суммы полученной прибыли. Иными словами, можно зачесть убытки.

Чтобы было понятно, сразу буду приводить пример – гражданин получил убытки в 2011, 2012 годах. Далее он торговал только с «плюсом». Что ему сейчас делать?

Так как у нас идет 2017 год, то в текущем 2017 году вернуть налог можно за три года – это 2014, 2015, 2016 годы. Если суммы полученной прибыли хватит, чтобы зачесть убыток 2011 и 2012 годов, то замечательно. Допустим, убыток в 2011 году – 500 000 рублей, в 2012 году – 20 000 рублей. Прибыль в 2014 году – 600 000 рублей. В 2015 и 2016 годах прибыль была получена в размере 900 000 рублей. Как мы видим из нашего примера, сумма прибыли гораздо больше суммы убытка. И поэтому можно брать любой год: или 2014, или 2015, или 2016 год. Можно взять и вернуть налог, который был уплачен в 2016 году. А можно и за 2014 год вернуть налог – нам любой вариант подходит.

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

Куда нужно инвестировать, если вам от 25 до 45 лет – 7 шагов к счастью

Короткие, но очень важные рекомендации по инвестициям времени и денег для «молодого» поколения. 

Рекомендации основаны на личном опыте и изучении тенденций ближайшего будущего в сфере социологии, геополитики, климата, современных технологий и экономки.
Почему такой возрастной промежуток? До 25 лет мало кто задумывается об долгосрочных инвестициях, а после 45 лет ты уже должен чего-то достичь и иметь свою «консервативную» картину мира. Выводы ниже сделаны из видения будущего (2050-80 гг.) выдающимися представителями вышеперечисленных сфер. Список делался для своих детей (т.е. рекомендации «подкреплены» личным примером инвестирования :-) ).
Все пункты, естественно, очень субъективны.

1. Образование и профессии.

Современная система образования, по всему миру, значительно устарела. Особенно школа. Чуть меньше университеты. Она направлена на обучение «на основе предыдущего опыта», а не на «то, что будет востребовано в будущем». Еще она убивает таланты и креативность, начиная с детского садика.



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

В помощь рыбакам- невод на qpile.

    • 19 сентября 2017, 19:31
    • |
    • gardist
  • Еще

Суть скрипта — отслеживать резкие изменения цены.

1. Создайте каталог c:\Qpile — в нем будем хранить старую цену.
Создайте подкаталог c:\Qpile\GO — в нем будем хранить пойманные шпильки.
При наличии шпильки(гэпа) в подкаталоге GO будет создан файл с названием этого фюьчерса, это может быть удобно для дальнейших действий, скажем, можно запускать по планировщику заданий фaйл check.bat, который будет проигрывать мелодию:

@rem check.bat
dir «c:\Qpile\GO» /a-d >nul 2>nul && (
@ECHO Поймали шпильку
%WINDIR%\Media\tada.wav
) || (
@ECHO Ничего не поймали
)

2. Посмотрите код текущих фьючерсов (в таблице фьючерсов добавьте колонку Код бумаги)
Отредактируйте коды инструментов, укажите коды актуальных фьючерсов:

sINSTRUMENT_BRENT=«BRV7» ' код инструмента BRENT
sINSTRUMENT_GOLD=«GDU7» ' код инструмента GOLD
sINSTRUMENT_EURUSD=«EDU7» ' код инструмента EUR/USD

3. Настройте при каких параметрах выводить сообщения о шпильках
'Процент изменения цены при которой выводится оповещение:
sPrc_BRENT = 0.5
sPrc_GOLD = 0.2
sPrc_EURUSD = 0.4

4. Установите задержку обновления цены.
' Задержка:
NEW_GLOBAL(«sDELAY», 5)
(если при запуске скрипта стоит период расчета 10 сек. то значение 5 будет соответствовать примерно минуте).



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

Справочник Lua для Quik

    • 09 сентября 2017, 22:26
    • |
    • Dzam
  • Еще

Справочник Lua для Quik

 
В статье речь пойдет о новом справочнике luaq.ru
У каждого разный подход к созданию роботов: одни заказывают у разработчиков, другие используют программы и строят алгоритмы из кубиков, третьи пишут сами использую языки программирования.


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Подробный мануал как правильно зайти в шорт.

    • 05 сентября 2017, 14:01
    • |
    • p1x3
  • Еще

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

 

 

Есть акция под названием FENG. По дневному графику она улетела сильно (pump and dump), и потом  её слили.

Подробный мануал как правильно зайти в шорт.

В чатике ловили её в районе 4.70$ все стандартно от уровней вчерашнего дня. 

Про шорт от уровня вчерашнего дня, я подробно рассказал в этом видео https://www.youtube.com/watch?v=MDoftGig-q0 оно является пожалуй одним из самых главных для понимания как лучше торговать pump and dump, где  нужно заходить и выходить.

Но сегодня речь пойдет о следующем дне, день после слива. По принципу он похож и на предыдущий день (Second day). Так же ждем уровни, но нужно знать, чего ожидать такого, чтобы зайти правильно в позицию.



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

Создание и тестирование пользовательских символов в MetaTrader 5

У нас хорошая новость — пользовательские/кастомные символы в MetaTrader 5 дали новые возможности для разработки торговых систем и анализа любых финансовых рынков.

Теперь трейдеры могут строить графики и тестировать торговые стратегии на неограниченном количестве финансовых инструментов. Для этого достаточно создать свой собственный символ на основе тиковой или минутной истории, и вы можете тестировать на нем любого торгового робота из Маркета или библиотеки бесплатных кодов.

По сути, целый класс чистых аналитических систем типа AmiBroker, Wealthlab, Multicharts и тд теряют свою привлекательность. Любой анализ теперь можно делать бесплатно. Причем с каждой версией мы расширяем объем функционала и удобства.

Создание пользовательского символа

Покажем, как создать свой собственный символ на основе уже существующего в Обзоре рынка. Откройте правой кнопкой мышки окно Символы и выберите тот, на основе которого вы хотите создать свой собственный.

Создание и тестирование пользовательских символов в MetaTrader 5

После нажатии кнопки «Создать символ» вам останется только задать имя пользовательского символа и, при необходимости, изменить нужные свойства в Спецификации контракта.



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

Бывает ли рост без фундамента? Нет.

    • 02 сентября 2017, 11:36
    • |
    • Albus
  • Еще
Пост в продолжение темы:
Робот по скользяшкам.
Во всех случаях будет браться недельный таймфрейм, потому что речь пойдёт про долгосрочные тенденции.
Бывает ли такое, что акция долго растёт без хороших фундаментальных показателей? Или наоборот — долго падает на сильном, первоклассном фундаменте?
Давайте разберёмся.
Для анализа буду брать только акции, у которых всё однозначно:
1. Цена выше мувинга с периодом 52 (сила)
2. Мувинг с периодом 52 растёт (большой бычий тренд)
3. Мувинг с периодом 13 растёт (малый бычий тренд)
Или наоборот:
1. Цена ниже мувинга с периодом 52 (слабость)
2. Мувинг с периодом 52 падает (большой медвежий тренд)
3. Мувинг с периодом 13 падает (малый медвежий тренд)
----------
52 — потому что в году 52 недели
13 — потому что в квартале 13 недель.
----------
Помогать будет

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

Робот по скользяшкам

    • 02 сентября 2017, 08:03
    • |
    • Albus
  • Еще
Написал для всех желающих робота-советника. Он автоматически анализирует множество акций по следующим индикаторам:
Мувинг с долгим периодом.
Мувинг с коротким периодом.
Робот по скользяшкам
Робот не торгует, только анализирует рынок.
В КВИКе он выглядит так:
Робот по скользяшкам

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

Налоговые вычеты

Добрый день.
Часто возникают вопросы по налоговым вычетам.
Информацию от первоисточника (Налоговой) можно взять здесь: https://www.nalog.ru/rn77/taxation/taxes/ndfl/nalog_vichet/inv_vichet/
и здесь: https://www.nalog.ru/rn77/taxation/taxes/ndfl/nalog_vichet/nv_ubit/
Может кому будет полезно.

Таблица "Портфель" в QUIKе


    Представляю таблицу для портфельных инвестиций. В квике до сих пор такого нет. Цвет строки меняется если Прибыль%<>5%. Обновление каждые 5 сек.
Таблица "Портфель" в QUIKе

Для её создания необходимо:
1. Создать файл «tablePortfolio.txt» в папке «C:\QUIK\Scripts». Если папки нет, создать её.
2. Скопировать туда код скрипта
3. Сохранить, выбрав кодировку «ANSI», иначе вместо русских букв могут быть кракозябры.
4. Сменить расширение файла с ".txt" на ".lua"
5. Запустить скрипт командой Сервисы->Lua  скрипты->Добавить (выбрать файл tablePortfolio.lua) ->Запустить

Код скрипта:
IsRun = true
class_code="TQBR"

function main()
   -- Получает доступный id для создания
   t_id = AllocTable()   
   
   -- добавить столбцы
   AddColumn(t_id, 1, "Бумага",       true, QTABLE_STRING_TYPE, 20)
   AddColumn(t_id, 2, "Кол-во",       true, QTABLE_INT_TYPE,     7)
   AddColumn(t_id, 3, "Цена покупки", true, QTABLE_DOUBLE_TYPE, 14)
   AddColumn(t_id, 4, "Цена текущая", true, QTABLE_DOUBLE_TYPE,   14)
   AddColumn(t_id, 5, "Прибыль, р",   true, QTABLE_DOUBLE_TYPE,   14)
   AddColumn(t_id, 6, "Прибыль, %",   true, QTABLE_DOUBLE_TYPE, 14)
   t = CreateWindow(t_id)

   for iRow=1, getNumberOf("depo_limits")-1, 1 do
      rowInPortfolioTable = getItem("depo_limits", iRow) -- получить текущую строку из таблицы "Лимиты по бумагам"            
      qtyBoughtLots  = tonumber(rowInPortfolioTable.currentbal)         
      limitKind = rowInPortfolioTable.limit_kind          
      if qtyBoughtLots>0 and limitKind<1 then      
         InsertRow(t_id, iRow)-- добавить новую строку вниз таблицы   
      end
   end
   local rows, columns = GetTableSize (t_id)
   InsertRow(t_id, rows+1) -- добавить новую строку вниз таблицы для "Итого"
   
   SetWindowCaption(t_id, "Портфель: прибыли и убытки    © ramirzaev@mail.ru") 

   -- исполнять цикл, пока пользователь не остановит скрипт или не закроет окно таблицы
   while IsRun do 
      if IsWindowClosed(t_id)==true then
         IsRun=false
      end

      local currentPrice=0
      local qtyBoughtLots=0
      local profitAbs = 0
      local profitPerc = 0
      local currentSecCode= ""
      local fullNameOfInstrument = ""
      local limitKind = 0
      local rowInPortfolioTable = {}    -- строка из таблицы "Лимиты по бумагам"
      local tableInstrument = {}    -- данные "Таблицы текущих торгов"
      local iRowInOutTable = 1
	  local totalInvest = 0
	  local totalPortfolio = 0
	  local totalProfit = 0
	  local totalPercent = 0

      for iRow=0, getNumberOf("depo_limits")-1, 1 do
         rowInPortfolioTable = getItem("depo_limits", iRow) -- получить текущую строку из таблицы "Лимиты по бумагам"         
         
         qtyBoughtLots  = tonumber(rowInPortfolioTable.currentbal)
         
         limitKind = rowInPortfolioTable.limit_kind 
         
         if qtyBoughtLots>0 and limitKind<1    then      -- если кол-во лотов >0 и тип лимита T0
            currentSecCode = rowInPortfolioTable.sec_code
            fullNameOfInstrument =  tostring(getParamEx(class_code, currentSecCode, "SHORTNAME").param_image or "0") --"LONGNAME"
            avgPrice       = tonumber(rowInPortfolioTable.awg_position_price)                  
            currentPrice = GetAskPrice(currentSecCode)   
            profitAbs = (currentPrice-avgPrice)*qtyBoughtLots      
            profitPerc    = 100*currentPrice/avgPrice   - 100
			
			totalInvest = totalInvest + avgPrice*qtyBoughtLots  
			totalPortfolio = totalPortfolio + currentPrice*qtyBoughtLots   
            
            SetCell(t_id, iRowInOutTable, 1, fullNameOfInstrument) -- "Бумага"
            SetCell(t_id, iRowInOutTable, 2, tostring(qtyBoughtLots)) -- "Кол-во"RemoveZero(tostring(qtyBoughtLots)))
            SetCell(t_id, iRowInOutTable, 3, tostring( math_round(avgPrice, 3) ))  -- tostring(avgPrice))   -- "Цена покупки"
            SetCell(t_id, iRowInOutTable, 4, RemoveZero(tostring(currentPrice)))   -- "Цена текущая"
            SetCell(t_id, iRowInOutTable, 5, tostring( math_round( profitAbs, 0)) ) -- "Прибыль, р"
            SetCell(t_id, iRowInOutTable, 6, tostring(math_round(profitPerc, 1)) .."%") -- "Прибыль, %"
            
            if profitPerc >5 then       -- окрашиваем
               ColourRowInGreen(iRowInOutTable)
            elseif profitPerc<-5 then 
               ColourRowInRed(iRowInOutTable)
            else 
               ColourRowInYellow(iRowInOutTable)
            end   
            iRowInOutTable = iRowInOutTable+1
         end
      end
      totalProfit = totalPortfolio - totalInvest 
      totalPercent   = 100*totalProfit/totalInvest  
	  SetCell(t_id, iRowInOutTable, 1, "Итого") 
      SetCell(t_id, iRowInOutTable, 3, tostring( math_round(totalInvest, 0) ))  
      SetCell(t_id, iRowInOutTable, 4, tostring( math_round(totalPortfolio, 0)))  
      SetCell(t_id, iRowInOutTable, 5, tostring( math_round( totalProfit, 0)) ) 
      SetCell(t_id, iRowInOutTable, 6, tostring(math_round(totalPercent, 1)) .."%") 
	  
	  if profitPerc >5 then       -- окрашиваем
               ColourRowInGreen(iRowInOutTable)
            elseif profitPerc<-5 then 
               ColourRowInRed(iRowInOutTable)
            else 
               ColourRowInYellow(iRowInOutTable)
            end   
            iRowInOutTable = iRowInOutTable+1
      sleep(5000) -- пауза 5 сек.
      end
   --message("script table portfolio finished")
end


function ColourRowInRed(num_row)
   SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,150,150), RGB(0,0,0), RGB(255,150,150), RGB(0,0,0))
end
function ColourRowInYellow(num_row)
   SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,255,200), RGB(0,0,0), RGB(255,255,200), RGB(0,0,0))
end
function ColourRowInGreen(num_row)
   SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(150,255,150), RGB(0,0,0), RGB(150,255,150), RGB(0,0,0))
end
function GetAskPrice(inp_Sec_Code )
   local ask = tostring(getParamEx(class_code, inp_Sec_Code, "OFFER").param_value or 0)
   return ask
end
-- Округляет число до указанной точности
function math_round (num, idp)
   local mult = 10^(idp or 0)
   return math.floor(num * mult + 0.5) / mult
end
-- удаление точки и нулей после нее
function RemoveZero(str)
   while (string.sub(str,-1) == "0" and str ~= "0") do
      str = string.sub(str,1,-2)
   end
   if (string.sub(str,-1) == ".") then 
      str = string.sub(str,1,-2)
   end   
   return str
end
function OnStop()
   DestroyTable(t_id)
   IsRun = false   
end
  • обсудить на форуме:
  • QUIK

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