Александр (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Как получить информацию о количестве у меня на покупку/продажу лотов типа CNYRUB_TOM?, Как получить информацию о количестве у меня на покупку/продажу лотов типа CNYRUB_TOM?
 
Для получиния позиций по бумагам, акциям например, использую getNumberOf("depo_limits") и getItem("depo_limits", y);
Для фьютчерсов - getNumberOf("futures_client_holding") и getItem("futures_client_holding", y).

Для получения денежных позиций (класс CETS, бумаги типа CNYRUB_TOM ) что нужно использовать?
Открыл заявки на покупку и продажу CNYRUB_TOM  по соотвествующим ценам. Заявки активны.
Пробую испльзовать getNumberOf("account_positions") и getItem("account_positions", y), но getNumberOf("account_positions") выдаёт 0, хотя заявки на покупку/продажу по CETS есть.

Пример моего кода для акций (TQBR)
local tempPositions={};
local n = getNumberOf("depo_limits");
for y = 0, n-1 do
local trade = getItem("depo_limits", y);
local temp_stock_info=getSecurityInfo(GetClassBySecEx(trade.sec_code),trade.sec_code);
if temp_stock_info~=nil and trade.limit_kind== 365 then
tempPositions[trade.sec_code]={};
tempPositions[trade.sec_code][-1]=trade.locked_sell/temp_stock_info.lot_size;
tempPositions[trade.sec_code][0]=trade.currentbal/temp_stock_info.lot_size;
tempPositions[trade.sec_code][1]=trade.locked_buy/temp_stock_info.lot_size;

end;
end;

Прошу подсказать, что использовать, чтобы получить подобный массив данных по позициям для CETS
Ошибка создания заявки. [GW][4103] "Неполное сведение FOK заявки."., Где смотреть подробности?
 
Где искать подробности, чего не хватает в таблице транзакции по ошибке: Ошибка создания заявки. [GW][4103] "Неполное сведение FOK заявки.".
Функция getDepoEx возвращает nil на имеющийся в портфеле инструмент, В каких случая такой возможно?
 
Моя функция для получения количества бумаг+ордеров по инструменту:

-- Получает текущую чистую позицию по инструменту
function GetTotalPos(stock_id,firm_id,client_code_id,account_id,pos_type)
local temp_stock1=getDepoEx(firm_id, client_code_id,stock_id, account_id, 2)
local temp_stock_info=getSecurityInfo(GetClassBySec(stock_id),stock_id)

if temp_stock1==nil then
message (temp_stock_info.name..' nilll ');
sleep(1000);
return nil;
else

local pos=temp_stock1.currentbal+temp_stock1.locked_buy;

if pos_type==0 then pos=temp_stock1.currentbal; end;
if pos_type==1 then pos=temp_stock1.currentbal+temp_stock1.locked_buy; end;
if pos_type==2 then pos=temp_stock1.locked_buy; end;
if pos_type==-1 then pos=temp_stock1.currentbal+temp_stock1.locked_sell; end;
if pos_type==-2 then pos=temp_stock1.locked_sell; end;

return pos/temp_stock_info.lot_size
end

end

Периодически при пробегании по всему портфелю бумаг возвращает nil на существующие в портфеле бумаги. Иногда. Раз в 3-5 минут. Почему такое может происходить? параметры переданы верно. Бумага в портфеле есть, но иногда getDepoEx её не видит. Какие есть скрытые особенности у getDepoEx, из за чего бы она могла выдавать nil на реально существующую бумагу в портфеле?
Страницы: 1
Наверх