ZIG_MA_v2 строится как зигзаг относительно EMA
--[[
параметры:
Procent - процент зигзага
--]]
Settings={
Name="ZIG_MA_v2",
Procent=2.0,
ln=50,
line=
{
{
Name = "ZIG_MA",
Type =TYPE_LINE,
Width = 2,
Color = RGB(0,0, 0)
},
{
Name = "ZIG_MA2",
Type =TYPE_LINE,
Width = 1,
Color = RGB(0,0, 255)
}
}
}
function Init()
ema = {}
y1 = nil
y2 = nil
x1 = 1
x2 = 1
return 2
end
function OnCalculate(index)
de = Settings.Procent
ln = Settings.ln
if index <= 1 then
ema[index] = C(index)
else
ema[index] = (ema[index-1]*(ln-1) + C(index))/ln
end
if ln==0 then
pr = C(index)
else
pr = C(index)-ema[index]
end
vl = C(index)
if index == 1 then
y1 = vl
y2 = vl
else
if pr > y1+C(index)*de/100 and y1 < y2 then
x2 = x1
y2 = y1
x1 = index
y1 = pr
else
if pr > y1 and y1 >= y2
then
x1 = index
y1 = pr
end
end
if pr < y1-C(index)*de/100 and y1 > y2 then
x2 = x1
y2 = y1
x1 = index
y1 = pr
else
if pr < y1 and y1 <= y2
then
x1 = index
y1 = pr
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
return vl, ema[index]
end
а будущее показывает?
Как зигзаг практически используется?
Это зигзаг чем то отличается от предыдущего?
Она будет проходить не по экстремумам, а по середине канала.