
В предыдущей статье мы разобрали как сделать свой первый индикатор на языке Lua для торгового терминала QUIK, какая структура в скрипте индикатора. Сейчас сделаем чуть сложнее индикатор. Это будет индикатор, который рисует линию каждую торговую сессию по цене открытия торговой сессии. Цена открытия текущей сессии служит нам как ориентиром того, куда движется сегодня цена актива, растет или падает, также данный уровень часто может использоваться в качестве горизонтального уровня для внутредневной торговли.
Код индикатора будет выглядеть следующим образом
Settings=
{
Name="*DayOpenPrice_DTS",
line =
{
{
Name = "DayOpenPrice_line",
Color = RGB(0,0,255),
Type = TYPE_LINE,
Width = 2
}
}
}
local curDayOpenPrice = nil
local lastSize = 0
function Init()
return 1
end
function GetCandleDate(ind) -- Получить полную дату свечи по индексу ind
local dt = T(ind)
local candleDate = 0
if dt then
candleDate = (tonumber(dt.year) or 0) * 10000 -- 20230000
candleDate = candleDate + (tonumber(dt.month) or 0) * 100 -- 20230700
candleDate = candleDate + (tonumber(dt.day) or 0) -- 20230728
end
return candleDate
end
function OnCalculate(index)
if index == 0 then
return nil
end
if index == (lastSize-1) then -- Для проверки не каждый тик, а только при появлении новой свечи
return nil
else
lastSize = Size() -- Запомнить текущее количество свечей
local curDate = GetCandleDate(index) -- Дата текущей свечи
local lastDate = GetCandleDate(index - 1) -- Дата предыдущей свечи
if curDate > lastDate then -- Если дата на текущей свече больше даты на предыдущей (т.е. сменилась дата - начался новый торговый день)
curDayOpenPrice = O(index) -- Сохранить данные цены открытия текущей свечи для отрисовки на графике
end
end
return curDayOpenPrice
end
Пояснения к функциям мы сделали прямо в коде, чтобы вы могли понять как это работает.
Добавим файл индикатора «DayOpenPrice_DTS_ind.lua» в папку «LuaIndicators» в директории Рабочего места QUIK.
Далее добавляем в терминале QUIK на график добавим новый индикатор и выбираем из списка наш «*DayOpenPrice_DTS_ind»

На графике мы видим отображается линия, которая строится по цена открытия торговой сессии, каждый день соответственно своя цена открытия.

Если откроем свойства индикатора, то там можно изменить цвет линии и толщину

Скачать архив с индикатором DayOpenPrice_DTS_ind.lua на LUA
Вы уже сейчас можете начать изучать Видео курс- роботы в TSLab и научиться самому делать любых роботов!
Можно записаться на следующий поток ОнЛайн курса «Создание роботов в TSLab без программирования», информацию по которому можно посмотреть тут->
Также можете научиться программировать роботов на нашем Видео курсе «Роботы для QUIK на языке Lua»
Если же вам не хочется тратить время на обучение, то вы просто можете выбрать уже готовые роботы из тех, что представлены у нас ДЛЯ TSLab, ДЛЯ QUIK, ДЛЯ MT5, ДЛЯ КРИПТОВАЛЮТЫ!
Также можете посмотреть совершенно бесплатные наработки для МТ4, Квика, МТ5. Данный раздел также постоянно пополняется.
Не откладывайте свой шанс заработать на бирже уже сегодня!
























