Добрый день! Не понятно, как считаются EMA в Quik. Нужно посчитать EMA вне Quik (анализ исторических данных), а в реальной торговле я беру EMA из Quik. Соответственно, очень хотелось бы, чтобы расчетная EMA совпадала с фактической EMA. Текущее понимание вещей: 1. для расчета EMA используется EMA предыдущей свечи 2. для расчета самой первой EMA какого-то отрезка берется среднее арифметическое (МА) того же периода (точно ли???) 3. Quik хранит около 3000 свечей в истории
Для малых периодов проблема не стоит остро. Если считать EMA с периодом 200, например, то после 3000 свечей расчетная EMA200 и фактическая EMA200 близки с разумной погрешностью, а вот когда я пытаюсь посчитать EMA2000, например, то тут "жесть" полная. Погрешность такая "конская", что анализ ист. данных теряет смысл.
Опыты показали, что МА2000 из Quik действительно отступает от первой свечки цены актива на 2000 позиций (как и первая EMA200 появляется после 200 свечек цены). Итак, первая точка EMA2000 появляется на 2001 свечке в соответствии с ожиданиями. Однако, эта первая точка явно не равна среднему арифметическому close первых 2000 свечей цены. На левом конце EMA2000 самая гигантская погрешность. С расчетом последующих свечек по формуле $emaPrev + (2*($LastClose - $emaPrev)/($period + 1)) погрешность уменьшается, но к моменту торговли, т.е. после еще 1000 свечек она все еще остается гигантской и неприемлемой.
swerg написал: Зачем может понадобиться ЕМА2000? ума не приложу.
А при поиске оптимальных параметров можно далеко за рамки разумного уходить. Иногда обнаруживаются интересные эффекты. Мне интересны все периоды МА, начиная с 2 :) ...ну, не совсем уж все, а с шагом каким-то
Добавлю, что Quik наверняка не анализирует данные за пределами своих 3000 свечей. Это проверялось. То есть, понятно, что моя расчетная длинная EMA, тянущаяся из глубин истории, куда "правильнее", но это никак не греет. Нужно найти способ рассчитать "неправильную" EMA из Quik.
выкладываю модуль расчета индикаторов EMA написал очень давно, результаты должны быть как в квике
Код
local modname = ...
--автор Николай Камынин kamnik@mail.ru www.kamynin.ru
local M = {}
_G[modname] = M
package.loaded[modname] = M
local _G=_G -- глобальная таблица
setfenv(1, M)
function EMAt(y,x,m,i,n) --x- таблица
if m>=i then local s=0; for j=0,i-1 do s=s+x[i-j] end y[i]=s/i;
else if n==nil then y[i]=(y[i-1]*(m-1)+2*x[i])/(m+1); else y[i]=y[i-1] -(x[i-m] -x[i])/m; end
end
end
function EMAf(y,x,m,i,n) --x- функция
if m>=i then local s=0; for j=0,i-1 do s=s+x(i-j) end y[i]=s/i;
else if n==nil then y[i]=(y[i-1]*(m-1)+2*x(i))/(m+1); else y[i]=y[i-1]-(x(i-m)-x(i))/m; end
end
end
function sEMA(y,x,m,i)
local s=y;
if m>=i then s=((m-1)*s+x)/m; else s=(s*(m-1)+2*x)/(m+1); end
return s;
end --скользящее среднее x период m n если не задано то ехпонента или простое сглаживание
еще замечу автору вопроса: если обратитесь к литературе, то обнаружите, что EMA это простейший цифровой фильтр с бесконечной импульсной характеристикой. Так как фильтрацию делаем на конечном интервале, то вне 3000 значений мы как бы придумываем Есть различные варианты продления данных за интервал наблюдения. Это тоже есть в книжках. Если интересно, что там за горизонтом, можно прочитать в книжках перед изобретением колеса.
[img]data:image/png;base64,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[/img] Я считал по этой формуле - все сходится. Не нужно изобретать двухколеное ТС.
Цитата
Николай Камынин написал: если обратитесь к литературе, то обнаружите, что EMA это простейший цифровой фильтр с бесконечной импульсной характеристикой. Так как фильтрацию делаем на конечном интервале, то вне 3000 значений мы как бы придумываем
Если вы обратитесь к этой литературе сами, то обнаружите что БИХ-фильтр - с бесконечной ХАРАКТЕРИСТИКОЙ, а не рядом входных значений. т.е. входное значение может быть одно, а отклик фильтра - бесконечным. Ну так, к сведению :)
Эка картинку порвало :) не знаю откуда можно залинковать, но увидеть вставленную картинку можно скопировав весь ууч картинки, и просто вставив его в адресную строку браузера :)
Imersio Arrigo написал: Че вы гадаете :( В мануале на квик все написано:
[img]data:image/png;base64,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[/img] Я считал по этой формуле - все сходится. Не нужно изобретать двухколеное ТС.
Цитата
Николай Камынин написал: если обратитесь к литературе, то обнаружите, что EMA это простейший цифровой фильтр с бесконечной импульсной характеристикой. Так как фильтрацию делаем на конечном интервале, то вне 3000 значений мы как бы придумываем
Если вы обратитесь к этой литературе сами, то обнаружите что БИХ-фильтр - с бесконечной ХАРАКТЕРИСТИКОЙ, а не рядом входных значений. т.е. входное значение может быть одно, а отклик фильтра - бесконечным. Ну так, к сведению :)
Да, дремучий лес. отклик будет полубесконечным, т е начнется он лишь с первого отсчета из 3000 а до первого отсчета - Вы придумываете сами.
Сергей написал: Большое спасибо всем поучаствовавшим. Решение видно. Совпадение расчетной ЕМА с ЕМА из Quik точное.
И какое решение? Я в точности все делаю по мануалу, вручную считаю ЕМА, но все же результат разнится.
Здравствуйте, ответили Вам почтой.
Здравствуйте.
Хотелось бы тоже приобщиться к таинству и узнать каким образом в Quik'е вычисляется начальное значение EMA, поскольку оно явно не равно среднему значению за условный период, а в расчетах по индикаторам оно так же не может равняться начальному условному значению, т.е. EMA0=P0, ведь в руководстве сказано, что подобное лишь при расчете по цене.
Как правило, начальное значение не играет особой роли и в приближении, спустя некоторое количество периодов, значения выравниваются и разница стремится к нулю. Однако в краткосрочное перспективе, в течение дня, значения могут не успеть сойтись, что существенно усложняет просчет предполагаемых значений относительно индикаторов.
Далее приведена таблица с примером расчета:
Скрытый текст
Проблема возникла при просчете индикатора ADX, значения положительно и отрицательного изменения цены играют определяющую роль при расчете индикатора, который, в свою очередь, так же вычисляется по EMA.
В приведенном куске таблицы попытка разобраться как происходит вычисление индикатора ADX в Quik'е: левая часть - значения по свечкам, средняя - расчет по значениям индикатора соответственно формулам приведенным в руководстве пользователя, правая часть - выгруженные данные из программы по экспоненциальному расчету индикатора.
<TIME>
<OPEN>
<HIGH>
<LOW>
<CLOSE>
TRj
+DMj
-DMj
+DM
-DM
+SDI
-SDI
+DI
-DI
DX
ADX
<TIME>
<LINE_ADX>
<LINE_ADX+DI>
<LINE_ADX-DI>
194000
1341.6
1341.6
1340.6
1340.6
194500
1340.6
1340.8
1339.6
1340.8
1.2
0
1
0
1
0.00
83.33
195000
1340.8
1341.2
1340.2
1341.0
1.0
0.4
0
0.4
0
40.00
0.00
195500
1340.4
1340.8
1340.0
1340.2
1.0
0
0.2
0
0.2
0.00
20.00
200000
1340.2
1340.8
1340.0
1340.6
0.8
0
0
0
0
0.00
0.00
200500
1340.4
1341.0
1340.4
1340.8
0.6
0.2
0
0.2
0
33.33
0.00
201000
1341.0
1341.2
1340.6
1341.2
0.6
0.2
0
0.2
0
33.33
0.00
201500
1340.8
1344.4
1340.8
1344.2
3.6
3.2
0
3.2
0
88.89
0.00
202000
1344.0
1344.4
1341.4
1341.8
3.0
0
0
0
0
0.00
0.00
202500
1341.8
1342.8
1341.4
1342.8
1.4
0
0
0
0
0.00
0.00
203000
1342.8
1343.6
1342.0
1342.6
1.6
0.8
0
0.8
0
50.00
0.00
203500
1343.4
1343.6
1342.0
1343.0
1.6
0
0
0
0
0.00
0.00
204000
1342.8
1343.0
1341.6
1342.0
1.4
0
0.4
0
0.4
0.00
28.57
204500
1341.6
1341.8
1340.0
1341.0
2.0
0
1.6
0
1.6
0.00
80.00
205000
1341.0
1341.0
1339.4
1340.0
1.6
0
0.6
0
0.6
0.00
37.50
17.54
17.81
0.78
205000
0
11.712018
30.627018
205500
1340.0
1340.0
1339.4
1340.0
0.6
0
0
0
0
0.00
0.00
15.20
15.44
0.78
205500
0
10.150416
26.543416
210000
1339.6
1340.0
1339.2
1339.8
0.8
0
0.2
0
0.2
0.00
25.00
13.17
16.71
11.84
210000
0
8.797027
26.337627
210500
1340.0
1340.0
1339.8
1339.8
0.2
0
0
0
0
0.00
0.00
11.42
14.49
11.84
210500
0
7.62409
22.825943
211000
1339.8
1340.0
1339.4
1340.0
0.6
0
0.4
0
0.4
0.00
66.67
9.90
21.44
36.85
211000
0
6.607545
28.671373
211500
1339.6
1340.0
1339.6
1339.8
0.4
0
0
0
0
0.00
0.00
8.58
18.58
36.85
211500
0
5.726539
24.848523
212000
1339.8
1341.0
1339.8
1341.0
1.2
1
0
1
0
83.33
0.00
18.54
16.11
7.03
212000
0
16.074111
21.535387
212500
1341.0
1344.0
1341.0
1344.0
3.0
3
0
3
0
100.00
0.00
29.40
13.96
35.62
212500
0
27.26423
18.664002
213000
1343.2
1345.2
1343.2
1344.8
2.0
1.2
0
1.2
0
60.00
0.00
33.48
12.10
46.92
213000
0
31.628999
16.175468
213500
1344.8
1345.2
1344.2
1345.2
1.0
0
0
0
0
0.00
0.00
29.02
10.48
46.92
213500
0
27.411799
14.018739
214000
1344.8
1344.8
1343.2
1343.8
2.0
0
1
0
1
0.00
50.00
25.15
15.75
22.97
214000
0
23.756893
18.816241
214500
1343.8
1344.2
1343.0
1343.4
1.2
0
0.2
0
0.2
0.00
16.67
21.80
15.88
15.72
214500
0
20.589307
18.529631
215000
1343.4
1344.2
1343.4
1344.0
0.8
0
0
0
0
0.00
0.00
18.89
13.76
15.72
215000
0
17.844066
16.059013
215500
1344.0
1344.8
1344.0
1344.2
0.8
0.6
0
0.6
0
75.00
0.00
26.37
11.92
37.73
23.40
215500
28.307551
25.464857
13.917812
220000
1344.8
1344.8
1343.8
1344.8
1.0
0
0.2
0
0.2
0.00
20.00
22.86
13.00
27.48
23.94
220000
27.193033
22.069543
14.72877
220500
1344.6
1347.0
1342.8
1345.2
4.2
2.2
1
2.2
0
52.38
0.00
26.79
11.27
40.79
26.19
220500
28.144629
26.111064
12.764934
Согласно руководству пользователя вычисления происходят следующим образом:
ADXj = EMA (DXj, N), где DXj вычисляется следующим образом: DXj = |(+DIj – -DIj)| / (+DIj + -DIj)*100
+DIj = EMA (+SDIj, N) -DIj = EMA (-SDIj, N)
+SDIj = +DMj / TRj * 100 если TRj <> 0, иначе +SDIj = 0 -SDIj = -DMj / TRj * 100 если TRj <> 0, иначе -SDIj = 0
TRj = max(|HIGHj – LOWj|, |HIGHj – CLOSE j-1|, |LOWj – CLOSE j-1|)
+DMj = |HIGHj – HIGHj-1| если HIGHj > HIGHj-1, иначе +DMj = 0 -DMj = |LOWj-1 – LOWj| если LOWj < LOWj-1, иначе -DMj = 0
если +DMj > -DMj, то -DMj = 0 если -DMj > +DMj, то +DM j =0 если +DMj = -DMj, то +DM j =0, -DMj =0
а далее возникает проблема с вычислением начального значения по +DI, поскольку среднее значение за период уже не соответствует выгруженным данным: +DI0=СРЗНАЧ(M5:M18) соответственно которому в классическом методе расчета вычисляется EMA, т.е. +DI=M19*2/(14+1)+O18*(1-2/(14+1))
и все было бы приемлемо, если бы из полученных данных не было необходимости вычислять DX и собственно ADX, отклонения в которых становятся существенными. В связи с вышеизложенным прошу помочь разобраться с вычислениями относительно начальных значений EMA.
Спасибо.
ps. И в завершении, хотелось бы поблагодарить разработчиков и всех сопричастных к данному проекту за ваш труд и прекрасный продукт, за поддержку пользователей и соучастие, еще раз спасибо.
Нашел на форуме все что есть по EMA, в особенности тему Индикаторы, много думал -) Складывается впечатление, как будто у поддержки нет связи с разработчиками, хотя среди первых есть специалисты способные воспроизвести работу индикаторов, и вместе с тем, как именно происходит расчет в самой программе - неизвестно, а при воспроизведении не сходятся значения. В представленных индикаторах нашел код по ADX:
Код
--[[Exponential Moving Average (EMA)
EMAi = (EMAi-1*(n-1)+2*Pi) / (n+1)]]
function F_EMA()
local tmp = {pp=nil, p=nil}
local it = {p=0, l=0}
return function(I, P, VT, ds)
if I == 1 then
tmp = {pp=nil, p=nil}
it = {p=0, l=0}
end
if CandleExist(I,ds) then
if I~=it.p then
it = {p=I, l=it.l+1}
tmp.pp = tmp.p
end
if it.l == 1 then
tmp.p = GetValueEX(it.p,VT,ds)
else
tmp.p = (tmp.pp*(P-1) + 2*GetValueEX(it.p,VT,ds)) / (P+1)
end
if it.l >= P then
return tmp.p
end
end
return nil
end
end
Из которого следует "if it.l == 1 then tmp.p = GetValueEX(it.p,VT,ds)", что начальное значение берется равным вычисляемому, однако в самой программе все не так однозначно, да и при вычислении по индикаторам это было бы не вполне уместно, поскольку попадаются нулевые значения.
Возвращаясь к таблице из предыдущего сообщения, очевидно, что все формулы работают и вычисления происходят верно, так, если подставить начальные значения из выгруженных программой, то все становится на свои места:
Скрытый текст
<DATE>
<TIME>
<OPEN>
<HIGH>
<LOW>
<CLOSE>
TRj
+DMj
-DMj
+DM
-DM
+SDI
-SDI
+DI
-DI
DX
ADX
<TIME>
<LINE_ADX>
<LINE_ADX+DI>
<LINE_ADX-DI>
04.01.2021
194000
1341.6
1341.6
1340.6
1340.6
04.01.2021
194500
1340.6
1340.8
1339.6
1340.8
1.2
0
1
0
1
0.00
83.33
04.01.2021
195000
1340.8
1341.2
1340.2
1341.0
1.0
0.4
0
0.4
0
40.00
0.00
04.01.2021
195500
1340.4
1340.8
1340.0
1340.2
1.0
0
0.2
0
0.2
0.00
20.00
04.01.2021
200000
1340.2
1340.8
1340.0
1340.6
0.8
0
0
0
0
0.00
0.00
04.01.2021
200500
1340.4
1341.0
1340.4
1340.8
0.6
0.2
0
0.2
0
33.33
0.00
04.01.2021
201000
1341.0
1341.2
1340.6
1341.2
0.6
0.2
0
0.2
0
33.33
0.00
04.01.2021
201500
1340.8
1344.4
1340.8
1344.2
3.6
3.2
0
3.2
0
88.89
0.00
04.01.2021
202000
1344.0
1344.4
1341.4
1341.8
3.0
0
0
0
0
0.00
0.00
04.01.2021
202500
1341.8
1342.8
1341.4
1342.8
1.4
0
0
0
0
0.00
0.00
04.01.2021
203000
1342.8
1343.6
1342.0
1342.6
1.6
0.8
0
0.8
0
50.00
0.00
04.01.2021
203500
1343.4
1343.6
1342.0
1343.0
1.6
0
0
0
0
0.00
0.00
04.01.2021
204000
1342.8
1343.0
1341.6
1342.0
1.4
0
0.4
0
0.4
0.00
28.57
04.01.2021
204500
1341.6
1341.8
1340.0
1341.0
2.0
0
1.6
0
1.6
0.00
80.00
04.01.2021
205000
1341.0
1341.0
1339.4
1340.0
1.6
0
0.6
0
0.6
0.00
37.50
11.71
30.63
44.68
205000
0
11.712018
30.627018
04.01.2021
205500
1340.0
1340.0
1339.4
1340.0
0.6
0
0
0
0
0.00
0.00
10.15
26.54
44.68
205500
0
10.150416
26.543416
04.01.2021
210000
1339.6
1340.0
1339.2
1339.8
0.8
0
0.2
0
0.2
0.00
25.00
8.80
26.34
49.92
210000
0
8.797027
26.337627
04.01.2021
210500
1340.0
1340.0
1339.8
1339.8
0.2
0
0
0
0
0.00
0.00
7.62
22.83
49.92
210500
0
7.62409
22.825943
04.01.2021
211000
1339.8
1340.0
1339.4
1340.0
0.6
0
0.4
0
0.4
0.00
66.67
6.61
28.67
62.54
211000
0
6.607545
28.671373
04.01.2021
211500
1339.6
1340.0
1339.6
1339.8
0.4
0
0
0
0
0.00
0.00
5.73
24.85
62.54
211500
0
5.726539
24.848523
04.01.2021
212000
1339.8
1341.0
1339.8
1341.0
1.2
1
0
1
0
83.33
0.00
16.07
21.54
14.52
212000
0
16.074111
21.535387
04.01.2021
212500
1341.0
1344.0
1341.0
1344.0
3.0
3
0
3
0
100.00
0.00
27.26
18.66
18.73
212500
0
27.26423
18.664002
04.01.2021
213000
1343.2
1345.2
1343.2
1344.8
2.0
1.2
0
1.2
0
60.00
0.00
31.63
16.18
32.33
213000
0
31.628999
16.175468
04.01.2021
213500
1344.8
1345.2
1344.2
1345.2
1.0
0
0
0
0
0.00
0.00
27.41
14.02
32.33
213500
0
27.411799
14.018739
04.01.2021
214000
1344.8
1344.8
1343.2
1343.8
2.0
0
1
0
1
0.00
50.00
23.76
18.82
11.61
214000
0
23.756893
18.816241
04.01.2021
214500
1343.8
1344.2
1343.0
1343.4
1.2
0
0.2
0
0.2
0.00
16.67
20.59
18.53
5.27
214500
0
20.589307
18.529631
04.01.2021
215000
1343.4
1344.2
1343.4
1344.0
0.8
0
0
0
0
0.00
0.00
17.84
16.06
5.27
215000
0
17.844066
16.059013
04.01.2021
215500
1344.0
1344.8
1344.0
1344.2
0.8
0.6
0
0.6
0
75.00
0.00
25.46
13.92
29.32
28.31
215500
28.307551
25.464857
13.917812
04.01.2021
220000
1344.8
1344.8
1343.8
1344.8
1.0
0
0.2
0
0.2
0.00
20.00
22.07
14.73
19.95
27.19
220000
27.193033
22.069543
14.72877
04.01.2021
220500
1344.6
1347.0
1342.8
1345.2
4.2
2.2
1
2.2
0
52.38
0.00
26.11
12.76
34.33
28.14
220500
28.144629
26.111064
12.764934
04.01.2021
221000
1345.0
1346.0
1344.0
1345.0
2.0
0
0
0
0
0.00
0.00
22.63
11.06
34.33
28.97
221000
28.969345
22.629589
11.062943
04.01.2021
221500
1345.0
1345.6
1344.0
1344.4
1.6
0
0
0
0
0.00
0.00
19.61
9.59
34.33
29.68
221500
29.684099
19.61231
9.587884
то есть предыдущие и дальнейшие вычисления происходят верно. Путем обратных вычисления и постигая дзен -) я сделал обратный расчет из выгруженных данных:
Скрытый текст
<TIME>
<LINE_ADX>
<LINE_ADX+DI>
<LINE_ADX-DI>
DX
ADX
205000
0
11.712018
30.627018
44.67508
205500
0
10.150416
26.543416
44.67508
210000
0
8.797027
26.337627
49.92393
210500
0
7.62409
22.825943
49.92393
211000
0
6.607545
28.671373
62.54111
211500
0
5.726539
24.848523
62.54111
212000
0
16.074111
21.535387
14.521
212500
0
27.26423
18.664002
18.72536
213000
0
31.628999
16.175468
32.32654
213500
0
27.411799
14.018739
32.32654
214000
0
23.756893
18.816241
11.60509
214500
0
20.589307
18.529631
5.265163
215000
0
17.844066
16.059013
5.265165
215500
28.307551
25.464857
13.917812
29.32012
28.30755
220000
27.193033
22.069543
14.72877
19.94867
27.19303
220500
28.144629
26.111064
12.764934
34.33
28.14463
221000
28.969345
22.629589
11.062943
34.33
28.96934
221500
29.684099
19.61231
9.587884
34.33
29.6841
Добавил столбцы DX и ADX, а за начальное значение ADX взял выгруженное значение. Так откуда же берутся эти начальные значения? 11,71 для +DI, 30.63 для -DI и 28,31 для ADX?
Скрытый текст
TRj
+DMj
-DMj
+DM
-DM
+SDI
-SDI
+DI
-DI
DX
1.2
0
1
0
1
0.00
83.33
1.0
0.4
0
0.4
0
40.00
0.00
1.0
0
0.2
0
0.2
0.00
20.00
0.8
0
0
0
0
0.00
0.00
0.6
0.2
0
0.2
0
33.33
0.00
0.6
0.2
0
0.2
0
33.33
0.00
3.6
3.2
0
3.2
0
88.89
0.00
3.0
0
0
0
0
0.00
0.00
1.4
0
0
0
0
0.00
0.00
1.6
0.8
0
0.8
0
50.00
0.00
1.6
0
0
0
0
0.00
0.00
1.4
0
0.4
0
0.4
0.00
28.57
2.0
0
1.6
0
1.6
0.00
80.00
1.6
0
0.6
0
0.6
0.00
37.50
11.71
30.63
44.69
Судя по различиям начальных значений в колонках +SDI=0.00 и -SDI=37.50 и их результатам по +DI = 11.71 и -DI = 30.63, я пришел к выводу, что они так же считаются по формуле, то есть EMA(DI1)=(DI0*(14-1)+2*SDI14)/(14+1), поскольку они не являются ни средними значениями, ни средними отклонениями, ни стандартными. а вот каким берется DI0 - путем неимоверных обратных вычислений вычислений -) я нашел следующие значения: +DI0 = 13.51 и -DI0 = 29.57 Подставляя эти нулевые значения в ту же формулу, получаются начальные значения соответственно, но откуда берутся они сами, остается загадкой. Можно было бы предположить, что они вычисляются от какой нибудь далекой начальной свечи, однако в Quik'е просто нет других данных и ему неоткуда их взять кроме как вычислить из представленных столбцов по +SDI и -SDI. +DI0 = 13.51 похоже на какую то манипуляцию с периодом по той же формуле, а -DI0 уже с участием второго аргумента. Может быть кто нибудь однажды раскроет эту загадку, раз уж не удается связаться с разработчиками и выяснить определенно.
Обратитесь, пожалуйста, на почту нашей поддержки (quiksupport@arqatech.com), указав в письме ссылку на данную тему. Вышлем Вам пример с точным расчетом EMA идентично терминалу.
И хотя я уже написал письмо в поддержку, решил попробовать то, что мне пришло в голову за ночь, а именно, протянуть обратную формулу до самого начала, и эврика -) все таки сошлось:
Скрытый текст
TRj
+DMj
-DMj
+DM
-DM
+SDI
-SDI
+DI
-DI
DX
ADX
<TIME>
<LINE_ADX>
<LINE_ADX+DI>
<LINE_ADX-DI>
DX
ADX
13.51
29.57
28.15
1.2
0
1
0
1
0.00
83.33
-0.02
83.34
1.0
0.4
0
0.4
0
40.00
0.00
5.31
72.22
1.0
0
0.2
0
0.2
0.00
20.00
4.61
65.26
0.8
0
0
0
0
0.00
0.00
3.99
56.56
0.6
0.2
0
0.2
0
33.33
0.00
7.90
49.02
0.6
0.2
0
0.2
0
33.33
0.00
11.29
42.48
3.6
3.2
0
3.2
0
88.89
0.00
21.64
36.82
3.0
0
0
0
0
0.00
0.00
18.76
31.91
1.4
0
0
0
0
0.00
0.00
16.25
27.65
1.6
0.8
0
0.8
0
50.00
0.00
20.75
23.97
1.6
0
0
0
0
0.00
0.00
17.99
20.77
1.4
0
0.4
0
0.4
0.00
28.57
15.59
21.81
2.0
0
1.6
0
1.6
0.00
80.00
13.51
29.57
1.6
0
0.6
0
0.6
0.00
37.50
11.71
30.63
44.69
44.66
205000
0
11.712018
30.627018
44.67508
0.6
0
0
0
0
0.00
0.00
10.15
26.54
44.69
44.66
205500
0
10.150416
26.543416
44.67508
0.8
0
0.2
0
0.2
0.00
25.00
8.79
26.34
49.94
45.37
210000
0
8.797027
26.337627
49.92393
0.2
0
0
0
0
0.00
0.00
7.62
22.83
49.94
45.98
210500
0
7.62409
22.825943
49.92393
0.6
0
0.4
0
0.4
0.00
66.67
6.61
28.67
62.55
48.19
211000
0
6.607545
28.671373
62.54111
0.4
0
0
0
0
0.00
0.00
5.72
24.85
62.55
50.10
211500
0
5.726539
24.848523
62.54111
1.2
1
0
1
0
83.33
0.00
16.07
21.54
14.53
45.36
212000
0
16.074111
21.535387
14.521
3.0
3
0
3
0
100.00
0.00
27.26
18.66
18.72
41.81
212500
0
27.26423
18.664002
18.72536
2.0
1.2
0
1.2
0
60.00
0.00
31.63
16.18
32.32
40.54
213000
0
31.628999
16.175468
32.32654
1.0
0
0
0
0
0.00
0.00
27.41
14.02
32.32
39.45
213500
0
27.411799
14.018739
32.32654
2.0
0
1
0
1
0.00
50.00
23.76
18.82
11.60
35.73
214000
0
23.756893
18.816241
11.60509
1.2
0
0.2
0
0.2
0.00
16.67
20.59
18.53
5.26
31.67
214500
0
20.589307
18.529631
5.265163
0.8
0
0
0
0
0.00
0.00
17.84
16.06
5.26
28.15
215000
0
17.844066
16.059013
5.265165
0.8
0.6
0
0.6
0
75.00
0.00
25.46
13.92
29.32
28.31
215500
28.307551
25.464857
13.917812
29.32012
28.30755
Итого, начальные значения берутся от начала расчета и выражаются на начало периода.