сам тренд это такая линия сумма квадратов расстояний до которой от каждой цены закрытия бара минимальны (метод наименьших квадратов)
дайте мне тимофейчиков:)
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
или вы просто не можете понять силу тренда
не нужно воспринимать индикатор как последнюю инстанцию
он всего лишь работает с вероятностями
2) Было б здорово, если бы Ваш индикатор мог рисовать верхнюю границу как в нарисованном вручную желтой пунктирной линией (при условии, что нижнюю границу он бы рисовал по нижним экстремумам)