AddLabel

Добавляет метку с заданными параметрами.

Функция возвращает числовой идентификатор метки. В случае неуспешного завершения функция возвращает «nil».

NUMBER AddLabel(STRING chart_tag, TABLE label_params)
  • chart_tag – тег графика, к которому привязывается метка (подробнее см. п. 4.2.3 в Разделе 4 Руководства пользователя QUIK, настройка «Идентификатор»);
  • label_params – Таблица с параметрами метки;

Таблица с параметрами метки

Параметр Тип Описание
TEXT STRING Подпись метки (если подпись не требуется, то пустая строка)
IMAGE_PATH STRING Путь к картинке, которая будет отображаться в качестве метки (пустая строка, если картинка не требуется). Используются картинки формата *.bmp, *.jpeg
ALIGNMENT STRING Расположение картинки относительно текста (возможно 4 варианта: LEFT, RIGHT, TOP, BOTTOM)
YVALUE NUMBER Значение параметра на оси Y, к которому будет привязана метка
DATE NUMBER Дата в формате «ГГГГММДД», к которой привязана метка
TIME NUMBER Время в формате «ЧЧММСС», к которому будет привязана метка
R NUMBER Красная компонента цвета в формате RGB. Число в интервале [0;255]
G NUMBER Зеленая компонента цвета в формате RGB. Число в интервале [0;255]
B NUMBER Синяя компонента цвета в формате RGB. Число в интервале [0;255]
TRANSPARENCY NUMBER Прозрачность метки в процентах. Значение должно быть в промежутке [0; 100]
TRANSPARENT_BACKGROUND NUMBER Прозрачность фона картинки. Возможные значения: «0» – прозрачность отключена, «1» – прозрачность включена
FONT_FACE_NAME STRING Название шрифта (например «Arial»)
FONT_HEIGHT NUMBER Размер шрифта
HINT STRING Текст всплывающей подсказки

Примеры:

  • 0
-- Настройки
settings = {}
-- Метка. Это же значение необходимо указать в настройках графика на закладке "Дополнительно" в поле "Идентификатор"
settings.chart_tag = "gzp"
-- Класс бумаги для которой будут искаться значение цены и времени
settings.class_code = "QJSIM"
-- Код бумаги
settings.sec_code = "GAZP"


stopped = false

function main()
	-- Удаляум все нарисованные метки
	DelAllLabels(settings.chart_tag)
	-- Получаем индекс 10000 значения из таблицы всех сделок
	local last_index = getNumberOf('all_trades') - 10000
	local finded = false
	-- Перебираем значение таблицы всех сделок от 10000 и вверх
	while finded == false and last_index >= 0 do
		-- Получаем значение
		local all_trade_item = getItem('all_trades', last_index)
		-- Если тикер соответствует тикеру в настройках
		if all_trade_item.class_code == settings.class_code and all_trade_item.sec_code == settings.sec_code then
			-- Представляем дату в виде "ГГГГММДД"
			local date_pos = (tostring(all_trade_item.datetime.year)..add_zero(tostring(all_trade_item.datetime.month))..add_zero(tostring(all_trade_item.datetime.day)))
			-- Представляем время в виде "ЧЧММСС"
			local time_pos = (add_zero(tostring(all_trade_item.datetime.hour))..add_zero(tostring(all_trade_item.datetime.min))..add_zero(tostring(all_trade_item.datetime.sec)))
			-- Вызываем размещение метки с полученной датой и временем
			place_label(all_trade_item.price, date_pos, time_pos)
			-- Указываем, что поиск завершен
			finded = true
		end
		-- Если попали не на наш тикер, то берем значение выше
		last_index = last_index - 1
	end
	
	while stopped ~= true do
      sleep(50)
	end
end

-- Функция добавляет 0 к переданному значению, если количество переданных символов = 1, "1" -> "01"
function add_zero(number_str)
	if #number_str == 1 then
		return "0"..number_str
	else
		return number_str
	end
end

function place_label(price, date_pos, time_pos)
	-- Внимание, название всех параметров должны писаться большими буквами
	label_params = {
		-- Если подпись не требуется то оставить строку пустой ""
		TEXT = "Label text",
		-- Если картинка не требуется оставить значение пустым ""
		IMAGE_PATH = getScriptPath() .. "\\arrow.jpeg",
		-- Расположение картинки относительно текста (возможно 4 варианта: LEFT, RIGHT, TOP, BOTTOM)
		ALIGNMENT = "LEFT",
		-- Значение параметра на оси Y, к которому будет привязана метка
		YVALUE = price,
		-- Дата в формате «ГГГГММДД», к которой привязана метка
		DATE = date_pos,
		-- Время в формате «ЧЧММСС», к которому будет привязана метка
		TIME = time_pos,
		-- Красная компонента цвета в формате RGB. Число в интервале [0;255]
		R = 100,
		-- Зеленая компонента цвета в формате RGB. Число в интервале [0;255]
		G = 200,
		-- Синяя компонента цвета в формате RGB. Число в интервале [0;255]
		B = 80,
		-- Прозрачность метки в процентах. Значение должно быть в промежутке [0; 100]
		TRANSPARENCY = 10,
		-- Прозрачность фона картинки. Возможные значения: «0» – прозрачность отключена, «1» – прозрачность включена
		TRANSPARENT_BACKGROUND = 1,
		-- Название шрифта (например «Arial»)
		FONT_FACE_NAME = "Arial",
		-- Размер шрифта
		FONT_HEIGHT = 12,
		-- Текст всплывающей подсказки
		HINT = "This is hint"
	}
	-- Добавляем метку и запоминаем ее ID
	label_id = AddLabel(settings.chart_tag, label_params)
end