Роман (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 След.
А графики в Квике не настоящие!!!
 
Ориентируйтесь на опены, очень много не корректных, свечки в середине дня и к закрытию иногда попадаются с неправильной ценной тоже.
Статус транзакции
 
Уточните пожалуйста по транзакциям. Судя по мануалу, все результаты транзакции теперь нужно брать из
function OnTransReply(trans_reply), а сам sendTransaction() - теперь не какие уведомления об ошибках с биржи не присылает.

Какой ключ в массиве trans_reply - возвращает сообщение об ошибке?
Цена шага
 
Можно так, но он с погрешностью считает.

К примеру  67.99/0.01, должно быть: 6 799, а в lua это 6 798
Получается (67.99/0.01)*0.01 должно получиться 67.99, а он выдаёт 67.98
Цена шага
 
только я не очень понял как в луа нормализовать цену, в купле был APPLY_SCALE, а здесь что? так что бы 123122 на 123120 и 0.5675 на 0.5670 мог сглаживать.
Цена шага
 
 В мануале нет SEC_PRICE_STEP, там только min_price_stepнашёл
Цена шага
 
А всё понял, у меня не правильное описание. Вопрос закрыт, green_X5 спасибо.
Цена шага
 
Прочитал, 0 там не должен быть, если по вашему я не прав, попробуйте ввести заявку с ценой 107411 :)
Цена шага
 
значит у всех такая бойда, ребята - разработчики ну почему у все 0, вместо 10 как должно быть.
Режим транзакции
 
Мы получаем класс, скармливая SECURITY, можно ручками прописать:

message(tostring(getSecurityInfo("SPBFUT","RIM5").scale),1000) - всё равно 0, у вас так же?
Цена шага
 
Ребята посмотрите кто может. Работает или нет? Не могу понять это глюк у меня или опять в системе?
Цена шага
 
Уточните, правильно ли я запрашиваю цену шага?

message(tostring(getSecurityInfo("SPBFUT","RIM5").scale),1000) - выводит 0?
Режим транзакции
 
getSecurityInfo(getSecurityInfo("","RIM5").class_code,"RIM5").scale - 0 выводит
А графики в Квике не настоящие!!!
 
RTSIDX RTSI
Режим транзакции
 
{TYPE="L",OPERATION="B",ACTION="NEW_ORDER",CLASSCODE="SPBFUT",TRANS_ID="355784784",COMMENT="",SECCODE="RIM5",QUANTITY="1",ACCOUNT="410000",PRICE="107571"}

Вроде все правильно стоит, а выводит странную ошибку: ОШИБКА СОЗДАНИЯ ЗАЯВКИ. [FORTS][39] "ЦЕНА НЕ КРАТНА МИНИМАЛЬНОМУ ШАГУ ЦЕНЫ.".
А графики в Квике не настоящие!!!
 
С официальными данными биржи, на некоторые координаты указал.
Отключение вне сессионной свечки на 09:00
 
индикаторы - тоже не мешало бы проверить!
Отключение вне сессионной свечки на 09:00
 
А на сайте бирже RTSIDX показывает, у вас он числиться как СПБ. А что же тогда RTSIND выводит?
Отключение вне сессионной свечки на 09:00
 
Что касается левых свечек, то они везде: https://forum.quik.ru/forum13/topic503/, я ещё акции и фьючерсы не смотрел.
Режим транзакции
 
спасибо
Отключение вне сессионной свечки на 09:00
 
RTSIDX - этот больше похож по официальные значения moex, на индекс РТС
RTSIND - RTSI то же есть но он очень разница с данными биржи.
А графики в Квике не настоящие!!!
 
Так вот, касательно моего комментария по поводу левых сигналов от индикаторов - из-за вне сессионных свечек это одно. Но вот в левости самих графиков это уже совсем плохо. Я не как не могу настроить систему на оригинальную работу, все время в Квике она работает как лузер на галере с одними убытками, хотя расчёт тютелька в тютельку.

Ну вот к примеру РТС часовик свеча 14:00 14.10.2014 и 15:00 14.10.2014 - ну вот кудо Ло 1073.12 делось, и почему 10:00 10.10.2014 - опен 1078,07 а не 1081,44, и такая ерунда в большинстве баров.

Ну вот как работ с графиками которые нам предлагает использовать LUA (заметьте не на глаз) если они абсолютно левые и к реальности не имеют не какого отношения, там же косяк в одну сотую уже имеет значение!
Логирование ошибок выполнения скрипта
 
не блокировать вывод в панель и записать в файл
getInfoParam is not a string?
 
Ну всё, теперь все на местах, заплаток конечно получилось многовато, но вроде машина завилась. Спасибо!
Логирование ошибок выполнения скрипта
 
p/s точней не убрались - этот способ  блокирует вывод ошибки 'ошибки работы скрипта'
getInfoParam is not a string?
 
кстати, а почему на TRADEDATE, дата не с года, а с числа начинается?
Логирование ошибок выполнения скрипта
 
А есть возможность что бы в панели в 'ошибки работы скрипта' убиралась при этом?
getInfoParam is not a string?
 
спасибо!
getInfoParam is not a string?
 
Sergey Gorokhov да я так и понял :), в мануале не помещало инфу об этом добавить.

И последний вопрос, по дате:

string.gsub(getInfoParam('TRADEDATE'),'.',''). Парни, а кто нибудь знает как в string.gsub точку указать для паттерна? '\.' - такой вариант тоже не берёт.
getInfoParam is not a string?
 
ну или так, только скобку подправить:
return tonumber((string.gsub(getInfoParam('SERVERTIME'),':',''))) or -1

С этим просто какая то ерунда, кода нет соединения или таблицы загружаются, getInfoParam('SERVERTIME') не равняется не nil и не времени   :(  
поэтому даже если поставить проверку getInfoParam('SERVERTIME') ~= nil она про игнорируется, у того же LASTRECORDTIME - постоянно есть запись в ячейки.
getInfoParam is not a string?
 
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?
 
когда она не только nil возвращает, но и attempt to compare number with nil на Time выдаёт
getInfoParam is not a string?
 
Sergey Gorokhov - спасибо, да посмотрите пожалуйста, с датой торгов таких проблем нет.
getInfoParam is not a string?
 
Заплатки я в принципе поставил. Но вот эта проблема с влитом в процессе загрузки таблиц до сех пор смущает. Хотя я думал что и tonumber не может выдавать nil - а оказывается может :(
getInfoParam is not a string?
 
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 - так более подходяще.
getInfoParam is not a string?
 
Кстати, к примеру на отпарсенный getInfoParam("TRADEDATE") - не каких жалоб.
getInfoParam is not a string?
 
З.ы. заплатками я то же проблему решаю, но здесь галюкан который и скрипт вырубить может - а потом мне ушами хлопать, куда деньжищи пропали.
getInfoParam is not a string?
 
У него 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()
 
тьфу, инициализируется OnClose() или нет, может я что то не правильно делаю, хотя в других местах все работает.
OnClose()
 
Как можно протестировать специализируется ли метод OnClose()?
Закладки
 
Просьба тогда добавить в "Пожелания"
getInfoParam is not a string?
 
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
Логирование ошибок выполнения скрипта
 
спасибо
Логирование ошибок выполнения скрипта
 
Скажите, а как можно логировать ошибки в файл выводящихся в панели "доступные скрипты"
getInfoParam is not a string?
 
версия 6.17.1.17
getInfoParam is not a string?
 
И вот ещё tonumber(string.gsub(getInfoParam('SERVERTIME'),':','')) > 100  в промежутке подключения и загрузки таблиц выводит:  attempt to compare number with nil, хотя упёрто не видит tonumber()
getInfoParam is not a string?
 
Или утечка памяти где-то :(
getInfoParam is not a string?
 
В общем сейчас ночь и она опять 25:10:00 - это наверное зависит в какое время запрашиваешь инфу, тогда и глючит.
OnClose()
 
файл там и с flush и с close, сам механиз записи работает проверен на OnStop() , там хоть вместо файла sleep(500000) ставь, не сработает.
OnClose()
 
Уточните пожалуйста, в теле функции OnClose() прописываю процедуру сохранения в файл параметра таблицы, для того что бы каждый раз при выходи из Квика, эти данные сохранялись на диске. Но проблема в том что сохранение не происходит, ради интереса ставил sleep(500000), но такое ощущение что OnClose() не срабатывает Квик сразу закрывается не выполняя процедуру указанную в OnClose(). А вот c OnStop() все правильно работает. В чем может быть причина?
Режим транзакции
 
"Отправляю:
{TYPE="L",OPERATION="B",ACTION="NEW_ORDER",price="8547",TRANS_ID="1170018617",SECCODE="SRM5",QUANTITY="1",comment="CoverShort",class_code="SPBFUT",account="410000"}

Возвращает ошибку: "Не указан режим транзакции", что ещё не хватает для обработки транзакции? Вроде по стандарту собираю транзакцию.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 След.
Наверх