Избранное трейдера АлексейФ
С 2020 года физическим лицам придётся отчитываться перед ФНС России об открытии и закрытии счетов у иностранных брокеров. Обязанность ещё не наступила, но возникает вопрос: что будет, если не сообщать о счетах?
С 2020 года в налоговую инспекцию по месту регистрации будет необходимо предоставить следующие документы. Уведомление об открытии (закрытии) счёта. Следует подать не позднее одного месяца со дня открытия (закрытия). Уведомление об изменении реквизитов счёта. Также подаётся не позднее одного месяца со дня изменения реквизитов. Отчёт о движении средств по счёту (вкладу).
На данный момент законодательством предусмотрены санкции (в рамках счетов, открытых в иностранных банках):
за неподачу уведомления грозит штраф в размере от 4 000 до 5 000 руб. (п. 2.1 ст. 15.25 КоАП РФ);
за уведомление инспекции, но с нарушением срока или не по установленной форме, штраф составит от 1 000 руб. до 1 500 руб. (п. 2 ст. 15.25 КоАП РФ);
--[[
параметры:
Procent - процент зигзага
--]]
Settings={
Name="ZIGZAGLEVELS",
Procent=1,
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(255,0, 0)
},
{
Name = "cur5",
Type =TYPE_LINE,
Width = 2,
Color = RGB(255,0, 0)
},
{
Name = "cur6",
Type =TYPE_LINE,
Width = 2,
Color = RGB(255,0, 0)
}
}
}
function Init()
y1 = nil
y2 = nil
x1 = 1
x2 = 1
levelsy={}
levelsx={}
cntlevels=0
return 6
end
function OnCalculate(index)
de = Settings.Procent
sz = Size()
vl = C(index)
if index == 1 then
y1 = vl
y2 = vl
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 = 6
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 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, 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
Settings={
Name="MNKKANAL_new",
period=200,
delta=0,
line=
{
{
Name = "cur1",
Type =TYPE_LINE,
Width = 1,
Color = RGB(0,255, 0)
},
{
Name = "cur2",
Type =TYPE_LINE,
Width = 2,
Color = RGB(255,0, 0)
},
{
Name = "cur3",
Type =TYPE_LINE,
Width = 2,
Color = RGB(255,0, 0)
}
}
}
--[[
описание свойств:
period - период, за каротрый делается расчет
назначение:
построение тенденции
использовался:
метод наименьших квадратов (аппроксимация линией)
--]]
function Init()
a1_0 = {}
a2_0 = {}
a3_0 = {}
a4_0 = {}
a1_1 = {}
a2_1 = {}
a3_1 = {}
a4_1 = {}
return 3
end
function OnCalculate(index)
sz = Size()
n = Settings.period
d = Settings.delta
if index == 1 then
a1_0[index] = 0
a2_0[index] = 0
a3_0[index] = 0
a4_0[index] = 0
i = index
a1_1[index] = i*C(i)
a2_1[index] = i
a3_1[index] = C(i)
a4_1[index] = i*i
else
i = index
a1_1[index] = a1_1[index-1]+i*C(i)
a2_1[index] = a2_1[index-1]+i
a3_1[index] = a3_1[index-1]+C(i)
a4_1[index] = a4_1[index-1]+i*i
end
y = nil
y1 = nil
y2 = nil
if index-n > 0 then
i = index-n
a1_0[index] = a1_0[index-1]+i*C(i)
a2_0[index] = a2_0[index-1]+i
a3_0[index] = a3_0[index-1]+C(i)
a4_0[index] = a4_0[index-1]+i*i
a1 = a1_1[index]-a1_0[index]
a2 = a2_1[index]-a2_0[index]
a3 = a3_1[index]-a3_0[index]
a4 = a4_1[index]-a4_0[index]
if((n*a4 - a2*a2) ~= 0) then
a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
b = (a3 - a*a2)/n
c1 = 0
c2 = 0
n1 = 0
n2 = 0
for j=index-n+1, index do
y = a*j + b
if C(j) < y then
c1 = c1 + (y -C(j))
n1 = n1 + 1
end
if C(j) > y then
c2 = c2 + (C(j) - y)
n2 = n2 + 1
end
end
if n1 ~= 0 then
c1 = c1/n1
end
if n2 ~= 0 then
c2 = c2/n2
end
j = index-d
y = a*j + b
y1 = y-2*c1
y2 = y+2*c2
end
else
a1_0[index] = 0
a2_0[index] = 0
a3_0[index] = 0
a4_0[index] = 0
end
return y,y1,y2
end
Settings={
Name="MNKA",
period=200,
line=
{
{
Type =TYPE_LINE,
Width = 1,
Color = RGB(0,0, 0)
},
{
Type =TYPE_LINE,
Width = 1,
Color = RGB(255,0, 0)
}
}
}
--[[
описание свойств:
period - период, за каротрый делается расчет
назначение:
построение тенденции
использовался:
метод наименьших квадратов (аппроксимация линией)
--]]
function Init()
return 2
end
function OnCalculate(index)
sz = Size()
n = Settings.period
--[[ if (index ~= sz) then
return nil
else --]]
y = nil
if index-n > 0 then
a1 = 0
a2 = 0
a3 = 0
a4 = 0
for i=index-n+1, index do
a1 = a1+i*C(i)
a2 = a2+i
a3 = a3+C(i)
a4 = a4+i*i
end
if((n*a4 - a2*a2) ~= 0) then
a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
--b = (a3 - a*a2)/n
y = a
--[[for j=index-n+1, index do
y = a*j + b
SetValue(j, 1, y)
end--]]
end
end
return 0, y
--end
end
Settings={
Name="MNKHL",
period=200,
delta=0,
line=
{
{
Name = "cur1",
Type =TYPE_LINE,
Width = 1,
Color = RGB(0,0, 0)
},
{
Name = "cur2",
Type =TYPE_LINE,
Width = 1,
Color = RGB(0,255, 0)
},
{
Name = "cur3",
Type =TYPE_LINE,
Width = 1,
Color = RGB(255,0, 0)
},
{
Name = "cur4",
Type =TYPE_LINE,
Width = 1,
Color = RGB(255,0, 0)
},
{
Name = "cur5",
Type =TYPE_LINE,
Width = 1,
Color = RGB(0,255, 0)
}
}
}
--[[
описание свойств:
period - период, за каротрый делается расчет
delta - смещение назад
назначение:
построение тенденции
использовался:
метод наименьших квадратов (аппроксимация линией)
--]]
function Init()
return 5
end
function OnCalculate(index)
sz = Size()
n = Settings.period
d = Settings.delta
if (index ~= sz) then
return nil, nil, nil, nil, nil
else
y = nil
if index-n-d > 0 then
a1 = 0
a2 = 0
a3 = 0
a4 = 0
for i=index-n+1-d, index-d do
a1 = a1+i*C(i)
a2 = a2+i
a3 = a3+C(i)
a4 = a4+i*i
end
if((n*a4 - a2*a2) ~= 0) then
a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
b = (a3 - a*a2)/n
j = index-n+1-d
mh1 = H(j)
ml1 = L(j)
mh2 = H(j)
ml2 = L(j)
dmh1 = 0
dml1 = 0
dmh2 = 0
dml2 = 0
for j=index-n+1-d, index-d do
y = a*j + b
SetValue(j, 1, y)
if H(j) < y and y - H(j) > dmh1 then
mh1 = H(j)
dmh1 = y - H(j)
end
if L(j) < y and y - L(j) > dml1 then
ml1 = L(j)
dml1 = y - L(j)
end
if H(j) > y and H(j) - y > dmh2 then
mh2 = H(j)
dmh2 = H(j) - y
end
if L(j) > y and L(j) - y > dml2 then
ml2 = L(j)
dml2 = L(j) - y
end
end
for j=index-n+1-d, index-d do
y = a*j + b
SetValue(j, 2, y-dmh1)
SetValue(j, 3, y-dml1)
SetValue(j, 4, y+dmh2)
SetValue(j, 5, y+dml2)
end
end
end
return y
end
end
Settings={
Name="MNK",
period=200,
line=
{
{
Name = "cur1",
Type =TYPE_LINE,
Width = 1,
Color = RGB(255,0, 0)
}
}
}
--[[
описание свойств:
period - период, за каротрый делается расчет
назначение:
построение тенденции
использовался:
метод наименьших квадратов (аппроксимация линией)
--]]
function Init()
return 1
end
function OnCalculate(index)
sz = Size()
n = Settings.period
if (index ~= sz) then
return nil
else
y = nil
if index-n > 0 then
a1 = 0
a2 = 0
a3 = 0
a4 = 0
for i=index-n+1, index do
a1 = a1+i*C(i)
a2 = a2+i
a3 = a3+C(i)
a4 = a4+i*i
end
if((n*a4 - a2*a2) ~= 0) then
a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
b = (a3 - a*a2)/n
for j=index-n+1, index do
y = a*j + b
SetValue(j, 1, y)
end
end
end
return y
end
endЯ попробую небольшими частями изложить основные положения обобщенной теории опционов. При ее разработке не использовалась гипотеза о случайном поведении цены базового актива по причине того, что для большинства финансовых рынков ее невозможно ни подтвердить, ни опровергнуть. Обобщенная теория индифферентна по отношению к причинам ценовых изменений и в этом ее отличие от классической теории опционов, для которой гипотеза о случайном поведении цен является незыблемым основанием. Важно отметить, что в случае согласия с гипотезой классическая теория не вступает в противоречие с обобщенной, но оказывается ее составной частью. Отсюда и название “обобщенная”. Она должна понравиться тем, кто не очень хорошо разбирается в методах ТВ и МС, но хочет разобраться в опционах.
Постараюсь обойтись минимальным количеством формул, хотя совсем без математики не получится. Поэтому, если что-то будет непонятно, спрашивайте.
Размещать новые части я буду с частотой примерно раз в неделю, по мере их написания. Всего частей будет, наверное, четыре или пять.