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



17 февраля 2022 года приглашенному в МИД России послу США Джону Салливану передали следующую реакцию на ранее полученный американский ответ по российскому проекту договора между Российской Федерацией и Соединенными Штатами Америки о гарантиях безопасности.
ТАСС публикует полный текст заявления.
Общая характеристикаКонстатируем, что американская сторона не дала конструктивного ответа на базовые элементы подготовленного российской стороной проекта договора с США о гарантиях безопасности. Речь идет об отказе от дальнейшего расширения НАТО, об отзыве «бухарестской формулы» о том, что «Украина и Грузия станут членами НАТО», и об отказе от создания военных баз на территории государств, ранее входивших в СССР и не являющихся членами альянса, включая использование их инфраструктуры для ведения любой военной деятельности, а также о возврате военных потенциалов, в том числе ударных, и инфраструктуры НАТО к состоянию на 1997 год, когда был подписан Основополагающий акт Россия — НАТО. Эти положения имеют для Российской Федерации принципиальное значение.


БКС ищет редактора / шеф-редактора YouTube-канала БКС Мир инвестиций и других контентных проектов.
Задачи:
• редактирование и написание текстов для ведущих YouTube-шоу об инвестициях (экспертов БКС);
• участие в разработке новых форматов и сценариев YouTube-шоу об инвестициях;
• редакторское сопровождение съемок;
• адаптация видео-контента к распространению в текстовом виде в интернет-издании «БКС Экспресс» и социальных сетях.
Требования:
• опыт написания и редактирования финансового, инвестиционного или делового контента — в деловых СМИ или тематических бренд-медиа;
• опыт работы с YouTube — или готовность очень быстро погрузиться;
• безупречный русский язык, чувство стиля, начитанность и насмотренность;
Мы ищем автора образовательного контента, который поможет миллионам инвесторов разобраться в устройстве фондового рынка. Уверены, что на такой площадке как Smartlab, есть опытные и талантливые авторы, которые могли бы присоединиться к нашей команде и вместе сделать инвестиции делом обычным в России, а главное полезным и выгодным. Если вы не ищете работу фул-тайм, но хотели бы писать для нас тексты на аутсорсе — тоже можете писать на на почту с предложениями.
Редактор в Тинькофф ー человек, который умеет все или хочет научиться новому. Мы сами пишем, согласовываем с аналитиками и менеджерами продукта, оформляем, верстаем, выпускаем. Однотипной работы мало, поэтому у нас интересно. Что надо делать:
Писать образовательные тексты разных форматов (от коротких постов в соцсети до полноценных курсов)
Отслеживать эффективность контента, придумывать воронки
Редактировать внешних авторов

--[[
индикатор торговой системы 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Как и большинство других сырьевых товаров на рынках, цены на нефть обычно испытывали дикие колебания цен, чередующиеся между временами большого дефицита, высокого спроса и высоких цен и периодами избыточного предложения, низкого спроса и низких цен. Эти так называемые “ценовые циклы» на нефть, как правило, длятся несколько лет в зависимости от таких переменных, как спрос на нефть и объем добытой, переработанной и проданной крупными производителями нефти.
С первых дней коммерческого производства в Баку, Азербайджан, эти колебания цен были вызваны экономическими и политическими событиями, технологическими достижениями и изменениями в нефтяной промышленности и продолжают влиять на цены в настоящее время.
Источник: IG Group| 1 | 1862-1865 | Нефтяной Бум и Гражданская Война в США |
| 2 |
Я попробую небольшими частями изложить основные положения обобщенной теории опционов. При ее разработке не использовалась гипотеза о случайном поведении цены базового актива по причине того, что для большинства финансовых рынков ее невозможно ни подтвердить, ни опровергнуть. Обобщенная теория индифферентна по отношению к причинам ценовых изменений и в этом ее отличие от классической теории опционов, для которой гипотеза о случайном поведении цен является незыблемым основанием. Важно отметить, что в случае согласия с гипотезой классическая теория не вступает в противоречие с обобщенной, но оказывается ее составной частью. Отсюда и название “обобщенная”. Она должна понравиться тем, кто не очень хорошо разбирается в методах ТВ и МС, но хочет разобраться в опционах.
Постараюсь обойтись минимальным количеством формул, хотя совсем без математики не получится. Поэтому, если что-то будет непонятно, спрашивайте.
Размещать новые части я буду с частотой примерно раз в неделю, по мере их написания. Всего частей будет, наверное, четыре или пять.