Add Label #
Добавляет метку с заданными параметрами.
Функция возвращает числовой идентификатор метки. В случае неуспешного завершения функция возвращает «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 | Текст всплывающей подсказки |
Примеры: #
-- Настройки
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
