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

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

Страницы: 1 2 След.
Коллеги из QUIK подскажите Как считается сумма сделки в стакане по РЕПО ?
 
Цитата
Nikita Kalashnikov написал:
Alex, здравствуйте!

Таблица EXT_ORDERBOOK -- техническое имя биржевой таблицы котировок по инструменту, которое транслируется в QUIK, т.е. название этой таблицы на стороне самой биржи. Мы сообщили Вам название этой таблицы, чтобы Вы могли указать его в случае обращения по данному вопросу к специалистам биржи.
Из КВИК можно получить эти данные через LUA ?
Друзья, как полностью очистить массив в LUA ? Команда my_array={} не помогает
 
Цитата
Nikolay написал:
Это одновременно и простой и сложный вопрос. Таблицы в луа это ссылочный объект.
Т.е. запись my_array ={} создает новый объект - объявляет и инициализирует. В переменной будет новая ссылка, а старая безвозвратно утеряна, и очищена сборщиком мусора, если на нее не было больше ссылок.

Поэтому, если вопрос: как очистить существующий объект, то ответ - пройтись циклом и присвоить nil для ключей, индексов.А запись my_array ={} "как бы" очищает, да. Но при этом будет новая ссылка и если есть блоки кода, хранящие ссылку на my_array, то они не увидят новую, без повторного присвоения
Благодарю
Друзья, как полностью очистить массив в LUA ? Команда my_array={} не помогает
 
Друзья, как полностью очистить массив в LUA ? Команда my_array ={} не помогает
Коллеги из QUIK подскажите Как считается сумма сделки в стакане по РЕПО ?
 
Цитата
Nikita Kalashnikov написал:
Alex, здравствуйте!

Информация по РЕПО в стакане котировок берётся из биржевой таблицы EXT_ORDERBOOK, которая в свою очередь транслируется в систему QUIK. Для инструментов обычных режимов значение в данной таблице не вычисляется на нашей стороне. Для подробной информации по расчётам Вам необходимо обратиться в биржу.
Добрый день! Спасибо за ответ

Но НЕ МОГУ найти эту таблицу в QUIK (EXT_ORDERBOOK) !
Подскажите где ее искать ? (((

Спасибо
Как выставить заявка на РЕПО 1 день ??
 
Цитата
Nikolay написал:
У транзакции есть параметр:
EXECUTION_CONDITIONУсловие исполнения заявки, необязательный параметр. Возможные значения:  «PUT_IN_QUEUE» – поставить в очередь (по умолчанию),  «FILL_OR_KILL» – немедленно или отклонить,  «KILL_BALANCE» – снять остаток
Да это я понял

Не понятна логика поведения в 2х последних:  «FILL_OR_KILL» – немедленно или отклонить;  «KILL_BALANCE» – снять остаток
В чем различие? По идее они одно и тоже делают. Выставляют заявку и снимают остаток.
Можете объяснить в чем различие поведении в двух этих режимах

Спасибо!!
Как выставить заявка на РЕПО 1 день ??
 
Цитата
Anton Belonogov написал:
Alex, добрый день.

Передайте код клиента в параметре "Примечание":
Код
  transaction[ "Примечание" ]  =   "12345/"   
Коллеги из QUIK подскажите пож-ста как сделать так чтобы заявка сразу снималась в случае если она сразу не исполнилась ?
Спасибо
Как выставить заявка на РЕПО 1 день ??
 
Цитата
Anton Belonogov написал:
Alex, добрый день.

Передайте код клиента в параметре "Примечание":
Код
  transaction[ "Примечание" ]  =   "12345/"   
СПАСИБО, Заработало
Коллеги из QUIK подскажите Как считается сумма сделки в стакане по РЕПО ?
 
Друзья еще раз добрый день,

Распишите пож-ста как в СТАКАНЕ считается "СУММА РЕПО"  по облигациям и КСУ
Пробовал перемножить лоты на цену инструмента. Не сходятся цифры даже в учетом НКД
Видимо в формулу зашито дисконтирование.

Спасибо, очень жду ответ
Как выставить заявка на РЕПО 1 день ??
 
В версии QUIK 10 ругается и пишет "НЕ указан код клиента"
Добавил CLIENT_CODE но все равно не работает ((

transaction["TRANS_ID"] = "1"
transaction["CLASSCODE"] = "EQRP_BND"
transaction["ACTION"] = "Ввод заявки РЕПО с ЦК"

transaction["CLIENT_CODE "] = "12345"

transaction["Торговый счет"] = "L01+00000F00"
transaction["К/П"] = "Купля"
transaction["Тип"] = "Лимитная"
transaction["Тип по цене"] = "По разным ценам"
transaction["Тип по остатку"] = "Поставить в очередь"
transaction["Тип ввода значения цены"] = "По цене"
transaction["Назначение заявки"] = "По умолчанию"
transaction["Режим"] = "EQRP_BND"
transaction["Инструмент"] = "RU000A0JRF37"
transaction["Цена"] = "6.1500"
transaction["Лоты"] = "0"
transaction["Объем заявки"] = "1000000.00"

sendTransaction(transaction)  
Коллеги из QUIK подскажите Как считается сумма сделки в стакане по РЕПО ?
 
Цена  / Количество / Сумма РЕПО ??

не понятно как сумма РЕПО рассчитывается по КСУ и облигациям в СТАКАНЕ
Как выставить заявка на РЕПО 1 день ??
 
Цитата
Anton Belonogov написал:
Alex,

нет, остались лишние запятые.

Вы можете проверить работу кода самостоятельно.
Спасибо
Все получилось!
Коллеги из QUIK подскажите Как считается сумма сделки в стакане по РЕПО ?
 
Коллеги из QUIK подскажите Как считается сумма сделки в стакане по РЕПО (акции / облигации / КСУ )?
На что умножаются ЛОТЫ ?

Спасибо
Как выставить заявка на РЕПО 1 день ??
 
Цитата
Anton Belonogov написал:
Alex,  добрый день.

Нет, такой код не может быть запущен.

В предыдущем сообщении мы указали, каким образом необходимо передавать параметры транзакции, просим еще раз обратить внимание:
Код
  transaction  =  {}

transaction[ "TRANS_ID" ]  =   "1" 
transaction[ "CLASSCODE" ]  =   "EQRP_BND" 
transaction[ "ACTION" ]  =   "Ввод заявки РЕПО с ЦК"   
- и так далее для каждого параметра транзакции.
Вот так ?


transaction = {}

transaction["TRANS_ID"] = "1"
transaction["CLASSCODE"] = "EQRP_BND"
transaction["ACTION"] = "Ввод заявки РЕПО с ЦК"
transaction["Торговый счет"] = "L01+00000F00",
transaction["К/П"] = "Купля",
transaction["Тип"] = "Лимитная",
transaction["Тип по цене"] = "По разным ценам",
transaction["Тип по остатку"] = "Поставить в очередь",
transaction["Тип ввода значения цены"] = "По цене",
transaction["Назначение заявки"] = "По умолчанию",
transaction["Режим"] = "EQRP_BND",
transaction["Инструмент"] = "RU000A0JRF37",
transaction["Цена"] = "6.1500",
transaction["Лоты"] = "0",
transaction["Объем заявки"] = "1000000.00"

sendTransaction(transaction)  
Как выставить заявка на РЕПО 1 день ??
 
Цитата
Anzhelika Goncharenko написал:
Alex, добрый день.

Мы предлагаем Вам использовать  универсальный  формат описания транзакций.
Пример такого описания, а также способ его получения мы привели в первом сообщении.

Цитата
Alex написал:
АНЖЕЛИКА, не понятны точные названия переменных на английском языке по след параметрам:
В LUA скрипте параметры транзакций и их значения можно передавать в таком же виде, как в tri-файле.
Параметры из tri-файла можно передать в скрипте в следующем виде:
Код
  t  =  {}
t[ "Тип по цене" ]  =   "По разным ценам"   
АНЖЕЛИКА, так верно ?

transaction = {

TRANS_ID = 1,
CLASSCODE = EQRP_BND,
ACTION = "Ввод заявки РЕПО с ЦК",
"Торговый счет" = "L01+00000F00",
"К/П" = "Купля",
"Тип" = "Лимитная",
"Тип по цене" = "По разным ценам",
"Тип по остатку" = "Поставить в очередь",
"Тип ввода значения цены" = "По цене",
"Назначение заявки" = "По умолчанию",
"Режим" = "EQRP_BND",
"Инструмент" = "RU000A0JRF37",
"Цена" = "6.1500",
"Лоты" = "0",
"Объем заявки" = "1000000.00"

}
Как выставить заявка на РЕПО 1 день ??
 
Цитата
Anzhelika Goncharenko написал:
Цитата
Alex написал:
Правильно ли я понимаю что в заявке кол-во лотов само рассчитается ?
Мы выше привели просто пример, где указывается Цена и Объем заявки, а Лоты рассчитывается исходя из этих данных, если Вам нужно фиксированное кол-во указываете Лоты и Цена.
Цитата
Alex написал:
Я пытаюсь выставить заявку через LUA непосредственно в QUIK
Способ подачи не важен.
Вот так пытаюсь поставить заявку, что то не получается ((

transaction = {

ACCOUNT = my_account,
CLIENT_CODE = my_client_code,
TYPE = "L",
TRANS_ID = "1",
CLASSCODE = class_code,
SECCODE = sec_code,
ACTION="NEW_REPO_NEG_DEAL",
OPERATION="B",
PRICE=tostring(price),
QUANTITY=0,
REPOVALUE=1000000

}
Как выставить заявка на РЕПО 1 день ??
 
Цитата
Alex написал:
Цитата
Anzhelika Goncharenko написал:
 
Цитата
Alex  написал:
Правильно ли я понимаю что в заявке кол-во лотов само рассчитается ?
 Мы выше привели просто пример, где указывается Цена и Объем заявки, а Лоты рассчитывается исходя из этих данных, если Вам нужно фиксированное кол-во указываете Лоты и Цена.
 
Цитата
Alex  написал:
Я пытаюсь выставить заявку через LUA непосредственно в QUIK
 Способ подачи не важен
Подскажите ставим в ACTION="NEW_REPO_NEG_DEAL"  ?
АНЖЕЛИКА, не понятны точные названия переменных на английском языке по след параметрам:

Тип по цене=По разным ценам;
Тип по остатку=Поставить в очередь;
Тип ввода значения цены=По цене;
Назначение заявки=По умолчанию;
Режим=EQRP_BND;
Объем заявки=1000000.00;
Как выставить заявка на РЕПО 1 день ??
 
Не понятны точные названия переменных на английском языке по след параметрам:

Тип по цене=По разным ценам;
Тип по остатку=Поставить в очередь;
Тип ввода значения цены=По цене;
Назначение заявки=По умолчанию;
Режим=EQRP_BND;
Объем заявки=1000000.00;
Как выставить заявка на РЕПО 1 день ??
 
Цитата
Anzhelika Goncharenko написал:
Цитата
Alex написал:
Правильно ли я понимаю что в заявке кол-во лотов само рассчитается ?
Мы выше привели просто пример, где указывается Цена и Объем заявки, а Лоты рассчитывается исходя из этих данных, если Вам нужно фиксированное кол-во указываете Лоты и Цена.
Цитата
Alex написал:
Я пытаюсь выставить заявку через LUA непосредственно в QUIK
Способ подачи не важен
Подскажите ставим в ACTION="NEW_REPO_NEG_DEAL"  ?
Как выставить заявка на РЕПО 1 день ??
 
Спасибо, сейчас попробую
Как выставить заявка на РЕПО 1 день ??
 
Я пытаюсь выставить заявку через LUA непосредственно в QUIK
Как выставить заявка на РЕПО 1 день ??
 
Правильно ли я понимаю что в заявке кол-во лотов само рассчитается ?
Цитата
Anzhelika Goncharenko написал:
Ответить
Как выставить заявка на РЕПО 1 день ??
 
Друзья добрый день!

Никак не могу выставить заявку на РЕПО 1день через функцию SendTransaction
Классические заявки на куплю продажу акций и облигаций выставляются нормально
А с РЕПО какая то ЗАСАДА !! ((((

Спасибо
getQuoteLevel2() при закрытом стакане будет работать ?
 
getQuoteLevel2() при закрытом стакане будет работать ?
Как правильно удалить элемент из массива со "сдвигом влево"
 
Как правильно удалить элемент из массива со "сдвигом влево"
Получение данных из произвольной таблицы по имени таблицы
 
Господа добрый день

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

Спасибо
Коллеги как подключить LUA SOCKET к QUIK 9 ?
 
Цитата
nikolz написал:
Цитата
Alex написал:
Выполняю команду

socket=require("socket")

Вылезают вот такие ошибки

no field package.preload['socket']
no file 'C:\VTBC_Broker\QUIK\lua\socket.lua'
no file 'C:\VTBC_Broker\QUIK\lua\socket\init.lua'
no file 'C:\VTBC_Broker\QUIK\socket.lua'
no file 'C:\VTBC_Broker\QUIK\socket\init.lua'
no file 'C:\VTBC_Broker\QUIK\. .\share\lua\5.3\socket.lua'
no file 'C:\VTBC_Broker\QUIK\. .\share\lua\5.3\socket\init.lua'
no file '.\socket.lua'
no file '.\socket\init.lua'
no file 'C:\VTBC_Broker\QUIK\socket.dll'
no file 'C:\VTBC_Broker\QUIK\. .\lib\lua\5.3\socket.dll'
no file 'C:\VTBC_Broker\QUIK\loadall.dll'
проверьте версию dll
в 9 версии квик можно работать с dll Lua 5.3 либо Lua 5.4

Надо инсталировать lua socket  или просто кинуть в нужные директории нужные файлы ?
И где их найти? )
Коллеги как подключить LUA SOCKET к QUIK 9 ?
 
Нашел в корневой директории файлы:

lua54.dll
lua53.dll
lua5.1.dll
Коллеги как подключить LUA SOCKET к QUIK 9 ?
 
Выполняю команду

socket=require("socket")

Вылезают вот такие ошибки

no field package.preload['socket']
no file 'C:\VTBC_Broker\QUIK\lua\socket.lua'
no file 'C:\VTBC_Broker\QUIK\lua\socket\init.lua'
no file 'C:\VTBC_Broker\QUIK\socket.lua'
no file 'C:\VTBC_Broker\QUIK\socket\init.lua'
no file 'C:\VTBC_Broker\QUIK\. .\share\lua\5.3\socket.lua'
no file 'C:\VTBC_Broker\QUIK\. .\share\lua\5.3\socket\init.lua'
no file '.\socket.lua'
no file '.\socket\init.lua'
no file 'C:\VTBC_Broker\QUIK\socket.dll'
no file 'C:\VTBC_Broker\QUIK\. .\lib\lua\5.3\socket.dll'
no file 'C:\VTBC_Broker\QUIK\loadall.dll'
Какая функция читает ДОСКУ ОПЦИОНОВ ?
 
Какая функция читает ДОСКУ ОПЦИОНОВ ?
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
 
Цитата
nikolz написал:
shared mеmory

Мне надо передать "строку" (string) из QUIK (lua) на скрипт Python.
Подскажи пож самый простой способ, но не через жесткий диск.
Может какой пример завалялся ?

В настоящий момент у меня реализована передача через текстовый Файл.
То есть Quik записывает (постоянно перезаписывает) файл txt, а функция Watchdog на Python его подхватывает и обрабатывает

Спасибо
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
 
Получается что mmap всё равно работает чем файловую систему.
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
 
Цитата
nikolz написал:
Цитата
Alex написал:
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?

В настоящий момент реализована передача через текстовый Файл.
То есть Quik записывает постоянно перезаписывает файл, а функция watchdog на Python его подхватывает и обрабатывает
Но есть проблема - жуткие тормоза!

Подскажите как сделать через ПАМЯТЬ ??

Спасибо!
Я использую mapping для связи приложений и потоков.
---------------------
Для питона можно посмотркть здесь:

https://docs.python.org/3/library/mmap.html
А можете пример скинуть, что бы проще было разбираться
Спасибо
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
 
Цитата
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 через память компа?
 
Цитата
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 через память компа?
 
Цитата
Nikolay написал:
named pipes, socket
Просто я знаком только с языками LUa и Python
Не понимаю как организовать взаимодействие между named pipes в Qiuk и python
Спасибо
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
 
Цитата
Nikolay написал:
named pipes, socket
А поподробнее ? )))
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
 
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?

В настоящий момент реализована передача через текстовый Файл.
То есть Quik записывает постоянно перезаписывает файл, а функция watchdog на Python его подхватывает и обрабатывает
Но есть проблема - жуткие тормоза!

Подскажите как сделать через ПАМЯТЬ ??

Спасибо!
Как запустить КВИК на новом macbook air M1 ??
 
Добрый день!

Уже год просим сделать поддержку процессора  macbook m1 !!
Есть iшанс что дождемся ?

Спасибо
Установка Quik на mac на чипе M 1
 
Господа кто смог запустить КВИК 9 на процессоре М1 ???
Поделитесь рецептом
GetItem не работает с пользовательскими таблицами
 
Цитата
Незнайка написал:
Alex, GetItem и getNumberOf работают только со стандартными таблицами. Они все указаны в руководстве.
Если вам нужны параметры бумаг, то надо использовать ParamRequest и getParamEx/getParamEx2
Если все параметры уже находятся в пользовательской таблице то можно не использовать ParamRequest ?
ParamReques это когда нужный параметр не показывается в таблице и надо его дернуть с сервера?
Верно понял ?
GetItem не работает с пользовательскими таблицами
 
Создал таблицу, напихал туда ОФЗ, обозвал таблицу как "OFZ"
GetItem и getNumberOf её не видят.
Подскажите в чем можем быть косяк

Спс
Подскажите Как залить JSON массив в LUA массив (таблица)? Массив 2х мерный. JSON лежит с текстовом файле.
 
Цитата
Anton написал:
Хоть бы так например . Ну или изобрести лисапед самостоятельно.
А как ее установить ?)
Подскажите как сделать Таймер на пользовательскую функцию?
 
Добрый день

Есть некая функция, надо что она вызывалась строго 1 раз в минуту.
Основная функция  main работает с задержкой sleep (500)
Подскажите Как залить JSON массив в LUA массив (таблица)? Массив 2х мерный. JSON лежит с текстовом файле.
 
Господа подскажите как после прочтения файла функцией read, конвертировать полученные JSON данные в LUA массив?
Спасибо
Как разделить число на разряды ?
 
Цитата
s_mike@rambler.ru написал:
http://www.bot4sale.ru/blog-menu/qlua/380-split-3.html
Красивое решение
Фуyкция GetCell не работает
 
Добрый день!

У меня в ячейке лежит число "72".
При попытке получить это число через GetCell, message выдает "table: 000001BF836BB160"
В чем косяк ?
Как объявить Двумерный массив с последующим заполнением уже в скрипте?
 
А почему не работает эта конструкция ?
Пока i =1 все работает норм, но как только переходим на i =2 сразу идет ошибка!
Код
save = {{}}
for i=1, 20 then
  for j=1, 20 then
    save[i][j] = "hello"
  end
end
Как объявить Двумерный массив с последующим заполнением уже в скрипте?
 
Цитата
Игорь Б написал:
save = {};
for i = 1, 100 do
save = {};
end;
А если за ранее не известно будет вложенных массивов (10 100 500 мильён)
То как быть? ))
Как разделить число на разряды ?
 
Надо число 2000000 превратить в 2.000.000
Спасибо
Как объявить Двумерный массив с последующим заполнением уже в скрипте?
 
Код
save = {}
save[1][1] = "hello"
message(save[1][1], 0)
Так тоже не работает
Страницы: 1 2 След.
Наверх