Избранное трейдера АлексейФ
С 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
Я попробую небольшими частями изложить основные положения обобщенной теории опционов. При ее разработке не использовалась гипотеза о случайном поведении цены базового актива по причине того, что для большинства финансовых рынков ее невозможно ни подтвердить, ни опровергнуть. Обобщенная теория индифферентна по отношению к причинам ценовых изменений и в этом ее отличие от классической теории опционов, для которой гипотеза о случайном поведении цен является незыблемым основанием. Важно отметить, что в случае согласия с гипотезой классическая теория не вступает в противоречие с обобщенной, но оказывается ее составной частью. Отсюда и название “обобщенная”. Она должна понравиться тем, кто не очень хорошо разбирается в методах ТВ и МС, но хочет разобраться в опционах.
Постараюсь обойтись минимальным количеством формул, хотя совсем без математики не получится. Поэтому, если что-то будет непонятно, спрашивайте.
Размещать новые части я буду с частотой примерно раз в неделю, по мере их написания. Всего частей будет, наверное, четыре или пять.