Как "280" разбивать на флаги, если максимум, что мы должны получить - это 255? Иногда проскальзывает "284". Проблема только с маркетными заявками отправляемыми программно. Код отправки:
Код |
---|
--Send limit or market order
function SendOrder(operation, price, quantity, type_order, comment)
-- Если это маркет заявка и цена не указана, то подставим цену в зависимости от типа заявки
if type_order == "M"
and price == 0 then
if operation == "B" then
price = tonumber(getParamEx(params.p_classcode, params.p_seccode, "pricemax").param_value)
elseif operation == "S" then
price = tonumber(getParamEx(params.p_classcode, params.p_seccode, "pricemin").param_value)
end
end
transaction = {
["CLASSCODE"] = params.p_classcode,
["ACTION"]="NEW_ORDER",
["ACCOUNT"]=params.account,
["OPERATION"] = operation,
["SECCODE"] = params.p_seccode,
["PRICE"] = tostring(round(price)),
["QUANTITY"] = tostring(quantity),
["TYPE"] = tostring(type_order),
["Условие исполнения"]=tostring("Поставить в очередь"),
["Переносить заявку"] = tostring("Да"),
["Дата экспирации"] = os.date("%Y%m%d", os.time() + 60 * 60 * 24),
}
--Check connection
if isConnected == 0 then
WriteLog("SendOrder", "Try to send limit in offline mode")
else
transaction.TRANS_ID = tostring(trans_id)
transaction.CLIENT_CODE = comment
res = sendTransaction(transaction)
end
if string.len(res) ~= 0 then
message(res)
end
end |