Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
Пользователь
Сообщений: Регистрация: 16.05.2020
22.05.2022 16:06:52
Цитата
Nikolay написал: named pipes Lua поддерживает "прямо из коробки"
Код
local pipe = io.open ( "\\\\.\\PIPE\ \" .. pipe_name, "w+b" )
if not pipe then
return
end
pipe:write( 'BlaBla' ) -- записываем команду в канал
--Читаем
local rd = ''
local ct = os.time ()
-- Для примера: Т.к. время ожидания ответа может быть не мгновенным, то ожидаем 2 секунды, читая из канала ответ.
while os.time () - ct < 2 and rd = = '' do
rd = pipe:read( '*a' )
end
tele_pipe:close() -- закрываем канал
А python - это же такая "помойка". Неужели нет готовой библиотеки сервера named pipes? Поиск выдает тонны вариантов.
Пытался запустить Ваш скрипт, выдает. ошибку. attempt to index a nil value (local 'pipe')
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
Пользователь
Сообщений: Регистрация: 16.05.2020
22.05.2022 15:35:40
Цитата
Nikolay написал: named pipes Lua поддерживает "прямо из коробки"
Код
local pipe = io.open ( "\\\\.\\PIPE\ \" .. pipe_name, "w+b" )
if not pipe then
return
end
pipe:write( 'BlaBla' ) -- записываем команду в канал
--Читаем
local rd = ''
local ct = os.time ()
-- Для примера: Т.к. время ожидания ответа может быть не мгновенным, то ожидаем 2 секунды, читая из канала ответ.
while os.time () - ct < 2 and rd = = '' do
rd = pipe:read( '*a' )
end
tele_pipe:close() -- закрываем канал
А python - это же такая "помойка". Неужели нет готовой библиотеки сервера named pipes? Поиск выдает тонны вариантов.
Попробую разобраться Готовые библиотеки это подключаемые DLL ?
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
Пользователь
Сообщений: Регистрация: 16.05.2020
22.05.2022 15:03:58
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
В настоящий момент реализована передача через текстовый Файл. То есть Quik записывает постоянно перезаписывает файл, а функция watchdog на Python его подхватывает и обрабатывает Но есть проблема - жуткие тормоза!
Подскажите как сделать через ПАМЯТЬ ??
Спасибо!
Как запустить КВИК на новом macbook air M1 ??
Пользователь
Сообщений: Регистрация: 16.05.2020
22.02.2022 09:38:08
Добрый день!
Уже год просим сделать поддержку процессора macbook m1 !! Есть iшанс что дождемся ?
Спасибо
Установка Quik на mac на чипе M 1
Пользователь
Сообщений: Регистрация: 16.05.2020
22.02.2022 09:36:23
Господа кто смог запустить КВИК 9 на процессоре М1 ??? Поделитесь рецептом
GetItem не работает с пользовательскими таблицами
Пользователь
Сообщений: Регистрация: 16.05.2020
26.10.2021 19:18:38
Цитата
Незнайка написал: , GetItem и getNumberOf работают только со стандартными таблицами. Они все указаны в руководстве. Если вам нужны параметры бумаг, то надо использовать ParamRequest и getParamEx/getParamEx2
Если все параметры уже находятся в пользовательской таблице то можно не использовать ParamRequest ? ParamReques это когда нужный параметр не показывается в таблице и надо его дернуть с сервера? Верно понял ?
GetItem не работает с пользовательскими таблицами
Пользователь
Сообщений: Регистрация: 16.05.2020
26.10.2021 15:06:09
Создал таблицу, напихал туда ОФЗ, обозвал таблицу как "OFZ" GetItem и f её не видят. Подскажите в чем можем быть косяк
Спс
Подскажите Как залить JSON массив в LUA массив (таблица)? Массив 2х мерный. JSON лежит с текстовом файле.
Пользователь
Сообщений: Регистрация: 16.05.2020
06.10.2021 15:37:47
Цитата
Anton написал: . Ну или изобрести лисапед самостоятельно.
А как ее установить ?)
Подскажите как сделать Таймер на пользовательскую функцию?
Пользователь
Сообщений: Регистрация: 16.05.2020
06.10.2021 14:45:06
Добрый день
Есть некая функция, надо что она вызывалась строго 1 раз в минуту. Основная функция main работает с задержкой sleep (500)
Подскажите Как залить JSON массив в LUA массив (таблица)? Массив 2х мерный. JSON лежит с текстовом файле.
Пользователь
Сообщений: Регистрация: 16.05.2020
06.10.2021 14:42:36
Господа подскажите как после прочтения файла функцией read, конвертировать полученные JSON данные в LUA массив? Спасибо
Как разделить число на разряды ?
Пользователь
Сообщений: Регистрация: 16.05.2020
30.09.2021 09:09:29
Цитата
написал:
Красивое решение
Фуyкция GetCell не работает
Пользователь
Сообщений: Регистрация: 16.05.2020
30.09.2021 09:03:15
Добрый день!
У меня в ячейке лежит число "72". При попытке получить это число через GetCell, message выдает "table: 000001BF836BB160" В чем косяк ?
Как объявить Двумерный массив с последующим заполнением уже в скрипте?
Пользователь
Сообщений: Регистрация: 16.05.2020
30.09.2021 08:55:06
А почему не работает эта конструкция ? Пока i =1 все работает норм, но как только переходим на i =2 сразу идет ошибка!
Код
save = {{}}
for i=1, 20 then
for j=1, 20 then
save[i][j] = "hello"
end
end
Как объявить Двумерный массив с последующим заполнением уже в скрипте?
Пользователь
Сообщений: Регистрация: 16.05.2020
29.09.2021 16:59:41
Цитата
Игорь Б написал: save = {}; for i = 1, 100 do save = {}; end;
А если за ранее не известно будет вложенных массивов (10 100 500 мильён) То как быть? ))
Как разделить число на разряды ?
Пользователь
Сообщений: Регистрация: 16.05.2020
29.09.2021 16:21:51
Надо число 2000000 превратить в 2.000.000 Спасибо
Как объявить Двумерный массив с последующим заполнением уже в скрипте?
Пользователь
Сообщений: Регистрация: 16.05.2020
29.09.2021 16:08:23
Код
save = {}
save[1][1] = "hello"
message(save[1][1], 0)
Так тоже не работает
Как объявить Двумерный массив с последующим заполнением уже в скрипте?
Подскажите как отправлять инфу из QUIK в телеграм?
Пользователь
Сообщений: Регистрация: 16.05.2020
20.09.2021 20:30:49
Цитата
Nikolay написал: В принципе да. Но проще всего это сделать через замыкание, тогда проще вызывать. Можно даже сделать таймер, чтобы не читать слишком часто
Николай можно поподробнее про "замыкание" Спасибо
Подскажите как отправлять инфу из QUIK в телеграм?
А как сделать обмен в обратном направлении? Из Питона в Квик Квик -> Питон все просто. watсhdog python отслеживает изменение файла. В qlua нет функции отслеживания изменения файла. Спс
Ничего сложного. Открываете файл в режиме чтения и читаете его.
Все зависит от методики обмена, как Вы будете записывать информацию. Одна строка, несколько строк. Возможно надо написать свой итератор перебора строк.
Для примера, можно просто читать последнюю строку файла через:
Код
file:seek( "end" )
last_line = file:read( '*l' )
Если появится новая строка, то и при чтении она считается, т.к. директива *l - Reads the line from the current file position, and moves file position to next line.
Николай спасибо, попробую реализовать.. Остается вопрос как дать понять скрипту lua что в файл добавлена новая строка. Получается надо делать бесконечный цикл который постоянно читает файл и ищет в нем новую строку ?
Подскажите как отправлять инфу из QUIK в телеграм?
Пользователь
Сообщений: Регистрация: 16.05.2020
19.09.2021 18:49:10
Цитата
Владимир написал: , Я думаю, это вечный костыль. Идея-то стандартная, ещё из прошлого тысячелетия, называется ОЗУДД (ОЗУ двойного доступа). Например, повесить какую-нить функцию на какой-нить вектор и программным прерыванием по этому вектору делай, что хошь. Но современные операционки уже настолько изуродованы, что кроме как через файл вряд ли что получится.
А как сделать обмен в обратном направлении? Из Питона в Квик Квик -> Питон все просто. watсhdog python отслеживает изменение файла. В qlua нет функции отслеживания изменения файла. Спс
Подскажите как отправлять инфу из QUIK в телеграм?
Пользователь
Сообщений: Регистрация: 16.05.2020
17.09.2021 11:11:18
Цитата
Владимир написал: , Я думаю, это вечный костыль. Идея-то стандартная, ещё из прошлого тысячелетия, называется ОЗУДД (ОЗУ двойного доступа). Например, повесить какую-нить функцию на какой-нить вектор и программным прерыванием по этому вектору делай, что хошь. Но современные операционки уже настолько изуродованы, что кроме как через файл вряд ли что получится.
Через файл все работает супер, спасибо
Проблема только с записью русских букв в файл. io.wriite пишет в файл только латиницу , а кириллицу не пишет!!!
Подскажите как отправлять инфу из QUIK в телеграм?
Пользователь
Сообщений: Регистрация: 16.05.2020
17.09.2021 09:41:15
Цитата
Nikolay написал: Чаще всего в таком режиме общения либо дописывают строки в файл.
Скрипт на lua открывает файл на запись, скрипт на Питоне на чтение. Скрипт на питоне помнит последний номер строки и считывает новую, если появилась.
Либо создавать новый файл обмена. После обработки скрипт на Питоне удалит его, давая тем самым ответ, что обработка закончена.
Все сделал. QUIK генерит файл с текстом, Питон его открывает и пуляет в телегу.
Но это конечно же костыль)) Идеально дергать инфу не из файла а из оперативки. Есть идеи как это сделать ? )) Спс
Подскажите как отправлять инфу из QUIK в телеграм?
Пользователь
Сообщений: Регистрация: 16.05.2020
16.09.2021 17:38:47
Цитата
Игорь Б написал: Начните с самого простого варианта - через файл.txt. Дальше разберетесь по мере развития схемы
Думаю это оптимальный вариант для начала У вас есть примеры как это сделать ? )) Возникает вопрос как сообщить скрипту на Питоне что файл изменился. (как сигнал на отправку сообщения с текстом из файла)
Подскажите как отправлять инфу из QUIK в телеграм?
1. Готово 2. Готово 3. Знаю только ПИТОН. ,(c++, c#, java) НЕ знаю 4. Вот это основная проблема! Читал кучу инфы но так и не допёр как сделать 5. С начала надо разобраться с пунктом 4 ))
3.Если знаете ПИТОН, то пишите на ПИТОНе. Разницы нет. В инете есть примеры. 4.Т.е. Вы не знаете Lua(qlua)? Начните с его изучения. Этот форум как раз этому посвящен.
Qlua я знаю. Не могу разобраться как отправить инфу из Quik на внешний скрипт на Питоне.
Подскажите как отправлять инфу из QUIK в телеграм?
Пользователь
Сообщений: Регистрация: 16.05.2020
16.09.2021 13:45:48
Цитата
написал: Еще один вариант, самый простой на мой взгляд. .
Да это простой вариант. У меня сейчас отправка сообщений в телегу реализована через os.execute Но есть проблема - постоянно выскакивают окна CMD !!
Подскажите как отправлять инфу из QUIK в телеграм?
Начни с конца. 1.в телеграм получи свой chat id 2.создай telegram bot и получи его token 3.возьми язык, который знаешь,(c++, c#, java ...) разберись как послать строку в телеграмм своему боту по token, который по твоему chat id пошлет тебе эту строку в виде сообщения 4.в lua напиши скрипт, который собирает нужную тебе инфо и передает(есть разные варианты) в программу, написанную на см.п.3. 5.(не обязательно) напиши красивую оболочку на языке, который знаешь, в которой ты делаешь выбор(ставишь галочки), какую именно информацию(большой список) тебе необходимо передавать из квик в телеграмм.
1. Готово 2. Готово 3. Знаю только ПИТОН. ,(c++, c#, java) НЕ знаю 4. Вот это основная проблема! Читал кучу инфы но так и не допёр как сделать 5. С начала надо разобраться с пунктом 4 ))
Подскажите как отправлять инфу из QUIK в телеграм?
Подскажите как отправлять инфу из QUIK в телеграм?
Пользователь
Сообщений: Регистрация: 16.05.2020
27.08.2021 17:00:24
Подскажите как отправлять инфу из QUIK в телеграм? Встроенными средствами это сделать нельзя.
Не понятно каким путем двигаться, с чего начать. Делать вывоз по DDE и забирать данные из оперативной памяти? Или можно проще? Может кто то уже делал и может "на пальцах" объяснить ?
СПАСИБО
Как запустить КВИК на новом macbook air M1 ??
Пользователь
Сообщений: Регистрация: 16.05.2020
24.08.2021 10:12:49
Спасибо за ответ
Через parallels будет работать версия 8 ?
Как запустить КВИК на новом macbook air M1 ??
Пользователь
Сообщений: Регистрация: 16.05.2020
23.08.2021 09:05:16
Добрый день!
Заработал КВИК 8 на новых макбук М1 ???
Как передать текущую таблицу котировок в python?
Пользователь
Сообщений: Регистрация: 16.05.2020
05.05.2021 22:17:40
Добрый день
Подскажите с чего начать, что бы разобраться в механизме передачи информации из Quik в python ? (ДДЕ, и тп.) В обратную сторону (Python -> Quik) передача не нужна.
Конечная цель это отправка полученной информации в телеграмм бота. os.execute постоянно открывает окно CMD что мешает работе с терминалом Quik
Спс
Как запустить КВИК на новом macbook air M1 ??
Пользователь
Сообщений: Регистрация: 16.05.2020
02.05.2021 18:25:50
Как запустить КВИК на новом macbook air M1 ??
Функция getParamEx не выгружает параметры LONGNAME и SHORTNAME
Функция getParamEx не выгружает параметры LONGNAME и SHORTNAME
Пользователь
Сообщений: Регистрация: 16.05.2020
20.11.2020 14:43:11
Мне надо чтобы сработал колбэл onparam (он срабатывает) Далее мне надо узнать название инструмента
Функция getParamEx не выгружает параметры LONGNAME и SHORTNAME
Пользователь
Сообщений: Регистрация: 16.05.2020
20.11.2020 14:22:10
Цитата
swerg написал: См. справку "Таблицы, используемые в функциях «getItem», «getNumberOf» и «SearchItems»" Таблица: securities - Инструменты
В ней то, что вам нужно
Добрый день
Это лишний код)) Почему getParamEx не даёт эти поля ?
Функция getParamEx не выгружает параметры LONGNAME и SHORTNAME
Пользователь
Сообщений: Регистрация: 16.05.2020
20.11.2020 13:58:57
Код
function OnParam(class, sec)
if class == p_classcode then
qqq = getParamEx(class, sec, "LONGNAME").param_value;
message(qqq, 1);
end;
end;
В окне сообщений НУЛИ
Как снять все заявки без указания их номеров? Kill order
Пользователь
Сообщений: Регистрация: 16.05.2020
23.05.2020 15:07:33
Как снять все заявки без указания их номеров? Kill order
Как сделать поле ввода цены в таблице CreateTable?
Пользователь
Сообщений: Регистрация: 16.05.2020
16.05.2020 16:35:32
Сбрось пож-ста вариант с циклами. У меня много ячеек и код будет гигантский)
Спасибо
Как сделать поле ввода цены в таблице CreateTable?
Пользователь
Сообщений: Регистрация: 16.05.2020
16.05.2020 15:25:13
Спасибо тебе добрый человек за выложенный скрипт А на пальцах можешь обьяснить ?)))
Как сделать поле ввода цены в таблице CreateTable?
Пользователь
Сообщений: Регистрация: 16.05.2020
16.05.2020 15:12:21
Вообщем надо чтобы при клике мышкой на ячейку таблицы туда (в ячейку) можно было записать число или текст
Как сделать поле ввода цены в таблице CreateTable?
Пользователь
Сообщений: Регистрация: 16.05.2020
16.05.2020 15:10:03
Добрый день
Сделал информационную табличку. Настроил функцию на нажатие мышкой на определенную ячейку таблицы
Но как сделать так что бы в ячейку можно было поместить текст или число из терминала при запущенном скрипте?? Как присваивать значения из скрипта тут все ясно и понятно , но как это сделать «с экрана»??