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

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

Страницы: Пред. 1 ... 23 24 25 26 27 28 29 30 31 32 33 ... 46 След.
QUIK v.7.0.1.5, Доступные скрипты
 
Есть проблемы с переносом конфигураций с более ранних версий QUIK на 7.1.0.381: при работе на мониторах с разным разрешением: размеры окон зависят от разрешения экрана:

Причём, конфигурации от одной и той же версии могут загружаться по-разному. Хорошо, есть папка с архивом WNDSAV, где можно выбрать более "рабочую".
Надо делать так, как надо. А как не надо - делать не надо.
QUIK v.7.1.0.381, Баги
 
Вот такой код:
Код
  local t_id = AllocTable()
  for i = 1, 12 do AddColumn(t_id, i, "", true, QTABLE_STRING_TYPE, 20) end
  CreateWindow(t_id)
  for i = 1, 5 do InsertRow(t_id, -1) end
  SetWindowPos(t_id, 0, 0, 1270, 120)
Появляется скрол:

хотя высоты хватает:
Надо делать так, как надо. А как не надо - делать не надо.
QUIK v.7.0.1.5, Доступные скрипты
 
В QUIK v.7.1.0.381 как-то так:

Верните размер окна обратно или сделайте его редактируемым.
Надо делать так, как надо. А как не надо - делать не надо.
цены спроса выше цен предложения, Ошибки выгрузки DDL
 
Imersio Arrigo,
Стакан, где-то были ещё темы и с ТТП.
Надо делать так, как надо. А как не надо - делать не надо.
OnQuote
 
Мои суждения основываются на той "информации", которую вы "предоставляете".
Если для событий OnQuote действительно не создаётся очереди на сервере, то об этом так и надо было сразу сказать, и закрыли бы тему сразу.
Надо делать так, как надо. А как не надо - делать не надо.
Нулевой transaction_id, Проскакивает нулевой transaction_id
 
Другими словами, отсутствовать может любой из параметров, относящийся к связанной заявке?
Т.о., заглянув в таблицы заявок и стоп-заявок, мы можем не обнаружить связанных заявок просто потому, что у стоп-заявки ещё не обновился параметр co_order_num?
Надо делать так, как надо. А как не надо - делать не надо.
Нулевой transaction_id, Проскакивает нулевой transaction_id
 
Вопрос был в другом: какие поля могут быть незаполненными в первом колбэке?
Надо делать так, как надо. А как не надо - делать не надо.
Нулевой transaction_id, Проскакивает нулевой transaction_id
 
Я сейчас задаю вопрос, чтобы знать, какую логику закладывать при работе с данным видом колбэков, чтобы потом не было "сюрпризов".
Называйте это "любопытством" или как хотите.
Надо делать так, как надо. А как не надо - делать не надо.
OnQuote
 
Вот я действительно не понимаю: если очередь не отправленных событий OnQuote создаётся на сервере, то кто мешает в этой очереди держать только одно последнее событие, а все предыдущие удалять?
Надо делать так, как надо. А как не надо - делать не надо.
Нулевой transaction_id, Проскакивает нулевой transaction_id
 
Цитата
Предлагаем самостоятельно проверить чем они могут отличаться
Вы щас прикалываетесь? Мол, мы чё-то сделали, предлагаем вам самостоятельно потестировать и разобраться, как оно работает.
Впрочем, при выпусках новых версий явно используется этот подход.
Надо делать так, как надо. А как не надо - делать не надо.
Нулевой transaction_id, Проскакивает нулевой transaction_id
 
Цитата
Если стоп заявка подавалась через интерфейс терминала
Очевидные ситуации не требуют рассмотрения.
Если стоп-заявка подавалась с указанием trans_id, то может ли колбэк OnStopOrder прийти с незаполненным параметром trans_id?
На всякий случай напомню, что по заявке типа "Со связ. заявкой" приходят два колбэка OnStopOrder. Обычно они одинаковые. Но могут ли чем-то отличаться?
Надо делать так, как надо. А как не надо - делать не надо.
OnQuote
 
Цитата
А Вы в курсе что серверу как бы все равно?
Вы хотите сказать, что серверу без разницы, какое количество данных он отправляет клиентам?
Надо делать так, как надо. А как не надо - делать не надо.
Несколько очень простых пожеланий по стакану / таблице котировок
 
Цитата
она занята у них - для переноса цены и количества из строки в поля формы...
Кстати, уже было такое пожелание несколько лет назад:

5. При подстановке цены и объёма, если в "Настройках - Торговля" задано значение количества лотов по-умолчанию, то брать его.
Надо делать так, как надо. А как не надо - делать не надо.
Несколько очень простых пожеланий по стакану / таблице котировок
 
Да что ж такое...
ЛКМ = покупка
ПКМ = продажа
по цене той строки, куда кликнули.
Всё. Больше никаких условий. Цвет поля, куда кликнули роли не играет.
Надо делать так, как надо. А как не надо - делать не надо.
Несколько очень простых пожеланий по стакану / таблице котировок
 
Цитата
там дополнительный столбец есть для управления заявками (там происходит снятие заявок мышкой)
А снимать заявки можно средней клавишей мышки - ближайшую к тому месту, куда кликнули.
Надо делать так, как надо. А как не надо - делать не надо.
Несколько очень простых пожеланий по стакану / таблице котировок
 
Цитата
а так логика простая: ЛКМ по зелёному = лимитка на покупку, ПКМ по красному = лимитка на продажу, ЛКМ по красному = вход по рынку в шорт, ПКМ по зелёному - вход в лонг...
Эээ... Может, так: левая - покупка, правая - продажа по цене, куда кликнули. А по зелёному или красному - по барабану. Лимитка или рынок - зависит от цены, куда кликнули. ?
Надо делать так, как надо. А как не надо - делать не надо.
Несколько очень простых пожеланий по стакану / таблице котировок
 
То, что есть не годится. Из-за такой кривой логики часто путаешься. Пришлось вообще отключить быстрый ввод. Нужно другое решение.
Что в ваших приводах там?
Надо делать так, как надо. А как не надо - делать не надо.
OnQuote
 
Одно другому не мешает. Такая настройка, устанавливаемая по-умолчанию (кому нужна вся история котировок - тот отключит), позволила бы немного разгрузить сервера брокера и торговые терминалы.
А с причинами задержек разбираемся. Но, судя по сообщениям в интернет, это наблюдается у многих клиентов брокеров, работающих через QUIK.
Надо делать так, как надо. А как не надо - делать не надо.
Несколько очень простых пожеланий по стакану / таблице котировок
 
Цитата
Лично меня путает та логика которая есть сейчас.
Согласен. Но как быть с разряженным стаканом, где есть область спрэда?
Надо делать так, как надо. А как не надо - делать не надо.
Нулевой transaction_id, Проскакивает нулевой transaction_id
 
Для событий OnStopOrder параметры trans_id и uid могут прийти незаполненными?
Надо делать так, как надо. А как не надо - делать не надо.
OnQuote
 
Здравствуйте.
Добавьте, пожалуйста, опциональную настройку, запрещающую создавать очередь событий OnQuote. Т.е, чтобы с сервера всегда поступало только последнее событие, а не вся очередь.
(Такой эффект можно наблюдать в моменты высокой активности на рынке, когда стакан сначала замирает на некоторое время, а затем ускоренно "прокручивает" все пропущенные котировки. В реал-тайм торговле в этом нет особого смысла.)
Надо делать так, как надо. А как не надо - делать не надо.
Цена заявки не соответствует установленному диапазону
 
Цитата
не понятно, почему нельзя узнать диапазон цен, установленных брокером на сервере?
Цитата
Диапазон, установленный брокером - никак.

Планируете ли вы добавить в терминал трансляцию значений границ диапазона цен, установленного брокером?
Надо делать так, как надо. А как не надо - делать не надо.
Снятие стоп-лимит, Снятие стоп-лимит
 
ACTION=KILL_STOP_ORDER, STOP_ORDER_KEY=7245883
Надо делать так, как надо. А как не надо - делать не надо.
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Цитата
Нет никакой разницы, что присылать по-умолчанию, 0 или nil.
Есть большая разница в том получили ли мы значение параметра и оно равно нулю или значение параметра ещё не получено.
Аргументы я уже приводил в этой теме: ситуации, когда значение параметра может читаться двояко.
Нельзя при получении trans_id=0 выполнить сначала одно действие, а потом, когда через минуту придёт trans_id=67890 переиграть всё обратно.
Тоже касается и других таблиц: QUIK вам показывает ноль, когда в действительности с биржи ничего не пришло, что зачастую вносит путаницу.

Цитата
например выражение t.trans_id>0 приведет к ошибке и вылету скрипта.
Замените на t.trans_id ~= nil and t.trans_id>0, и скрипт вылетать не будет  :wink:
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
Sergey Gorokhov пишет:
Цитата
Старатель пишет:
Где физически находится эта очередь?
На сервере
По какому принципу отсылаются данные клиенту из образовавшейся очереди? Клиент передаёт серверу, что предыдущие данные им успешно получены? Или как?
Надо делать так, как надо. А как не надо - делать не надо.
Функция CreateDataSource
 
up
Сделайте возможным читать архив графиков из индикаторов без необходимости открывать окна этих графиков.
Надо делать так, как надо. А как не надо - делать не надо.
Работа с OnOrder
 
Цитата
Надо контролировать изменение лимитов.
И при их изменении шевелиться с заявками.

1. Гарантированно ли при изменении лимита в системе всегда уже есть информация по заявке (сделке), вызвавшей его (лимита) изменение?
2. При постановке (исполнении) нескольких заявок подряд зачастую лимит может измениться только один раз.  
Надо делать так, как надо. А как не надо - делать не надо.
Функция обратного вызова OnFuturesClientHolding
 
Цитата
Я понял, каждую минуту начисляется Вариационная Маржа
Бинго!
Откройте таблицу Позиций по клиентским счетам (фьючерсы). Там много всяких параметров. Так вот OnFuturesClientHolding будет вызываться при изменении любого параметра (даже если никакая позиция не открыта): поставили вы заявку на покупку/продажу - получите колбэк, заяка исполнилась - ещё колбэк, вариационка - ещё колбэк и т.д.
Надо делать так, как надо. А как не надо - делать не надо.
Разреженный стакан, проблема.
 
Цитата
стоят на фьючерс доллар/рубль 5 заявок по 1 на покупку по цене 70 000 , 70 001, 70 002, 70 003, 70 004. Мы настроили отображение шаг цены 5. И в стакане мы видим все 5 контрактов по цене 70 000.
Ага, а потом удивляемся, почему наша заявка прошла по цене, отличной от той, что в стакане. Или наша заявка не исполняется, хотя цена в ней явно лучше рыночной. Не вижу логики.
Цитата
Если просто ограничить число строк, то мы не сможем увидеть в стакане дальние заявки, а так, весь стакан можно настроить чтоб видно было
Вот сейчас открыл стакан по опциону: минимальный  спрос: 10, максимальное предложение: 159990.
Не думаю, что много потеряем, если не будем видеть эти заявки.

Ещё раз: указав число строк, заведомо больше, чем до max/min возможной цены, вы ничего не потеряете. Для того же Si будете видеть полный стакан, который даёт вам брокер. Но для менее ликвидных инструментов, квику не придётся рисовать стакан в несколько тысяч строк.
Надо делать так, как надо. А как не надо - делать не надо.
Разреженный стакан, проблема.
 
Firestorm,
К примеру, вы хотите работать в разряженном стакане, но из-за малого числа заявок вблизи спрэда и нереально высокими и низкими ценами дальних заявок терминал вынужден вам рисовать стакан в несколько тысяч строк.
Ограничив количество отображаемых строк (150-300 в обе стороны вам ведь будет достаточно?), вы сохраните ресурсы компьютера, не потеряв при этом полезной информации.
Надо делать так, как надо. А как не надо - делать не надо.
Разреженный стакан, проблема.
 
Firestorm,
Цитата
А то при "случайном" открытии разряженного стакана по неликвидной бумаге терминал зависает из-за необходимости создавать стакан с огромным числом строк.
Откройте какой-нить опцион в дальнем страйке  :wink:
Надо делать так, как надо. А как не надо - делать не надо.
В новой версии перестала работать функция
 
Индекс элементов в таблице начинается с 0.
Соответственно, последний элемент имеет индекс
Код
getNumberOf("orders")-1
Странно, что раньше у вас всё работало... :what:
Надо делать так, как надо. А как не надо - делать не надо.
Функция CreateDataSource
 
Да хотя бы без колбэков, просто доступ к источнику без необходимости открывать окно графика.
Надо делать так, как надо. А как не надо - делать не надо.
Функция CreateDataSource
 
Цитата
Функция CreateDataSource недоступна из скрипта индикатора
Сделайте возможным использование функции CreateDataSource из индикаторов.
Надо делать так, как надо. А как не надо - делать не надо.
Удивительные значения текущей позиции getNumberOf('futures_client_holding') в 18:59, вместо цены входа в позицию выдает цену закрытия дневной сессии (RIH)
 
Эффективная цена позиций (данные из таблицы getNumberOf('futures_client_holding') меняется на цену последней сделки каждый клиринг (и в дневной тоже).
Надо делать так, как надо. А как не надо - делать не надо.
Выделять объём на тиковом графике цветом в зависимости от направления сделки
 
Кстати, функция T() возвращает время тика без поля count, хотя в документации QLUA указано:
Цитата
Описание значений функций O, H, L, C, V, T , Size совпадает со значениями, приведенными в разделе Функции для работы с графиками.
Надо делать так, как надо. А как не надо - делать не надо.
Выделять объём на тиковом графике цветом в зависимости от направления сделки
 
Уже. Вот только добавление/изменение параметров индикатора занимает достаточно много времени, в течение которого терминал оказывается в "подвешенном" состоянии.
Надо делать так, как надо. А как не надо - делать не надо.
Выделять объём на тиковом графике цветом в зависимости от направления сделки
 
Здравствуйте.

Сделайте возможным на тиковом графике выделять разным цветом объёмы покупок и продаж.
Надо делать так, как надо. А как не надо - делать не надо.
Разреженный стакан, проблема.
 
Зарегистрируйте пожелание уменьшить количество отображаемых строк для разряженного стакана.
Надо делать так, как надо. А как не надо - делать не надо.
Разреженный стакан, проблема.
 
#15 ?
Надо делать так, как надо. А как не надо - делать не надо.
Зависает Квик при запуске скрипта передачи данных под Win10, При апгрейде Win 7 и 8 до Win 10 возникла проблема - квик зависает при запуске скрипта передачи данных
 
Цитата
Код запрашивает у квика последние 2500 свечей при каждом изменении, да. Затем переводит их в строку и передает боту.
:shock:  

Возможно, в этой теме найдёте что-то полезное для себя: CreateDataSource
Надо делать так, как надо. А как не надо - делать не надо.
OnTransReply, status
 
Цитата
"значение может быть nil"
Понятно, значит, просто перестраховались  :smile:

Цитата
4. на каждую переставленную заявку приходит отдельный ответ.
Значит, пустые строки в account и brokerref не могут быть обусловлены перестановкой сразу двух заявок.
Надо делать так, как надо. А как не надо - делать не надо.
Разреженный стакан, проблема.
 
Цитата
неплохо было бы добавить настройку, ограничивающую максимальный размер стакана. А то при "случайном" открытии разряженного стакана по неликвидной бумаге терминал зависает из-за необходимости создавать стакан с огромным числом строк.
Это пожелание считается уже полностью реализованным ("Глубина стакана") или будет доделано для разряженного стакана?
Надо делать так, как надо. А как не надо - делать не надо.
OnTransReply, status
 
Цитата
1. В документации написано "значение поля может быть nil"
Вместо nil я вижу дефолтные квиковские ""/0. Очевидно, ошибка в коде терминала, а не документации  :wink:

Цитата
3. Подать транзакцию на перестановку заявок с разных счетов можно, если у вас прав достаточно.
Вот такую ошибку выдаёт при попытке переставить заявки на разных счетах:
Цитата
Ошибка перестановки заявок. [FORTS][35] "Ошибка в задании входных параметров.".
Нужны какие-то особые права?

Цитата
4. на каждую переставленную заявку приходит отдельный ответ.
Отдельный ответ с биржи?
Надо делать так, как надо. А как не надо - делать не надо.
OnTransReply, status
 
3. Подать одну транзакцию на перестановку двух заявок по разным счетам нельзя. А, значит, и параметр account будет совпадать.
Точка.
Поручение (транзакция "MOVE_ORDERS" на перемещение) для обеих заявок одно. А, значит, и параметр brokerref будет совпадать.

Так понятно?
Надо делать так, как надо. А как не надо - делать не надо.
OnTransReply, status
 
Ох, нелегкая это работа...
Егор,

1. nil я понимаю буквально, как nil. В программировании это выглядит так:
Код
if trans_reply.account == nil then
  toLog('Без паники. В документации указано, что это допустимо.')
elseif trans_reply.account == '' then
  toLog('Швах! Что-то здесь не так...')
end
Поэтому и уточнил:
Цитата
Тут точно nil ?

2. Ваш ответ #12 можно расценить, как дешёвую отмазку, чтобы не заниматься проблемой.

3. Подать одну транзакцию на перестановку двух заявок по разным счетам нельзя. Поручение для обеих заявок одно.
   А, значит, и параметры account и brokerref будут совпадать. Не вижу никаких причин, чтобы не заполнить эти параметры в OnTransReply.

4. При любом исходе ответ на транзакцию один: либо сразу обе заявки переставлены, либо нет.
  А, значит, нет необходимости дублировать OnTransReply.
Надо делать так, как надо. А как не надо - делать не надо.
OnTransReply, status
 
Цитата
Старатель, account и brokerref пустые потому, что MOVE_ORDERS может работать     сразу с двумя заявками.

Одной транзакцией можно переставить две заявки по разным счетам (читай: с разными account)?
Сколько у вас приходит ответов OnTransReply при перестановке сразу двух заявок? У меня две? Смысл в двух абсолютно одинаковых OnTransReply?
Надо делать так, как надо. А как не надо - делать не надо.
Нулевой transaction_id, Проскакивает нулевой transaction_id
 
Цитата
Sergey Gorokhov пишет:
Цитата
Антонов К. пишет:
Вопрос актуальный. Как отслеживать состояние заявки.
Вы можете использовать примечание для решение задачи.
Оно в отличии от TRANS_ID содержится в поле BROKERREF которое транслирует биржа, а значит оно точно не потеряется.
То есть чтобы робот писал в примечание какой-либо спец признак.
Примечание указывается в параметре транзакции CLIENT_CODE после кода клиента,
в качестве разделителя добавляется признак "/" или "//" (зависит от настроек на стороне брокера)
если в правах только один код клиента, можно его не указывать, а сразу писать примечание.

Заявки, переставляемые транзакцией "MOVE_ORDERS", таскают за собой параметр brokerref от самой первой заявки. Это нормальная ситуация?
Надо делать так, как надо. А как не надо - делать не надо.
OnTransReply, status
 
Цитата
Если вы обнаружили не точность, то сообщите.
Для транзакций "MOVE_ORDERS" всегда возвращается OnTransReply с пустой строкой в качестве параметров account и brokerref
Надо делать так, как надо. А как не надо - делать не надо.
OnTransReply, status
 
Подытожим. Таким образом, OnTransReply с status = 3 (и только три) означает, что транзакция выполнена.
Остальные значения статуса говорят о том, что транзакция не выполнена (и не будет выполнена). Так?

Приведите, пожалуйста, полный и исчерпывающий список возможных вариантов значений параметра status для колбэка OnTransReply.
Из-за отсутствия этого списка для QLUA нам и вам (сотрудникам техподдержки) приходилось пользоваться аналогом этого списка для формата .tro-файла, что зачастую приводило к неверным рекомендациям с вашей стороны относительно параметра status.
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: Пред. 1 ... 23 24 25 26 27 28 29 30 31 32 33 ... 46 След.
Наверх