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

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

Страницы: Пред. 1 ... 11 12 13 14 15 16 17 18 19 20 21 ... 28 След.
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
Цитата
timber написал:
Это же динамическая библиотека, и мой скрипт загружается в процесс как и эта dll. А скрипт написан на C и слинкован с хидером. Раньше были экспортные функции, но решил, что хидер надежнее.
Не понял. Вы включили lua.h, но не линковали с lua53.lib, так? Тогда это ваша задача, искать или загружать lua53.dll и тащить из нее функции через GetProcAddress, хидер сам по себе ничего такого не делает.

Цитата
timber написал:
А проблема в том, что иногда при старте скрипта пишется ошибка что lua53.dll не найдена (видимо еще не загружена в процесс). А если закрыть окно с управлением скриптов и открыть, и еще раз запустиь - магически dll уже будет находится.
Этого не может быть, потому что не может быть никогда (про не загружена в процесс). Это раньше была заглушка lua5.1.dll и весь луа по факту сидел в qlua.dll, теперь все иначе, весь луа в lua53.dll находится, и если квик вообще смог ваш скрипт запустить, это стопроцентно означает, что lua53.dll уже загружена и должна находиться через GetModuleHandle.

Мысль пришла - вы, часом, весь луа в своей длл не продублировали?
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
Цитата
timber написал:
DLL с LUA загружается
Непонятно, об чем речь. Если о qlua.dll, то при старте загружается, если ее убрать, квик стартанет без пункта меню с луа-скриптами и ничего запустить в принципе не получится. Если о lua53.dll, то в любом случае ДО запуска вашего скрипта, опять же скрипт физически невозможно запустить без нее. Если о какой-то своей подгружаемой длл, то она грузится явно вызовом package.loadlib и на нее действует обычное правило сборки мусора, то есть если она из области видимости вышла и никаких ссылок на нее не осталось (вроде глобальных функций из нее), то будет выгружена. Видимо, вот этот последний вариант и имеется в виду, тогда смотрите, каким образом теряете все ссылки на длл.
Ужасно тормозит КВИК, при вводе заявок отклик достигает пару минут (CQ02392709) (CQ02396085) (CQ02447240)
 
Цитата
dfds написал:
но в биосе не нашел, к сожалению, настройки, где посмотреть сколько зарезервировано.
Она довольно зашифрованно называется, типа Chipset Settings -> Shared memory. Обычно Auto стоит по дефолту и есть выбор жесткой величины, ну а тут уже сколько производитель не пожалел, где-то до гига позволяет выделить, а где-то и 128 мегов предел.
Цитата
dfds написал:
При обычной волатильности ведь всё работает нормально.
Поэтому на графику и думаю, много тиков - много перерисовок. А винде потом еще композицию изменившихся окон делать, то есть собирать все эти отдельные буфера в один экран и приделывать к ним рамки, это тоже операция прожорливая.
Ужасно тормозит КВИК, при вводе заявок отклик достигает пару минут (CQ02392709) (CQ02396085) (CQ02447240)
 
Цитата
dfds написал:
В квике 3 вкладок, на каждой по 10 графиков
Тут бы еще на графику посмотреть. Под каждое окно в видеопамяти создается отдельный буфер, их тут много получается. Если видеопамяти не хватит, винда начнет гонять эти буфера туда-сюда на каждом кадре, результатом будут как раз жуткие тормоза. Если видео встроенное в процессор, можно в биосе глянуть, сколько под него зарезервировано, по возможности максимум поставить. Не во всех биосах, правда, это есть. Потом уже дальше думать.
Lua 5.3.5 connect Dll (Crash)
 
Цитата
Sergey написал:
extern "C" LUALIB_API int luaopen_HydraConnector(lua_State * L)
Еще одно место, где сами себя обманули. Надо писать явно __declspec(dllexport), макросом LUALIB_API вы получили скорее всего __declspec(dllimport), т.к. вряд ли LUA_LIB определен. Поэтому компилятор статические функции и повыкинул, они действительно нигде не используются.
Пустое окно экспорт в базу данных ODBC, ODBC
 
Цитата
Дмитрий написал:
С книгой Эксель также как и с Access можно выводить только в закрытую книгу (в открытую выводить не пробовал)?
По DDE, если указан полный путь, то в закрытую, а если только имя файла, то в открытую. Может и тут так, не знаю, попробуйте. Почему бы в эксель DDE не настроить, там проще и без лишних прокладок в виде драйверов, да и сама технология позволяет табличку за один раз выкинуть в момент запуска, а потом только изменения подбрасывать. Всяко лучше, чем ODBC будет построчно дрызгать. Если база, там есть смысл ODBC городить, а в эксель-то зачем.
Lua 5.3.5 connect Dll (Crash)
 
Цитата
Sergey написал:
переименовал свои функции из static int в int и заработало
Скорей всего компилятор решил, что функции не используются и выоптимизировал их оттуда.

Цитата
Sergey написал:
Память которую Lua жрёт, постоянно увеличивается
Так-то она увеличивается до примерно 100к, потом сборка мусора происходит. Это если ничего у вас не течет. Дьявол в деталях, может у вас загрузка длл и return в цикле или в колбеке.

Есть косячок, кстати, в вашей тестовой функции. Если ни один иф не прошел, вы ничего на стек не кладете и возвращаете таки 1. И, напротив, если вдруг каким-то образом не один иф прошел, вы положите на стек лишнего. Конкретно в данном случае это невозможно, а так вообще лучше else if всегда использовать, так сами себя не обманете.
Быстрый ввод стоп-заявки
 
Цитата
Николай написал:
Читаю очередную ветку на форуме, и ловлю себя на том, что уже возник такой "спортивный" интерес: найти хоть какую-нибудь ветку, в которой после сообщения "Ваше пожелание зарегистрировано", позже было бы сообщение: "Ваше пожелание реализовано".
Очень много такого. Темная тема, фильтры, всякие сортировочки, кнопочки, рюшечки. То есть все то, что теперь делает квик тормозным и глючным. Все это выпрашивали пользователи, очень им нужно было. Правда, сейчас никого из них вы тут не увидите, некому кричать ура и в воздух чепчики бросать.
Quik 8.5 не освобождается память
 
Цитата
Максим написал:
а можно продолжить работать на версии Квик 7 после ввода 19-значных номеров заявок?
Кто ж ему запретит, он же памятник.
Quik 8.5 не освобождается память
 
Цитата
Evgeniy Karnaukhov написал:
Описанная в данном инциденте ошибка была исправлена в версии 8.6.0 терминала QUIK.
Уже опробовал, при ошибке из мейна действительно теперь выходим с очисткой. Это уже позволяет сделать нормальную обработку ошибок в скрипте, до того задача была неразрешимой без костылей. Спасибо всем принявшим участие в исправлении.

Однако, если бросить ошибку в теле скрипта или в OnInit, по-прежнему выпадем без очистки. С этим можно жить, конечно, отложить ошибку до мейна ровно три строчки, но непорядочек все же. Тем более, в отличие от ошибок в колбеках, в этот момент мейн еще не создан, следовательно, жестко прибивать поток мейна не придется, тут теоретически можно допилить до красоты.
quik 8.5 + lua 5.3 = ошибка
 
Цитата
Александр Волфовиц написал:
совместно с lua работает фреймворк, написанный на С++
Почти уверен, что причина в загружаемой длл. В 8.5.2 подлечили обработку ошибок, если вылетает акцесс виолейшен, это с хорошей вероятностью именно акцесс виолейшен, а не что-то другое. А это, в свою очередь, означает косяк в сишном коде. Запускайте под отладчиком, смотрите, где падает, окружайте брейкпойнтами, все как обычно на сях.
Журнал сделок и расчет результата сделок
 
Как-то очень сложно на мой взгляд.
Код
-- INPUTS:
--   values  : { v1, v2, ... , vN }
--   weights : { w1, w2, ... , wN }
-- OUTPUT:
--   weighted average

function WeightedAverage(values, weights)
  local num = 0, den = 0
  for i = 1, #values do
    num = num + values[i] * weights[i]
    den = den + weights[i]
  end
  return (num / den)
end
os.time Lua 5.3
 
Цитата
Старатель написал:
вопрос возник, когда в os.time() был передан какой-нибудь квиковский datetime
В первом сообщении ссылка, там пример с полночью первого января 1970 и у них в Рио получилось 10800 (как раз 3 часа), а у Майка вылетел эксепшен. Или заранее проверять, или в pcall и проверять в случае исключения. Кстати говоря, в связи с другой темой озаботился, насколько pcall тормозной. Попробовал экспортнуть всю ТВС простыми call против pcall на каждой строке, результат 18 секунд против 23. В реальном времени можно не париться о ней.

Еще плюсик изучения сорцев, теперь 53 и переданную табличку модифицирует, в 51 оставалась как была.
os.time Lua 5.3
 
Цитата
Старатель написал:
В 5.1 если дата была меньше 0, os.time возвращал nil, с которым в общем-то можно было работать.В 5.3 в этом случае вы увидите "time result cannot be represented in this installation".
Это да, смотрим сорец 53 и сравниваем с 51. Но в примере-то из документации не нил возвращается, а вполне себе циферка, зона имеет значение.


Цитата
s_mike@rambler.ru написал:
os_time берет секунды и первым делом отсчитывает от них часовой пояс. Если взять 0, то при часовом поясе европа получается 1969 год и луа огорчается.
Так и я о том. Рио плюс три часа, когда там первое января 1970, полночь, в гринвиче уже первое января три часа ночи. А в европе минус час, когда там полночь первого января, тогда, совершенно верно, в гринвиче еще 11 вечера 31 декабря 1969, вот и фейлит. Что забавно, сама mktime считает в диапазоне на год шире, как раз ради таймзон, а потом проверяет, попала ли в допустимый по стандарту диапазон. То есть она внутри сначала сосчитала правильно, а потом вернула ошибку, "ибо нефик".
os.time Lua 5.3
 
В примере написано
Цитата
 In a Unix system (where the epoch is 00:00:00 UTC, January 1, 1970) running in Rio de Janeiro (which is three hours west of Greenwich), we have the following examples:
То есть дальше идут циферки для Рио, где все поголовно в белых штанах.
Цитата
s_mike@rambler.ru написал:
Теперь lua смотрит часовой пояс.
Там в сорцах (одинаковых в 53 и 51) просто вызывается сишная mktime, а она смотрит на зону, так что по идее так и должно быть, точно ли 51 не смотрела?
3 вожделенных пожелания
 
Цитата
Михаил Юрьевич написал:
Особенно не понятно, зачем вы тогда здесь, на этом форуме?
Полагаете, стоит самозабаниться в духе последних тенденций?
Цитата
Михаил Юрьевич написал:
в квике вы толком не работаете
Но, может быть, с квиком работаю.
Цитата
Михаил Юрьевич написал:
Мне кажется владея таким языком, можно и вовсе самому всю платформу создать.
Представьте, работал мужик всю жизнь на автовазе, валы шлифовал, колен-распред-и-прочие, пальцы там всякие шатунные. И вот кто-то узнал об этом и говорит - да ты можешь же ламборджини собрать с таким опытом-то. Ну в общем в некотором роде да, ежли вплотную заняться, почему нет. Остальные мелочи, вроде там расчета газового цикла, балансировки подвески и все такое, это ж можно и нагуглить ведь, действительно. Уж пальцы-то шатунные точно будут идеальными, мастерство не пропьешь.
Существует ли в Квике возможность поставить заявку на продажу по любой рыночной цене при достижении заданного ценового уровня?
 
Это стоп-цена по другой бумаге с этой самой бумагой в качестве другой. Цену стопа - на вашей верхней линии, условие больше или равно, лимитную цену сильно ниже цены стопа, только не перестарайтесь и за планку не поставьте, а то отклонится в момент срабатывания.
3 вожделенных пожелания
 
Цитата
Михаил Юрьевич написал:
А как тогда? Средствами Lua?
Средствами сей с плюсами в основном и не на квиковских графиках. И не линии. У меня в квике годами две таблицы открыто, ТВС и "доступные скрипты", это обычно все, что мне от него нужно, ну периодически что-то открыл - посмотрел - закрыл. Не часто. Пошерудить в стакане ручками эти самые ручки давно чесаться перестали, есть миллион более интересных занятий.
3 вожделенных пожелания
 
Цитата
Михаил Юрьевич написал:
Антон, хотелось бы узнать у вас, вы с терминалом MetaTrader знакомы?
Очень давно видел его. В смысле ставил, пробовал. В общем это все, что могу о нем вспомнить.
Цитата
Михаил Юрьевич написал:
Мы же тут не в стрелялки играем.
Тут разные есть люди, есть кто и в стрелялки. Если обо мне речь, рисовать я ничего не рисую. Ну то есть как. Линии не рисую руками, да, вот так наверное. Тем не менее помню, как оно, когда тебе надо вот прям от этой точки, вот конкретно от бестолковой ни к чему не привязанной цифры, а слишком умный график навязчиво предлагает нарисовать "как положено", а то будет "нарушение законов теханализа".
3 вожделенных пожелания
 
Цитата
mihail написал:
полноценный скальперский стакан
Можно ли поинтересоваться, что под этим подразумевается? Чисто просветиться.
Как определить Код класса (CLASSCODE) по коду инструмента (SECCODE)?
 
Цитата
Константин Рейм написал:
А по большому счету эта функция нужна для корректного ввода инструмента из меню.
В таком раскладе да. Хотя я бы вывалил юзеру окошко с выбором класса-инструмента по типу квиковского, консоль-стайл "введите" меня печалят. Сидит юзер и чешет репу, чего туда вводить-то? Идет гуглить, какие вообще классы существуют, какие бумаги, потом идет спрашивать у брокера, почему у него того нет сего нет, потом здесь пишет арка где мои бумаги, гуголь говорит должны быть, поддержка идет рыть сорцы квика, где бумаги, пишет вопросы брокеру, там отвечают, что-то путают, затевается переписка, юзер на форуме вопит вы чо на простой вопрос три дня ответить не можете. Все при деле в общем, автор скрипта хитро ухмыляется.
Проблема с выводом в пользовательскую таблицу
 
Цитата
e2e4 написал:
и наоборот.
Когда наоборот, все проще, мейн закончился и колбеки больше не дергаются.

Если находитесь в длл, придумал костылек (адоватенький), некий псевдо-луа-си
Код
function OnStop()
  InsertRow
  SetCell
  isRun = false
  for(; !isRun; )
  {
    for(MSG msg; PeekMessage(&msg, ...); )
    {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
    }
  }
end

function main()
   ...
   isRun = true
end
Проверять не проверял. Там еще где-то надо воткнуть WaitMessage, если isRun все еще не установлен и сообщений нет, но как-то так, чтобы не повиснуть на ней навечно.
Проблема с выводом в пользовательскую таблицу
 
Цитата
swerg написал:
А мне не понятно откуда в этом коде возникает этот timeout
На InsertRow после цикла встает. Если закомментировать эти две строки, не будет вставать.
Как определить Код класса (CLASSCODE) по коду инструмента (SECCODE)?
 
Цитата
swerg написал:
задать свой порядок приоритета для поиска класса среди общего списка
Если мы заранее знаем список классов, ничего искать вообще не надо, надо сразу захардкодить бумагу вместе с нужным классом.
Проблема с выводом в пользовательскую таблицу
 
Цитата
e2e4 написал:
Почему виснет очередь сообщений к окну таблицы при остановке скрипта?
1. Вы жмете кнопку остановить.
2. Основной поток квика вызывает OnStop.
3. OnStop добавляет свою строку в таблицу (таки да, добавляет).
4. OnStop завершается.
5. Основной поток ждет завершения потока мейна пять секунд.
6. В это время мейн пытается добавить свою строку в таблицу, посылая под ковром сообщение основному потоку.
7. Но так как см. п.5, основной поток сообщений не обрабатывает. Мейн виснет навсегда.
8. По истечении таймаута основной поток прибивает поток мейна и продолжает обработку сообщений.
9. Выбрав все ценные, он ловит наконец низкоприоритетное WM_PAINT и перерисовывает таблицу (вот тут появилась строка от OnStop).
10. Хэппиенд.

Цитата
e2e4 написал:
Как обработать такую ситуацию, если нужен вывод в пользовательскую таблицу по завершении потока main?
Не знаю.
Почему Quik 8.5.2.11 Открытия Брокер не работает под пользователем при установке в Program Files
 
Цитата
aspen63 написал:
Короче, доступ у пользователей только для чтения, UAC не отключен. Все работает.  
Это виртуализация древних приложений работает. Пруф можете найти в папке c:\Users\<your-user-name>\AppData\Local\VirtualStore\Program Files (x86)\<your-quik-folder-name>, там будут как раз все файлы от квика, alltrade.dat, info.ini и прочие. Не сразу сообразил, ведь тогда, по идее, и восьмой должен так же работать. Ан нет, на 64-битные аппы виртуализация не распространяется, не было во времена хрюши 64-битных, а кто на 64 бита переписался и путей не поправил, те сами себе буратины.
Как определить Код класса (CLASSCODE) по коду инструмента (SECCODE)?
 
Константин Рейм, вернете первый найденный класс. У меня, например, для сбера это будет EQRP, не совсем то, что ожидалось, правда? Надо искать все классы, содержащие бумагу, типа так
Код
function getSecClasses(seccode)
   local result = {}
   for cls in string.gmatch(getClassesList(), "[^,]+") do
      for sec in string.gmatch(getClassSecurities(cls), "[^,]+") do
         if sec == seccode then
            table.insert(result, cls)
            break
         end
      end
   end
   return result
end
Как определить Код класса (CLASSCODE) по коду инструмента (SECCODE)?
 
Цитата
Imersio Arrigo написал:
а это что за таблица?
Это кусок листинга с мамбы, параметр is_primary.
3 вожделенных пожелания
 
Цитата
Imersio Arrigo написал:
1б. Предлагаю компромиссный вариант. Сделать настройку в настройках "примагничивать или нет". а по хоткею, напр. ctrl, менять действие на противоположное.
Пожалуй так лучше.
3 вожделенных пожелания
 
Цитата
Михаил Юрьевич написал:
1.       Примагничивание объектов.  При рисовании объекта на графике, например, линии тренда, пусть первая точка объекта принимает координату ближайшего ценового значения свечи/бара. Ближайшего от курсора мышки, в радиусе 5 миллиметров. Полагаю, со второй точкой можно поступить также.
1a. Плюс некоторая клавиша, которую надо удерживать, чтобы включить эту полезнейшую фичу. Бо если вы не можете попасть в цену, это досадно, а если квик вас примагничивает куда вам не надо и нет способа нарисовать куда надо, это уже серьезный косяк.
Почему Quik 8.5.2.11 Открытия Брокер не работает под пользователем при установке в Program Files
 
Цитата
Старатель написал:
Сделать ярлык LNK с указанием Рабочей папки и работай хоть от сотни юзеров.
Не спорю, можно. Примерно те же проблемы с апачем на винде, но там все каталоги, которые должны быть доступны на запись, выделены явно, поэтому их можно хардлинком куда-то перенаправить. С рабочим каталогом не так удобно, при запуске мимо ярлыка будет нехорошо. Кабы все изменяемое лежало в одной подпапке, было бы удобнее.

Цитата
Старатель написал:
то на всех компах должна быть одинаковая версия QUIK.
Поэтому выше в описании раскладки файлов каждая версия в своей папке, всегда подъедет правильный профиль (подходящий к запущенному квику, хотя может и не тот, который юзер использовал в последний раз на другом компе).
Почему Quik 8.5.2.11 Открытия Брокер не работает под пользователем при установке в Program Files
 
Цитата
Старатель написал:
ставьте квик в Users\%USERNAME%
И любой скрипт от этого юзернейма (даже не бинарник) может заменить info.exe на что угодно, делающее что угодно. В корне, собственно, то же самое. Когда-нибудь кто-нибудь не поленится это проделать и мы тут почитаем (с телефонов писанные) отзывы пользователей.

Цитата
Старатель написал:
Ещё не хватало, чтобы Арка заморачивалась с профилями, групповыми политиками и прочая
Дык ей и не пришлось бы, ее дело файлы разложить как надо, а как их там перемещать и политики применять, это уже майкрософта забота. В любом случае это все разговоры о несуществующем, никто морочиться не будет.

Цитата
swerg написал:
Google Chrome и прочие ему подобные браузеры, WatsApp, Скайп, Zoom. Это та "самодельщина", что с ходу пришла на ум.Большинство это или меньшинство - я не знаю, однако ж это наиболее массово используемые сейчас программы, согласитесь. И все они по умолчанию без спроса ставятся в user\AppData и т.п. и практически молча обновляются там же, не понятно что неся в себе.
Забавно, ни одна не стоит из перечисленных. Файрфокс по-прежнему ставится как нормальный и даже до групповых политик дорос уже. В целом если разборчиво относиться к тому, что на комп затаскивать, жить (пока еще) можно.
Couponvalue при вызове getSecurityInfo, Странное значение Couponvalue при вызове getSecurityInfo
 
Пока поддержка думает, предложу обратить внимание также на параметр НКД, а также на наличие и назначение поля scale в получаемой табличке. Насколько мне известно из неофициальных тксть источников, ровно в таком виде данные лежат в хранилище, т.е. как целые числа с фиксированной точкой во избежание потерь на округлениях. Почему они в скрипт в этом же виде попадают, мне неизвестно, то ли по дизайну, то ли по недосмотру.
Почему Quik 8.5.2.11 Открытия Брокер не работает под пользователем при установке в Program Files
 
Цитата
swerg написал:
С другой - теперь все проги ставятся в user/local
Подавляющее меньшинство. У меня жестко настроены SRP, со знанием дела это говорю. В основном самодельщина этим страдает, ну и ancient software, включая квик. Вот на этапе установки многие пытаются распаковаться в temp и стартануть оттуда, это да.

Вообще-то, кроме защиты исполняемых файлов, архитектура с отдельными данными призвана позволить запуск софта от разных юзеров одновременно. На примере квика 8.5.2 это могло бы выглядеть так: сами исполняемые стоят в Program Files\ARQA\Quik\8.5.2\info.exe и прочая, данные пишутся в Users\%USERNAME%\AppData\Roaming\ARQA\Quik\8.5.2\alltrade.dat и прочая. Тогда можно запустить один квик от двух пользователей, у каждого будет своя копия данных и все будет работать независимо друг от друга. Более того, roaming это место для перемещаемых профилей, в домене юзер сможет запускаться с любого компа организации и получать свой личный профиль. Но, увы и ах, в случае с квиком это будет уже не квик, а что-то другое, с нуля написанное. Что же касается обновлений, они и не должны быть тихими, юзер должен подтвердить через UAC, что он согласен обновляться (и имеет права на это). Иначе мы технично обходим политики домена, в нормальной корпоративной сети такое недопустимо. Ну, у нас нормальных нет, ежедневные утечки всего и вся тому доказательство.

Цитата
swerg написал:
Выходит в мире не решили толком проблему удобства пользователя и защиты
Это так, и это следствие устаревшей модели безопасности вообще. Когда-то надо было защитить ось от юзера с его личным софтом, собственноручно написанным или заказанным "в надежном месте". Теперь софт (и его автор) это отдельный субъект в иерархии, по-хорошему надо защищать и софт от юзера, и юзера от софта, и ось от них обоих, и (привет десятка) их обоих от оси, точнее, от софта, идущего в поставке с осью. Но таких осей и в проектах не видно, все усилия уходят во внешний вид, под ковром по-прежнему паутина и перелицованный мультикс.
Почему Quik 8.5.2.11 Открытия Брокер не работает под пользователем при установке в Program Files
 
Цитата
aspen63 написал:
Седьмая версия тоже нормально всегда работала.
Какое-то массовое "раньше было лучше" через пост. Не работала седьмая, не работала шестая, не работала пятая, не работала четвертая. Никогда* никакой квик из Program Files не работал, не надо его туда ставить. Вот так вот он устроен.

* в хрюше могло показаться, что работает, если юзер сидел под админом (что обычно так и было). Если, как положено, создать обычного юзера и попробовать запустить квик от него, работать не будет.
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
Цитата
timber написал:
Это ответ на мой вопрос, зачем удалили данную функцию?
Это констатация факта, что ее никто не удалял. Была функцией - стала макросом. А есть и обратные примеры, lua_setglobal была макросом, а стала функцией. Это не арка сделала и спрашивать зачем надо у авторов луа.
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
Цитата
timber написал:
Я не знал, что у вас не оригинальный LUA. Глянул в вашу dll в дистрибутиве с вашего сайта. Нет такой функции в вашей dll.
У них оригинальный луа с точностью до внутренних деталек. Если бы вы также глянули в lua.h (строка 371), то увидели бы, что в 5.3 это макрос.
Обеспечение возможности использования 19-разрядных № заявок для версий QUIK < 8.5
 
Цитата
TGB написал:
и не надо мне рассказывать как нужно искать мои ошибки (которые, конечно же случаются)
И у арки тоже случаются, и довольно глупые, надо их репортить и будут исправлять, вот смотрите какая сырая 8.5.1 вышла и как она похорошела при в 8.5.2. Еще пара штрихов и будет не хуже по крайней мере старых 32-битных версий, а если обещанное выкатят в ближайшем релизе, то кое-в-чем уже лучше будет.
Обеспечение возможности использования 19-разрядных № заявок для версий QUIK < 8.5
 
Цитата
TGB написал:
а для «бабло срубить»
А с этим никто и не спорит. Но странно выглядит, люди ставят аццкую десятку, у которой в политике конфиденциальности прямо написано, что она будет тырить все вплоть до каждой нажатой клавиши, на нее ставят не менее аццкую вижл студию 2015 (15-гиговый текстовый редактор, который при отсутствии коннекта к майкрософту начинает страдать и глючить почему-то) и ничто их не тревожит при этом, а квик 64-битный их прям запугал до смерти.

Цитата
TGB написал:
Увеличение номера заявки до 19 разрядов это, конечно, прорыв в будущее
Это, во-первых, не арка придумала, а во-вторых речь-то ведете не о 19 разрядах, а о 32-битных версиях. Нет уже таких процессоров, нет таких осей, зачем арке поддерживать мертвую хрюшу? Вот только что запустил хрюшин инсталлер на железе десятилетней давности и он крэшнулся с бсодом, ему даже это железо уже слишком новое. Куда этот 32-битный квик ставить-то.
Как определить Код класса (CLASSCODE) по коду инструмента (SECCODE)?
 
Цитата
Василий написал:
Какие вообще бывают случаи, когда один инструмент торгуется в разных классах? Я такое видел только когда облигации переводят в Д-список, но тогда они уже как обычные не торгуются.
Плохо значит смотрели:
Скрытый текст
И здесь же ответ на второй вопрос, откуда берется "официальная" котировка для оценки. Предпоследняя циферка в приведенном списке у всех 0, а у TQBR 1, вот значит отсюда официальная цена и проистекает, все остальные классы "просто торгуются".
Обработка ошибок из функции main
 
Цитата
Евгений написал:
Скрипт  просто молча останавливает работу.
Не совсем так, ошибку можно посмотреть в окне со скриптами. А если надо привлечь внимание, то можно как-то так сделать
Код
function main()
  local s, e = pcall(function()
    -- вот тут ваш мейн
  end)
  if not s then
    message(e, 3) -- искомое сообщение, можно текст от себя добавить
    error(e) -- и выкидываем ошибку дальше, чтобы отработало как обычно
  end
end
Обеспечение возможности использования 19-разрядных № заявок для версий QUIK < 8.5
 
Цитата
TGB написал:
Похоже, поддержка QUIK в данной теме не появится.
Так-то выходные на дворе, с чего бы им тут появляться вдруг.

Чет вспомнил про луддитов. Флешмоб за процессоры, которые 15 лет как сняты с производства, и оси, поддержка которых закончилась полгода назад. Это надо было на интеле и майкрософте устраивать и сильно раньше, теперь поезд ушел уже. Что интересно, вышеименованный продукт создан в студии 2015, которая не то что на хрюшу, на семерку-то не встает. Внезапно.
Корректно ли так делать?
 
Само по себе присвоение атомарно, выполняется под локом (см. сорцы lua_setglobal), так что с этим проблем не будет. Гонка может в вашем коде возникнуть, например
Код
local connected = false

local function OnMyConnected()
  connected = true
end

local function OnMyDisconnected()
  connected = false
end

local function Stub()
end

OnConnec ted = Stub
OnDisconnec ted = Stub

function main()
  connected = isConnected()
  -- тут состояние подключения могло измениться
  OnConnec ted = OnMyConnected
  -- или тут
  OnDisconnec ted = OnMyDisconnected
end
Обеспечение возможности использования 19-разрядных № заявок для версий QUIK < 8.5
 
Цитата
TGB написал:
разработчика ОПЕРАЦИОННАЯ СИСТЕМА РАЗРАБОТКИ МНОГОПОТОЧНЫХ РОБОТОВ
Спасибо, это многое объяснило.
Обеспечение возможности использования 19-разрядных № заявок для версий QUIK < 8.5
 
Цитата
Максим написал:
ощущение
неверное. Своей работой не могут быть обижены. А если берутся не за свою, тогда могут. Может и не хотят браться поэтому, что-то из параллельного мира хотите заказать. Это надо будет вникать, все с нуля делать, будет долго, много ошибок, много переделок, куча времени и нервов, а срок идет, а заказчик ждет, вот это вот все, и в итоге бюджет как за несколько часов своей работы. Это надо сильно энтузиастом быть, чтобы осознанно в такое втянуться. Разве что шапкозакидательский выпускник краснодипломный попадется. Типа я ж гений все могу все умею, ща я за пять минут. И на пять месяцев за тот же бюджет. Зато опыт, да, второй раз он уже подумает, точно ли он гений или все же лучше прикинуться дурачком и свалить на этапе переговоров.
Обеспечение возможности использования 19-разрядных № заявок для версий QUIK < 8.5
 
Цитата
Максим написал:
рассмотрите ситуацию, когда приходит заказчик с бюджетом, пишет ТЗ, а ему типа программист
, сравнив тз и бюджет,
Цитата
Максим написал:
выкатывает море едких шуточек для самоутверждения, а в итоге говорит - да вы сами не знаете что хотите, лучше сами изучайте язык и пишите себе сами.
Вот так верю.
Журнал сделок и расчет результата сделок
 
Цитата
Иван написал:
Но не могу найти внятного пояснения как оно рассчитывается в плане формулы?
Представления не имею, как в экселе формулы устроены. По логике средневзвешенного вот так
 
Обеспечение возможности использования 19-разрядных № заявок для версий QUIK < 8.5
 
Цитата
Максим написал:
и это явно не стоит сотни тысяч рублей....
Насчет "этого" в той форме, что выше привели как некое откровение, трудно поспорить. Оказывается, можно функции сишные из луа вызывать! В арке-то не знали.

Вообще риторика "да там делов на два часа" очень знакома. Обычно такой заказчик приходит с копеечным бюджетом и потом пытается еще и с оплатой прокинуть, либо, в лучшем случае, попросить "ыщо малость доработать" (ну то есть вообще с нуля и по-другому) за тот же прайс. Ни на что не намекаю, просто наблюдение.
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
 
Цитата
Imersio Arrigo написал:
Код 32х битный?
Нет, x64, семерка.

Цитата
Imersio Arrigo написал:
Основной смысл был в том, чтобы выйти за рамки 4Г в 32хбитном процессе. И это работало.
Для выхода за рамки там есть AWE еще. Но требует привилегий.
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
 
Цитата
Imersio Arrigo написал:
Пробовал так делать. Все нормально работает. Нигде не фейлит.
Да ладно? Вот спецом попробовал без свопа, меньше трех гигов мэпит только.
Код
#include <Windows.h>

int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int)
{
   const size_t bufsize = 1024;
   wchar_t buf[bufsize];
   HANDLE hmap = ::CreateFileMappingW(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, 3*1024*1024*1024, NULL);
   if(NULL == hmap)
      ::wsprintfW(buf, L"Failed to create the mapping, error %u", ::GetLastError());
   else
   {
      ::wsprintfW(buf, L"File mapping successfully created");
      ::CloseHandle(hmap);
   }
   ::MessageBoxW(NULL, buf, L"CreateFileMapping test", MB_ICONINFORMATION | MB_OK);
   return 0;
}

Цитата
Imersio Arrigo написал:
Вот если физическая память кончилась, тогда фейлит. Ну так в этом случае вам любой malloc зафейлит.
Ошибка будет другая. Не надо из вида упускать, что в момент создания мэппинга в нем еще нет страниц, это лишь "каталог страниц". Даже после MapViewOfFile там еще страниц нет. Потом программа лезет в мэп и получает seh-исключение, винда его ловит и мэпит страницу, и вот только в этот момент одна страница выделилась из пула. А теперь смотрим, что будет, если безбашенно выделить всю память под мэп. Ну ладно, не всю, а всю из paged pool и еще одну страницу. Так вот по одной страничке мы ее всю слопали, аппа тыкнулась в очередную страницу, вылетело seh, винда поймала, а страниц-то больше и нет. Хобана, дабл фаулт и крэш. В общем, это все винда имеет в виду, когда решает, что пора отказать в создании мэпа.

Вообще для чистоты эксперимента надо не совсем своп убирать, а сделать 16 мегов или что-то типа того. Так-то винда тоже видит, что свопа нет и просто сразу знает, что свопить ничего не придется.
Страницы: Пред. 1 ... 11 12 13 14 15 16 17 18 19 20 21 ... 28 След.
Наверх