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

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

Страницы: Пред. 1 ... 4 5 6 7 8 9 10 11 12 13 14 ... 78 След.
Какая кодировка используются в Lua?
 
Цитата
Александр написал:
Получается, что в терминале на английском языке на английской винде, в таблице текущих параметров в поле бумага - будет аракадабра?
Вы задаете одни и теже вопросы по кругу.
Вам уже дали ответ:
Цитата
Sergey Gorokhov написал:
Да будут проблемы.Но они как правило решаются настройкой "язык для программ, не поддерживающих юникод" = русский
Какая кодировка используются в Lua?
 
Цитата
Александр написал:
Всегда и везде будет кодировка windows-1251 или она зависит от терминала (его языка), ос (наличие кирилицы или нет) или сервека квик?

Вы задаете одни и теже вопросы по кругу.
Вам уже дали ответ:
Цитата
Sergey Gorokhov написал:
зависит от настроек сервера, но как правило большая часть (или вообще все) используют кодировку ANSI с кодовой таблицей Windows-1251
Какая кодировка используются в Lua?
 
Александр,
Вам уже дали ответ, какой еще вариант вам нужен?
Везде используется ANSI
Всегда
Во всех данных
во всех языках.
Какая кодировка используются в Lua?
 
Цитата
Sergey Gorokhov написал:
Но они как правило решаются настройкой "язык для программ, не поддерживающих юникод" = русский
Или, как йже было сказано, не использовать русский там где нет русской кирилицы
терминал QUIK умеет переключаться на английский
Какая кодировка используются в Lua?
 
Цитата
Александр написал:
Хорошо. Если кодировка Windows - 1251, то в терминале где нет кирилицы, будут проблемы.
Вы имеете ввиду OS где нет кирилицы.
Да будут проблемы.
Но они как правило решаются настройкой "язык для программ, не поддерживающих юникод" = русский
Цитата
Александр написал:
А сервер квик не знает, какая кодировка у клиента на компьютере есть, а какой нету.
Естественно не знает
Какая кодировка используются в Lua?
 
Цитата
Александр написал:
Кодировка то какая всегда windows-1251? Или зависит от настроек сервера?

зависит от настроек сервера, но как правило большая часть (или вообще все) используют кодировку ANSI с кодовой таблицей Windows-1251
Какая кодировка используются в Lua?
 
Цитата
Александр написал:
Странный ответ. При чем здесь lua? Терминал же сохраняет строки для дальнейшего использования в луа?Вот я хочу узнать, что вы туда записываете.
Странный вопрос, Вы же спрашиваете про Lua, а не про терминал QUIK.
О tostring нам известно не больше чем то что написано в официальной документации на сайте lua.org
Если интересует в какой кодировке сервер QUIK отправляет данные на терминал, то в ANSI.
Какая кодировка используются в Lua?
 
Александр,
Зачем?
Нам нет смысла отдельно проводить исследования.
Если Вам интересен ответ, Вы можете узнать его самостоятельно, либо попробовать поискать ответ в интернете.
Lua разработан не нами, наверняка на форумах которые ему посвящены Вы найдете что то нужно.
Какая кодировка используются в Lua?
 
Цитата
Александр написал:
В какой кодировке будут строки, если вызвать lua_tolstring для преобразования в unicode?

Мы не проводили исследований на этот счет.
Какая кодировка используются в Lua?
 
Цитата
Александр написал:
Квик не будет работать на системе, где не установлена кирилица?

Конечно будет, на английском же языке.
Какая кодировка используются в Lua?
 
Цитата
Александр написал:
Я бы хотел узнать о поведении терминала, где например нет кирилицы?
терминал тут не причем, если в Windows нет кирилицы то и в QUIK ее не будет
Какая кодировка используются в Lua?
 
Цитата
Александр написал:
Какая кодировка используются в Lua?
Мы рекомендуем использовать кодировку ANSI
Для кирилицы выбирать Windows - 1251
quik вылетает без ошибки при остановке скрипта
 
Здравствуйте,
Поищите в журнале событий Windows события относящиеся к проблеме.
Не активен скрипт. Что не так
 
Александр,
А у нас работает.
Значит Вы что то сделали не так.
Идентификаторы задали на графиках?
Появляется лишняя строка в таблице
 
Старатель,
Проблема изучается. Постараемся в ближайшее время дать ответ.
[BUG] Крах Квика при работе скрипта, версия 8.5
 
Цитата
Latrop написал:
Не тот скрипт, вот чистый lua :)
Код
   function   OnAllTrade (tick)
 end 
 
mainRun  =   false 
 
 function   OnStop (flag) 
    message ( "OnStop" )
   mainRun  =   false 
    return   3000 ;
 end 
 
 function   main ()
   mainRun  =   true 
    message ( "main run..." )
   
    while  mainRun  do 
       local  ticksNum  =   getNumberOf ( "all_trades" )
       local  tick  =   getItem ( "all_trades" , ticksNum -  1 )
       sleep ( 1 )
    end 
 
    message ( "main exit" )
 end 
  

Проблема изучается. Постараемся в ближайшее время дать ответ.
quik 8.5 ошибка
 
Цитата
rst9 написал:
Цитата
Sergey Gorokhov написал:
Опишите более развернуто что именно Вы хотите получить
например, что-то подобное... LUA:
Код
   function   threadfunc ( .. .)
     while   not  CuttentThreadTerminated  do 
         --  
     end 
 end 

thread  =  CreateThread(threadfunc,  .. .)
 thread.TerminateThread ()
 thread.Join ()
thread  =   nil 
collectgarbage()
  
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Не активен скрипт. Что не так
 
Александр,

Автор кода не предусмотрел автосоздания следующих файлов
Код
PositionList = "c:\\TurboMartin\\Position.txt" -- здесь хранятся данные о позиции.
CurrentState = "c:\\TurboMartin\\CurrentState.txt" -- здесь хранятся данные о позиции.
LogFileName = "c:\\Log\\turbomartin_log.txt" -- Технический лог.


создайте их вручную
Как рисовать линию тренда и прямоугольники из lua?
 
Цитата
Сергей Привалов написал:
Метки это рисунок, который лежит в файле. Тоже не нашел возможность как из lua нарисовать прямоугольник на графике. Руками можно а вот из кода как ?
Или я плохо искал ? Подскажите, как нарисовать прямоугольник ?

Нужно нарисовать прямоугольник в bmp файле, а потом добавить его на график через функцию AddLabel
Баг с выводом времени в таблицу QLua
 
Дмитрий,

Все правильно, число 0 при преобразовании в строку дает "0"
И это не баг.
Иначе 10 было бы "100" и тогда да это уже был бы баг.


Если нужно "00" то преобразуйте явно с добавлением "0" через условие, если длина строки равна 1 символу,
или через функцию string.format("%02d", alltrade.datetime.min)
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
s_mike@rambler.ru,
Михаил,
Пришлите пример кода.
Допуступ к новостям
 
Владимир А.,
На данный момент нет.
trans2quik.dll x32 и обновление Спектры в апреле 2020
 
Цитата
Юрий написал:
После обновления спектры и увеличения разрядности номера сделок будет ли корректно работать 32 разрядная библиотека trans2quik?
Да будет, достаточно просто взглянуть на trans2quik_api.h чтобы понять это.
Цитата
double dOrderNumber,
Цитата
Юрий написал:
Будет ли работать QUIK 8 с 32 разрядной trans2quik ?
8-я версия вышла почти год назад, никто не жаловался.

Цитата
Михаил Филимонов написал:
Разрядность переменной для хранения тикета ордера в TRANS2QUIK_APIопределена какtypedef unsigned __int64 EntityNumber

Вы говорите про х64 версию, а автор спрашивал про х32
Internal exception happend, Не запускается Quik.
 
Виктор,
Ждите результатов анализа, Вам ответят почтой.
Internal exception happend, Не запускается Quik.
 
Виктор,
Тогда у Вас кардинально другая проблема и ничего общего у Вас с проблемой автора топика нет.
По идее в папке с терминалом должна быть папка dmp, посмотрите в ней файлы, если есть то пришлите нам на quiksupport@arqatech.com
Internal exception happend, Не запускается Quik.
 
Виктор,

Если у Вас действительно такая же проблема, значит просто не ставьте терминал QUIK в папку Program Files и всё.
Quik 8.5 не освобождается память
 
Цитата
Андрей написал:
В итоге когда квик 8.5 с запущенным данным скриптом выедает полностью всю память, память очищается, и сново начинает заполнятся, затем на второй и третий раз полного заполнения памяти квик падает без дампа.  Можно использовать sleep(15) тогда просто память медленнее растет. В 7 квике такого сильного роста памяти нет.
Проблема изучается. Постараемся в ближайшее время дать ответ.
Вам запрещена работа по данному инструменту., Данное сообщение появляется после перемещения заявки.
 
Здравствуйте,
Сообщение о запрете возвращает сервер QUIK, а не терминал и не lua.
Вам нужно обратиться к брокеру для выяснения причин возникновения сообщения.
Quik 8.5 не освобождается память
 
Цитата
Андрей написал:
1. При аварийном завершении работы скрипта не удаляется окно(таблица AllocTable()) которое было создано в квике
Пока не вызван DestroyTable таблица не должна удаляться.
А он не может быть вызван по причине аварийного завершения работы скрипта.
В старых версиях также было.

Цитата
Андрей написал:
2. Не освобождается память по коду ниже, при использовании SetEmptyCallback очищается нормально
Поясните подробней как проводилось исследование, как был сделан вывод?
quik 8.5 ошибка
 
Цитата
rst9 написал:
и, кстати, арка текнолоджис, у меня вам предложение: может вы сделаете апи для тредов, раз уж вы все равно родили диалект lua под названием qlua?    


Опишите более развернуто что именно Вы хотите получить
quik 8.5 + lua 5.3 = ошибка
 
Цитата
ISR написал:
Значит так будет правильно?

Если работает значит правильно (не проверял)
quik 8.5 + lua 5.3 = ошибка
 
Цитата
ISR написал:
Так как можно представить дробное число без разделителя дроби? Ведь именно на такой разделитель и ругается квик.

QUIK ругается потому что ему передают дробное число а на инструменте целый шаг цены.
ели шаг цены дробный то можно передавать дробное число округленное до шага цены.
quik 8.5 ошибка
 
Цитата
Latrop написал:
Примитивная  dll  в  OnAllTrade  просто дергать напр getInfoParam("VERSION") и больше вообще ничего, никаких эксепшенов, но после коннекта и получения прим 50-100 тыс тиков валится:

Critical error ACCESS_VIOLATION in script...

Что это за беда такая может быть?...

Если в OnAllTrade вообще ничего не делать, пустышка, то не падает. Но такой способ обхода проблемы не очень подходит :)

Добрый день,

К сожалению, нам не удалось по присланным данным воспроизвести ошибку. Если это возможно, пришлите пример кода, работа с которым приводит к сбою.
quik 8.5 ошибка
 
quio,
проблема изучается. Постараемся в ближайшее время дать ответ.
quik 8.5 ошибка
 
Цитата
quio написал:
Цитата
Sergey Gorokhov написал:
А если использовать именно lua_callk?
Тоже самое (lua_call это и есть lua_callk).

т.е. вы хотите сказать что при вызове именно так
lua_callk(L, 2, 1, 0, NULL);
и не работает?
quik 8.5 ошибка
 
quio,
А если использовать именно lua_callk?
quik 8.5 ошибка
 
Цитата
quio написал:
Именно так и сделано в штатном файле lua.h из Lua 5.3.5 - lua_call является вызовом lua_callk
Да именно и Вам у Вас в Вашем коде надо сделать также, либо использовать только lua_callk
quik 8.5 ошибка
 
Цитата
Anton написал:
Окончательно установил, что lua_error из 8.5 генерирует лонгджамп вместо эксепшена. Вот это работает (отлавливает ошибку)
Код
  static int qmain(lua_State  *  s)
{
   lua_longjmp jbuf;
   jbuf.status  =   0 ;
   jbuf.previous  =  s -  > errorJmp;
   s -  > errorJmp  =   & jbuf;
    if (setjmp(jbuf.b)  =  =   0 )
   {
      luaL_error(s,  "err" );
   }
   s -  > errorJmp  =  jbuf.previous;
    return   0 ;
}
  
Это залет, товарищи.

Добрый день,

Действительно, lua53.dll собрана с отличной от lua5.1.dll конфигурацией. Мы исправим конфигурацию в ближайшем обновлении ПО.
quik 8.5 ошибка
 
Цитата
quio написал:
Господа, а у вас вызов функций Квика через lua_call из своих потоков с новым состоянием вообще работет?

Создаю новое состояние через lua_newthread(L), передаю его с свой поток, созданный через _beginthreadex, из этого потока вызываю функцию через lua_call. И ничего не проиходит - на верхушке стека остается название функции. Если вызывать lua_call из потоков Квика (с его состоянием), все в порядке.

Раньше свою длл нужно было с qlua.dll линковать, как раз что-то с потоками было связано. Теперь в ней нет функций, прилинковал свою длл к lua53.dll.
Добрый день,

В Lua машине 5.3.5 нет такой функции как lua_call (). Есть её аналог lua_callk.
Используйте ее.
Либо добавьте в свой код что то вроде этого:
#define lua_call(L,n,r) lua_callk(L, (n), ®, 0, NULL)
quik 8.5 ошибка
 
Цитата
rst9 написал:
воспроизвести можно так:
1. создаем dll, в ней линкуемся с lua53.dll.
2. в luaopen_... создаем новый инстанс lua vm при помощи luaL_newstate()
3. инициализируем его при помощи luaL_openlibs()
получаем исключение "multiple Lua VMs detected. Expected 5.3 instead of 0.0"

что-то вы там не доделали, исправьте, пожалуйста. спасибо.
Добрый день,

Действительно, есть ошибка загрузки lua53.dll в сторонние приложения. Мы исправим её в ближайшем обновлении ПО. Приносим извинения за доставленные неудобства.
Помогите восстановить работоспособность скрипта LUA после перехода на quik 8.5 с lua 5.3
 
Цитата
Дмитрий написал:
Я сразу написал, что у меня нет возможности, потому что я вообще не знаком с Lua. К автору скрипта я то же не могу обратиться, т.к. скачал 2 или больше года назад. Я не сохранял ссылку на место скачки, т.к. не предполагал, что ARQA когда-то и зачем-то захочется внедрить в QUIK другую обратно не совместимую версию Lua
Если нет автора, попросите помощи у людей на форуме, может найдется герой который исправит нужный Вам код за деньги или просто по доброте душевной.

Цитата
Дмитрий написал:
И как я вижу все обсуждение закончилось "Ваше письмо получено, проблема изучается".
не путайте темы, вопрос про ".0" вообще никак, от слова совсем, не связан с аварийным завершением работы терминала у пользователя ISR и то что эти два обсуждения попали в одну ветку совершенно не значит что между ними есть что-то общее.

Цитата
Дмитрий написал:
Вы, как вижу, прекрасно понимаете, что и где надо поменять. Так может сделаете доброе дело и подправите скрипт? В конце концов, это же Ваша инициатива с заменой версии Lua создала людям проблему.
Написание скриптов для клиентов не является задачей тех поддержки.
Мы можем указать на ошибку в коде, и даже указать как именно ошибку исправить, но само исправление должны сделать Вы, ну или человек который готов будет Вам помочь.

Цитата
Дмитрий написал:
Не говоря о том, что за столько лет существования QUIK такая базовая функция как автоматическое выставление стопа/тэйка по открытию позиции могла быть имплементирована в сам QUIK без дополнительных костылей.
Эта тема вообще никак не связана с Lua, если хотите доработку в терминале, оформите пожелание в соответствующей ветке форума
Уведомление о необходимости обновления торговых терминалов в связи с изменениями на срочном рынке Московской биржи, Список проблем при работе устаревших версий QUIK после обновления торговой системы срочного рынка МБ
 
Цитата
Sergey Denegin написал:
Как одно из решений - квик принимает от луа номер в виде текста, а сам отправляет заявку на биржу в нужном формате. Доработка должна быть минимальной, а благодарность от пользователей огромная
Вы не поверите, но QUIK и так принимает от Lua номер в виде текста, и даже более того в документации четко сказано что вообще все параметры в транзакции должны быть в виде текста.

Цитата
foobar написал:
1. Какие изменения будут в trans2quik в связи с этим? Там номер заявки определён как LONG, оно туда поместится?
QUIK

Вы не правы, в trans2quik_api.h мы видим следующее:

EntityNumber nOrderNum
где
typedef unsigned __int64 EntityNumber;

Согласно открытым источникам (можете погуглить) тип unsigned __int64 ограничен диапазоном от 0 до 18 446 744 073 709 551 615. Что больше 19 символов.

Цитата
foobar написал:
2. Quik For Android, который назван "устаревшим" работает с ключами, а новая программа только с паролем (и SMS, которые я люто не люблю). Будет ли доработана старая версия в связи с этим?
Считайте что нет больше такого ПО.
А второй фактор можно отключить обратившись к брокеру.

Цитата
foobar написал:
3. Новая версия, которую я скачал с сайта брокера, ругается на то, что телефон рутованный. На мой взгляд, некорректно, указывать пользователям как они должны настраивать собственное устройство. Можно сделать предупреждение отключаемым?
Если Вы ранее считали безопасным использование своего устройства с root-правами
(расширенными), то ничего не мешает считать так и дальше.

Цитата
Sergey Denegin написал:
А свалить проблемы разработчиков софта на пользователей, не очень красивых ход для имиджа.
Можете остаться работать на 7й версии, но с некоторыми неудобствами которые всё-таки можно преодолеть.
Например, что мешает номер заявки для снятия получать из ответов на транзакции?
Помогите восстановить работоспособность скрипта LUA после перехода на quik 8.5 с lua 5.3
 
Цитата
Sergey Gorokhov написал:
Цитата
Старатель написал:
Sergey Gorokhov ,
Так проблема в самом QUIK, который в getParamEx возвращает строку с дробной частью: "1.000000" вместо "1", а на входе в sendTransaction для того же инструмента требует строку без разделителя.
Вы не правы, в представленном коде SEC_PRICE_STEP используется в математических операциях, так что проблема точно не с ним, а с тем что в результате попадает в tostring

Дополним, как уже было сказано Lua 5.3 при переводе числа с типом float в строк добавляет к строке суфикс ".0"
Далее возникает вопрос от куда возник float, если все числа "целые".
Lua считает float любое число с разделителем (кстати не только lua).
если указать SEC_PRICE_STEP = 1.0
то получите ту же ошибку.

Да  getParamEx возвращает строку с дробной частью: "1.000000"
Но проблема же не в этом, вернее не только в этом, в конкретно этой ситуации изменение формата SEC_PRICE_STEP помогло бы.
Но стоит поменять инструмент на любой другой в котором дробный шаг цены и ошибка опять бы появилась.

По этому правильно форматировать то что попадает непосредственно в параметры транзакции, а не то что было до этого.
Помогите восстановить работоспособность скрипта LUA после перехода на quik 8.5 с lua 5.3
 
Цитата
Старатель написал:
Sergey Gorokhov,
Так проблема в самом QUIK, который в getParamEx возвращает строку с дробной частью: "1.000000" вместо "1", а на входе в sendTransaction для того же инструмента требует строку без разделителя.

Вы не правы, в представленном коде SEC_PRICE_STEP используется в математических операциях, так что проблема точно не с ним, а с тем что в результате попадает в tostring
quik 8.5 ошибка
 
Цитата
Anton написал:
Окончательно установил, что lua_error из 8.5 генерирует лонгджамп вместо эксепшена. Вот это работает (отлавливает ошибку)

Здравствуйте!
Проблема изучается. Постараемся в ближайшее время дать ответ.
quik 8.5 ошибка
 
Цитата
rst9 написал:
даже еще веселее: lua_version() для инстанса, передаваемого в luaopen_ возвращает значение 0.0 (должна, очевидно, 5.3), а для создаваемого нового инстанса luaL_newstate() - luaversion() возвращает мусорное значение (должна так же возвращать 5.3).

Здравствуйте!
Проблема изучается. Постараемся в ближайшее время дать ответ.
quik 8.5 ошибка
 
Цитата
Latrop написал:
Примитивная  dll  в  OnAllTrade  просто дергать напр getInfoParam("VERSION") и больше вообще ничего, никаких эксепшенов, но после коннекта и получения прим 50-100 тыс тиков валится:

Critical error ACCESS_VIOLATION in script...

Что это за беда такая может быть?...

Если в OnAllTrade вообще ничего не делать, пустышка, то не падает. Но такой способ обхода проблемы не очень подходит :)

Здравствуйте!
Проблема изучается. Постараемся в ближайшее время дать ответ.
quik 8.5 ошибка
 
Цитата
quio написал:
Создаю новое состояние через lua_newthread(L), передаю его с свой поток, созданный через _beginthreadex, из этого потока вызываю функцию через lua_call. И ничего не проиходит - на верхушке стека остается название функции. Если вызывать lua_call из потоков Квика (с его состоянием), все в порядке.

Здравствуйте!
Проблема изучается. Постараемся в ближайшее время дать ответ.
quik 8.5 ошибка
 
Цитата
rst9 написал:
получаем исключение "multiple Lua VMs detected. Expected 5.3 instead of 0.0"
Здравствуйте!
Проблема изучается. Постараемся в ближайшее время дать ответ.
Помогите восстановить работоспособность скрипта LUA после перехода на quik 8.5 с lua 5.3
 
Здравствуйте,
Начиная с версии 8.5 терминала выполнено обновление ядра Lua до версии 5.3, и об этом мы не однократно всех уведомляли разными способами.
Вам следует адаптировать скрипт под новую версию.
Если нет возможности сделать это самостоятельно рекомендуем обратиться к автору скрипта.
В частности, возникшая у Вас проблема описана на официальном сайте lua:
Цитата

The conversion of a float to a string now adds a .0 suffix to the result if it looks like an integer. (For instance, the float 2.0 will be printed as 2.0, not as 2.) You should always use an explicit format when you need a specific format for numbers.
(Formally this is not an incompatibility, because Lua does not specify how numbers are formatted as strings, but some programs assumed a specific format.)


Проще говоря, замените везде функцию tostring на string.format
Например тут наши пользователи обсуждали такой же вопрос
Страницы: Пред. 1 ... 4 5 6 7 8 9 10 11 12 13 14 ... 78 След.
Наверх