Избранное трейдера Строгий бык

по

⚡ Эта таблица должна быть у каждого облигационера

⚡ Эта таблица должна быть у каждого облигационера
📌 В прошлый раз таблица долговой нагрузки для рынка акций набрала рекордное число сохранений в избранное, поэтому, как и обещал – сделал такую же таблицу для рынка облигаций.

📊 КАК ПОЛЬЗОВАТЬСЯ ТАБЛИЦЕЙ?

• Отобрал 103 компании на рынке облигаций, не имеющих листинга акций. Старался отбирать самые популярные среди инвесторов и с большими объёмами выпусков. Сейчас на рынке корпоративных облигаций около 660 эмитентов, поэтому с учётом таблицы акций разобрал примерно треть всего рынка.

• 🟢 Зелёным и 🟡 жёлтым цветом отметил компании с умеренной долговой нагрузкой (Чистый долг/EBITDA ниже 2x); 🟠 оранжевым цветом – компании с повышенной долговой нагрузкой (2-2,4x); 🔴 красным цветом – компании с высокой долговой нагрузкой (2,5x-∞).

• Для сектора лизинга более применим показатель Долг/Капитал (нормальное значение до 8x), поэтому 20 лизинговых компаний выделил отдельно в конце таблицы.

• У некоторых компаний есть отчёты только за 2024 год – их пометил звёздочкой (*). Также выделил красным шрифтом компании, которые уже допустили дефолт или техдефолт – их Чистый долг/EBITDA выше 5x.



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

Как я использую индекс RVI и MA, чтобы ловить большие тренды IMOEX на месячном графике

Привет! Хочу поделиться с вами простым, но очень эффективным способом анализа долгосрочного тренда индекса IMOEX с помощью двух инструментов — индекса RVI и его скользящей средней с периодом 4 (MA).
Как я использую индекс RVI и MA, чтобы ловить большие тренды IMOEX на месячном графике

Индекс RVI — это показатель, который отражает уровень волатильности на российском рынке. Его часто называют «индексом страха», потому что когда RVI растёт, это значит, что инвесторы становятся нервными и ждут возможных больших движений вниз. Наоборот, если RVI снижается, значит на рынке становится спокойнее, страх уходит, и чаще всего цены начинают расти. Показатель ниже 30 считается устойчивым и спокойным.

Для того чтобы не путаться в краткосрочных колебаниях RVI, я использую ещё скользящую среднюю по RVI с небольшим периодом — 4. Она помогает сгладить шум и увидеть более чёткие сигналы.

Главное, на что я обращаю внимание, — это пересечения MA и RVI:

Когда скользящая средняя (зелёная линия) по RVI пересекает сам RVI (красная линия) снизу вверх, я воспринимаю это как сигнал к возможному началу роста индекса IMOEX.

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

Раздельное тестирование на скриптовом языке TradingView выходов торговой системы: обычный трейлинг стоп и ATR стоп

В трейдинге акцент часто смещён в сторону поиска идеальных входов, тогда как стратегии выхода остаются в тени. Между тем именно выходы определяют соотношение прибыли и убытков. Раздельное тестирование помогает изолировать входы и оценить, как разные методы управления позицией влияют на результат. В этой статье входы будут выполняться с 50% вероятностью — это устраняет фактор предсказуемости и позволяет объективно сравнивать эффективность различных стратегий выхода.

В статье тестирую две стратегии трейлинг-стопов для Московской биржи на фьючерсном контракте USD/RUB (Si) на часовом таймфрейме, используя язык Pine Script в TradingView.

 Под капотом Pine Script: как устроен и для чего используется язык TradingView

Цель исследования и описание общего подхода

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



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

Прокачай свой TradingView: введение в мир Pine Script

Pine Script — это язык программирования, разработанный командой TradingView как Domain Specific Language, то есть специализированный язык для решения конкретной задачи — анализа и визуализации финансовых данных. Он создан для тех, кто хочет строить собственные индикаторы, тестировать торговые стратегии и делать всё это прямо в интерфейсе графика — без установки Python, без импорта исторических котировок и без настройки среды разработки.

Pine Script предельно прост по синтаксису, но в то же время достаточно мощный, чтобы покрыть 95% потребностей розничного трейдера. В нём предусмотрены ключевые блоки: работа с таймсериями, доступ к фундаментальным данным, рисование на графике и даже поддержка таблиц.

Прокачай свой TradingView: введение в мир Pine Script

Базовый синтаксис: как читать и писать код

Pine Script создан с акцентом на простоту: даже если вы раньше не писали код на нём, освоить базовые конструкции можно за вечер. У каждого скрипта есть чёткая структура, и разобраться в ней — первый шаг к созданию собственного инструмента на TradingView.



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

Qlua: получение данных биржевых свечей с сервера брокера, обработка данных, пишем скрипт выгрузки котировок

Функция CreateDataSource
Получение количества свечек данных
Пауза для подгрузки данных
Получение по инструменту OPEN, HIGH, LOW, CLOSE, VOLUME
Обработка времени и даты
Закрытие источника данных
Примеры: получение данных последних 10 свечей, выгрузка новой минутной свечки после её закрытия, текущее значение простой средней SMA10 по минуткам
Простой скрипт выгрузки котировок

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

Более практичным вариантом является получение данных через функцию CreateDataSource, запрос осуществляется следующим образом:

ds, err = CreateDataSource(код класса, тикер инструмента, интервал)

Код класса: для акций «TQBR», для срочного рынка «SPBFUT».



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

Почему я использую 1С Предприятие 8+ QUIK для торговли акциями на Московской бирже

Для строительства дома иногда лучше воспользоваться готовыми строительными блоками и технологиями. Ниже написанное никаким образом не стремится обидеть или унизить другие языки программирования и готовые продукты. Просто описывает свои возможности. Если связать между собой продвинутые возможности QUIK (от брокера Сбербанк) и платформы 1С Предприятие 8, то эффект от применения чисто российских продуктов может оказаться неожиданным. Продукт будет обладать следующими характеристиками:

  1. Общие характеристики
    1. Система не требует какого-либо внесения или вывода денег. Все средства хранятся на брокерском счете клиента в Сбербанке. Управление брокерским счетом осуществляется через программу QUIK, предоставленную Сбербанком.
    2. Система не запрашивает каких-либо паролей и кодов доступа к брокерскому счету клиента в Сбербанке. Все запрашивает QUIK, предоставленный Сбербанком.
    3. Обмен информацией с QUIK типовыми средствами QUIK по текущим заявкам, сделкам, ценам.
    4. Скорость обмена текущими ценами: 5-10 инструментов в секунду на современном ПК / сервере.


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

Закрытие ИИС с переносом ценных бумаг: как это работает и почему это важно

По состоянию на начало 2023 года, гражданами РФ открыто 5,2 миллионов индивидуальных инвестиционных счетов. Интернет насыщен информацией о том, как и зачем необходимо открывать ИИС. Но очень мало кто пишет о том, как можно грамотно закрыть ИИС — а здесь тоже есть ряд особенностей, которые могут позволить вам сэкономить несколько десятков тысяч рублей на налогах. Об этих особенностях сейчас и расскажу.

Я закрыл ИИС после 4 лет использования. Почему?

Я открыл ИИС на рубеже 2018 и 2019 годов и каждый год получал налоговый инвестиционный вычет в размере 52000₽. Моя стратегия на фондовом рынке предполагает покупку как российских, так и американских акций.
Закрытие ИИС с переносом ценных бумаг: как это работает и почему это важно
Мой портфель акций по состоянию на 01.02.2023 — часть из них хранилась на ИИС

Но в начале марта 2022 года произошли неприятные события, связанные с отключением части российской инфраструктуры хранения ценных бумаг от внешнего мира. Ситуация усугубилась тем, что мой ИИС открыт в «Открытии», и против этой финансовой группы введены блокирующие санкции США и Евросоюза, сделавшие дальнейшее операции с иностранными бумагами на счетах в «Открытии» невозможными.



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

Алготрейдер на пути к постижению дзена

Доброе утро, коллеги!

Оставлю это здесь для памяти.
Этапы, которые по хорошему должен пройти алготрейдер на пути к дзену.

1. Построение оптимальной маркетной ТС

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

В конце этапа 1 мы понимаем, что на малых таймфреймах оптимальная ТС работает в минус (комиссия и проскальзывание убивает доход от сделки), а на больших — дает жалкие 30% годовых при DD 10% от депо.

2. Построение оптимальной лимитной ТС

Лимитная ТС — это торговая система, работающая путем выставления лимитных ордеров (потенциально убираем комиссию и проскальзывание). Соответственно, в ход идет обработка всего массива OHLC. Вычисления становятся значительно сложнее. Так же, как в п. 1, речь идет о нестационарной системе — она подстраивается на каждом баре.

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

Доработанный индикатор наклонных уровней AT-obl_can

Доработал индикатор, внес параметр весовых коэффициентов
Доработанный индикатор наклонных уровней AT-obl_can

Settings=              
        {                          
            Name = "AT-obl_can",   -- название индикатора
            delta=2.0,                  -- параметр индикатора  
            rep=5, 
            shif=0,		
            wt=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

  sz = Size()-shif
  
  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 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 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	 
	    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
	  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	 		  
		    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)
	          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 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

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

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

Индикатор AT-obl_can, показывающий наклонные уровни
Индикатор наклонных уровней
Индикатор наклонных уровней

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

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