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

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

Страницы: Пред. 1 ... 10 11 12 13 14 15 16 17 18 19 20 ... 34 След.
Вопросы по QTABLE
 
если не готовы дать развёрнутые ответы по каждому вопросу (Но, именно развёрнутые) - то, может и не стоит тогда?...
OnOrder без UID
 
мда уж...

и после этого они смеют утверждать, что на них наговаривают и что торговля через QUIK отличается стабильностью и постоянством.
Вопросы по QTABLE
 
Были заданы вопросы, Вы, тем не менее опять занимаетесь троллингом, заставляя их снова перечислять.
Вопросы по QTABLE
 
Цитата
Michael Bulychev пишет:
Добрый день.
Смущает что положение нового окна смещается при каждом вызове CreateWindow?
Михаил, смущает односложность фраз.
вопрос разработчикам, структура файлов с графиками
 
Скрытый текст

Скрытый текст

Скрытый текст

Скрытый текст

Скрытый текст
Скорость получения данных OnParam OnQuote
 
всё веселее и веселей...
OnOrder без UID
 
Цитата
Старатель пишет:
Можете отметить их в руководстве.
тогда tech support придётся весь разогнать:)))
надо же перед глупым начальством подчеркнуть собственную важность и заботу о клиенте:))))))
не соответствует время
 
извиняюсь, что непотеме )))
но я перед торгами, каждый день провожу синхронизацию локального времени - с московским штатными средствами Windows.
Вопросы по QTABLE
 
4. Значит ли это, что реально, дескриптор окна таблицы никуда не разрушается, а окно просто "прячется" - т.е. получает сообщение WM_SHOWWINDOW с wParam = false?
Вопросы по QTABLE
 
Простенький минимально достаточный для создания окна скрипт:

Код
is_run = true

function OnInit()

   t_id = AllocTable()
   CreateWindow(t_id)
   SetWindowCaption(t_id, "thats my table")
  
end

function main()
  
  while is_run do
    sleep(100)
  end
    
end

function OnStop()
DestroyTable(t_id)
is_run = false
return 1000
end
 
После его работы - создаётся большущее окно без названия и только потом - окно в один столбец но, очень длинное по вертикали. При этом, если передёрнуть скрипт несколько раз - положение окна будет всё время меняться в сторону приращения координат левого верхнего угла по X и по Y.
Про функцию SetWindowPos - знаю. И о ней мне говорить не надо.
Вопрос:
  1. получается, что на самом деле, при создании окна - собирается какой-то мусор от предыдущих экземпляров - хотя, при остановке скрипта - его LUA VM должна быть полностью разрушена, равно как и переменные ею занимаемые/устанавливаемые.
  2. Почему при создании окна таблицы вылазиет ещё одно большое окно? Внешне это выглядит, как неприятное единовременное мерцание. подозреваю, что это одно и тоже окно но, заданное с большими дефолтными размерами и только потом, они почему-то опять меняются непонятным образом.
  3. Значит ли это, что внутри функции CreateWindow(t_id) - снова меняются размеры окна?
вопрос разработчикам, структура файлов с графиками
 
не задавайте им таких вопросов - вы и так уже всё знаете...
вопрос разработчикам, структура файлов с графиками
 
про это они как бы уже давно забыли
Разработка торговых роботов, Разработка торговых роботов
 
..спади! да всем (нувыпоняли...)
Вопросы по совместной работе, quik junior и доске опционов., Два пользователя за одним терминалом. Программный доступ к доске опционов ...
 
Цитата
Дмитрий пишет:
А разве не в этом смысл подписки?
в наше время, определённо - НЕТ. Именно для этого создаются личные профили/кабинеты внутри сайтов - чтоб пользователь мог сам фильтровать поток, а не превращать e-mail в корзину для мусора. Не думаю, что информация здесь находящаяся нуждается в немедленной реакции (сродни смс-уведомлениям). Поэтому, если у пользователя находится время на чтение e-mail - то и на визит в свой личный профиль и "кликанье" по своему "избранному" - тоже найдётся.
Цитата
Дмитрий пишет:
Его с успехом может заменить меню "избранное" в браузере.
могу Вам сказать, что в моём браузере, в "моём избранном" - можно потеряться))))). И ведь, - всё как говорится: "надо" и ничего не выкинешь))))
коды событий поворотов колеса мыши SetTableNotificationCallback
 
Эбаут: https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%B1%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0­%B8%D0%BD%D0%B3
ну и, конечно, http://www.wasm.ru/wault/article/show/1001020
коды событий поворотов колеса мыши SetTableNotificationCallback
 
вообще, тема, конечно хорошая, как и другая схожая в другом топике. Думаю, пора всерьёз заняться сабклассингом нативных окон. Благо это всё легально.
Вопросы по совместной работе, quik junior и доске опционов., Два пользователя за одним терминалом. Программный доступ к доске опционов ...
 
Цитата
Дмитрий пишет:
Для этого возле названия темы специально есть слово " Подписаться "
тогда форум начнёт с..рать на e-mail уведомлениями))))
коды событий поворотов колеса мыши SetTableNotificationCallback
 
Цитата
sam063rus пишет:
Собственно, она уже есть в WINAPI:
вот она:
GetAsyncKeyState
так что, просто вывести её в QLua и можно вообще не быть ограниченным привязкой именно к [ctrl][shift][alt]
коды событий поворотов колеса мыши SetTableNotificationCallback
 
я думаю, тут больше не хватает события именно отпускания (отжатия) клавиши. Что-нибудь, вроде QTABLE_VKEY_UP. Либо, отдельной функции: ScanKeyState, позволяющей определить факт нажатия/отпускания клавиши вне зависимости от прихода событий в QTAble.
Собственно, она уже есть в WINAPI:
вот она:
GetAsyncKeyState

:)))
коды событий поворотов колеса мыши SetTableNotificationCallback
 
таким же "макаром" - можно прикрутить и событие "drag". Но ввиду полной ущербности GUI в QLua - смысла в этом никакого.
коды событий поворотов колеса мыши SetTableNotificationCallback
 
имеем:
  • QTABLE_CHAR – нажата символьная клавиша, при этом par2 содержит код клавиши, par1 – текущую выделенную строку,
  • QTABLE_VKEY – нажата клавиша, при этом par2 содержит код клавиши, par1 – текущую выделенную строку,
  • QTABLE_LBUTTONUP – отпущена левая кнопка мыши, при этом par1 содержит номер строки, par2 – номер колонки,
также известно (например, из примеров VCL Delphi): что Click - это вовсе никакой не "клик", а элементарный xBUTONUP на определённой территории (регионе), в данном случае, -> ячейки таблицы
Таким образом:
  • заводим в классе булевую переменную, которая будет флагом нажатия определённой клавиши, которую мы получим в другом коллбеке (QTABLE_VKEY).
  • далее, при приходе LBUTTONUP проверяем установлен ли этот флаг (полученный VKEY) and находимся ли мы в заданной ячейке. И если "Да" - do smth
-------------------------------
примерно так делают в других программах.
Очень нужны индикаторы, когда появятся?
 
ну можно предложить замену экселю и вебквику: собственно, сам QUIK.
устроит, не? :)))
коды событий поворотов колеса мыши SetTableNotificationCallback
 
очевидно: [ctrl][shift][alt] + [lbuttonclick][rbuttonclick][mbuttonclick]
Библиотека QCtrls.dll
 
Для того, чтобы это было осуществимо средствами WINAPI - надо (в самом простом варианте/случае):
  1. Создать окно средствами QTable.
  2. Чтобы оно не потерялось - обозвать его с помощью Caption. Потом найти окно в системе с таким заголовком и по нему хендл и, возможно класс...
  3. Потом, с помощью переопределения оконной процедуры (SetWindowLongPtr и т. д. и т. п.) - уже творить с ним, что заблагорассудиться. НО!!! Из-за такой "затеи" - абсолютно непонятно как это будет сочетаться с квиком и привязкой к вкладкам, а также на реакцию на оконные сообщения Windows бо как у нас ещё в памяти таким образом создастся совершенно не нужный объект - тот самый QTable да ещё с непонятным поведением и свойствами
таким образом, хотелось бы более "чистый" вариант от разработчиков.
Библиотека QCtrls.dll
 
Цитата
Старатель пишет:
В таком случае, получить название и хендл активной вкладки можно с помощью того же winAPI.
У Вас для этого есть стабильный и 100%-ный способ? Чтож, рад его услышать. Мне пока такого не попадалось.
Библиотека QCtrls.dll
 
Цитата
Старатель пишет:
При отсутствии возможности задавать положение окна на конкретной вкладке польза от такой функции будет сомнительной.
положение окна, его размер, обработка событий - всё это уже делается элементарно с помощью winAPI. Кроме того, можно также сделать, чтоб это всё запоминалось бо как info.wnd - это не панацея и никто не запрещает пользователям создавать/хранить свои настройки окон для своих скриптов в своих файлах.
Библиотека QCtrls.dll
 
Цитата
Michael Bulychev пишет:
Пожелание такого рода у нас есть и мы думаем над их реализцией.
а пока Вы думаете над их реализацией - было бы неплохо уже с чего-то начать: к примеру, если бы Вы сделали функцию в QLUA, возвращающую хендл текущей вкладки - то это бы избавило от массы проблем.
функцию можно назвать например так: getActiveTabbed(). В качестве результата - можно возвращать либо таблицу с дополнительной информацией (например, название вкладки, хендл её окна и т. п.) либо же просто хендл.
Хранить параметры и доставать их можно через стандартный механизм хранения таких вещей, как: LightUserData.

Сделать это для Вас - не составит великого труда (займёт не больше часа), а пользы будет действительно много. НО!!! Только не надо нам тут подсовывать, какой-то не Windows-описатель, как это сделано у Вас с QTable. Нам нужна возможность полноценной привязки к вкладке и возможность "перепрыгивать" с вкладки на вкладку.
Компель LUA
 
Цитата
Роман пишет:
а в том как это на С# реализовывается
оставьте эту затею. LUA VM + виртуальная машина "шарпа" = оно Вам надо? Тогда уж лучше C++
Пакетное получение данных, Все сделки приходят не по одной, а пакетами от 1 до xx штук
 
Цитата
Sergey Gorokhov пишет:
Цитата
Sergey Gorokhov пишет:
Здравствуйте,
Не вижу проблемы в данном конкретном случае.
Стек TCP/IP вполне может подразумевать пакетную передачу данных, это вполне нормальное поведение.
Если смущает задержка в 0,00001 то это вполне допустимое значение, даже у света есть скорость.
Возможно поможет тонкая настройка сетевой карты.
Поищите инструкцию в интернете для Вашей сетевой карты.
Также поищите информацию по запросу "Настройка протокола TCP/IP"
Любые настройки в этом месте на ваш страх и риск.
возможно, это спасёт автора топика? : http://www.manhunter.ru/underground/81_uvelichenie_kolichestva_odnovremennih_tcp_­ip_soedineniy.html

а вообще, насчёт сжатия, тут правильно сказали выше.
Данные из Таблицы параметров опционов...., Данные из Таблицы параметров опционов.
 
они ещё, как правило любят "посылать" почитать документацию на шлюз на сайт биржи. Когда у них спрашивали про несовпадение параметров и постоянные "додумывания" - то если, ка бы это по-мягче перефразировать: "мол де включайте ассоциации: если это выглядит, как чёрное и делает то, что чёрное - значит это чёрное".
Разговор, если не изменяет память был около месяца - двух назад.
Данные из Таблицы параметров опционов...., Данные из Таблицы параметров опционов.
 
ТТП - не биржевое "изобретение", а квиковское. Сделано на основе биржевых протоколов. Поэтому названия параметров, естественно разные.
Данные из Таблицы параметров опционов...., Данные из Таблицы параметров опционов.
 
Скажу даже больше - те названия формальных параметров, которые - "большими буквами" - это, в терминологии разработчиков: СТАТИЧНЫЕ параметры. т.е. те, которые, как правило, не изменяются за торговую сессию. Также верно и то, что они, разработчики, не дают по ним и по синхронности их прихода никакой гарантии.
(кто это сказал - сами найдёте через поиск.)
Данные из Таблицы параметров опционов...., Данные из Таблицы параметров опционов.
 
неугомонный)))
Вывод по DDE (порядок следования столбцов) - совпадает с тем, что в квиковской ральной таблицеТТП. Реальные названия формальных параметров - нетрудно сопоставить. Бо как это надо сделать лишь один раз. Далее, по документации в разделе "просмотр информации" (так кажется называется) - можно снабдить получившуюся таблицу более полными комментариями по каждому параметру. Нечто подобное для себя уже сделал.
Данные из Таблицы параметров опционов...., Данные из Таблицы параметров опционов.
 
ок, тогда нет ничего проще его получить - можно открыть ТТП через DDE. И будет полный.
Данные из Таблицы параметров опционов...., Данные из Таблицы параметров опционов.
 
открываете документацию по квику, ныряете в раздел "тупайл", далее в описание работы с ТТП и будет вам счастье. Там вы найдёте полный список параметров. Реальный же список - будет зависеть от того, какие параметры транслирует брокер, а также от класса активов: для опционов - одни параметры, для акций - другие.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
хочу привести реальный пример, из жизни. хоть он и несовсем по теме - но главное - суть:
есть 3D-движок CryEngine - от вполне себе современной и раскрученной игры. Причём, он тоже поддерживает LUA. Так вот: чуть покопавшись в его SDK и примерах скриптинга - я чот не нашёл там ни повального использования метатаблиц, ни корутин, ни потоков. Там есть развитая библиотека уже встроенных на уровне движка объектов (Entity). Чтобы наследовать какой-то объект или свойство от другого объекта - там не надо писать полушаманский код на метатаблицах - всё сделано на уровне домохозяек и школьников - хочешь наследовать - вызови пару функций и будет тебе счастье. Насчёт доступа ке глобальным переменным, во многих скриптовых движках - уже давно для этого используют классы, т.е. глобальная переменная - это - тоже класс, причём встроенный в сам движок. Пользователь - вообще в данном случае не думает ни о каких потоках и синхронизации - он просто дёргает методы и навешивает на эту глобальную переменную - события. Список можно бесконечно продолжать.
Хочется ещё раз спросить: для кого эта QLUA - затевалась? Кто целевая аудитория? Какие перспективы? Если всё - это для трейдеров - то это точно не для них, потому как разгребать за вами ваши же огрехи ценою своего счёта по причинам описанным выше - не хватит денег ни у кого. Если это для программистов - то программисты от него тоже - не в восторге. Им было бы куда проще и гибче писать на C++ и не быть ни в чём стеснёнными. Я не спорю, что сама по себе LUA - вполне себе достойный скриптовый язык. НО!!! Вы доведите её уже наконец, до ума, а не выпускайте на рынок вечно-сырой продукт.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
честно сказать, я уже и на майн и на потоки согласен НО! Дайте примеры достойные подражания? А то - документация - никакая, техподдержка, если почитать их сообщения со старого и этого форума и сопоставить (благо MySQL сейчас может пользоваться каждый) друг другу - противоречит, разработчики - привыкли ограничиваться лишь парой фраз. В итоге, как говорится, "вот вам qlua и (ну вы поняли...)". При этом, сотрудники компании ещё сильно обижаются, когда их упрекают в отсутствии знания собственного продукта. Видать, писать, что "проблема будет исправлена в следующей версии" в этой компании уже давно вошло в привычку за 15 лет.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
ну вот, опять убежал...
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Michael Bulychev,
Прошу Вас, самым детальнейшим образом расписать, как устроено межскриптовое взаимодействие/влияние в QLUA -> интересует:
1. порядок инициализации главной виртуальной машины - > что после чего запускается, как и на каком этапе происходит цикл регистрации и опроса коллбеков.
2. Также прошу расписать в каких случаях создаётся новый lua-thread (имеется ввиду только в обычных скриптах.
3. (несовсем по теме, конечно, но... )
1. в какое место совать свою GUI-билиотеку? в основное тело скрипта,
2. в майн
3. или создавать для этого новый поток ОС и делать в нём свою message-loop бо как диспетчеризация сообщений квиковским главным потоком уже будет не досягаема?
Пакетное получение данных, Все сделки приходят не по одной, а пакетами от 1 до xx штук
 
Цитата
Старатель пишет:
Скрытый текст
что бы сие значило...
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
замените в скрипте №1 в майне sleep на равносильную задержку в виде цикла.
Пакетное получение данных, Все сделки приходят не по одной, а пакетами от 1 до xx штук
 
Цитата
Leff пишет:
то замирают на 0,00001 сек, то за 0,000001
задам глупый вопрос, а чем время измеряли?
Компель LUA
 
Цитата
Роман пишет:
простой принцип?
простой принцип - Вам уже описали выше. а вообще, для начала почитайте книгу от Роберто Иерусалимски "Программирование на языке LUA". Третье издание.
После этого у Вас исчезнет большая часть вопросов.

Цитата
Роман пишет:
main по ходу в дравине.
если под "дравиной" Вы понимаете dll - то Да, так оно и есть.
ещё много много раз - потокобезопасные операции, Потокобезопасность.
 
Любое обращение к глобальным переменным, равно как и любая модификация стека в LUA происходит через критические секции. Исследования показывают, что нет в целом ряде случаев абсолютно никакой выгоды от многопоточности, если не используется соответствующая операционная система и многоядерные процессоры. Широко распространено и подтверждено на практике мнение, что число потоков - должно соответствовать числу ядер. Вот, кстати, статейка на тему: http://www.dtf.ru/articles/print.php?id=39888
Контроль данных в МТС, Создание отказоустойчивой автоматизированной торговой системы
 
и если уж тут заговорили про МТС -> признаюсь, как бы мне не хотелось увеличить число одновременно торгующих ботов - но мой канал связи клиент-брокер-биржа-брокер-клиент - позволяет обрабатывать только 4 заявки в секунду. т.е. получается 250ms "на круг". При том, что реальная торговля через выделенные шлюзы может доходить до 3 ms. Но это уже, для меня, - дело весьма отдалённой перспективы.
Контроль данных в МТС, Создание отказоустойчивой автоматизированной торговой системы
 
Цитата
Старатель пишет:
на случай "потери" части свечей сервером
а как робот поймёт, что это "потеря", а не неликвид?


для себя - сделал таблицу: критичных и некритичных параметров, а также контроль так сказать целостности данных на случай намеренного и ненамеренного "технического сбоя" - т.е. составляется по каждому классу - профиль поведения изменения параметров и если параметры не укладываются в профиль - торговля: либо прекращается, либо - при возможности - закрывается позиция. Очень часто такую картину можно наблюдать во время планок - на доске опционов - не пойми что. Также мониторится серверное время и локальное - при слишком большой разнице - некоторые алгоритмы - отменяются (выставляется соответствующий флаг), изменяется также скорость подачи заявок роботом.


--------------
а вообще - конечно, интересная тема.
Цена заявки не соответствует установленному диапазону
 
Alexey Ivannikov
а почему у Вас на сайте отсутствует информация о версии 10.5.0? При том, что нашёлся человек, который откуда-то взял. Могу я ознакомиться с изменениями в этой версии?
Цена заявки не соответствует установленному диапазону
 
судя по контексту  - это модуль торгового интерфейса Фондового рынка Московской Биржи, отсюда: http://www.quik.ru/news/updates/
но на сайте - я не нашёл никакого упоминания об этой версии и уж тем более о заявленных выше возможностях. После версии 10.3 идёт сразу 10.7.0
Цена заявки не соответствует установленному диапазону
 
Нашёл ответ на "старом" форуме: http://forum-archive.quik.ru/forum/quik/86178/86228/
Цена заявки не соответствует установленному диапазону
 
Цитата
sam063rus пишет:
Если я правильно понял - это какой-то плагин для сервера QUIK?
и если это так - то вопрос к разработчикам - значит ли это, что серверные плагины могут в ТТП могут добавлять столбцы с дополнительной информацией?
Страницы: Пред. 1 ... 10 11 12 13 14 15 16 17 18 19 20 ... 34 След.
Наверх