Здравствуйте
Вы меня озадачили с этими битами.
Попытался вникнуть , что это вообще такое, дается тяжко
эту строку толком не понял,
if bit.band(flags, 0x1) ~= 0
здесь сравнивается два бита, из теории (если я правильно понял), если оба бита равны 1, то условие выполняется.
flags - это то число, которое я пытался использовать, оно , как я уже выяснил, бывает и 25 и 26 и 28 и 29 и 30.
Как это число может быть равно нулю или единице ?
0х1 - это , флаг, берется из описания битов флагов, но как это здесь используется, не пойму(ведь это в контексте каждой таблицы означает что то свое), по идее оно либо true либо false
почему сравнивается тип - число, и тип boolean ?
написал вот так
flag=trade_data.flags
flag1=bit.test(flag, 2)
if flag1==true then
flag1 = 'продажа'
else flag1 = 'покупка'
end
вроде работает
kalikazandr пишет:Так нельзя, это битовые флаги и могут иметь отличные от увиденных вами чисел, пользуйтесь функцией Operation_TLR(flags), если вас смущают возвращаемые цифры -1/1, замените их на "продажа"/"покупка".
По коду инструмента вы найдете всю инфо в таблице securities, скорее всего подойдет параметр short_name. Но не берусь утверждать, т.к. с облигациями дел не имел.