Обновил квик, перестали приходить ответы на транзакции, система не видит заявки робота, до обновления работало. Код робота в текстовом формате, интерпретирует его сам Quik. Где искать проблему? 19 цифр в идентификаторе заявки, это мне trans_id увеличить до 19 цифр? Помогите, кто знает.
Заново инсталлируете квик, копируете в соответствующие каталоги ключи и файл настроек. Прикрепляете в настройках квика ключи и файл настроек. И все — старый квик готов заново.
Денис Г., это я знаю, просто понять не могу почему на новом квике заявки не проходят. буду смотреть все параметры для отправки заявки, где то что-то пишет не верно, если нет ответа на транзакцию от системы.
Функция отправки транзакции что возвращает? Скорее всего либо цена, либо лотность идут дробью там, где не надо. Новый луа изменил правила конвертации чисел в строки.
Винни Пух, все понял спасибо. Решил проблему. Пока все работает.
--Получаем данные о точности инструмента.
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;
Henrich von Baur, не надо выдумывать. Мои посты ещё не удалены. Навечно купленные навечно и останутся. А что сверх лимита — будут проданы в +(плюс). Нехорошо передёргивать. Не стыдно?
Tverskoy_homyak, тут не о физиках речь, не мелочь по карманам тырить собираются. АФК система, и дочки ее, В контакте и другие кто неразумно брал кредиты. Получиться скрытая национализация. Ведь Сбе...
Дмитрий Первый, должены как-то разыграть эту ситуацию с Украиной, все таки холодное начало зимы. В Германии за домик 300м уже 900€ в месяц за отопление счёт приходит
АРПП и Руссофт предлагают включить школы и ССУЗы в «образовательную нагрузку» для ИТ-компаний — «Прежде всего, нас волнуют кадры — те кадры, которые крупные ИТ-компании могут делегировать в вузы для т...
Тут вопрос в том, что за источник цены выдает дробь?
если кратко.
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