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

по

Работа программисту в Фин-техе

Друзья из Алора попросили поискать им работников. Но только ответственных и мотивированных! Ленивые разгильдяи то им зачем? Вот я и решил – напишу сразу на СмартЛаб! Ведь всем известно, что здесь самые лучшие программисты Руси! )))))

Короче! Умеешь вызвать портфель в QLUA или объявить индикатор в OsEngine?! При этом понимаешь как делают вёб-проекты? Быстрее пиши на почту снизу!

 

Официальный синопсис такой

Мы начинаем разработку нового проекта: web-терминал с мобильной версией.

Первый этап (MVP) — делаем минимально жизнеспособный продукт, оцениваем обратную связь от вас и принимаем решение в какую сторону развивать продукт.

Поддерживаемые инструменты — акции и облигации.

Поддерживаемые биржи — MOEX и SPBX.

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

Вас заинтересовал проект и есть желание поучаствовать?



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

На TradingView стартует самая ожидаемая распродажа этого года— Black Friday!

На TradingView стартует  самая ожидаемая распродажа этого года— Black Friday!

Пока рынки смотрят на Луну, мы отправляем цены на дно — TradingView делает космические скидки на платные подписки до -60%. С 22 по 27 ноября вы сможете приобрести любую подписку по самой низкой цене в году. Не упустите уникальную возможность стать частью сообщества из 30 миллионов трейдеров и открыть доступ ко всем функциям платформы для более точного анализа ситуации на рынке и улучшения результатов торговли.

Какие преимущества у Premium подписки?

  • Самая высокая точность данных и доступ ко всем рынкам.

  • 25 индикаторов на одном графике.

  • 8 графиков в одной вкладке.

  • 400 бессрочных оповещений в облаке.

  • Секундные интервалы.

  • В 4 раза больше данных на графиках (до 20 тыс. баров).

  • Возможность публикации скриптов с ограниченным доступом.



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

Как-то можно слинковать TradingView и Quik?

Я и алго торгую и руками. Сейчас про руками.

На фоне распродажи решил глянуть поплотнее на TradingView — после квика это какие-то небо и земля по юзабельности. ТВ — это прям для людей, все интуитивно, вспоминаю как первый раз пришел в Квик (уже с опытом торговли) — без часов копания не осилишь, а тут: тык тык, а вот это где? — наверно здесь где-то, о, реально здесь, а это как настроить? — Как-то так, видимо, ух ты — реально так. И всякие фишечки удобные и т.д. В плане графиков скринеров выглядит как сказка. Из торговли увидел только Алор. Хорошо конечно, но хотелось бы через квик, все таки не все брокеры это Алор)), но все брокеры это Квик.

Работать с данными по-красоте, потом возвращаться в Квик и тык мык тормозык — как-то не выглядит очень привлекательным. Кто-то пробовал-знает какие-то варианты автоматизации. Ну т.е. где-то что-то ловит инфу и дальше с Квиком разбирается. Тут хотя бы просто заявки отсылать. Без обратной связи и т.д. Вот вижу у ТВ есть вебхуки, но они из алертов. Язык программирования в ТВ есть — может через него как-то можно инфу выводить наружу? В общем идея такая что не нарушая юзабельности ТВ отправлять заявки в квик. Не нарушая юзабельности значит вариант: открыть какой-то скрипт, руками вбить тикер, рынок, цену, объем не подходит, а вариант на графике выбрать уровень нажать правой кнопкой (цена и тикер автоматом подтянулись) — подходит.



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

Доработанный индикатор уровней Zigzag_channel_fast


Доработанный индикатор уровней Zigzag_channel_fast
Как им пользоваться:
в папке QUIK\LuaIndicators создаем текстовый файл с содержимым кода индикатора
добавляем индикатор на график
задаем параметр чувствиельности инлдикатора — Процент
индикатор показывает уровни, в которых находится тренд
если тренд еще не сформировался, то границы канала могут расширяться по мере движения цены
если в канале уже есть локальные вершины, то при следующем походе индикатора к границе канал возмен разворот тренда или коррекции в рамках данного канала
--[[
индикатор торговой системы QUIK: 
канал на последнем зигзаге
индикатор строит канал по зигзагу, показывает слом тренда при выходе цены за границы канала
параметры:
  Procent - величина зигзага в %
  k - коэффизиент ширины канала
  Ext - =0-канал стоится по средним =1-канал стоится по экстремуму
Как им пользоваться:
в папке QUIK\LuaIndicators создаем текстовый файл с содержимым кода индикатора
добавляем индикатор на график
задаем параметр чувствиельности инлдикатора — Процент
индикатор показывает уровни, в которых находится тренд
если тренд еще не сформировался, то границы канала могут расширяться по мере движения цены
если в канале уже есть локальные вершины, то при следующем походе индикатора к границе канал возмен разворот тренда или коррекции в рамках данного канала  
--]]
Settings=              
        {                          
            Name = "Zigzag_channel_fast",   -- название индикатора
            Procent=5.0,               -- величина зигзага в % 
            k=2,			         -- коэффизиент ширины канала
            Ext=1, -- =0-канал стоится по средним =1-канал стоится по экстремуму
            shif=0,			
            line=                                     
                {                               
                    {  
                        Name = "zigzagline",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(120,90, 140)
                    },
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    },
					{  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,200, 200)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(200,200, 0)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    },
					{  
                        Name = "cur5",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
					{  
                        Name = "cur6",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur7",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur8",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur9",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur10",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur11",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    }
                }
       }


function Init()

  y1 = nil
  y2 = nil
  y3 = nil  
  x1 = 1
  x2 = 1
  x3 = 1
  
  oldindex = 1
  
  a_01 = 0
  b_01 = 0
  a_02 = 0
  b_02 = 0
  
  vminus_01 = 0
  vplus_01 = 0  
  vminus_02 = 0
  vplus_02 = 0  
  vFrom_01 = 1
  vTo_01 = 1
  vFrom_02 = 1
  vTo_02 = 1
  
  vminus = 0
  vplus = 0
  vminus_n = 0
  vplus_n = 0  
  
  ret = 0
  
  last_ind = 1

  v1=nil
  v2=nil
  v3=nil
  v4=nil
  v5=nil
  v6=nil
  v7=nil
  v8=nil
  v9=nil
  v10=nil
  
  return 10
end

function recalcline(num, index, rec)

 if index == Size()-sh and rec == 0 then
   for i = 1, index do
     if m == 1 then 		
	   SetValue(i, 3, nil)
	   SetValue(i, 4, nil)
	 end
     if m == 2 then 		
	   SetValue(i, 6, nil)
	   SetValue(i, 7, nil)
	 end 	 
   end 
 end 

 if index == Size()-sh or rec == 1 then
	
  if num == 1 then 
	  vFrom = 0 --[[ --]] 
	  vTo = 0
	if x3 < x2 then 
	    vFrom = x3
	    vTo = x2
	  else
	    vFrom = x2
	    vTo = x3
	  end 
  end
  if num == 2 then 
	  vFrom = 0
	  vTo = 0
	  if x1 < x2 then 
	    vFrom = x1
	    vTo = x2
	  else
	    vFrom = x2
	    vTo = x1
	  end 
  end    
  
      if vFrom < 1 then
	    vFrom = 1
	  end 	
  
	  a1 = 0
	  a2 = 0
	  a3 = 0
	  a4 = 0
	  n = 0
	  a = 0
	  b = 0
      for i = vFrom, vTo do
        n=n+1	  
	    a1 = a1+i*C(i)
	    a2 = a2+i
	    a3 = a3+C(i)
	    a4 = a4+i*i	
	  end
	  if((n*a4 - a2*a2) ~= 0) then	  
	  
	  -- if oldindex ~= Size() then
	   a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
	   b = (a3 - a*a2)/n

	   vminus = 0
	   vplus = 0
	   vminus_n = 0
	   vplus_n = 0
       for i = vFrom, index do
        y = a*i + b		
		if i>0  then 
		if C(i) < y and i <= vTo then
		  if ex == 0 then 
	        vminus = vminus + y - C(i)
            vminus_n = vminus_n + 1	
		  else 
		    if i == vFrom then 
			  vminus = 0
			end
            if y-C(i) > vminus then
              vminus = y-C(i) 			
            end				
		  end 
        end	
        end		
		if i>0  then 
		if C(i) > y and i <= vTo then
		  if ex == 0 then 
	        vplus = vplus + C(i) - y
	        vplus_n = vplus_n + 1
		  else 
		    if i == vFrom then 
			  vplus = 0
			end		  
            if C(i)-y > vplus then
              vplus = C(i)-y 			
            end			
		  end 
		end 
		end  
        m = 0
        if C(vTo) >	C(vFrom) and y < C(vTo)+0.1*(C(vTo)-C(vFrom)) and y > C(vFrom)-0.1*(C(vTo)-C(vFrom)) then
          m = 1
		end 	
        if C(vTo) <	C(vFrom) and y < C(vFrom)+0.1*(C(vFrom)-C(vTo)) and y > C(vTo)-0.1*(C(vFrom)-C(vTo)) then
          m = 1
		end 
        if m == 1 then 		
	      --SetValue(i, 2, y)
        end 		
	   end
	   --end
	  
	   if ex == 0 then  
	    if vminus_n ~= 0 then
	     vminus = kk*vminus/vminus_n          
	    end 
	    if vplus_n ~= 0 then
	     vplus = kk*vplus/vplus_n          
	    end 
	   end 	  
      end

  if num == 1 then 
    a_01 = a
    b_01 = b 
    vminus_01 = vminus
    vplus_01 = vplus
	vFrom_01 = vFrom
    vTo_01 = vTo
  end
  if num == 2 then 
    a_02 = a
    b_02 = b  
    vminus_02 = vminus
    vplus_02 = vplus
	vFrom_02 = vFrom
    vTo_02 = vTo	
  end  
  return 1 
 end
 
 return 0
end 

function levels(x, y, num, index)

  if y ~= nil and x ~= 1 then 
  
    for i = 1, index do	
	  if i > x then 
	    SetValue(i, num, y)
      else 		
	    SetValue(i, num, nil)
	  end 
    end
	
  end 

end


function OnCalculate(index)
  
  de = Settings.Procent
  kk = Settings.k 
  ex = Settings.Ext
  sh = Settings.shif
  
  v1=nil
  v2=nil
  v3=nil
  v4=nil
  v5=nil
  v6=nil
  v7=nil  
  v8=nil
  v9=nil
  v10=nil  
  
   
  if index > Size()-sh then  
    --return nil, nil, nil, nil, nil, nil, nil 	 
    return v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 
  end 
  
  vl = C(index)
  if vl~=nil then 
   if index == 1 then 
	y1 = vl
    y2 = vl
   else   
	  if C(index) > y1*(1+de/100) and y1 < y2 then 
	    x3 = x2
	    x2 = x1
		y3 = y2
	    y2 = y1	
	    x1 = index 
	    y1 = C(index)	
        ret = recalcline(1, index, 0)
        ret = recalcline(2, index, 0)   
        levels(x1, y1, 8, index)		
		levels(x2, y2, 9, index)
		levels(x3, y3, 10, index)
	  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 
	    x3 = x2
	    x2 = x1
		y3 = y2		
	    y2 = y1
	    x1 = index 
	    y1 = C(index)	  	
        ret = recalcline(1, index, 0)
        ret = recalcline(2, index, 0)
        levels(x1, y1, 8, index)		
		levels(x2, y2, 9, index)
		levels(x3, y3, 10, index)
	  end 	
	  if C(index) < y1 and C(index) < y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 	  	  		
	end
  end 	
	
    --[[ 
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 
 
  if curto ~= curfrom and curfrom ~= nil and curto ~= nil then 
    if C(curto) ~= nil and C(curfrom) ~= nil then 
      k = (C(curto)- C(curfrom))/(curto- curfrom)  
      for i = curfrom, index  do
        curv = i*k + C(curto) - curto*k  		          
	    SetValue(i, 1, curv)
      end   	
	end 
  end 
  

 	--]]

	if index == Size()-sh and ret == 0 then
        lpr = C(Size()-sh)
        ret = recalcline(1, index, 1)
        ret = recalcline(2, index, 1)	
		
		if y1 ~= nil then 		
		 if y1 >	lpr*0.9 and y1 < lpr*1.1 then 
		  levels(x1, y1, 8, index)
         end 
        end 		
        if y2 ~= nil then 				
		 if y2 > lpr*0.9 and y2 < lpr*1.1 then 		
		  levels(x2, y2, 9, index)
         end 
		end 
        if y3 ~= nil then 		
		 if y3 > lpr*0.9 and y3 < lpr*1.1 then 		
		  levels(x3, y3, 10, index)
         end 		  
		end 
    
    end 	
	
	
	
	if index == Size()-sh  then  --- and index ~= last_ind
		  
	   if vTo_01 - vFrom_01 > 500 then
         vFrom_01 = vTo_01-500 
       end 	  
	   
       for i = 1, index do		   		
	     SetValue(i, 3, nil)	
         SetValue(i, 4, nil)	 
	     SetValue(i, 6, nil)	
         SetValue(i, 7, nil)	
		-- SetValue(i, 8, nil)	 
	   --  SetValue(i, 9, nil)	
        -- SetValue(i, 10, nil)	
       end	   
		  
       for i = vFrom_01, index do
        y = a_01*i + b_01 + vplus_01		
        m = 0
        if C(vTo_01) >	C(vFrom_01) and y < C(vTo_01)+0.3*(C(vTo_01)-C(vFrom_01)) and y > C(vFrom_01)-0.3*(C(vTo_01)-C(vFrom_01)) then
          m = 1
		end 	
        if C(vTo_01) <	C(vFrom_01) and y < C(vFrom_01)+0.3*(C(vFrom_01)-C(vTo_01)) and y > C(vTo_01)-0.3*(C(vFrom_01)-C(vTo_01)) then
          m = 1
		end 
        if m == 1 then 		
	      SetValue(i, 3, y)
		  if i == index then 
		    v3 = y 
		  end 
        end 	
		
        y = a_01*i + b_01 - vminus_01		
        m = 0
        if C(vTo_01) >	C(vFrom_01) and y < C(vTo_01)+0.3*(C(vTo_01)-C(vFrom_01)) and y > C(vFrom_01)-0.3*(C(vTo_01)-C(vFrom_01)) then
          m = 1
		end 	
        if C(vTo_01) <	C(vFrom_01) and y < C(vFrom_01)+0.3*(C(vFrom_01)-C(vTo_01)) and y > C(vTo_01)-0.3*(C(vFrom_01)-C(vTo_01)) then
          m = 1
		end 
        if m == 1 then 		
	      SetValue(i, 4, y)
		  if i == index then 
		    v4 = y 
		  end 
        end 			
	   end	  
	    
	   if vTo_02 - vFrom_02 > 500 then
         vFrom_02 = vTo_02-500  
       end 	 
	  
       for i = vFrom_02, index do
        y = a_02*i + b_02 + vplus_02		
        m = 0
        if C(vTo_02) >	C(vFrom_02) and y < C(vTo_02)+0.1*(C(vTo_02)-C(vFrom_02)) and y > C(vFrom_02)-0.1*(C(vTo_02)-C(vFrom_02)) then
          m = 1
		end 	
        if C(vTo_02) <	C(vFrom_02) and y < C(vFrom_02)+0.1*(C(vFrom_02)-C(vTo_02)) and y > C(vTo_02)-0.1*(C(vFrom_02)-C(vTo_02)) then
          m = 1
		end 
        if m == 1 then 		
	      SetValue(i, 6, y)
		  if i == index then 
		    v6 = y 
		  end 
        end 	
		
        y = a_02*i + b_02 - vminus_02		
        m = 0
        if C(vTo_02) >	C(vFrom_02) and y < C(vTo_02)+0.1*(C(vTo_02)-C(vFrom_02)) and y > C(vFrom_02)-0.1*(C(vTo_02)-C(vFrom_02)) then
          m = 1
		end 	
        if C(vTo_02) <	C(vFrom_02) and y < C(vFrom_02)+0.1*(C(vFrom_02)-C(vTo_02)) and y > C(vTo_02)-0.1*(C(vFrom_02)-C(vTo_02)) then
          m = 1
		end 
        if m == 1 then 		
	      SetValue(i, 7, y)
		  if i == index then 
		    v7 = y 
		  end 
        end 			
	   end	
	  
	  last_ind = index 
	end 
  
 
    return v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 

end

Дельта-нейтральная опционная стратегия Железный Кондор: публичный инвестиционный эксперимент

Цель инвестиционного эксперимента

Не так давно, 21 июня 2021 мы запустили публичный инвестиционный эксперимент. Мы отдаем предпочтение применению торговой стратегии, известной как Железный Кондор, на флетовом  и стратегии Вертикальный Спрэд на трендовом рынке. Эти стратегии входят в 10 классических инвестиционных опционных стратегий. Ноу-хау нашей команды заключается в аналитических методах по выбору инвестиционных инструментов. До старта инвестиционного эксперимента мы стабильно делали 8-10% ежемесячно.

Однако, мы решили не останавливаться на достигнутом и нашими аналитиками было предложено определенное усовершенствование торговой стратегии, суть которого заключается в следующем: выход из инвестиционной позиции в точке достижения половины потенциальной прибыли позволяет с одной стороны ускорить оборот инвестиционного капитала, а с другой стороны снижает вероятность выхода цены за пределы выбранного диапазона. И эта вероятность, как правило, резко возрастает при пересечении этой медианной точки.
Дельта-нейтральная опционная стратегия Железный Кондор: публичный инвестиционный эксперимент



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

Вестник Волопаса;)

    • 28 июля 2021, 14:52
    • |
    • tashik
  • Еще
Открыла в телеге экспериментальный канал, ориентирующий по внутридневной волатильности и дающий «пульс рынка» таким, каким видит его моя считалка реализуемой волатильности. Присоединяйтесь. Монетизироваться не будет. Рекламы не будет. Услуга предоставляется как есть. Все принимаемые Вами торговые решения — как и любые решения по жизни — как всегда на Вашей ответственности. Дискуссий не будет и флуда не будет — голые цифры в разрезе справедливая IV + справедливая цена связки на ЦС.
Данные обновляются три раза в день: в районе 9-00, в районе 15-00 и в районе 21-00. Стараюсь делать это регулярно и как можно ближе к означенным часам, но не всегда получается точно попасть во время.

Дисклеймер важный: приводимые данные тиковые и рассчитываются суточным окном. Трактовать можно так: если БА будет двигаться так, как он двигался предыдущие сутки — справедливая цена стрэддла при указанной дате экспирации будет вот такая, как написано. От управления это дело не освобождает ни разу. Прогноз, где что экспирируется — никакой не дается. Я придерживаюсь мнения, что цена опциона — это стоимость его хеджа. У кого другие воззрения на этот счет — имейте в виду.

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

Как бесплатно качать исторические котировки c tradingview с помощью python

Искал откуда можно скачать исторические котировки. Да так, чтобы все было в одном месте: и рынок РФ, и рынок США, и фьючерсы, и крипта. Да ещё и бесплатно.

Все эти котировки есть в tradingview, но скачать оттуда можно только в платном аккаунте.

Как бесплатно качать исторические котировки c tradingview с помощью python



Кстати, при регистрации дают пробный период на 30 дней на любом тарифе. Во время пробного периода можно купить платный аккаунт со скидкой до 60%.

Как бесплатно качать исторические котировки c tradingview с помощью python

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

Почему БА + пут как стопарь НЕ равно коллу!

При использовании пута вместо стопаря, многие предлагают вместо этого купить просто колл и утверждают, что это равноценные конструкции..
Однако это не так..
Формула БА+пут=колл верна только для ЦЕНТРАЛЬНОГО страйка!
Если же пут покупается вместо стопаря скажем на 2 страйка ниже, то профили абсолютно разные:

РИ сейчас на 160 000..
Профиль для синтетики:
Почему БА + пут как стопарь НЕ равно коллу!
 Изначально мы находимся почти в нуле(пут на 2 страйка ниже стоит копейки), при движе вверх сразу же наливает профита, но зато при движе вниз убыток чуть больше..

Для колла (ЦС): 
Почему БА + пут как стопарь НЕ равно коллу!

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

Индикатор зигзага, показывающий периоды колебания

ZIG_MA_v2  строится как зигзаг относительно EMA
Индикатор зигзага, показывающий периоды колебания

--[[
параметры: 
Procent - процент зигзага 
--]]
Settings={
Name="ZIG_MA_v2",
Procent=2.0,
ln=50,
line=                                     
                {  
					{  
                        Name = "ZIG_MA",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 0)
                    },
					{  
                        Name = "ZIG_MA2",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 255)
                    }	
                }
}

function Init()
  ema = {}
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
       
  return 2
  
end

function OnCalculate(index)

  de = Settings.Procent
  ln = Settings.ln
  
  if index <= 1 then 
	ema[index] = C(index)
  else 
    ema[index] = (ema[index-1]*(ln-1) + C(index))/ln
  end   
  
  if ln==0 then   
    pr = C(index)
  else 
    pr = C(index)-ema[index]
  end 

  vl = C(index)
  if index == 1 then 
	y1 = vl
    y2 = vl
  else   
	  if pr > y1+C(index)*de/100 and y1 < y2 then 
	    x2 = x1
	    y2 = y1	
	    x1 = index 
	    y1 = pr		
      else 
	    if pr > y1 and y1 >= y2 
		then 
	      x1 = index 
	      y1 = pr	  			  
	    end 		
	  end 	

	  	  		
	  if pr < y1-C(index)*de/100 and y1 > y2 then 
	    x2 = x1
	    y2 = y1
	    x1 = index 
	    y1 = pr		
      else 
	    if pr < y1 and y1 <= y2 
		then 
	      x1 = index 
	      y1 = pr	  			  
	    end 		
	  end 	
	  	  		
	end 	
  
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 

  if curto ~= curfrom and curfrom ~= nil and curto ~= nil then 
    if C(curto) ~= nil and C(curfrom) ~= nil then 
      k = (C(curto)- C(curfrom))/(curto- curfrom)  
      for i = curfrom, index  do
        curv = i*k + C(curto) - curto*k  		          
	    SetValue(i, 1, curv)
      end   	
	end 
  end 
  
  return vl, ema[index]
 
  
end

Технический анализ. Возьми на вооружение эти советы!

Технический анализ.

 

Успешный трейдер не боится покупать при высоких ценах и продавать при низких.

 

Самый мощный инструмент торговли – простое следование тренду.

 

Бычий консенсус достигает максимума к моменту, когда рынок формирует вершину. Также всегда есть несколько сильных быков в районе важного дна.

 

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

 

Характеристики для понимания бычьего рынка таковы:

     а) фундаментальная бычья ситуация;

     б) желание спекулянтов покупать;

     в) рыночные настроения либо настороже, либо пошли на повышение.

 

Основные тренды редко ломаются, если только рынок не идет против тренда более трех дней.



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

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