Найти тему

Проверка остатков по бумагам (акции, облигации) с помощью QLUA

Всем привет!

Сегодня мы рассмотрим встроенную команду QLUA, которая позволяет смотреть остатки по бумагам.

Если Вы разобрались с прошлым выпуском, в котором мы рассматривали команду проверки остатка по денежным средствам, то легко разберетесь и с этим выпуском.

Итак, поехали!

За получение остатков по конкретной бумаге отвечает функция getDepoEx(). Если речь идет об остатках по акциям или облигациям. Если мы работаем со фьючерсами, то нужно использовать другую команду, которую рассмотрим отдельно.

Помощник так описывает эту функцию:

TABLE getDepoEx(STRING firmid, STRING client_code, STRING sec_code, STRING trdaccid, NUMBER limit_kind)

Тут уже есть знакомые нам из предыдущего выпуска входящие данные:

firmid – ID Фирмы в строковом формате;

client_code – код клиента в строковом формате;

limit_kind – число, отражающее режим остатка (0 соответствует сроку расчета Т0, 1 - Т1, 2 - Т2 и т.д.).

Смотрите предыдущий выпуск, в котором разбирались данные firmid, client_code и limit_kind.

Осталось разобраться с двумя входящими переменными:

sec_code – это код бумаги (“SBER”, “VTBR” и т.д.)

trdaccid – это код торгового счета.

Код бумаги можно посмотреть в описании бумаги на московской бирже или у своего брокера.

Вот пример выдачи информации об обыкновенных акциях Сбербанка. Код бумаги – SBER.

-2

А вот код облигации ОФЗ 26315.

-3

Чтобы посмотреть номер своего торгового счета нужно открыть окно «Торговые счета».

-4
-5

Наш торговый счет находится в колонке «Счет». В данном примере счет «NL0011100043» относится к основному рынку (акции, облигации), а счет «SPBFUT000iq» относится к срочному рынку для работы с фьючерсными контрактами.

Вроде со входными данными разобрались. Теперь, что мы получим на выходе от функции getDepoEx?

В результате мы получим такую таблицу:

-6

И конкретно нас будет интересовать currentbal.

А вот такой код скрипта получается:

function main()
Firm_ID="NC0011100000"; -- нужно поставить свое значение
Kod_klienta="10646";-- нужно поставить свое значение
Torg_schet="NL0011100043";-- нужно поставить свое значение
local bumagi = getDepoEx(Firm_ID, Kod_klienta, "ROSN", Torg_schet,0)
if (bumagi) then
message(" Oстаток по бумагам - "..bumagi["currentbal"]);
else
message("Такой бумаги в портфеле нет.");
end
end

Скачать данный код

В данном примере получается остаток по акциям Роснефть с расчетом Т0. Но, напомню, что в реальном торговом скрипте нужно использовать режим Т2.

На этом позвольте закончить разбор данной функции. Надеюсь, что Вы разобрались с ней.

Напишите в комментариях получилось ли у Вас запустить скрипт и получить остатки по бумагам?

Дальше будет интереснее. Подпишитесь на канал, что бы отслеживать новые выпуски.

Всем удачи – всем пока!

⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇

📃 Краткое содержание данного канала.

➖➖➖➖➖➖➖➖➖➖➖➖➖

Landingcentr.ru - разработка сайтов для малого и среднего бизнеса.

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆