индикатор-dayopenprice-на-графике-в-КВИК.png
В предыдущей статье мы разобрали как сделать свой первый индикатор на языке 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-в-КВИК

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

Если откроем свойства индикатора, то там можно изменить цвет линии и толщину
Настройки-индикатора-dayopenprice-в-КВИК

Скачать архив с индикатором DayOpenPrice_DTS_ind.lua на LUA

 
 
 


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