Ориентируйтесь на опены, очень много не корректных, свечки в середине дня и к закрытию иногда попадаются с неправильной ценной тоже.
Статус транзакции
Пользователь
Сообщений: Регистрация: 09.02.2015
14.05.2015 01:17:04
Уточните пожалуйста по транзакциям. Судя по мануалу, все результаты транзакции теперь нужно брать из function OnTransReply(trans_reply), а сам sendTransaction() - теперь не какие уведомления об ошибках с биржи не присылает.
Какой ключ в массиве trans_reply - возвращает сообщение об ошибке?
Цена шага
Пользователь
Сообщений: Регистрация: 09.02.2015
14.05.2015 00:27:38
Можно так, но он с погрешностью считает.
К примеру 67.99/0.01, должно быть: 6 799, а в lua это 6 798 Получается (67.99/0.01)*0.01 должно получиться 67.99, а он выдаёт 67.98
Цена шага
Пользователь
Сообщений: Регистрация: 09.02.2015
13.05.2015 21:50:07
только я не очень понял как в луа нормализовать цену, в купле был APPLY_SCALE, а здесь что? так что бы 123122 на 123120 и 0.5675 на 0.5670 мог сглаживать.
Цена шага
Пользователь
Сообщений: Регистрация: 09.02.2015
13.05.2015 21:45:20
В мануале нет SEC_PRICE_STEP, там только min_price_stepнашёл
Цена шага
Пользователь
Сообщений: Регистрация: 09.02.2015
13.05.2015 18:44:51
А всё понял, у меня не правильное описание. Вопрос закрыт, спасибо.
Цена шага
Пользователь
Сообщений: Регистрация: 09.02.2015
13.05.2015 18:39:51
Прочитал, 0 там не должен быть, если по вашему я не прав, попробуйте ввести заявку с ценой 107411 :)
Цена шага
Пользователь
Сообщений: Регистрация: 09.02.2015
13.05.2015 18:19:37
значит у всех такая бойда, ребята - разработчики ну почему у все 0, вместо 10 как должно быть.
Режим транзакции
Пользователь
Сообщений: Регистрация: 09.02.2015
13.05.2015 17:42:16
Мы получаем класс, скармливая SECURITY, можно ручками прописать:
message(tostring(getSecurityInfo("SPBFUT","RIM5").scale),1000) - всё равно 0, у вас так же?
Цена шага
Пользователь
Сообщений: Регистрация: 09.02.2015
13.05.2015 17:38:48
Ребята посмотрите кто может. Работает или нет? Не могу понять это глюк у меня или опять в системе?
Вроде все правильно стоит, а выводит странную ошибку: ОШИБКА СОЗДАНИЯ ЗАЯВКИ. [FORTS][39] "ЦЕНА НЕ КРАТНА МИНИМАЛЬНОМУ ШАГУ ЦЕНЫ.".
А графики в Квике не настоящие!!!
Пользователь
Сообщений: Регистрация: 09.02.2015
12.05.2015 20:36:36
С официальными данными биржи, на некоторые координаты указал.
Отключение вне сессионной свечки на 09:00
Пользователь
Сообщений: Регистрация: 09.02.2015
10.05.2015 01:05:04
индикаторы - тоже не мешало бы проверить!
Отключение вне сессионной свечки на 09:00
Пользователь
Сообщений: Регистрация: 09.02.2015
10.05.2015 00:51:40
А на сайте бирже RTSIDX показывает, у вас он числиться как СПБ. А что же тогда RTSIND выводит?
Отключение вне сессионной свечки на 09:00
Пользователь
Сообщений: Регистрация: 09.02.2015
10.05.2015 00:22:20
Что касается левых свечек, то они везде: , я ещё акции и фьючерсы не смотрел.
Режим транзакции
Пользователь
Сообщений: Регистрация: 09.02.2015
09.05.2015 21:26:04
спасибо
Отключение вне сессионной свечки на 09:00
Пользователь
Сообщений: Регистрация: 09.02.2015
09.05.2015 21:07:20
RTSIDX - этот больше похож по официальные значения moex, на индекс РТС RTSIND - RTSI то же есть но он очень разница с данными биржи.
А графики в Квике не настоящие!!!
Пользователь
Сообщений: Регистрация: 09.02.2015
09.05.2015 20:59:18
Так вот, касательно моего комментария по поводу левых сигналов от индикаторов - из-за вне сессионных свечек это одно. Но вот в левости самих графиков это уже совсем плохо. Я не как не могу настроить систему на оригинальную работу, все время в Квике она работает как лузер на галере с одними убытками, хотя расчёт тютелька в тютельку.
Ну вот к примеру РТС часовик свеча 14:00 14.10.2014 и 15:00 14.10.2014 - ну вот кудо Ло 1073.12 делось, и почему 10:00 10.10.2014 - опен 1078,07 а не 1081,44, и такая ерунда в большинстве баров.
Ну вот как работ с графиками которые нам предлагает использовать LUA (заметьте не на глаз) если они абсолютно левые и к реальности не имеют не какого отношения, там же косяк в одну сотую уже имеет значение!
Логирование ошибок выполнения скрипта
Пользователь
Сообщений: Регистрация: 09.02.2015
09.05.2015 20:23:24
не блокировать вывод в панель и записать в файл
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 19:23:41
Ну всё, теперь все на местах, заплаток конечно получилось многовато, но вроде машина завилась. Спасибо!
Логирование ошибок выполнения скрипта
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 19:21:47
p/s точней не убрались - этот способ блокирует вывод ошибки 'ошибки работы скрипта'
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 17:42:24
кстати, а почему на TRADEDATE, дата не с года, а с числа начинается?
Логирование ошибок выполнения скрипта
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 17:38:42
А есть возможность что бы в панели в 'ошибки работы скрипта' убиралась при этом?
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 17:23:08
спасибо!
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 16:43:57
да я так и понял :), в мануале не помещало инфу об этом добавить.
И последний вопрос, по дате:
string.gsub(getInfoParam('TRADEDATE'),'.',''). Парни, а кто нибудь знает как в string.gsub точку указать для паттерна? '\.' - такой вариант тоже не берёт.
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 16:22:29
ну или так, только скобку подправить: return tonumber((string.gsub(getInfoParam('SERVERTIME'),':',''))) or -1
С этим просто какая то ерунда, кода нет соединения или таблицы загружаются, getInfoParam('SERVERTIME') не равняется не nil и не времени :( поэтому даже если поставить проверку getInfoParam('SERVERTIME') ~= nil она про игнорируется, у того же LASTRECORDTIME - постоянно есть запись в ячейки.
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 15:48:50
tonumber((string.gsub(getInfoParam('SERVERTIME'),':','')) or '0') все равно равен nil при закачки таблиц tonumber((string.gsub(getInfoParam('SERVERTIME'),':','')) or '0') > 0 attempt to compare number with nil
в общем я поставил так Stime() ~= nil робот продолжает работа.
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 15:06:48
когда она не только nil возвращает, но и attempt to compare number with nil на Time выдаёт
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 15:04:50
- спасибо, да посмотрите пожалуйста, с датой торгов таких проблем нет.
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 14:58:41
Заплатки я в принципе поставил. Но вот эта проблема с влитом в процессе загрузки таблиц до сех пор смущает. Хотя я думал что и tonumber не может выдавать nil - а оказывается может :(
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 14:38:47
, а вот это я не заметил: '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 - так более подходяще.
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 14:00:06
Кстати, к примеру на отпарсенный getInfoParam("TRADEDATE") - не каких жалоб.
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 13:49:58
З.ы. заплатками я то же проблему решаю, но здесь галюкан который и скрипт вырубить может - а потом мне ушами хлопать, куда деньжищи пропали.
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 12:54:04
У него 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
OnClose()
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 12:37:27
тьфу, инициализируется OnClose() или нет, может я что то не правильно делаю, хотя в других местах все работает.
OnClose()
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 11:56:59
Как можно протестировать специализируется ли метод OnClose()?
Закладки
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 11:48:44
Просьба тогда добавить в "Пожелания"
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 11:47:02
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
Логирование ошибок выполнения скрипта
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 11:38:21
спасибо
Логирование ошибок выполнения скрипта
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 04:21:12
Скажите, а как можно логировать ошибки в файл выводящихся в панели "доступные скрипты"
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 04:18:30
версия 6.17.1.17
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 04:06:16
И вот ещё tonumber(string.gsub(getInfoParam('SERVERTIME'),':','')) > 100 в промежутке подключения и загрузки таблиц выводит: attempt to compare number with nil, хотя упёрто не видит tonumber()
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 03:40:29
Или утечка памяти где-то :(
getInfoParam is not a string?
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 03:17:39
В общем сейчас ночь и она опять 25:10:00 - это наверное зависит в какое время запрашиваешь инфу, тогда и глючит.
OnClose()
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 01:33:56
файл там и с flush и с close, сам механиз записи работает проверен на OnStop() , там хоть вместо файла sleep(500000) ставь, не сработает.
OnClose()
Пользователь
Сообщений: Регистрация: 09.02.2015
07.05.2015 00:31:56
Уточните пожалуйста, в теле функции OnClose() прописываю процедуру сохранения в файл параметра таблицы, для того что бы каждый раз при выходи из Квика, эти данные сохранялись на диске. Но проблема в том что сохранение не происходит, ради интереса ставил sleep(500000), но такое ощущение что OnClose() не срабатывает Квик сразу закрывается не выполняя процедуру указанную в OnClose(). А вот c OnStop() все правильно работает. В чем может быть причина?