Облегченная версия индикатора, определяет локальные макс/мин цены на графике. Надеюсь, индикатор станет полезен для ваших торговых алгоритмов.
жми
в версии quik 8.7 имеется баг с настройками индикатора, проверялось на версии 8.13
Индикатор
--C:/QUIK/LuaIndicators/extr.lua dofile(getWorkingFolder() .. "\\LuaIndicators\\Include\\myExtr.lua") Settings = {} Settings.Name = "*extr" Settings.nDepth = 3000 --[[для определения стартового бара]] Settings.nMinHL = 0 --[[минимальное движение цены для определения экстремума]] Settings.line = { { Name = "TRIANGLE_UP", Type = TYPE_TRIANGLE_UP, Color = RGB(255, 0, 0), Width = 4 }, { Name = "TRIANGLE_DOWN", Type = TYPE_TRIANGLE_DOWN, Color = RGB(0, 255, 0), Width = 4 } } function Init() extr = myExtr() return 2 end local oi, min_hl function OnCalculate(index) if index == 1 then min_hl = tonumber(Settings.nMinHL) if min_hl and min_hl <= 0 then min_hl = nil end if not min_hl then return message("Индикатору extr нужен параметр nMinHL > 0",3) end local depth = tonumber(Settings.nDepth) or Size() local s = Size() - depth oi = s < 1 and 1 or s extr(oi, min_hl, index) end --[[считает только что закрывшийся бар, в текущем активном не считает]] if not min_hl or index <= oi then return end extr(oi, min_hl, index) oi = index end |
Модуль индикатора
--C:/QUIK/LuaIndicators/Include/myExtr.lua function myExtr() local HH, LL, mH, mL, imH, imL local function SetL(oH, oL, oi, min_hl) if oH > mH then mH, imH = oH, oi if not LL then if oH - mL >= min_hl then LL = mL SetValue(imL, 1, LL) mL, imL = oL, oi HH = nil end else mL, imL = oL, oi end if HH and oH >= HH then HH = nil end end end local function SetH(oH, oL, oi, min_hl) if oL < mL then mL, imL = oL, oi if not HH then if mH - oL >= min_hl then HH = mH SetValue(imH, 2, HH) mH, imH = oH, oi LL = nil end else mH, imH = oH, oi end if LL and oL <= LL then LL = nil end end end return function (oi, min_hl, i) if i <= oi then mH, mL = H(oi), L(oi) imH, imL = oi, oi HH, LL = nil, nil return end local oH, oL = H(oi), L(oi) if imL < imH then SetL(oH, oL, oi, min_hl) SetH(oH, oL, oi, min_hl) else SetH(oH, oL, oi, min_hl) SetL(oH, oL, oi, min_hl) end end end |
Всем доброго времени суток!
Прошу подсказать, как применить данный индикатор к акциям ММВБ или валютам?
Версия QUIK 10.3.1.13
Заранее спасибо!
Огромное спасибо!
Пожалуйста!
Если нужны допы, например, передача меток, или группировка экстремумов по округленной цене(страйку) для вашего алгоритма, обращайтесь.
День добрый. Интересует "НЕ облегченная версия индикатора" с допами: передача меток(цен, если правильно понял), группировка цен экстремумов. Как связаться для обсуждения?
Досадное упущение:
Settings.nMinHL = 0 - нужно заменить 0 на 0.0
фракталы ? судя по картинке сигналы просто идеальные
нет, не фракталы, ближе к индикатору зиг-заг.
красивая картинка но абсолютно бесполезная, очень запаздывающий как ZZ и фракталы
Мы от природы своей не живём настоящим. Всё что вы видите, суть история около 200мс. Фракталами вы просто пользоваться не умеете.