Уточните пожалуйста по транзакциям. Судя по мануалу, все результаты транзакции теперь нужно брать из function OnTransReply(trans_reply), а сам sendTransaction() - теперь не какие уведомления об ошибках с биржи не присылает.
Какой ключ в массиве trans_reply - возвращает сообщение об ошибке?
только я не очень понял как в луа нормализовать цену, в купле был APPLY_SCALE, а здесь что? так что бы 123122 на 123120 и 0.5675 на 0.5670 мог сглаживать.
Так вот, касательно моего комментария по поводу левых сигналов от индикаторов - из-за вне сессионных свечек это одно. Но вот в левости самих графиков это уже совсем плохо. Я не как не могу настроить систему на оригинальную работу, все время в Квике она работает как лузер на галере с одними убытками, хотя расчёт тютелька в тютельку.
Ну вот к примеру РТС часовик свеча 14:00 14.10.2014 и 15:00 14.10.2014 - ну вот кудо Ло 1073.12 делось, и почему 10:00 10.10.2014 - опен 1078,07 а не 1081,44, и такая ерунда в большинстве баров.
Ну вот как работ с графиками которые нам предлагает использовать LUA (заметьте не на глаз) если они абсолютно левые и к реальности не имеют не какого отношения, там же косяк в одну сотую уже имеет значение!
Sergey Gorokhov да я так и понял :), в мануале не помещало инфу об этом добавить.
И последний вопрос, по дате:
string.gsub(getInfoParam('TRADEDATE'),'.',''). Парни, а кто нибудь знает как в string.gsub точку указать для паттерна? '\.' - такой вариант тоже не берёт.
ну или так, только скобку подправить: return tonumber((string.gsub(getInfoParam('SERVERTIME'),':',''))) or -1
С этим просто какая то ерунда, кода нет соединения или таблицы загружаются, getInfoParam('SERVERTIME') не равняется не nil и не времени :( поэтому даже если поставить проверку getInfoParam('SERVERTIME') ~= nil она про игнорируется, у того же LASTRECORDTIME - постоянно есть запись в ячейки.
tonumber((string.gsub(getInfoParam('SERVERTIME'),':','')) or '0') все равно равен nil при закачки таблиц tonumber((string.gsub(getInfoParam('SERVERTIME'),':','')) or '0') > 0 attempt to compare number with nil
в общем я поставил так Stime() ~= nil робот продолжает работа.
Заплатки я в принципе поставил. Но вот эта проблема с влитом в процессе загрузки таблиц до сех пор смущает. Хотя я думал что и tonumber не может выдавать nil - а оказывается может :(
Michael Bulychev, а вот это я не заметил: '232323' и 2. Но все равно с.м. вариант функции которую я выше выложил там используется string.sub(Ftimes,0,2)..string.sub(Ftimes,4,5)..string.sub(Ftimes,7,9) и он все равно муть какую-то возвращает, второго параметра там ну не как не откуда взятся.
if tonumber((string.gsub(getInfoParam('SERVERTIME'),':','')) or '0') > 100 then - так более подходяще.
У него type(Time) равен string но на tonumber(Time)>0 - attempt to compare number with nil, ну вот какой из tonumber() nil?
вот пример одного из кодов который валится на тайме:
Код
function TTime()
local Time = Stime()
--message('('..tostring(Time)..'
> 95959 and '..tostring(Time)..' < 135955) or ('..
tostring(Time)..' > 140259 and '..tostring(Time)..' < 184400) and
'..tostring(see_td("LOC_DATE"))..' ==
'..tostring(see_td("TRADE_DATE")),100000)
if (Time ~= nil and (Time
> 95959 and Time < 135955) or (Time > 140259 and Time <
184400)) then - attempt to compare number with nil на Time
> 95959
return "T"
end
return "-"
end
function Stime()
local Ftimes = 0
Ftimes = getInfoParam("SERVERTIME") -- ночью показывает 25:12:45
return tonumber(string.sub(Ftimes,0,2)..string.sub(Ftimes,4,5)..string.sub(Ftimes,7,9))
--return tonumber(string.gsub(getInfoParam('SERVERTIME'),':',''))
end
25:10:00 - отражает когда соединение есть, не зависимо от времени соединения, tonumber() выдающий ошибку attempt to compare number with nil - да в основном падает в начале соединения (скорее кажется когда таблицы закачает), здесь ещё не понятно почему tonumber() - nil отдаёт, причём даже ставлю tonumber(Time)~=nil and tonumberi(Time)>0 всеравно выводит attempt to compare number with nil
И вот ещё tonumber(string.gsub(getInfoParam('SERVERTIME'),':','')) > 100 в промежутке подключения и загрузки таблиц выводит: attempt to compare number with nil, хотя упёрто не видит tonumber()
Уточните пожалуйста, в теле функции OnClose() прописываю процедуру сохранения в файл параметра таблицы, для того что бы каждый раз при выходи из Квика, эти данные сохранялись на диске. Но проблема в том что сохранение не происходит, ради интереса ставил sleep(500000), но такое ощущение что OnClose() не срабатывает Квик сразу закрывается не выполняя процедуру указанную в OnClose(). А вот c OnStop() все правильно работает. В чем может быть причина?