Не понятные флаги в OnOrder.

Страницы: 1
RSS
Не понятные флаги в OnOrder., При отправке маркетной заявки по Фьючерсу Si, поле флаг равно 280.
 
Как "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
 
Цитата
Дмитрий Минеев пишет:
Как "280" разбивать на флаги, если максимум, что мы должны получить - это 255? Иногда проскальзывает "284". Проблема только с маркетными заявками отправляемыми программно. Код отправки:
Кто сказал что до 255?
Таблица 5.1
280 = 0x100 + 0x10 + 0x08
284 = 0x100 + 0x10 + 0x08 + 0х04
 
Цитата
Imersio Arrigo пишет:
Цитата
Дмитрий Минеев пишет:
Как "280" разбивать на флаги, если максимум, что мы должны получить - это 255? Иногда проскальзывает "284". Проблема только с маркетными заявками отправляемыми программно. Код отправки:
Кто сказал что до 255?
Таблица 5.1
280 = 0x100 + 0x10 + 0x08
284 = 0x100 + 0x10 + 0x08 + 0х04
Да. Все работает. Спасибо. Почему-то подумал, что это битовое значение.
 
Цитата
Дмитрий Минеев пишет:
Да. Все работает. Спасибо. Почему-то подумал, что это битовое значение.
Все верно. Это именно битовое. :)
Страницы: 1
Читают тему
Наверх