РоманВ (Все сообщения пользователя)

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

Страницы: 1
sendTransaction выдает ошибку для облигаций, sendTransaction выдает ошибку для облигаций (хотя работает для фьючерсов)
 
Цитата
Anton Belonogov написал:
Примечание
Спасибо большое Антон, всё работает  :smile:
Про карман транзакций не знал - буду дальше использовать  :cool:  
sendTransaction выдает ошибку для облигаций, sendTransaction выдает ошибку для облигаций (хотя работает для фьючерсов)
 
Цитата
Nikolay написал:
Хоть разработчики и декларируют, что доступно описание полей на русском,  но все же стоит описывать транзакцию через поля, описанные в  документации в английской нотации. И только те поля, что не имеют  английской нотации на русском, полученные через сохранение формата  транзакций из кармана транзакций. Правда придется такой квест проделать,  чтобы выявить такие поля.

Впрочем, видимо, не нравится поле Класс. В пишется код класса, а не имя.
Заменил "Торговый счет" на "ACCOUNT", получил ошибку
Код
Не найдено поле "ACCOUNT" для транзакции "Ввод заявки" по классу "МБ ФР: Т+: Облигации"
Так понял что ошибки выше говорят о том что те три поля ("Количество", "Класс", "Условие исполнения") типа не нужны. Закоментировал их, получил error "Не указан код клиента"
А когда добавляю поле
Код
order["Код клиента"] = "113..."
То получаю ошибку что поле лишнее
Код
Не найдено поле "Код клиента" для транзакции "Ввод заявки" по классу "МБ ФР: Т+: Облигации"
sendTransaction выдает ошибку для облигаций, sendTransaction выдает ошибку для облигаций (хотя работает для фьючерсов)
 
Доброго времени суток!
sendTransaction() работает для фьючерсов но не для облигаций

Код:
Код
LastOrderId = 1234

function BuyBonds(quantity)
   LastOrderId = LastOrderId + 1
   
   local order = {}
   order["TRANS_ID"] = tostring(LastOrderId)
   order["CLASSCODE"] = "TQCB"
   order["ACTION"] = "Ввод заявки"
   order["Торговый счет"] = "L01-00000F00"
   order["К/П"] = "Покупка"
   order["Тип"] = "Лимитированная"
   order["Класс"] = "МБ ФР: Т+: Облигации"
   order["Инструмент"] = "АЛЬФАБ2Р10"
   order["Цена"] = "98.10"
   order["Количество"] = tostring(quantity)
   order["Условие исполнения"] = "Поставить в очередь"

   local trxResult = sendTransaction(order)
   
   return trxResult
end

function main()
   local trxResult = BuyBonds(10)
   message(tostring(trxResult))

   local fileStream = io.open("result.txt", "a")
   fileStream:write(trxResult .. "\n")
   fileStream:close();
end

Ошибку выдает рандомно одну из следующих:
Код
Не найдено поле "Количество" для транзакции "Ввод заявки" по классу "МБ ФР: Т+: Облигации"
Не найдено поле "Класс" для транзакции "Ввод заявки" по классу "МБ ФР: Т+: Облигации"
Не найдено поле "Условие исполнения" для транзакции "Ввод заявки" по классу "МБ ФР: Т+: Облигации"

На случай если нужны детали по инструменту:
Код
base_active_seccode: 
list_level: 1
face_unit: SUR
nextcoupon: 20230823
settle_date: 20230727
isin_code: RU000A102S80
stock_name: 
exp_date: 0
code: RU000A102S80
ric_code: 
base_active_classcode: 
accruedint: 26.5
sec_code: RU000A102S80
first_curr_qty_scale: 0
buybackdate: 0
second_curr_qty_scale: 0
mat_date: 20240222
sedol_code: 
cfi_code: 
face_value: 1000.0
couponperiod: 183
settlecode: Y1
cusip_code: 
stock_code: 
qty_multiplier: 1
min_price_step: 0.01
buybackprice: 0.0
option_strike: 0.0
second_currcode: 
scale: 2
class_name: МБ ФР: Т+: Облигации
lot_size: 1
first_currcode: 
yieldatprevwaprice: 875.0
bsid: 
step_price_currency: 
class_code: TQCB
couponvalue: 3108.0
short_name: АЛЬФАБ2Р10
trade_currency: SUR
regnumber: 4B02-10-01326-B-002P
qty_scale: 0
name: АЛЬФА-БАНК Б2Р10
Страницы: 1
Наверх