Блог им. kurd

Индикатор пробоя. В Quik'е можно всё (почти). Исправление

Исправлена печать повторных пробоев одного того же экстремума.
По просьбам играющих smart-lab.ru/vopros/703796.php
В Quik'е нельзя только предсказывать будущее.
Индикатор Breakout рисует на графике котировок точки пробоя для экстремумов заданного числа Num баров. Для последнего интервала Num баров показывает уровни экстремумов.
Значение Num и признак Print печати сообщений на пробои можно поменять через параметры индикатора.

Чтобы в Quik'е использовать этот индикатор, поместите нижеследующий код в текстовый файл Breakout.lua, а сам этот файл в подкаталог LuaIndicators в том каталоге Quik'а, где лежит файл info.exe.
Чтобы метки пробоев были виднее, индикатор следует поместить после графика котировок. Эти метки позволят на глазок определить прибыльность пробойной стратегии.

-- Ростислав Дмитриевич Кудряшов, СПб, 2021
-- Индикатор Breakout для Quik: min и max Num баров
Settings = {
  Name  = "_Breakout"
 ,line = {
    {Name = "Min"
    ,Color = RGB (255,0,0)
    ,Type = TYPE_LINE
    ,Width = 1}
   ,{Name = "Max"
    ,Color = RGB (0,255,0)
    ,Type = TYPE_LINE
    ,Width = 1}
   ,{Name = "Lwr"
    ,Color = RGB (255,255,0) -- Жёлтый
    ,Type = TYPE_TRIANGLE_DOWN
    ,Width = 1}
   ,{Name = "Upr"
    ,Color = RGB (0,128,255) -- Тёмно-Голубой
    ,Type = TYPE_TRIANGLE_UP
    ,Width = 1}
  }
 ,Num = 10
 ,Print = 1 -- или 0
}
Scan = 0 -- При загрузке Quik сканирует 1 раз

function Init()
  return #Settings.line
end

function OnChangeSettings()
  Scan = 0
end

function OnCalculate (index)
  local n, mn, mx, ini, fin, upr, lwr, printFlag
  n = Settings.Num
  if n < 1 or index <= n then
    if index == 1 then
      Scan = Scan + 1
      SetRangeValue (3, 1, Size(), nil)
      SetRangeValue (4, 1, Size(), nil)
    end
    return nil
  end
  mn = math.huge
  mx = -math.huge
  ini = index - n
  fin = index - 1
  for i = ini, fin do
    mn = math.min (mn, L(i) or mn)
    mx = math.max (mx, H(i) or mx)
  end
  printFlag = Settings.Print > 0 and index == Size() and Scan > 1
  lwr = GetValue (index, 3)
  upr = GetValue (index, 4)
  if not lwr and L(index) and L(index) < mn then
    if printFlag then
      message (Settings.Name ..": Dn ".. mn)
    end
    lwr = mn
  end
  if not upr and H(index) and H(index) > mx then
    if printFlag then
      message (Settings.Name ..": Up ".. mx)
    end
    upr = mx
  end
  if index == Size() then
    SetValue (ini-1, 1, nil)
    SetValue (ini-1, 2, nil)
    SetRangeValue (1, ini, fin, mn)
    SetRangeValue (2, ini, fin, mx)
  else
    mn, mx = nil
  end
  return mn, mx, lwr, upr
end -- OnCalculate()
4.6К | ★19
3 комментария
Господа все ваши индикаторы, это только игрушки, если вы не понимаете рынок, вам эта чушь не поможет. Если бы был изобретен идеальный индикатор то бижа бы рухнула, на бирже работает весь мир, какой там индикатор.
avatar
Индикатор про боя (boy) —
это про мальчика что — ли индикатор ?


Большинство трейдеров — мужчины.
Поэтому, думаю, индикатор про девочку трейдерам понравился бы больше.

Олег Дубинский, я бы расширил толкование до pro boy, т.е. продвинутый мальчик. Но pro girl тоже хорошо :-)

Читайте на SMART-LAB:
Фото
Почему МГКЛ работает только с понятными активами
🧱 В основе бизнеса МГКЛ — простой и осознанный принцип: компания работает только с теми активами, природа и ликвидность которых понятны....
5 идей в российских акциях. Индекс МосБиржи на пороге сопротивления 2750
Индекс МосБиржи за неделю прибавил около 50 п., или 1,5%. Сопротивление в районе 2750 п. близко. Однако рынок держится на 10% ниже пятимесячного...
⚙️ Элемент: чипы уходят в банк
Сбер выкупил долю АФК Системы в производителе микроэлектроники. Что будет дальше — рассказывают аналитики Market Power.   Элемент (ELMT) ➡️...
Фото
Ставропольэнергосбыт. Надбавки на 26г. установлены. Изменение целевой цены
Региональная тарифная комиссия Ставропольского края опубликовала постановление №71/2 от 26.12.2025г. об установлении сбытовой надбавки...

теги блога Rostislav Kudryashov

....все тэги



UPDONW
Новый дизайн