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

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

Страницы: Пред. 1 ... 25 26 27 28 29 30 31 32 33 34 35 ... 46 След.
Прошу совета с TAKE_PROFIT_AND_STOP_LIMIT_ORDER, Прошу совета с TAKE_PROFIT_AND_STOP_LIMIT_ORDER
 
Цитата
Sergey Gorokhov пишет:
Информацию о посланных транзакциях Вы можете логировать самостоятельно средствами Lua
В спорной ситуации брокер может просто заявить, что транзакция на сервер не пришла. И эту карту ничем не перебьёшь.
К тому же, транзакции выполненные вручную, нельзя "перехватить".
Поэтому зарегистрируйте пожелание, чтобы отправленные транзакции также логировались на рабочем месте средствами самой системы.
Надо делать так, как надо. А как не надо - делать не надо.
Корректность тиковых данных
 
Данную проблему поднимал почти год назад: Архив графиков.
Проблема в том, что на сервере QUIK нет никакого контроля качества принимаемой информации. И, если в результате какого-либо сбоя на одном из узлов передачи данных между шлюзом биржи и сервером QUIK часть данных "потеряется", то это так и останется незаметным для сотрудников брокера, пока (и если) кто-нибудь из бдительных пользователей не сообщит им об этом.
Проблема отсутствия части сделок в ТВС, и как следствие - части данных на графиках, - явление не редкое: по одному только инструменту более 2% в год.  
Надо делать так, как надо. А как не надо - делать не надо.
Нулевые позиции
 
Цитата
Alexey Ivannikov пишет:
Как вариант - учитывать время проведения клиринга в своём алгоритме.
Можно, но есть множество причин, по которым данный вариант не является надёжным.
Поэтому давайте сделаем так, чтобы не нужно было гадать: есть данные - транслируем, нет данных - не транслируем.
Спасибо.
Надо делать так, как надо. А как не надо - делать не надо.
Нулевые позиции
 
Цитата
Alexey Ivannikov пишет:
Цитата
Старатель пишет:
Это биржа шлёт эти нули или QUIK сам их подставляет?
Добрый день.

Второе.
Очевидно, что, когда принималось решение о такой подставе замене, должно было предусмотреть вариант чтения текущей позиции.
Поделитесь, пожалуйста, решением однозначного определения текущей позиции по инструменту, в случае, когда мы видим в таблице ноль. Ну, т.е., по каким признакам можно понять, что размер позиции ещё не определён и нужно ждать колбэка?
Надо делать так, как надо. А как не надо - делать не надо.
InsertRow
 
Цитата
NUMBER InsertRow(NUMBER t_id, NUMBER key)
Примечание:
При добавлении данных в новую таблицу в первую очередь выполните данную функцию с параметром «key» равным «-1». При этом строка добавится в конец таблицы.
Почему при добавлении в новую таблицу key должен быть равен -1?
Что произойдёт, если добавлять в новую таблицу с другим, отличным от -1, значением?
Надо делать так, как надо. А как не надо - делать не надо.
Нулевые позиции
 
В таком случае, можем мы рассчитывать, что это недоразумение будет исправлено в ближайшем обновлении версии терминала в рамках пожелания?
Цитата
Sergey Gorokhov пишет:
Дословно оно звучит так "чтобы во всех колбеках возвращающих таблицы, при отсутствии значения параметра передавать nil вместо "0"
Надо делать так, как надо. А как не надо - делать не надо.
Нулевые позиции
 
Цитата
Alexey Ivannikov пишет:
Тут нужно смотреть каждый конкретный случай
Вот конкретный пример, который у вас будет воспроизводиться всегда:
Получаем текущие позиции из таблицы futures_client_holding:
Код
{startnet=1, totalnet=1}
Затем в 18:45:20 приходит колбек
Код
{startnet=0, totalnet=0}
Это биржа шлёт эти нули или QUIK сам их подставляет?
Надо делать так, как надо. А как не надо - делать не надо.
Нулевые позиции
 
Иногда, например во время клиринга, в таблицах QUIK транслируются нули вместо реальных позиций.
Эти нули присылает биржа или QUIK сам подставляет их вместо null?

Как можно понять, когда там действительно нули, а когда позиции пока ещё не загружены?
Надо делать так, как надо. А как не надо - делать не надо.
запретить всплывающие окна сообщений
 
Цитата
Sergey Gorokhov пишет:
На нашем форуме уже подымался этот вопрос и на него был ответ
https://forum.quik.ru/messages/forum1/message6426/topic424/#message6426
С точки зрения получения доступа к данным Рабочего Места QUIK,
Там вы ответили о другом.

Цитата
Sergey Gorokhov пишет:
Не запрещаем, но и не разрешаем.
Эко вы завернули   :lol:    Понятно, что для использования в личных целях вы не можете ничего запретить.
Здесь же я спрашиваю, могу ли я или кто-то другой по аналогии написать скрипт, который будет выполнять функции, до которых у ваших программистов не доходят руки (и не скоро, наверное дойдут).
К примеру, при старте QUIK (или по нажатию "горячих клавиш") открывать окно "Доступные скрипты" (или управлять другими окнами) и свободно распространять его на просторах интернета?
Надо делать так, как надо. А как не надо - делать не надо.
запретить всплывающие окна сообщений
 
Цитата
тот самый пишет:
т.е. такая ситуация: в данный момент, есть куча проектов, наработок - но их нельзя продавать/распространять из-за страха юридических последствий....

Прокомментируйте, пожалуйста,
Цитата
Sergey Gorokhov пишет:
Цитата
тот самый пишет:
Вы, по сути, запрещаете нам нормальное использование возможностей LUA C API
Никто ничего не запрещает.
Пользуйтесь на здоровье, но только на свой страх и риск.
вы не запрещаете пользоваться как в своих личных целях, так и в распространяемых продуктах?
Надо делать так, как надо. А как не надо - делать не надо.
Торговые счета, trade_accounts
 
Прокомментируйте, пожалуйста, следующую ситуацию:

Цитата
trdacc_type NUMBER Тип депозитарного счета
Надо делать так, как надо. А как не надо - делать не надо.
Обрезается текст в Окне сообщений
 
http://forum-archive.quik.ru/forum/lua/123989/#m124017
Надо делать так, как надо. А как не надо - делать не надо.
Торговые счета, trade_accounts
 
Как можно однозначно определить к какой секции относится тот или иной счёт: фондовой, срочной, валютной?

Цитата
тот самый пишет:
пользователям приходиться играть в шерлоков холмсов
Спасибо за ваше "расследование", но тема соответствия номера параметра trdacc_type строковому описанию не раскрыта.
Полагаю, справедливо было бы предоставить слово представителям компании разработчика.
Надо делать так, как надо. А как не надо - делать не надо.
Вызов доступных скриптов LUA кнопкой и горячими клавишами
 
Или хотя бы сохранение состояния и позиции окна в файле настроек  :wink:
Надо делать так, как надо. А как не надо - делать не надо.
Использовать 7.0 у брокеров где 6.хх, Каковы риски, что может поломаться?
 
А что за ошибка "Неверная версия протокола"?
У брокера сервер QUIK ниже версии 5.0?
Надо делать так, как надо. А как не надо - делать не надо.
Торговые счета, trade_accounts
 
Цитата
Старатель пишет:
Откуда вы взяли эту таблицу?
А, всё понял: вы взяли из pdf, а я из chm,
Ну и что можно сказать, если даже в самом Руководстве пользователя QUIK информация разная?
Надо делать так, как надо. А как не надо - делать не надо.
Торговые счета, trade_accounts
 
Цитата
тот самый пишет:
Тип счета депо Тип депозитарного счета. Возможные значения:
Откуда вы взяли эту таблицу?
У меня другая таблица (из того же Руководства, Раздел 5):
Цитата
Тип депозитарного счета. Возможные значения:
  • «Не определен»;
  • «Счет владельца»;
  • «Корреспондентский счет»;
  • «Счет ДУ»;
  • «Эмиссионный счет»;
  • «Клиентский счет»;
  • «Счет по умолчанию для валютного рынка»;
Только порядок перечисления строковых значений не соответствует числовым значениям параметра trdacc_type таблицы trade_accounts.
Нужно именно однозначное соответствие.
Надо делать так, как надо. А как не надо - делать не надо.
Торговые счета, trade_accounts
 
Цитата
trdacc_type NUMBER Тип депозитарного счета
Где можно подробнее узнать о значениях этого параметра?
Надо делать так, как надо. А как не надо - делать не надо.
Массовая отправка заявок на сервер QUIK
 
Это говорит только о производительности рабочего места  :lol:
Далее появляется объект с неизвестными нам свойствами в виде трассы до сервера QUIK, который не позволяет сделать каких-либо объективных выводов о производительности самого сервера, поскольку не известно, с какой частотой эти транзакции попадали к нему на обработку.
Надо делать так, как надо. А как не надо - делать не надо.
Массовая отправка заявок на сервер QUIK
 
Цитата
Старатель пишет:
Добавлю, что при этом заявки выставлялись на сервере примерно по 250 в секунду.
Это результат в моменты низкой активности на тестовом контуре. Во время более активных периодов результат хуже: менее 100 заявок в сек.
Надо делать так, как надо. А как не надо - делать не надо.
Массовая отправка заявок на сервер QUIK
 
Добавлю, что при этом заявки выставлялись на сервере примерно по 250 в секунду.
Надо делать так, как надо. А как не надо - делать не надо.
Массовая отправка заявок на сервер QUIK
 
Если речь именно про транзакции, то отправить их можно более 1000 в секунду.
Так на тестовом QUIK я отправлял 12-14 тыс. транзакций за одну секунду.
Другое дело, что заявки по ним выставляются в течение нескольких секунд. А ответ по всем транзакциям приходит так вообще в течение более минуты.
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
Sergey Gorokhov пишет:
Цитата
Старатель пишет:
Это нормальная ситуация?
Да Close() не удаляет параметр из списков. Такова текущая реализация.
Ранее мы уже регистрировали от другого пользователя пожелание по данной теме.
Можем зарегистрировать еще одно от Вас.
Давайте зарегистрируем.
А то в текущем виде смысла нету в :Close(). Это с таким же успехом можно просто удалить сам объект ds = nil.
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
Sergey Gorokhov пишет:
Цитата
Антонио пишет:
Видим, что потоки в переменных не сохраняются, а какое-то время живут как локальные переменные.
При выходе из скрипта потоки не закрываются с помощью DS:close().
Вопрос 1 : Это нормально не хранить и не закрывать после себя потоки ?
А зачем закрывать? Мы потом с этими данными работаем.
При включённой настройке "Исходя из настроек открытых пользователем таблиц" функция CreateDataSource добавляет параметр в списки принимаемых параметров.
Метод :Close() не удаляет этот параметр из списков. Таким образом, :Close() не влияет на возможность получения данных при работе с ними через getParamEx.

Это нормальная ситуация?
Надо делать так, как надо. А как не надо - делать не надо.
Вопросы по версии QUIK 7.0.1.5
 
Разговор не про "Карман транзакций"
Надо делать так, как надо. А как не надо - делать не надо.
Вопросы по версии QUIK 7.0.1.5
 
Цитата
Imersio Arrigo пишет:
a Ctrl+T не работает?
Работает. Но эту комбинацию вы помните, я помню. А кто-то никогда и не пользовался горячими клавишами.
Пункт меню всё же не будет лишним  :wink:
Надо делать так, как надо. А как не надо - делать не надо.
Вопросы по версии QUIK 7.0.1.5
 
Не нашёл в меню "Выполнить транзакцию"
Надо делать так, как надо. А как не надо - делать не надо.
По-разному определяется размер таблицы, #table может выдавать разные значения
 
Код
function table.len(tab)
-- Подсчёт количества элементов в таблице
  local n = 0
  for _,_ in pairs(tab) do n = n + 1 end
  return n
end
Надо делать так, как надо. А как не надо - делать не надо.
Проблемы с обновлением Спектры, Проблемы после обновления Спектры и изменения механизма ГО
 
Если происходит "переворот" позиции, то также блокируются средства на сумму отрицательной вариационной маржи по закрываемой позиции:
http://forum.moex.com/viewtopic.asp?t=30125
Надо делать так, как надо. А как не надо - делать не надо.
Списки кодов классов и бумаг
 
Цитата
Sergey Gorokhov пишет:
Можно использовать OnParam с дополнительной проверкой
Такой вариант не подходит: в настройках не установлено "Добавлять новую бумагу во все таблицы"
Цитата
Sergey Gorokhov пишет:
К сожалению именно такого колбэка нет.
Понял, спасибо. Надеюсь доделаете.
Надо делать так, как надо. А как не надо - делать не надо.
как изменить время компьютера средствами lua без cmd?
 
Сама os.execute вызывает окно командной строки, которое вылазит на первый план и, если, к примеру, вы работаете в полноэкранном приложении, норовит его свернуть.
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
 
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
 
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
 
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
 
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
 
Цитата
тот самый пишет:
с такими выражениями - надо быть аккуратным в QLUA с его "ленивыми вычислениями"
Именно, с учётом "ленивого" правильного вычисления это выражение является корректным.
Цитата
тот самый пишет:
а вообще, надо полный пример для теста и разбора. т.е. с указанием класса и кода бумаги и т. и т. п.
Зачем? Любой код бумаги подставляете.

Вот так выглядит таблица, возвращаемая getParamEx, если искомый параметр ("tradingstatus") не задан в списках:
Код
{param_type="2", param_value="0.000000", result="1", param_image=""}
А вот так, если параметр получен:
Код
{param_type="4", param_value="1.000000", result="1", param_image="открыта"}
Надо делать так, как надо. А как не надо - делать не надо.
Дистрибутив программы
 
Спасибо.
В техподдержку-то я не догадался заглянуть: искал в "Продукты и услуги - QUIK"
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
 
является ли выполнение условия
Код
result=="1" and param_image~="" and param_type~="0"
необходимым и достаточным, чтобы быть уверенным, что значение параметра получено?
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
 
Вот такой код:
Код
local status = getParamEx(class_code, sec_code, "tradingstatus")
message(status.param_value)
выводит "0.000000".
Но мы уже наученные - понимаем, что ноль в QUIK - это не всегда ноль. Проверяем тип данных, чтобы не был равен 0:
Код
message(status.param_type)
выводит 2.
Вроде, нормально. Ан, нет: для параметра "tradingstatus" тип должен быть 4. Значит данный параметр Квиком не получен. И так для многих параметров.

Но надо сделать так, чтобы можно было однозначно определить, без гаданий, получен ли параметр торговой системой или нет.
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
тот самый пишет:
getParamEx и CreateDataSource - абсолютно никак не связаны.
Оказывается, связаны.
Цитата
Sergey Gorokhov пишет:
Это работает только если включена настройка "Исходя из настроек открытых пользователем таблиц"
Если включена настройка "Исходя из настроек открытых пользователем таблиц", то CreateDataSource автоматически добавляет бумагу/параметр в список получаемых параметров.

Таким образом, с помощью getParamEx можно будет получить значения параметров. (Выше я был не прав: CreateDataSource всё же не совсем бесполезна в этой ситуации).

Правда, ds:Close() бумагу уже не из списка не удаляет.
Надо делать так, как надо. А как не надо - делать не надо.
Списки кодов классов и бумаг
 
Добрый день.
В руководстве QLua к QUIK v.7 добавилось описание функции OnConnected, из которого стало ясно, что колбэк, вызываемый при получении нового класса уже существует.
Есть ли колбек, вызываемый при получении новой бумаги в существующем классе?
Надо делать так, как надо. А как не надо - делать не надо.
Дистрибутив программы
 
Дайте, пожалуйста, ссылку на страницу со списком дистрибутивов программы, утилит, библиотек, справочных руководств...
А то на сайте заблудился...
Надо делать так, как надо. А как не надо - делать не надо.
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Цитата
Sergey Gorokhov пишет:
Про nil, его нет и не было, мы зарегистрировали пожелание. Дословно оно звучит так "чтобы во всех колбеках возвращающих таблицы, при отсутствии значения параметра передавать nil вместо "0"
Я бы уточнил: как 0 (ноль), так и "" (пустая строка) - оба значения сейчас могут трактоваться двусмысленно.

Вот в случае этой реализации и может возникнуть дополнительный колбэк, в зависимости от текущей реализации.
Если сейчас после колбэка со значением <0 = null (параметра нет)> не отправляется повторный колбэк со значением <0 = 0 (параметр заполнен)>, то при реализации указанного выше предложения будет возникать дополнительный колбэк.



Цитата
Sergey Gorokhov пишет:
Да сейчас это действительно так и способ решить проблему уже озвучивался "используйте комментарий"
Уже писал, что часто - это не выход из положения:
Цитата
Sergey Gorokhov пишет:
У пользователя может быть куча других роботов, алго-приводов и пр., где параметры транзакций уже давно жёстко заданы производителем.

Цитата
Sergey Gorokhov пишет:
Далее, предлагается разделить понятия nil и 0, а именно в базе записывать "0" (как сейчас) а в описанных выше случаях, при приезде сделки отправлять клиенту nil и далее делать поиск правильного trans_id. На что не однократно прозвучал ответ, что в такой реализации для отправки trans_id=0 будет лишний колбэк, которого сейчас нет.
При реализации конкретно этого предложения никаких лишних колбэков возникать не будет. Выше уже показал, когда может возникнуть дополнительный колбэк.



Цитата
Sergey Gorokhov пишет:
А лишние колбэки, судя по этой ветке форума, никому не нравятся.
А какая нам теперь разница, сколько колбэков обрабатывать: 3 или 4 или сколько там будет?
Для нас важно чёткое понимание получили ли мы интересующие нас данные или ещё нет.
Надо делать так, как надо. А как не надо - делать не надо.
Как правильно обработать событие "закрылась очередная новая свеча" ?
 
CreateDataSource(), SetUpdateCallback(), T()
Цитата
s_mike@rambler.ru пишет:
в скрипте: getNumCandles на очередной итерации вернула большее значение, чем на предудыщей итерации скрипта
Принцип тот же: время последнего события больше предыдущего.
Надо делать так, как надо. А как не надо - делать не надо.
Время отклика заявки
 
Цитата
Egor Zaytsev пишет:
Сервера QUIK.
Отметите это в документации?
Спасибо.
Цитата
Максим пишет:
Подскажите пожалуйста, как получить время выставления заявки в торговую систему биржи.
Тогда надо смотреть datetime у OnOrder
Надо делать так, как надо. А как не надо - делать не надо.
Время отклика заявки
 
Цитата
Egor Zaytsev пишет:
Параметр который Вам нужен это time
Сервера QUIK или биржевое?
Надо делать так, как надо. А как не надо - делать не надо.
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Цитата
Sergey Gorokhov пишет:
Цитата
Старатель пишет:
Является ли следующая ситуация сбоем на сервере:
когда "сделка приехала раньше ответа на транзакцию" и в этом случае в первом колбеке trans_id=0 даже, если транзакция была подана не через интерфейс ?
Данная ситуация не является сбоем, это "частный случай"
Да, в этом случае первым приедет trans_id=0 даже, если транзакция была подана не через интерфейс.
Так какого вы мне тут расписываете на 3-х страницах?!

Я вам говорю, что получив колбек с trans_id=0 (сюда можно вписать название любого другого обновляемого параметра), я не могу быть уверенным, что значением этого параметра действительно является 0 (ноль).
И меня (думаю и других пользователей QUIK) не волнует, что эта ситуация маловероятна в условиях штатной работы сервера.

Получив trans_id=0 (сюда можно вписать название любого другого обновляемого параметра), я должен выполнить определённую задачу.
А что потом, когда эта "маловероятная" ситуация произойдёт, я буду просить биржу откатить сделки обратно, потому что Sergey Gorokhov сказал мне, что это "маловероятно"?
Надо делать так, как надо. А как не надо - делать не надо.
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Цитата
Sergey Gorokhov пишет:
Частный случай когда сделка приехала раньше ответа на транзакцию тоже возможен.
Мне не понятны ваши трактовки "частный"/"общий" случай.

Является ли следующая ситуация сбоем на сервере:
когда "сделка приехала раньше ответа на транзакцию" и в этом случае в первом колбеке trans_id=0 даже, если транзакция была подана не через интерфейс?


Я действительно уже многократно задаю один и тот же вопрос. Но я не получаю на него прямого ответа! Перестаньте уже вилять в конце концов.
Надо делать так, как надо. А как не надо - делать не надо.
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Цитата
Sergey Gorokhov пишет:
Мы можем зарегистрировать пожелание "отличать сделки порожденные транзакцией выставленной через интерфейс от выставленной через Lua" без конкретики озвученной в Вашем предложении.
Устроит такой вариант закрытия темы?
Как меня может устроить такой вариант, если в вашем предложении нет никакой конкретики?
И потом, почему обязательно Lua? Сервер знает, что транзакция подана через Lua, а не Api или QPILE?
Надо делать так, как надо. А как не надо - делать не надо.
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Цитата
Sergey Gorokhov пишет:
Цитата
Старатель пишет:
OnTrade всегда приходит с заполненным полем trans_id?
Нет не всегда, в частности из-за сбоя на сервере может приехать 0, а потом правильный trans_id или он может вообще не приехать.
Цитата
Старатель пишет:
Если trans_id=0 в сделке, означает ли это, что сделка была совершена вручную?
В общем случае да, в частном см. выше.
Вы сейчас извиваетесь, как уж на сковородке.
Таким образом, теперь вы сами опровергаете свои же слова о повторной приходе колбека OnTrade необходимостью отправлять дополнительные параметры, в частности uid и trans_id?

Или (задам опять прямой вопрос, на который вы так не хотите давать прямого ответа, хотя вопрос выше был итак достаточно чётким):

Может ли в штатной ситуации trans_id прийти незаполненным (в текущей реализации это означает ноль) в первом колбеке?

На всякий случай, привожу ссылку на ответ более компетентного сотрудника, как это работает в 6-й версии: OnOrder без UID
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: Пред. 1 ... 25 26 27 28 29 30 31 32 33 34 35 ... 46 След.
Наверх