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

по

ИТОГИ 2021 ГОДА. ПУТЬ к 100 МИЛЛИОНАМ!

    • 03 января 2022, 23:42
    • |
    • TATARIN
      Проверенный аккаунт
  • Еще

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

Я понимаю, что ОЧЕНЬ редко публикую на смартлабе… и сейчас сожалею, о том, что попросил Тимофея удалить свой пост «путь к миллиону». Человек такое импульсивное существо…. мы ведём себя так, как чувствуем  на тот момент времени и только после мы осознаем свои ошибки, которые, к сожалению, невозможно исправить.

Точно не помню… примерно с 2007 -2008 года для меня вместо смарталба было общение на сайте plan.ru (это не реклама Тимофей) и он мне дал толчок для развития…Там я познакомился с Бланшем (старая школа  J). Я ему до сих пор благодарен и часто его советы вспоминаю ( это не из за меня икота ). Он мне посоветовал акцентировать внимание на втором эшелоне ( я до сих пор ему бутылку виски торчу J).  Этот сайт был для меня первой школой и там  я общался под ником татарин, и обучался даже у Сухова. Хороший человек и профессионал своего дела, хотя он когда расследовал мои сделки то у него закрались сомнения в правдивости… ну тут у каждого закрадется )).



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

Обновил индикатор наклонных уровней

Индикатор AT-obl_can для отрисовки наклонных уровней для quik
Обновил индикатор наклонных уровней
--[[
индикатор отрисовки наклонных уровней
Параметры:
delta - чувствиельность индикатора на волатильность в %
rep - количество повторений поиска конечного уровня
shif - сдвиг влево конечного бара 	
wt - признак наличия весового коэффициента =0 - без весового =1,2.. - свосовыми коф. чем ближе к концу тем больше
show=1,			
--]]
Settings=              
        {                          
            Name = "AT-obl_can",   -- название индикатора
            delta=2.0,             -- параметр индикатора  
            rep=10, 
            shif=0,		
            wt=1,	
            --hl=1,	
            show=1,
            line=                                     
                {                               
                    {  
                        Name = "ln1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255, 0, 0)
                    },
					{  
                        Name = "ln2",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255, 0, 0)
                    }
                }
       }


function Init()

    vMin = 0
    vMax = 0
    vMinindex = 0
    vMaxindex = 0
    voldMinindex = 0
    voldMaxindex = 0

  return 2
end


function OnCalculate(index)

  rep = Settings.rep
  shif = Settings.shif
  wt = Settings.wt
  --hl = Settings.hl  

  sz = Size()-shif
  if Settings.show == 1 then   
  
  if index <= sz then 

  if index <= 1 then
    vMin = C(index)
    vMax = C(index)
    vMinindex = index
    vMaxindex = index
    voldMinindex = index
    voldMaxindex = index
    v = C(index)  
  else
         
    if voldMaxindex >= voldMinindex then
	 if vMin~=nil and C(index)~=nil then 
      if C(index) > (1 + Settings.delta/100)*vMin then
        vMin = C(index)  
        vMax = C(index) 
        vMaxindex = index
        voldMinindex = vMinindex 
        vFrom = vMinindex  
      else     
        if vMin > C(index) then
          vMin = C(index)
          vMinindex = index
          vFrom = voldMaxindex      
       else
          vFrom = vMinindex 
        end 
      end
	 end
    else
     
    if voldMaxindex <= voldMinindex then
	 if vMax~=nil and C(index)~=nil then 
      if C(index) < (1 - Settings.delta/100)*vMax then
        vMax = C(index) 
        vMin = C(index)  
        vMinindex = index
        voldMaxindex = vMaxindex
        vFrom = vMaxindex
      else 
        if vMax < C(index) then
          vMax = C(index)
          vMaxindex = index
          vFrom = voldMinindex    
       else  
          vFrom = vMaxindex          
        end
      end  
	 end
    end
    end
 
    --if vFrom~=nil then 
	--[[
    for i = vFrom, index do
	 
      k = (C(index)- C(vFrom))/(index- vFrom);
      v = i*k + C(index) - index*k
      SetValue(i, 1, v) 
    end --]] 
    --end
 
   if index == sz then
    for k = 1, 2 do
      vf = 1
	  vs = 0
	  if k == 1 then 
        if vMinindex < vMaxindex then
	      vf = vMinindex
		  vs = vMaxindex
		  up = 0
	    elseif vMinindex > vMaxindex then
	      vs = vMinindex
		  vf = vMaxindex
		  up = 1
	    end 	  
	  elseif k == 2 then  
        if voldMinindex < voldMaxindex then
	      vf = voldMinindex
		  vs = voldMaxindex
		  up = 0
	    elseif voldMinindex > voldMaxindex then
	      vs = voldMinindex
		  vf = voldMaxindex
		  up = 1
	    end 
	  end 
	  n = 0
	  xy = 0
	  x = 0
	  y = 0
	  xx = 0
	  m = 0
      for i = vf, vs do	 
	   if C(i) ~= nil then 
	    m = m +1
	    n = n + 1*(1+wt*m)
	    xy = xy + i*C(i)*(1+wt*m)
	    x = x + i*(1+wt*m)
	    y = y + C(i)*(1+wt*m)
	    xx = xx + i*i*(1+wt*m)
	   end 	
      end
	  if (n*xx - x*x) ~= 0 and n ~= 0 then 
        a = (n*xy - x*y)/(n*xx - x*x)	
        b = (y - a*x)/n	  
		
		for j = 1, rep do 		
	      n = 0
	      xy = 0
	      x = 0
	      y = 0
	      xx = 0
          m = 0 		  
		  for i = vf, vs do	 	
           if C(i) ~= nil then 		  
		    v = a*i + b
		    clc = 0
		    if up == 1 and C(i) >= v then 
	          clc = 1	  
		    end 
		    if up == 0 and C(i) <= v then 
		      clc = 1
		    end 
		    if clc == 1 then
			  m = m + 1
	          n = n + 1*(1+wt*m)
			  --[[
			  if up == 1 and hl == 1 then
                xy = xy + i*H(i)*(1+wt*m)			  
			  elseif up == 0 and hl == 1 then 
			    xy = xy + i*L(i)*(1+wt*m)
			  else --]]
	            xy = xy + i*C(i)*(1+wt*m)
			 -- end 	
	          
			  x = x + i*(1+wt*m)
              --[[   
			  if up == 1 and hl == 1 then
                y = y + H(i)*(1+wt*m)
			  elseif up == 0 and hl == 1 then 
			    y = y + L(i)*(1+wt*m)
			  else --]]
	            y = y + C(i)*(1+wt*m)
			 -- end 	
	          
	          xx = xx + i*i*(1+wt*m) 
		    end 
		   end 	
		  end --[[--]]
	      if (n*xx - x*x) ~= 0 and n ~= 0 and n >= 2 then 
            a = (n*xy - x*y)/(n*xx - x*x)	
            b = (y - a*x)/n	  		   --[[  --]]
		  end 
        end 
		for i = vf, sz do	 		  
		  v = a*i + b
		  if up == 1 and v >= C(vs) or up == 0 and v <= C(vs) then 
		    SetValue(i, k, v) 
		  end 
		end 		
 		
	  end 
	  
    end   	  
   end 
   end 
  end  
  end 
end

телеграм: t.me/autotradering




Обновил индикатор горизонтальных уровней

Индикатор AT-levels для отрисовки горизонтальных уровней для quik

Обновил индикатор горизонтальных уровней

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

Индикатор горизонтальных уровней

Индикатор ZIGZAGLEVELS горизонтальных уровней
Индикатор горизонтальных уровней
--[[
параметры: 
Procent - процент зигзага 
--]]
Settings={
Name="ZIGZAGLEVELS",
Procent=5.0,
levels=6,
delta=0.2,
    line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },				
					{  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },				
					{  
                        Name = "cur5",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
					{  
                        Name = "cur6",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    }					
                }
}

function Init()
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
  levelsy={}
  levelsx={}  
  cntlevels=0
      	
  return 6
  
end

function OnCalculate(index)

  de = Settings.Procent
  levels = Settings.levels
  delta = Settings.delta
  sz = Size()

  vl = C(index)
  if index <= 1 then 
	y1 = vl
    y2 = vl
	cntlevels=0
  else   
	  if C(index) > y1*(1+de/100) and y1 < y2 then 
	    x2 = x1
	    y2 = y1	
	    x1 = index 
	    y1 = C(index)	        
        cntlevels = cntlevels + 1		
		levelsx[cntlevels]=x2
	    levelsy[cntlevels]=y2        
	  end 	
	  if C(index) > y1 and C(index) > y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 
	  	  		
	  if C(index) < y1*(1-de/100) and y1 > y2 then 
	    x2 = x1
	    y2 = y1
	    x1 = index 
	    y1 = C(index)	  		
		cntlevels = cntlevels + 1
		levelsx[cntlevels]=x2
	    levelsy[cntlevels]=y2		
	  end 	
	  if C(index) < y1 and C(index) < y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 	  	  		
	end 	
  
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 
  
  if sz == index then 
   cnt = levels
   for k = 1, cnt do  
	for i = 1, index  do        
	  SetValue(i, k, nil)
    end     
   end 
  
  -- cnt = 3
   k = 0
   for j = cntlevels, 1, -1 do
    d = 0
    if levelsy[j] > C(index) then 
      d = levelsy[j] - C(index)
	end 
    if levelsy[j] < C(index) then 
      d = C(index) - levelsy[j]
	end 	
	if d < delta*C(index) and d > 0 then 
	 k = k + 1
	 if k <= cnt then 	   
	   y = levelsy[j]   
	   for i = levelsx[j], index  do        	     
	     SetValue(i, k, y)
       end   
	 end
	end 
   end

  --[[
   k = 0
   for j = cntlevels, 1, -1 do
    d = 0
    if levelsy[j] < C(index) then 
      d = C(index) - levelsy[j]
	end 	
	if d < 0.2*C(index) and d > 0 then 	 
	 if k <= cnt then 
	   k = k + 1
	   y = levelsy[j]   
	   for i = levelsx[j], index  do        	     
	     SetValue(i, k+3, y)
       end   
	 end
	end 
   end
   --]]
   
  end   

 
  
end

телеграм: t.me/autotradering

10 лет рабства

Снимок идеи TradingView

Опять курю график :-)
Рассмотрю SP500 с точки зрения:
1. графика
2. экономических показателей
3. спредов

ГРАФИЧЕСКИ

Долгосрочный тренд с 1872 года. 150 лет тренда.
Простая спекуляция (если можно говорит о спекуляции в периодах 10 лет).
Закрытие лонгов у верхней границы, покупка от нижней.

Потолок по SP видится в районе 5000-5400… и то не факт.

Посмотрим чисто графически что было с SP когда подходили к верхней границе:
1. Март 2000. Началась коррекция длинной в 9 лет. Доходность индекса составила -57,5%
2. Октябрь 1929. Индекс не добрался до верхней границы и рухнул к июню 1932 на -85%. И только коснувшись в июне 1932 года нижней границы канала начал трудный рост.
3. Март 1872. Прежде чем перейти в стадию роста индекс пилил боковик до мая 1925 (53 года), дав на выходе доходность всего 107%.

Вывод: у верхней границы тренда надо искать другие активы для инвестирования (не SP ). Покупать надо у нижней границы.



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

Статистика просадок Индекса Мосбиржи с 1997 года

Статистика просадок Индекса Мосбиржи с 1997 года

Индекс МосБиржи только-только, довольно медленно-печально перешагнул порог коррекции (если определять ее как просадка от ранее достигнутого максимума хотя бы в 10%) — а на СмартЛабике смотрю уже начали всплывать посты про «начало многолетнего медвежьего рынка», "обвалы", "новые минимумы", "поиски дна", "неможение прийти в чувства" и прочие посыпки и присыпки. Ну и куда уж без обычных мазохистических предсказаний.

То ли народу нового подвалило, который не видел нормальных обвалов, то ли народ подрасслабился в предыдущие спокойные годы — непонятно. Чтобы хоть немного унять бушующие массы, я решил напомнить о максимальных просадках Индекса Мосбиржи по годам за всю его историю. Собственно, они приведены на графике ниже. На всякий случай уточню, что максимальная просадка в конкретном году считается от ранее достигнутого максимума в этом же году (а не глобально). Это может отличаться от просадки, рассчитанной от ранее достигнутого глобального максимума, в случае многолетних просадок (как в 2008-2009-м годах), но для наших целей наиболее адекватно.

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

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖

Хорошей практикой диверсификации ваших инвестиций является покупка иностранных акций за валюту. Инвестировать в акции зарубежных компаний можно просто и выгодно через Санкт-Петербургскую биржу (https://spbexchange.ru/). Преимущества очевидны:

  1. Инвестиции производятся в долларах США и Евро
  2. Низкие комиссии за малые объемы инвестиций. Можно покупать акции хоть по одной штуке, тогда как на биржевых площадках в США минимальный торговый лот = 100 акций.

  3. Торговый терминал QUIK с возможностью создавать торговых роботов на языке lua. Пример скрипта в этом посте.

  4. Автоматизированные расчеты и удержание НДФЛ на сделки купли-продажи


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




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

Динамика денежной массы М2 в США и в РФ: свежие данные. Анализирую изменения !

Господа,
вышли свежие данные по денежной массе М2 в России и в США.

Напоминаю:
денежная масса М2 — это собственные, доступные для платежа средства плюс депозиты.
Динамика денежной массы М2 в США и в РФ: свежие данные. Анализирую изменения !

На сайте ФРС появились данные за сентябрь.
Динамика денежной массы М2 в США и в РФ: свежие данные. Анализирую изменения !

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

"Тебе никто ничего не должен"

В 1966 инвестиционный аналитик Гарри Браун на рождество написал своей девятилетней дочери письмо, которое до сих пор цитируют. Он объяснил девочке, что ничего в этом мире – даже любовь – нельзя воспринимать, как данное.

Привет, милая.

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

Так вот: тебе никто ничего не должен.

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



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

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