У меня есть пожелание к ARQA: сделайте опцию "не загружать обновление для файла Winros.exe" Файл это в самом деле не нужен, но напоминания про наличие обновлений только из-за него - задалбывает. Спасибо.
Что касается "Потокобезопасных функции для работы с таблицами Lua" - то они несколько про другое. Во всяком случае они не реализуют тот алгоритм, который приведён в примере. Отличие будет в том, что не будет лочения потоков на время обработки всех элементов таблицы. Подходит ли это автору вопроса - не понятно. Он ведь лочит вокруг всего цикла обработки, а не вокруг обработки одного элемента.
Вячеслав, то как вы делаете, на мой взгляд в общем-то идеально. Не могу только понять при чем тут версия квика, от неё точно ничего здесь не зависит.
Идеальность в том, что вы, с одной стороны, полностью блокируете работу с таблицей из другого потока на все время добавления в неё элемента, с другой стороны полностью блокируете добавление в таблицу на всё время перебора имеющихся элементов внутри main(). Т.е. у вас всегда гарантированно в цикле обрабатывается некое полностью статичное состояние таблицы. И это само по себе безусловно здорово.
Однако, есть важный момент. Состоит он в том, что на всё время обработки таблицы (в main()) у вас фактически полностью блокирована работа call-back'ов при наступлении события OnParam(). И тут уже возникает вопрос про эффективность такого алгоритма. В самом деле: видно, что вы пытаетесь сделать "очередь событий" в таблице, и события из этой очереди разгребаете как бы в отдельном потоке main(). Но в вашем алгоритме вы не можете положить в таблицу очередное событие из OnParam() до тех пор, пока не обработали все имеющиеся события в таблице. Т.е. у вас получится, что в таблицу попали какие-то события (в виде элементов таблицы), вы их в main() обрабатываете - и на всё время этой обработки у вас OnParam() тупо залочен, QUIK стоит и ждёт, пока вы в main() обработаете все имеющиеся элементы таблицы. Не видно, чтобы тут случился выигрыш-то от двухпоточности. У вас всё равно каждый поток постоянно ждёт другой поток, в том числе и поток добавления событий.
Ну т.е. в "тёмной теме" шрифт и высоту заголовка изменить нельзя, верно? Недоработочка это, как мне видится. Зарегистрируйте, пожалуйста, пожелание: "желаю настраивать высоту заголовков окон в тёмной теме (обычных и "лоченых" окон раздельно) и шрифт (размер, цвет) шрифта заголовка окна"
Sergey Gorokhov написал: > При успешном завершении вызовов Add/SetLabel метка будет сохранена в хранилище, вот и ответ
Сергей, на что это ответ? Какая-то метка будет сохранена. Что входит в понятие "метка" - совершенно не ясно. Трактовать это можно как угодно, в том числе и так, что "параметры метки будут сохранены, а когда придёт время отрисовки - прочитаем картинку из файла".
Так что вы опять не ответили точно на вопрос, поэтому я и пишу, что ответа - нет.
DMITRYQ, быть может вас не затруднит перед отправкой сообщения нажимать кнопочку "Просмотр" и предварительно смотреть, что же получается в итоге? Читать ваши сообщения крайне сложно, а значит они не будут прочитаны.
Позвольте встряну. Sergey Gorokhov, в вашем ответе нет главного: когда можно удалять BMP-файл c диска, но при этом быть уверенным, что метка уже будет отрисована и удаление файла не помешает отрисовке?
Вячеслав написал: swerg , Такой способ должен быть, т.к. WinAPI поддерживает 3 типа сообщений для каждой кнопки мыши: WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBLCLK Первое - это нажатие кнопки, второе - отпускание и третье - двойной клик. В общем, технически это возможно (только важно не забыть установить стиль окна CS_DBLCLKS).
Вы правы. Такие сообщения есть. Но вот сюрприз: при клике двойном мышью в ваше приложение последовательно приходит 4 сообщения: WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBLCLK WM_LBUTTONUP Ну кто бы мог подумать, правда?
Так работает биржа. Именно про биржевую "программу" вам сказал брокер. А цену следует устанавливать в рамках между минимальной и максимальной ценой (эти цены транслируются в параметрах каждого инструмента)
Конечно же такого способа нет. Ведь когда вы первый раз нажимаете для на кнопку мыши - еще никто не знает будете ли вы делать двойной клик. Никто даже не знает отпустите ли вы её.
rozmin написал: На близком вам картофельном примере: купил мешок за 300, продал за 400. Вы когда-нибудь вставали мешками в лонг?
С точки зрения биржевой терминологии, когда вы купили мешок по 300 - вы встали в лонг. Когда продали по 400 - закрыли позицию.
Есть к вам предложение, даже два: 1) Посчитать результирующий прибыль/убыток для описанного вами сценария. 2) Написать сценарий покупки двух мешков по разным ценам и продажи их по одной (для начала) цене. А после для этого сценария также вычислить прибыль/убыток, но для двух случае: а) когда вы первым продаёте первый мешок б) когда вы первым продаёте второй мешок. Результат прибылей/убытков вариантов а) и б) - сравнить. Тогда будет смысл продолжать разговор, хотя, уверен, вы и сами всё сразу поймёте, что вам тут говорят.
Господин хороший, с вами здесь культурно общаются, терпеливо разъясняя элементарные вещи, хотя и могли бы послать читать учебники. Вы же не желаете даже попытаться понять того, что вам пишут. Это верный путь к успеху.
Что-то мне подсказывает, что ваш процессор загнётся, если на каждую котировку вести пересчёт. Ну и главное: ну будут у вас цифры мотаться туда/сюда как стакан - что это даст? не понятно мне. Уж не "прибыль", возникшую на десятую долю секунды вы таким образом попытаетесь "зафиксировать" ? ;)
A.T., рекомендую перейти на таблицу "состояние счёта". Она одна скорее всего заменит вам и клиентский портфель, и купить/продать, и таблицы лимитов по бумагам и деньгам.
Кстати, что-то в этом пожелании есть. В самом деле, вот я попробовал ограничить список бумаг через "Заказ данных". Выбрал только 3 бумаги:
Однако даже после перезапуска QUIK в форме заявки всё равно есть все бумаги. Хотя я вроде как настроил список "Получаемые ценные бумаги":
Я пытался и данные заново перезаказать (кстати, после этого только что настроенный фильтр бумаг оказывался вовсе выключенным!!!) и перезапускать и проч. Но всё равно все бумаги были в форме заявки.
Может это как-то неправильно и тут можно рассмотреть какое-нибудь пожелание по поводу ограничения списка отображаемых бумаг только теми, которые вообще заказаны?
Окно ввода заявки (F2). По умолчанию в нем появляется бумага, выделенная в таблице текущих торгов (Quotes). Во всяком случае, я так настроил. Если я ошибся, например просматривал график одной бумаги, а в Quotes была выделена другая, то по F2
Мне лично вот что здесь не понятно:что вы предлагает? следить за вашим взглядом при нажатии F2? ну вот правда. "Я так настроил" и "если ошибся" "то мне не нравится" - и что с этим предлагаете делать?
Опция настройки скрывания или изменения строки с отображением времени сервера, датой и серверами с портом, Для экономии места в рабочей области квика за счет еще одной строчки
Кстати, было бы полезно сделать соответствующую панельку инструментов: кружок про подключение к серверу и время сервера. Это была бы в самом деле полезная панелька. Вместе паровозика.
Сергей, вы бы не хамили, а уточнили, какой именно способ из озвученных решает задачу. Если вы про параметр -clear - спасибо, конечно, но хотелось бы вам рассказать (лишь в предположении, что вдруг вы не знаете) - программы в Windows традиционно запускаются при помощи ярлыка. Не из командной строки, где можно каждый раз дописывать разные занимательные параметры.
Или вы предлагаете прямо в ярлык прописать -clear и радоваться? но тогда на кой этот log-файл вообще нужен, если с ним сделать быстрый запуск QUIK невозможно? давайте тогда вовсе сделаем опцию по отключению сохранения этого бесполезного файла.
Мне вот любопытно: жалобы на медленный старт идут постоянно, много лет. Но разработчики с удовольствием их читают и продолжают радоваться всё новым сообщениям о медленном запуске, вместо решения данной проблемы без применения ключей. В чем смысл этой радости - мне решительно не понять.
Алексей, кстати: вместо "Лимитов по бумагам" - откройте таблицу "Состояние счёта". Она более наглядная (заменяет собой "Лимиты по бумагам" и "Лимиты по деньгам") и раскраска в ней уже есть готовая (да еще и настраиваемая)