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

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 14 След.
Как выполнить команду от имени серверной консоли через lua файл?, Как выполнить команду от имени серверной консоли через lua файл?
 
Не понятен вопрос.
Что такое "серверная консоль"? Вы хотите, чтобы программа запустилась на стороне сервера QUIK? или чего-то другого?

Если речь про запуск какой-то программы из Lua (на том же компьютере, где запущен терминал QUIK, разумеется) - то воспользуйтесь в Lua os.execute
Например:
os.execute("C:\\Windows\\System32\\calc.exe")

Не забывайте удваивать обратные слеши в строках
Ограничение 50 транзакций в секунду
 
Цитата
swerg написал:
Это можно объяснить как меньшее кол-во заявок в секунду по вашим замерам, так и одновременность их обработки.
Уточнение:
Этим можно объяснить.... и далее по тексту.
Ограничение 50 транзакций в секунду
 
Вполне может еще сетевой буфер влиять: несколько транзакций по факту накапливаются на вашей стороне в один сетевой пакет, после чего весь макет одновременно уезжает серверу, где они все сразу обрабатывает
Это можно объяснить как меньшее кол-во заявок в секунду по вашим замерам, так и одновременность их обработки.

Попробуйте связаться с брокером и уточнить у него по чем для вас встанет для вас увеличение допустимого количества транзакций в секунду. Вдруг это будет обозримая цифра.
Ну либо придётся менять алгоритм, избавляюсь от простой идеи одновременного снятия буквально всех заявок. Наверняка ведь вашу торговую идею можно реализовать иначе, красивее и без внезапного снятия буквально всех выставленных заявок.
Проблема с выводом в пользовательскую таблицу
 
Цитата
e2e4 написал:
Далее окно диалога управления подвисает на 5 секунд. Откуда это время понятно, ожидание завершения потока функции main по умолчанию.
А мне не понятно откуда в этом коде возникает этот timeout
Вроде всё должно завершиться сразу и корректно, т.к. в OnStop есть IsRun = false
Чисто для прикола отлогируйте значение IsRun из main() и других мест, ну мало-ли какая мистика.

Пока похоже на косяки обработки обращения к пользовательским таблицам из main(), вроде про это были жалобы на форуме.
Скрипт прекращает работу, а не должен, Скрипт прекращает работу по непонятной причине, как ее выявить?
 
Sergey Gorokhov, скажите: я верно понимаю, что скрипт останавливается только в 2-х случаях:
1) Либо произошел корректный выход из main() -> тогда в окне скриптов не будет ошибки (и других сообщений)
2) Либо произошла какая-то (любая) ошибка  -> тогда в окне скриптов гарантированно будет отображена ошибка

Верно? других вариантов нет? Точно нет?

Если так, то Иван Ру будет достаточно добавить логирование условия выхода из цикла main() и всё станет понятно.
Как определить Код класса (CLASSCODE) по коду инструмента (SECCODE)?
 
Цитата
Anton написал:
Константин Рейм , вернете первый найденный класс.
Так в этом и состоит вопрос: как найти ОДИН подходящий класс. А не список.
И подход в сообщении Константин Рейм совершенно и единственно правильный: задать свой порядок приоритета для поиска класса среди общего списка, и уже основываясь на этом списке искать первый класс, куда входит инструмент, чтобы исключить "неподходящие" классы.
Почему Quik 8.5.2.11 Открытия Брокер не работает под пользователем при установке в Program Files
 
Цитата
Anton написал:
Цитата
Подавляющее меньшинство. У меня жестко настроены SRP, со знанием дела это говорю. В основном самодельщина этим страдает, ну и ancient software, включая квик. Вот на этапе установки многие пытаются распаковаться в temp и стартануть оттуда, это да.
Google Chrome и прочие ему подобные браузеры, WatsApp, Скайп, Zoom. Это та "самодельщина", что с ходу пришла на ум.
Большинство это или меньшинство - я не знаю, однако ж это наиболее массово используемые сейчас программы, согласитесь. И все они по умолчанию без спроса ставятся в user\AppData и т.п. и практически молча обновляются там же, не понятно что неся в себе.
Почему Quik 8.5.2.11 Открытия Брокер не работает под пользователем при установке в Program Files
 
Цитата
aspen63 написал:
Цитата
Не стоит рассказывать мне, как семерка не работала из PF (x86). Она у меня и сейчас оттуда работает в другой виртуальной машине.
Проверьте включен ли у вас UAC и что там с правами на каталог с QUIK. Наверняка выяснится, что либо UAC отключен наглухо, либо на папку с QUIK выданы права на запись всем пользователям.
Ничего нового тут нет, QUIK так работал всегда.
Почему Quik 8.5.2.11 Открытия Брокер не работает под пользователем при установке в Program Files
 
Цитата
Старатель написал:
Цитата
Ещё не хватало, чтобы Арка заморачивалась с профилями, групповыми политиками и прочая
QUIK вполне себе работает на несколько пользователей на машине за счет того, что все настроечные файлы читает из "рабочего каталога", а не оттуда, где лежит info.exe И туда же и пишет, если не ошибаюсь.
Механизм не в стиле Microsoft, но рабочий. Да и докрутить его до поддержки доменных политик не сложно, достаточно рабочий каталог указывать в профиле пользователя через подстановки.
Вопрос про демо-счета Quik
 
Нету.
Почему Quik 8.5.2.11 Открытия Брокер не работает под пользователем при установке в Program Files
 
Прикольно, конечно, у винды получилось: с одной стороны хорошо и по делу защитили Program Files
С другой - теперь все проги ставятся в user/local, чтобы была возможность лёгкого и незаметного их апдейта
Выходит в мире не решили толком проблему удобства пользователя и защиты
Как обычно, удобство победило безопасность
Звук Lua в фоновом режиме
 
Цитата
Иван написал:
Единственный нюакнс который заметил - как полагаю на время запуска звука приостанавливает работу скрипта. Может ошибаюсь - но все же это доли секунд.
Проигрывать файлы - затратно. Даже если само проигрывание идет асинхронно, надо до возврата из функции загрузить указанный файл (чтобы знать случилось ли это успешно), проинициализировать звуковую карту и разные прочие накладные расходы. На это время, понятно, всё приостанавливается.

PS
Сборка w32.dll для QUIK 8.5 уже выложена
Уберите всплывание окна QUIK на передний план в момент загрузки
 
Цитата
Sergey Denegin написал:
он и без индикаторов грузится долго. ну как долго минуты 3,  иногда больше
Запускайте QUIK батником, куда первой строкой впишите del info.log
И проблема с долгим запуском отпадёт сама собой без каких-либо проблем.
изменение средней цены при продаже
 
Есть просто разные подходы к расчету "средней цены позиции", зависит от требуемого результата и деланий.
QUIK в "Таблице лимитов по бумагам"  рисует в самом деле "цену приобретения". Которая, как очень удачно и красноречиво показано выше на примере закупочной цены картошки, не изменяется при продаже.
Однако часто трейдер желает видеть другой параметр - цену "безубыточной продажи" для оставшихся ведер картошки. А вот эта цена уже зависит от того, по чем был продан предыдущие партии ранее закупленного картофеля.
таблица Доступные скрипты 8.5.2.11, таблица Доступные скрипты 8.5.2.11
 
Цитата
Egor Zaytsev написал:
Ваше пожелание зарегистрировано.
Этот колхоз имени 8 марта меня искренне поражает.
Перестарался с чисткой компьютера win 8.
 
Вы серьёзно думаете, что кто-то пойдёт логиться на Google Drive, чтобы увидеть ваше видео?
Выложите его так, чтобы его можно было просто посмотреть.

Впрочем, было бы много лучше, если бы вы описали проблему текстом / картинками
Очередность срабатывания OnTransReply, OnOrder, OnTrade
 
"Случайный" порядок будет всегда.
В этом нет ни намеренной ошибки, ни злого умысла.
Соответственно и "исправлено" это никогда не будет. Исправлять нечего.

Причина проста: биржа отправляет информацию о сделках, заявках и ответах на транзакции (OnTransReply) через разные подключения в шлюзам биржи. Это физически разные подключения, через разные порты (возможно даже разные хосты), посмотрите сами документацию по шлюзу МосБиржи, например. Таким образом эти потоки не синхронны уже на стороне шлюза биржи.

Так что порядок "случайный" будет всегда и везде.
OnTrade и стоп-заявка
 
Стоп-заявки - сущность сервера QUIK, не биржи. Так что "отклоняет" их - сервер QUIK,
При отклонении стоп-заявки сервер всегда присылает причину (текстом). Например, "недостаточно средств", т.к. иногда под стоп-заявку требуются средства.
Если бы вы озвучили этот текст причины - была бы возможность ответить более предметно.

И было бы здорово, если бы вы уточнили: как связана тема и содержание вопроса??
Библиотека lua выгружается раньше чем dll
 
Цитата
Александр написал:
При регистрации через luaopen_ квик выгружает lua53.dll раньше, чем саму dll при условии, что
я не подписываюсь на main или вызываю в main ошибку при помощи LuaError.
Могли бы вы описать более подробно: как вы это поняли про порядок выгрузки?
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
Цитата
Sergey Denegin написал:
Как только программеры квика сами не могут понять, что когда они окончательно достанут своими новыми виснущими версиями пользователей, все откажутся от квика, и и брокерские конторы перестанут платить, и будут они искать новую работу. Рубят сук на котором сидят
Давно есть метатрейдер с выходом на биржу. С крутым встроенным языком и всё такое.
Предлагаю бить не словом, а делом, т.е. ногами )
После расскажете как оно.
проблема с w32.dll на quik 8.5
 
Попробую еще раз ссылку на доброго человека дать. Почему-то не кликабельная вышла
https://forum.quik.ru/forum10/topic5435/
проблема с w32.dll на quik 8.5
 
Цитата
Павел написал:
Присоединяюсь к просьбе. Перекомпилите пожалуйста w32.dll под LUA 5.3.5 x64 для QUIK 8.5.1.

Сделано https://quik2dde.ru/viewtopic.php?id=78

Не присоединяться надо к просьбам, а форсировать, как сделал этот добрый человек forum.quik.ru/messages/forum10/message45103/topic5435/
Хоть спасибо ему скажите.
В чем необходимость загрузки lua5.1.dll в квике 8.5.2.11
 
Если повезет - то увидим ответ в этой теме
https://forum.quik.ru/forum10/topic5119/
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
Цитата
новичок написал:
не оспариваю Вашу критику, но интересуюсь кто эти все? можно пару-тройку?
Откройте документацию или презентации по .NET
Да хоть и по Lua.
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
Цитата
Sergey Gorokhov написал:
Цитата
swerg написал:
А в 8.5 как это всё устроено?
Уточните зачем Вам это?
Мы считаем что все DLL файлы которые лежат в дистрибутиве, должны лежать в дистрибутиве без пояснения причин.
Просто так надо.
Вы можете считать как угодно, однако было бы здорово, если бы вы нашли в себе силы нормально документировать систему. И отвечать на вопросы, а не переспрашивать в ответ "зачем вам это надо".
Т.е. скрипты Lua могут использовать внешние dll-библиотеки, то критично важно знать как сейчас технически устроен интерпретатор Lua в QUIK для того, чтобы:

1) Исправлять ваши же косяки с организацией Lua-машины и внешних библиотек.
См. изготовление правильной lua5.1.dll как прокси к qlua.dll
https://quik2dde.ru/viewtopic.php?id=47
Что характерно, позже вы сами добавили в дистрибутив QUIK lua5.1.dll, сделанную именно таким образом, а не просто подложив её из дистрибутива Lua, т.е. признали такой подход верным.

2) Понимать с какой же dll-библиотекой необходимо линковать свои внешние dll модули для Lua: с qlua.dll, с lua5.1.dll или с lua53.dll ? В том числе чтобы не возникало проблем, описанных по ссылке из пункта 1).

3) Чтобы в конце-концов все же понять: что за файл в дистрибутиве lua5.1.dll ? Что это? как он функционирует в составе Lua 5.3 ?
Если у меня есть dll, которая была ориентирована на работу в Lua5.1, эта dll работала в составе Lua-скрипта на предыдущих версиях QUIK и, предположим, она корректно запустилась на QUIK 8.5, используя при этом обращения к lua5.1.dll для вызова функций Lua-машины - то могу ли я быть уверен, что такая библиотека будет корректно работать в составе QUIK 8.5 ? В том числе с учетом изложенного в пункте 1) ?


Так что я просто-таки требую ответа на вопрос, ибо в противном случае вы утаиваете часть необходимой пользователям информации.

Почему все компании производящие платформы всегда рассказывают и показывают как устроена платформа внутри (в точки зрения её организации, требуемой пользователю для понимания что и как, и только QUIK традиционно выдаёт информацию по крупицам, просто-таки клещами всё приходится вытягивать?
Это, кстати, скорее всего говорит лишь о том, что вы даже не продумываете совершенно клиентские сценарии работы с вашим ПО, вы просто не знаете о них! И QUIK вы выпускаете "как получится", не продумывая клиентские сценарии. Соответственно вам просто-напросто и рассказать-то не о чем. Вы не понимаете что вообще пользователям требуется для нормального функционирования системы. И лишь когда пользователи с удивлением обнаруживают разные "неожиданные сюрпризы" - внезапно в них сознаетесь (типа многократного срабатывания OnTrade и OnOrder). Прекрасная, очень прекрасная позиция!
Всплывающее окошко Message() - кожно ли убрать?
 
Ответ на вопрос нагуглить несложно так-то

F9 --> Сообщения --> снять галку "показывать окно сообщений"
Проработка стратегии на виртуальной торговле, Формирование стратегии, виртуальная торговля
 
Цитата
Константин ... написал:
Добрый день

Скажите есть ли продвижения по данной теме? Или вопрос был отложен на неопределенное время которое никто никогда не узнает ?
Да не будет в QUIK тестирования никогда. Даже ждать смысла нет.
Зачем "зарегистрировали пожелание" - не понятно.
Индикатор + скрипт
 
Нет.
Никакого main в индикаторах нет
Ошибка при использовании оператора and
 
Какую ошибку вызывает последняя строка у вас?
Неправильное значение Totalnet в функции onTrade()
 
Цитата
Иван написал:
Последовательность событий OnTrancReply(), OnOrder(), OnTrade(), имеют всегда жесткую последовательность исполнения, или же могут в разном порядке сработать?
Нет. Фиксированной последовательности нет. Скрипт следует писать так, чтобы он корректно работал при абсолютно любой последовательности вызова этих событий.
Более того, OnOrder() и OnTrade() могут быть вызваны по несколько раз для одной и той же заявки и сделки.

Чисто теоретически OnTrancReply() вовсе может не быть вызван (например, терминал потерял связь после отправки транзакции), но будем считать, что это слишком экзотический случай, хотя и вполне реальный, такие сообщения на форуме были.
Обработать исключение для включаемого файла через dofile
 
Второй метод спасет только от формальных синтаксических ошибок в коде.
Если синтаксически код корректен, но возникнет ошибка при исполнении (обращение к необъявленной переменной, например) - то второй метод не спасет.
А первый - спасёт, для того и предназначен
Раскрытие графика во весь экран - сделать по двойному щелчку мыши
 
На самом деле вполне разумная фича
Мало ли что убраны лишние элементы интерфейса? то не должно мешать возможности при необходимости разворачивать какое-то окно, а посте - восстанавливать его размер. Двойным кликом или комбинацией клавиш.
Т0 и Т2 - свободно много рублей, а Т1 - мало. Не понимаю, почему так
 
Всё что вы рассказываете - косяки исключительно брокера. Так что все вопросы к нему.
очереди
 
Верный ответ:
1) поместит заявку в очередь с номером 101

Ни биржа, ни сервер QUIK не ищет в очереди заявки в момент их выставления. Кстати, биржа и вовсе не понимает "заявка того же клиента". Для биржи это всё заявки "одного брокера", а клиент вписан лишь в комментарий, на который биржа не смотрит.
Некорректность автора сообщения в списке форумов
 
Откроем список форумов
https://forum.quik.ru

В момент написания этого сообщения видим следующее:



Вопрос к тому, что отображается в выделенным оранжевым прямоугольником.
Ранее там всегда был автор последнего сообщения в теме.
Но теперь отображается что-то вообще не понятное.
Например, если открыть первую тему на скриншоте
https://forum.quik.ru/messages/forum1/message44641/topic5394/#message44641
то там даже нет ни одного сообщения от автора с ником "Инесса".

Поправьте как-нибудь эту странность с отображением
Звук Lua в фоновом режиме
 
Вот проигрывание в фоновом режиме
https://quik2dde.ru/viewtopic.php?id=79

Всё подробно написано как устанавливать. Надеюсь, у вас не 8.5 версия (где Lua версию изменили)
Т0 и Т2 - свободно много рублей, а Т1 - мало. Не понимаю, почему так
 
Вообще говоря если бы вы торговали только акциями (которые в Т2) - вы бы этого всего и вовсе не заметили скорее всего.
"Странности" вылезли из-за того, что вы (судя по первому сообщению) торгуете акциями и облигациями. А за облигации расчеты происходят сегодня (т.е. в Т0). Вот тут и начинаются нюансы ;)
Хотя откуда у вас взялся недостаток средств именно на Т1 - всё одно не понимаю. Следует обратиться за толкованием к брокеру для конкретной вашей ситуации.
Т0 и Т2 - свободно много рублей, а Т1 - мало. Не понимаю, почему так
 
Такие вопросы лучше задавать брокеру: как и что устроено у конкретного брокера. За это вы и платите ему комиссию. Кстати, именно брокеру следует адресовать вопрос как так вышло, что в Т0 и Т2 у вас средств достаточно, а в Т1 - нет. Это весьма странная картинка, даже не могу придумать как это так вышло.
Но брокер вполне сможет дать вам ответ.
Цитата
Марк написал:
Никак не привыкну к режиму торгов Т2 (на Мосбирже): купил акции сейчас, а продать их смогу только через день.
Нет, это не так. Ведь вы и продаёте, и покупаете акции в одном режиме Т2.
Вообще говоря по идее вас этот режим Т2 не должен совершенно никак тревожить, особенно если речь про внутридневный скальпинг. Т2 - это про денежные расчеты с биржей, а не про возможность покупки - продажи.

Т.е. Т2 - это вот что (если грубо): вы купили акции сегодня, а деньги на биржу за них надо будет отдать послезавтра. Во всяком случае что касается расчетов брокера с биржей, с вас брокер, понятно, хочет деньги уже сегодня в обеспечение, но это отдельная история. А если вы сегодня акции продали - то биржа вам после завтра эти деньги на счет начислит.
Но если вы утром купили, вечером продали - то фактически как бы деньги никакие не заделись  в том смысле, что  по обеим операциям расчеты будут только послезавтра. Но рассчитываться-то уже и не за что, акции проданы, расчет только в размере прибыли/убытка произойдёт и все.

Так что с внутредневным скальпингом всё в порядке.

Однако если вы привыкли к форексу (откуда там акции, кстати??), то вам бы лучше напроситься на курсы к брокеру, чтобы он растолковал что и как. Т.к. биржа устроена несколько сложнее, и некоторые биржевые процессы приходится учитывать при торговле на бирже.
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
В терминале QUIK версии 8.5 лежат 3 dll-файла:
qlua.dll
lua5.1.dll
lua53.dll

Что в них содержится? как они теперь взаимодействуют?

В предыдущих версиях было 2 файла:
qlua.dll -- содержит весь интерпретатор Lua
lua5.1.dll -- содержит только прокси вызовов в qlua.dll

А в 8.5 как это всё устроено?
какой смысл замены lua5.1 на lua5.3
 
luajit мешает многопоточность
проблема с w32.dll на quik 8.5
 
Проблема в том, что в 8.5 перешли на Lua 5.3
Надо пересобирать библиотеку. Пересоберу на днях.
не является приложением Win32
 
Вот здесь подробно написано что как делать, какие свойства в проекте настраивать
https://quik2dde.ru/viewtopic.php?id=18

И есть готовый пример dll, компилируемой в 32 и 64 битные варианты
Можно на основе того проекта сделать, просто заменить файлы с исходниками, переименовать файлы проекта при надобности и имя выходного файла. А проекты уже настроены как надо
Сделка по точному времени сервера
 
stime = tostring(GetInfoParam("SERVERTIME"))

Вы здесь прочитали время сервера при старте скрипта, а потом в цикле это значение не обновляете. Потому и не срабатывает
запись данных из события onalltrade и обращение к ним
 
Скобли фигурные лишние

  table.insert(arrtotal,{ .......
        })
Отображение без задержек вариационной маржи
 
вар маржу вычисляет сервер
и лишь периодически
так что иначе она отображаться не может в quik
QUIK 8.0
 
Цитата
Анатолий написал:
Запускал также msvcbuild с опцией debug-5.1 - все равно не компилится
https://quik2dde.ru/viewtopic.php?id=300

скомпилировал x32 вариант, не проверял
с x64 пока разбираюсь
QUIK 8.0
 
вы выше читали что я писал?

сделать надо или так:

size_t l = 0;
std::string secret = luaL_checklstring(L, 1, &l);

или так:
std::string secret = luaL_checklstring(L, 1, nullptr);
QUIK 8.0
 
Цитата
Анатолий написал:
Привет, слушай выручи пожалуйста - можешь помочь скомпилить библиотечку  https://github.com/jmckaskill/luaffi   я бился бился ничего не получилось, все  по мануалу автора делал неполучается
Там надо аккуратно разобраться с bat-файлом.
В нём указаны абсолютные пути до lib-файлов и до lua.exe (на диск Z:)
Эти пути надо просто поправить на свои.
Кроме того, часть h-файлов генерируется тут же при сборке через lua-скрипты, опять же надо разобраться и все настроить, чтобы генерация отрабатывала (запускалась Lua.exe) и сделать.

Может вы лучше напишете какие API функции вам нужны? вот честное слово - не верю я в магию "функции в любой dll можно вызвать из lua через эту библиотеку". Где-нибудь да обязательно вылезет проблема, которую замучаешься разгребать.

ЗЫ
Модераторы, выделите, плиз, сообщения про luaffi в отдельную тему. А то каша получается тут.
QUIK 8.0
 
Цитата
Анатолий написал:
Вообщем все равно ошибки лупит, делаю все как в вашем образце а ошибки там где я даже ничего и не трогал:
Я не вижу что там сейчас на картинке за код и ошибки.
Приведите их здесь, пожалуйста. И полный ваш код.
QUIK 8.0
 
Цитата
Анатолий написал:
Цитата
swerg написал:
Просто взять готовый проект и на его основе делать. Только переименовать )
Стал делать по вашему образцу, думаю сделать полезную подключаемую библиотечку
Код
  static int forLua_httprequest(lua_State  * L) {
 1         const char *  url  =  luaL_checklstring ( L,  1  );
 2    const char *  method  =  luaL_checklstring (L,  2 );
 3    const char *  parameters  =  luaL_checklstring (L,  3 );
 4    double SomeCounter  =  luaL_checknumber (L,  4 );
}

  

Т.е. - первые три аргумента  в функцию будут передаваться строчными, четвертый - число, MSVStudio 2107 лупит мне ошибки:
с 1 по 4ую строки - слишком мало аргументов в вызове функции,  в чем ошибка? Вроде все по вашему примеру...
Там же форум, можно спросить не отходя от кассы ;)

В luaL_checklstring() третьим параметром передайте nullptr

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 14 След.
Наверх