Ребята, прошу помощи начинающему Lua-разрабу. 
У меня есть такой код. Функция ActiveLimitOrderExists должна проверить, что по инструменту в таблице заявок есть активная лимитная заявка на продажу или покупку.
Проблема в этой строке
if bit.band(order.flags, 0x4) == operation_flag then
Не могу добиться, чтобы она отдавала правильный результат. Что может быть не так, что bit.band(order.flags, 0x4) ничего не отдает. Например, если вывести результат выполнения в message(bit.band(order.flags, 0x4)).
				У меня есть такой код. Функция ActiveLimitOrderExists должна проверить, что по инструменту в таблице заявок есть активная лимитная заявка на продажу или покупку.
Проблема в этой строке
if bit.band(order.flags, 0x4) == operation_flag then
Не могу добиться, чтобы она отдавала правильный результат. Что может быть не так, что bit.band(order.flags, 0x4) ничего не отдает. Например, если вывести результат выполнения в message(bit.band(order.flags, 0x4)).
| Код | 
|---|
function main()
   local a = ActiveLimitOrderExists(52.50, 1)
end
function ActiveLimitOrderExists(price, operation_flag)
    local orders_count = getNumberOf("orders")
    for i = 0, orders_count - 1 do
        local order = getItem("orders", i)
        if order.class_code == CLASS_CODE and order.sec_code == SEC_CODE then
           message("Не проверили направление сделки")
           if bit.band(order.flags, 0x4) == operation_flag then
            --if order.OPERATION == operation_flag then
                -- Проверяем, что цена совпадает
                message("Проверили направление сделки")
                if order.price == price then
                    -- Проверяем, что заявка активна (бит 0 в flags = 1)
                    if bit.band(order.flags, 0x1) == 0x1 then
                        -- Проверяем, что это лимитная заявка (бит 1 в flags = 0, т.е. не снята)
                        if bit.band(order.flags, 0x2) == 0 then
                            return true
                        end
                    end
                end
            end
        end
    end
    return false
end |