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

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 12 След.
Тиковый график, Тиковый график
 
Оперативки точно жрет немерено.
А не проще провести эксперимент самому?
Утечка памяти
 
Imersio Arrigo, я не собираюсь дальше продолжать с Вами спор, т.к. считаю это бесполезной тратой времени.

Если у разработчиков возникнут какие-то вопросы на эту тему, то я им предоставлю всю необходимую информацию.

Цитата
Imersio Arrigo пишет:
Подайте заявку в контору на реализацию пожелания. Возможно его и примут. примерно через десятьтыщлет...
Уже подал, пожелание зарегистрировано:
https://forum.quik.ru/messages/forum1/message8857/topic928/#message8857
Утечка памяти
 
Цитата
Imersio Arrigo пишет:
Слышу звон, но не знаю... ага.
Почитайте про систему виртуальной памяти чтоли, и как работает файл подкачки.
И сами осознайте какую связь это имеет с "файлами данных самого терминала".
Я не собираюсь изучать все детали функционирования виртуальной памяти Windows. Для этого есть другие специалисты, которым за это платят.
К тому же ни Вы ни я не можем знать деталей функционирования самого терминала Quik, поэтому нельзя исключать, что в самом терминале предусмотрена загрузка информации в оперативную память из файлов данных терминала по мере необходимости, а также освобождение памяти от не нужной в данный момент информации.

Цитата
Imersio Arrigo пишет:
Если только своп будет в пару терабайт... )))
Если бы я не наблюдал такую картину на своем терминале много раз, то не писал бы об этом. Это не мои домыслы или предположения, а многократно подтвержденный факт.

Цитата
Imersio Arrigo пишет:
Тогда при таком требовании, Вы должны отдавать себе отчет в том, что когда программа выжрет всю оперативку (а при наличии на машине ее меньше 4Г это случится очень быстро) вся система просто встанет колом.
Программа пока что не отжирала у меня больше полутора гигов оперативки. Обычно даже меньше, притом что открыто в ней очень много всего... И если важна стабильная работа, то вполне можно пожертвовать 1 или даже полутора гигами ОЗУ, в ущерб остальным приложениям (которые можно вообще не запускать на машине с терминалом).
Окно с кнопками Да Нет
 
Да, точно, невнимательно посмотрел :)
Окно с кнопками Да Нет
 
Цитата
Viktor MMM пишет:
Раз пошла такая пьянка,, то вот так):
Не пойдет. Символ с кодом 0 - это отнюдь не "0".
Окно с кнопками Да Нет
 
Так будет красивей:

Код
 if par2 > 95 and par2 <106 then --цифры с нампада
  curstring = curstring .. string.char(string.byte("0") + par2 - 96)
end
Утечка памяти
 
Цитата
Gridmer пишет:
При сворачивании любой программы винда ее скидывает из памяти в файл подкачки. При разворачивании начинает оттуда подгружать обратно.
Все несколько сложней. При разворачивании квика совсем не обязательно начнется подгрузка данных из файла подкачки в память.
Зато такая подгрузка может начаться и при свернутом окне терминала, если ему в процессе работы вдруг понадобятся какие-то данные, которые были ранее удалены из памяти и, возможно, сброшены в файл подкачки (я не уверен, что они подгружаются из файла подкачки, а не из файлов данных самого терминала).
И процесс такой подгрузки данных с диска в память может оказаться настолько длительным, что в итоге связь с сервером разорвется по тайм-ауту.

Поэтому было бы здорово, если бы разработчики добавили настройку в терминал, которая позволяла бы запретить удаление данных из памяти с последующей из загрузкой с диска при необходимости, а заставляла бы вместо этого постоянно держать все данные терминала в оперативной памяти.
Прошу зарегистрировать такое пожелание на доработку.
Окно с кнопками Да Нет
 
Вообще-то прописывать в скрипте коды всех клавиш нет необходимости, это нужно только для управляющих клавиш.
Для всех остальных (алфавитно-цифровых) можно использовать простое преобразование кода клавиши в символ, например, так:
Цитата
function f_cb(t_id, msg, par1, par2)
...
edit_str = edit_str .. string.char(par2)
Окно с кнопками Да Нет
 
Да, понимает. Код каждой клавиши легко узнать, написав простенький скрипт, который будет выводить код нажатой клавиши.
Окно с кнопками Да Нет
 
Зацикливать внутри коллбэка ничего не нужно. Каждое новое нажатие клавиши приводит у новому вызову коллбэка, внутри которого это нажатие обрабатывается. Просто после начала редактирования текста в ячейке нужно установить значение какой-то переменной-флага в true, тогда при очередном вызове коллбэка он будет знать, что сейчас работает режим ввода текста и нужно добавить новый символ к строке и т.п. После нажатия Enter флаг ставите = false.
Добавить функцию getServerTime()
 
Цитата
Egor Zaytsev пишет:
Добрый день.

Servertime - это время сервера, Lastrecord - время получения с сервера последней записи.
Код
 есть Lastrecord будет всегда меньше, чем просто Servertime ?
  
можно сказать, что да.
А если, к примеру, время на компьютере не совсем правильное и опережает время сервера, то Lastrecord может быть и больше, чем время сервера?
Помогите с ошибкой LUA
 
Код
svecha = cb_open-cb_close
 
Что-то я не заметил, а где у вас присваиваются значения переменным cb_open и cb_close
Новый современный интерфейс + юзабилити + UX, Когда?
 
Леонид, а что за терминал на рисунке?
Рисовать линию на графике
 
Цитата
Старатель пишет:
Можно создать метку в виде горизонтальной линии.
метку нужно обязательно создавать без подписи (TEXT)
А как без текста сделать метку в виде линии? Использовать файл с изображением?
Лимитированная, рыночная заявка
 
Цитата
Николай Камынин пишет:
Если нельзя, но очень хочется то можно попробовать указать
EXECUTION_CONDITION -Условие исполнения заявки, необязательный параметр.
Со значением «FILL_OR_KILL» – немедленно или отклонить,
Вряд ли это поможет исполнить заявку по цене, худшей, чем есть сейчас в стакане.
Спрэд в стакане и цены совершённых сделок (Таблица всех сделок), Проблема понимания изменения спрэда в стакане и цены совершённых сделок в Таблице всех сделок
 
Цитата
Старатель пишет:
У стакана есть время? Где вы его берёте?
Присоединяюсь к вопросу.
Особенно с учетом того, что автор темы ссылается на нее из другой своей темы в обоснование своей правоты.
Таблциа Истории
 
А разве может быть такое, чтобы объем на графике не соответствовал данным из ТВС (ну если не считать каких-то сбоев в работе сервера QUIK)?
Ведь графики строятся на сервере по тем же данным, которые мы видим в ТВС. Или я ошибаюсь?
SetWindowCaption крякозябры вместо русского текста
 
Сохранить файл в другой кодировке (если была Win то в DOS, и наоборот)
OnTransReply вывод в таблицу
 
А если написать

Код
 message(TransReplyTl[1].order_num  .. " " )
 
доступ к строкам таблицы изменений параметров, почему его нет?
 
Цитата
Sergey Gorokhov пишет:
Цитата
Will Will пишет:
Оформляйте заявку хочу чтоб в луа была возможность работать с данными ТИП не открывая ее, как с ТВС.
Собственно о чем я и писал ранее.
Если для CreateDataSource задать колбек то таблицу не надо открывать
Для программиста-пользователя вашего терминала разница будет в том, что если ему нужно проанализировать историю изменений двух и более параметров в совокупности, то при использовании CreateDataSource ему нужно будет самостоятельно собирать внутри скрипта аналог ТИП с использованием значения count (при условии, что вы реализуете исправления в алгоритме формирования этого значения). Если же вы предоставите механизм непосредственного обращения к строкам ТИП из скрипта (аналогично работе с ТВС), то подобная задача сильно упростится. Поэтому подобное пожелание, на мой взгляд, заслуживает отдельной регистрации. А уж сможете ли вы его реализовать, и если сможете, то когда - это другой вопрос.
доступ к строкам таблицы изменений параметров, почему его нет?
 
Цитата
Will Will пишет:
Оформляйте заявку хочу чтоб в луа была возможность работать с данными ТИП не открывая ее, как с ТВС.
Поддерживаю пожелание.
Рабочая скорость Квика
 
Цитата
Роман пишет:
и пол метра должно равняться 524288 байтам. (1024 *1024 / 0.5). Может я не прав - уточните пожалуйста.
Выше речь шла о мегабитах, а не мегабайтах, если вы об этом:
Цитата
Stanislav Tvorogov пишет:
Рекомендуемая минимальная пропускная способность должна составлять не менее 0,5 мбит/с
Так что делите это число на 8 (число бит в байте).
Пожелания по развитию форума
 
тем не менее картинку вставить можно в текст и отобразится она в виде массы букв, но если потом это сообщение вставить в цитату, то увидишь картинку во время редактирования своего сообщения. Так что потенциально возможность размещать картинки есть, но что-то не доделано здесь.
Окно с кнопками Да Нет
 
Ну не то чтобы обманул... Просто не понял, что именно хотел Viktor MMM
Конечно, совершенно самостоятельный скрипт, содержащий функцию main(), так не получится запустить.
Но насчет того, что dofile просто вставляет в текущий скрипт текст из указанного файла, можно поспорить.
Согласно официальной документации функция dofile открывает указанный файл и выполняет его содержимое (хотя конечный итог получается практически такой же, как при вставке текста):
Цитата
dofile ([filename])
Opens the named file and executes its contents as a Lua chunk. When called without arguments, dofile executes the contents of the standard input (stdin). Returns all values returned by the chunk. In case of errors, dofile propagates the error to its caller (that is, dofile does not run in protected mode).
Ошибка при первом запуске, Ошибка при первом запуске QUIK
 
Скорей всего, у Сбера просто заблокирована возможность пинговать их сервер. Если телнет устанавливает соединение на нужный порт, то со связью все ок.
А ругань в вашем первом сообщении скорей всего была как-то связана с региональными языковыми настройками.
Окно с кнопками Да Нет
 
Цитата
Viktor MMM пишет:
Другие скрипты запускать из скрипта есть возможность, не знаете?
Можно, например так:

Код
dofile (getScriptPath() .. "\\Script_Name.lua")
 
Окно с кнопками Да Нет
 
При желании можно также с помощью тех же самых средств QLua создать поля для ввода и редактирования строк (даже с мигающим внутри такого поля "курсором").
Но вообще средства для создания интерфейсов программ в QLua довольно примитивные, требуют немало времени и усилий от программиста, поэтому тут уже неоднократно звучали просьбы клиентов к разработчикам Quik о развитии этих средств.
Окно с кнопками Да Нет
 
пример выпадающих меню:

Окно с кнопками Да Нет
 
попытка номер 2
Окно с кнопками Да Нет
 
Цитата
Viktor MMM пишет:
если у Вас есть пример красивого такого окна с чекбоксами, кнопками и тд, хотелось бы увидиеть
Вот простой пример такого окна:
Окно с кнопками Да Нет
 
Цитата
Viktor MMM пишет:
Дмитрий, это Вы про нарисовать таблицу с ячейками да нет, потом отследить движения мыши и обработку?
Или есть другой способ? Мне этот вариант показался не то чтобы немыслимым, хоть и реальным, но пока что не могу его принять, по религиозным соображениям)
Но конечно, что выяснится, что со сторонними функциями будут глюки, придется идти другим путем.
Да, именно про таблицу с ячейками и отслеживание мыши. Если поковыряться, то можно даже красиво сделать. И не только кнопки Да/Нет, но и всякие чекбоксы и т.п. Если видели интерфейс Far, то он ведь фактически так же выглядит - все кнопки и т.п. из обычных текстовых символов. Зато не надо думать о побочных эффектах использования сторонних библиотек.
Окно с кнопками Да Нет
 
Вообще-то создать окно с надписью и кнопками Да Нет и обрабатывать его результаты можно и стандартными средствами QLua (работа с экранными таблицами).
Придется написать побольше кода, будет выглядеть не так красиво, но зато не нужно подключать никакие внешние библиотеки.
Уменьшение трафика
 
Фьючерсы и опционы, возможно, выбираются потому, что терминал всегда получает по ним данные, даже если никаких таблиц по ним не открыто.
Как объясняли разработчики, такова реализация работы терминала, вот ссылка на эту тему:
http://forum-archive.quik.ru/forum/quik/123962/
Delphian Transactor, Экспорт данных в SQL, HTTP запросы и не только
 
Признаюсь, я особо не вникал в функционал Вашей библиотеки, но сама возможность вызывать выполнение функций Lua в терминале посредством HTTP-запросов наводит на мысль, что использование такой библиотеки может быть сопряжено с большим риском (несанкционированное вмешательство в работу терминала посторонних лиц через Интернет с целью получения данных или совершения операций по счету).
Наличие открытого кода помогло бы уменьшить подобные опасения.
Delphian Transactor, Экспорт данных в SQL, HTTP запросы и не только
 
Было бы очень хорошо, если бы в архиве с каждой новой версией присутствовали также исходники Вашей DLL.
заказ всех сделок, вопрос разработчикам
 
Цитата
Sergey Gorokhov пишет:
направление сделки определяется по направлению первой заявки. Если первая заявка была на покупку значит сделка будет на покупку и на оборот
А Вы уверены, что не ошиблись?
В документации по Квик написано, что тип сделки в ТВС (купля или продажа) определяется направленностью заявки, инициирующей заключение сделки:
Цитата
«Купля» - заключена сделка путем выставления заявки на покупку против находящейся в торговой системе котировки на продажу, «Продажа» - заключена сделка по заявке на продажу
То есть, согласно вашей документации направление сделки определяется направлением второй заявки.

Цитата
Sergey Gorokhov пишет:
Но следует уточнить что тут играет значение о каком именно рынке мы говорим.
Разницы между фондовым и срочным рынками Московской биржи в данном случае быть не должно - это уже обсуждалось ранее на старом форуме (причем Вы сами давали тогда в конечном итоге правильный ответ, с учетом которого в дальнейшем была исправлена ваша документация):
http://forum-archive.quik.ru/forum/quik/118273/118273/
Добавить график, Добавить график, Price, Новое окно.
 
Цитата
Imersio Arrigo пишет:
Есть такой индикатор "Профиль рынка" - вот он как раз отражает на графике кол-во заявок привязанных к ценах.
Может, не заявок, а сделок?
Количество открытых позиций и сделки из таблицы всех сделок
 
Цитата
Василий пишет:
Покопал на тему внесистемных сделок, судя по всему тут имеет место быть биржевая адресная сделка, которая и не попадает в таблицу.
Интересно, а на объеме, отображаемом на графике, такая сделка тоже не отразится?
Или на значениях параметров ТТП типа "Количество во всех сделках" и "Оборот в деньгах"?
Глупый вопрос! Механизм совершения сделок!, Механизм совершения сделок!
 
Цитата
Старатель пишет:
Наверное, вот это: QUIK Matching Engine
Вопрос еще в том, работает ли эта вещь с любыми классами инструментов (в том числе теми, которые обычно торгуются на бирже) или же такая "кухня" возможна лишь по специально созданным для этого классам инструментов. Во втором случае клиент должен явно указать согласие на обработку своих заявок внутри "кухни" путем выбора специального класса инструментов, не существующего на бирже (типа TQBR_KITCHEN вместо TQBR).

Присоединяюсь к вопросу Старателя к разработчикам по поводу возможности перехвата и исполнения брокером обычных заявок клиентов без вывода их на биржу.
заказ всех сделок, вопрос разработчикам
 
Поясню свой вопрос.
Сейчас еще раз провел несложный эксперимент - пометил галочками все классы в меню "Связь/Заказ всех сделок", после чего установил связь с сервером. При этом ни одного тикового графика и ТВС открыто не было. Через час отключился от сервера и открыл ТВС - ни одной сделки за это время не поступило.
Но если бы я при установленном соединении с сервером открыл ТВС хотя бы по одному единственному инструменту, то в итоге терминал получил бы сделки по всем инструментам из тех классов, которые были отмечены в меню "Связь/Заказ всех сделок".
заказ всех сделок, вопрос разработчикам
 
А почему информация по всем сделкам для классов, выбранных в меню "Связь/Заказ всех сделок", не будет поступать в терминал, если в нем не открыто ни одного тикового графика или ТВС хотя бы по одному инструменту?
Получается, что с одной стороны, настройки в меню "Связь/Заказ всех сделок" имеют решающее значение при определении списка классов/инструментов, по которым будут приходить сделки (так как сделки будут приходить по всем выбранным там классам и/или инструментам, даже если по ним не открыты тиковые графики или ТВС), но с другой стороны если в терминале вообще не будет открыто ни одного тикового графика или ТВС, то сделки вообще не будут поступать в терминал. То есть, случайно закрыв единственный тиковый график или ТВС по одному инструменту, можно прервать получение данных по целому списку других инструментов или классов.
Можно исправить такое поведение терминала? То есть сделать так, чтобы обезличенные сделки поступали в терминал с учетом настроек в меню "Связь/Заказ всех сделок" независимо от наличия или отсутствия в терминале тиковых графиков и ТВС?
заказ всех сделок, вопрос разработчикам
 
Здравствуйте!
Правильно ли я понимаю, что для того чтобы в терминал (в ТВС) поступали все обезличенные сделки по нескольким классам достаточно отметить их галочками в меню "Связь / Заказ всех сделок", но при этом нет необходимости открывать тиковые графики или ТВС по всем этим классам, а достаточно иметь открытую ТВС хотя бы даже по одному какому-нибудь инструменту из любого другого класса?
Как сделать так, чтобы файлы подгружались сами?
 
* в коде луа
Как сделать так, чтобы файлы подгружались сами?
 
Цитата
Николай Бехтерев пишет:
прямо путь с обычными ""?
в строке в коле луа нужно писать \\ вместо \
Экспорт по HTTP, Библиотека для экспорта данных по HTTP
 
delphiec _, было бы очень хорошо, если бы Вы выкладывали вместе с остальными файлами также исходник Вашей DLL.
CreateDataSource
 
Цитата
Старатель пишет:
Причём, если график не открыт в терминале, то значения "старых" свечей мы получаем только в колбеке (не зависимо, сохранён кэш графиков или нет). Если график открыт, то "старые" свечи возвращаются в CreateDataSource.
То есть если график не открыт, то CreateDataSource вообще не выдаст нам свечи, сохраненные в кэше?
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Некто пишет:
Интересно, кто прав?
Я думал, что Вы сравниваете количество свечей на двух графиках Сбера между собой, а потом с графиком Si.
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Некто пишет:
Для графика Сбера периодов 1 и 2 мин они равны. Для Si getNumCandles() в 21:30 возвращает бОльшее число.
Возможно, это связано с тем, что на FORTS после 19:00 начинается новая сессия?
Совершенно верно
CreateDataSource
 
Цитата
Николай Камынин пишет:
Полагаю, что речь идет о реальном времени.
Т е рассмотрим реальную торговлю, а иначе нет смысла вообще в этой дискуссии.
Цитата
Николай Камынин пишет:
Запрашивать сервер о количестве свечей не имеет смысла,
По-моему, Вы не вникли в смысл темы, которая обсуждалась выше.
Речь идет о получении истории свечей при первоначальном вызове CreateDataSource (которая обычно достигает 3000 свечей за прошлые дни, плюс сегодняшние свечи). Этот процесс занимает неопределенное время (особенно при одновременном открытии источников данных по нескольким инструментам), а скрипт должен ждать окончания загрузки данных.
Прежде всего нам нужно знать, есть ли вообще такая история на сервере.
Если на момент вызова CreateDataSource на сервере нет ни одной свечи, то мы можем ждать бесконечно долго пока функция Size() вернет значение, большее 0, или придет коллбэк.
Смысл запрашивать количество свечей на сервере есть, и он состоит в том, чтобы избежать подобных ситуаций.
CreateDataSource
 
Цитата
Sergey Gorokhov пишет:
Дело в том, что нет такого критерия который позволил бы отличить ситуацию "продолжения ожидания" от "отсутствия данных", а значит и решить эту проблему нельзя.
А почему бы не сделать дополнительную функцию, при вызове которой будет возвращаться количество свечей, которое было на сервере по заданному инструменту на момент вызова этой функции?
Она отрабатывала бы намного быстрей, чем CreateDataSource, т.к. не требовалось бы передавать весь массив свечей на терминал.
Вызвав ее, мы смогли бы узнать, какое минимальное количество свечей должна вернуть нам CreateDataSource.
И, самое главное, эта функция всегда возвращала бы нам какое-то определенное значение, даже если свечей по данному инструменту на сервере нет.
Если при вызове этой новой функции мы получим 0, то будем знать, что нет смысла ждать поступления каких-либо данных. Таким образом, проблема бесконечного ожидания была бы устранена на 100%.
По-моему, нет ничего невозможного в реализации такой функции.
Прошу зарегистрировать соответствующее пожелание на доработку.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 12 След.
Наверх