Quik- обновил, получил проблему.
Обновил квик, перестали приходить ответы на транзакции, система не видит заявки робота, до обновления работало. Код робота в текстовом формате, интерпретирует его сам Quik. Где искать проблему? 19 цифр в идентификаторе заявки, это мне trans_id увеличить до 19 цифр? Помогите, кто знает.
Тут вопрос в том, что за источник цены выдает дробь?
если кратко.
PriceFutures=math.floor(PriceFutures/StepPrice2[i])*StepPrice2[i]
Transaction['PRICE']=tostring(PriceFutures)
function apply_scale(value, scale)
return string.format("%."..tostring(scale) ..«f», value)
end
Дарю =)
Запускаем:
apply_scale(123500.0, 0)
может это поможет
math_round = function(num, idp)
if num == nil then num = 0 end
local mult = 10^(idp or 0)
return math.floor(num * mult + 0.5) / mult
end
--Получаем данные о точности инструмента.
scale1[i]=getSecurityInfo(CLASS_CODE1[i],SEC_CODE1[i]).scale;
scale2[i]=getSecurityInfo(CLASS_CODE2[i],SEC_CODE2[i]).scale;
теперь
Transaction['QUANTITY']=apply_scale(tostring(QtyFutures),0)
Transaction['PRICE']=apply_scale(tostring(PriceFutures),scale2[i])
--
function apply_scale(value, scale)
return string.format("%."..tostring(scale) ..'f', value)
end;
Примерно вот так я все сделал.
v7.21.2.1