
-- fn044set.lua расчет стоимости фьючерсных контрактов в портфеле относительно депозита
-- © smart-lab.ru/profile/xxm 08.10.2018
-- торговый счет (из таблицы «Позиции по клиентским счетам (фьючерсы)»)
account = 'SPBFUT0003f'
--положение окна с таблицей. Левый верхний угол в координаты left,top и размеры в width и height.
xy = {}
xy.left, xy.top, xy.width,xy.height = 0, 232, 722, nil
--ширина столбцов таблицы
t_width = {12, 6, 10, 8, 10, 10, 9, 7, 6, 11, 10, 11}
-- месяц и год исполнения, 2 символа, https://www.moex.com/s205
MonthYear = "Z8"
-- код базового актива, 2 символа
-- если 4 символа, то переменная "MonthYear" не учитывается
SecCodes={
{"MM"}, --контракт на индекс МосБиржи
{"Si"}, --руб/доллар FORTS
{"SR"}, --Sber FORTS
{"LK"}, --контракт на Лукойл
{"GZ"}, --контракт на Газпром
{"BRX8"}, --контракт на нефть Брент, месяц и год - "X8"
{"ED"}, --контракт на ED
{"RN"}, --контракт на Роснефть
{"GD"}, -- Gold
}
--Если xy.height == nil, то вычислить ее.
--Для разных мониторов коэффициенты (17, 45 и 868 - подобраны эмпирически) будут разными.
local height = xy.height or ((#SecCodes + 1)*17 + 45)
if height > 868 then height = 868 end
xy.height = height Если xy.height не будет указан или будет равен nil, то программа вычислит высоту таблицы в зависимости от количества инструментов в настройках. Для более точной настройки следует проделать следующие действия:
1. Установить требуемые размеры таблицы и ее положение в окне программы QUIK ;
2. Нажать двойной «клик» левой кнопкой мыши в левой нижней ячейке (там, где сейчас написано «09.10.2018»);
3. Полученные в окне сообщений QUIK (или в лог-файле Fn044.log) цифры установить в параметры xy в файле настройки.
В таблице есть колонки «ГО», «сумГО», "%ГО". ГО на покупку умножается на количество контрактов и выводится процент от депозита для расчета общего «плеча». Есть колонки для подсчета ГО под активные лимитированные заявки, стоимость в рублях набранных контрактов. Писал для себя, название осталось внутреннее рабочее.
Гарантий — никаких, «as is», в общем — приятного пользования!