Поделитесь, кто как отслеживает факт "готовности свечи"?
Пользователь
Сообщений: Регистрация: 20.03.2015
30.10.2018 21:26:29
Цитата
Борис Гудылин написал: Дожидаясь Close, Вы теряете драгоценное время.
это хорошая мысль, но кажется очень большой философский разговор :) подумаю на досуге. спасибо. проблема high-low зачастую в том, что в тех точках очень тяжело войти в контр-тренд, а в тренд брокер конечно с радостью исполнит по самой наихудшей цене. хай-лоу внутри минуты я ловлю для своих целей.
Поделитесь, кто как отслеживает факт "готовности свечи"?
Пользователь
Сообщений: Регистрация: 20.03.2015
29.10.2018 18:40:16
Цитата
Sergey Gorokhov написал: А он почему-то даже после открытия свечи в 11:00 может обновить и предыдущую. Насколько я знаю..
Так не должно быть, есть логи/скриншоты/доказательства? Или это Ваши домыслы? если так то пожалуйста не надо говорить то чего нет. ... Вы можете (на выбор): 1) смотреть время (по нашему примеру в 11:00:00.000 делать вывод что старая свеча сформирована). 2) смотреть сделки (можно совместно с п.1) 3) смотреть index в событии SetUpdateCallback (можно совместно с п.2)[/QUOTE]
вот если делать 1) причём, я смотрю именно серверное время, в котором нет миллисекунд, то получается вот так:
видите, в показанном стрелкой объёме, время сервера уже норм, а в свечке не доехало 2 контракта в объём. локальное время близко к серверному, но для серверного нет миллисекунд. алгоритм взятия свечи такой, что **сначала** берётся время сервера, запоминается на клиенте (отдельный скрипт) и потом уже берётся свеча, т.е. серверное время **заведомо** больше чем написано в строке "Время сервера" так что если делать 1), то только с задержкой.
Поделитесь, кто как отслеживает факт "готовности свечи"?
Пользователь
Сообщений: Регистрация: 20.03.2015
29.10.2018 18:25:02
справедливости ради, сейчас выключил исскусственную задержку в получении свечи - и всё без ошибок, объёмы не обрезаются, как вы и утверждаете. ещё раз спасибо, буду тестировать на открытии сессий. в принципе щас уже и закрытие скоро, может побегает.
Поделитесь, кто как отслеживает факт "готовности свечи"?
Пользователь
Сообщений: Регистрация: 20.03.2015
29.10.2018 18:15:03
спасибо, я был уверен, что где-то тут на форуме отвечали, что
Цитата
Sergey Gorokhov написал: Так не должно быть, есть логи/скриншоты/доказательства?
, что так бывает. если не бывает, то действительно можно на апдейте ловить индекс. попробую на досуге поупражняться. просто сейчас если брать в 11:00:00 серверного времени минутную свечку от 10:59:00, когда она ещё последняя, и нет новой от 11:00:00, то вроде как обрезается объём. т.е. часть данных приходит попозже серверного момента 11:00:00 а отскриншотить это невозможно. там речь идёт на миллисекунды между 11:00:00 и 11:00:01
Автоматическая смена счёта при смене операции в заявке
Пользователь
Сообщений: Регистрация: 20.03.2015
29.10.2018 15:45:27
Цитата
Maria Romanova написал: Речь не об общих фильтрах. Речь о настройке "Общий фильтр клиентов" (F9 / Программа / Панели инструментов / Общий фильтр клиентов). В меню "Торговля" нужно проверить не включена ли настройка "Всегда брать код клиента по умолчанию".
см выше - в меню "Торговля" все галочки отключены. В том числе отключена "Всегда брать код клиента по умолчанию". Общий фильтр клиентов" (F9 / Программа / Панели инструментов / Общий фильтр клиентов) - галочка стоит. Это, как я понимаю, просто панель инструментов. У меня в поле с клиентами пусто сейчас. Но переключение происходит. Оно с этим фильтром не связано, просто сбрасывается индекс выделенного счёта, при переключении операции с Покупки на Продажу и обратно если переключаться - тоже сбрасывается.
solo написал: 2. Как только сворачиваешь Quik в панель задач (даже с активным подключением к серверу брокера) - через пару секунд загрузка проца квиком снова приходит в норму (2-3%).
я трассировал QUIK через Windows Performance Analyzer, там очень медленно в квике отрабатывает отрисовка линий, и обращение уходит как раз в этот драйвер, на версии 16299.665 всё очень очень плохо. даже при небольших движениях нельзя открыть окно заявки, например на 16299.755 всё заметно получше, но в 10-00 и в моменты сильных движений всё же тормозит ощутимо. и секунды на часах Windows так же дёргаются
solo написал: Судя по версии файла, он обновился именно в этом пакете. У меня после обновления черная тема тоже стала тормозить страшно - менюшки прорисовываются от 5 до 30 секунд, реакция на нажатия клавиш происходит с примерно такой же задержкой. Приложение грузит проц на 20-25% стабильно, даже если в приложении ничего не делать.
я обновился вручную на 16299.755 стало лучше. но до конца проблема не решилась. у меня как бы квик и windows обновились вместе (см quik/backup), квик 23.08.2018, винда 29.08.2018 квик не хочется даунгрейдить. винду тоже. есть в принципе ещё более поздние сборки винды 17134.ххх, но это более кардинальный апгрейд.
отправил все возможные данные в ARQA, жду реакции. по-моему от них тоже кое-что зависит.
Поделитесь, кто как отслеживает факт "готовности свечи"?
Пользователь
Сообщений: Регистрация: 20.03.2015
29.10.2018 08:53:18
Ну хорошо, ну ведь если пришла сделка от 11:00:00, вы можете сказать что все свечки от 10 часов уже не обновятся. Проблема в том, что у многих (в т.ч. у меня) выключены таблицы всех сделок - как поедающие траффик, и мы полагаемся на квик, который аггрегирует свечи. А он почему-то даже после открытия свечи в 11:00 может обновить и предыдущую. Насколько я знаю.. В идеале хотелось бы иметь какой-то дополнительные евент, наподобие OnUpdateCallBack, но OnCandleCompleteCallback пусть квик сначала вызывает OnCandleCompleteCallback, а потом начинает рисовать новую свечу у себя. и потом вызывает OnUpdateCallBack
Поделитесь, кто как отслеживает факт "готовности свечи"?
Пользователь
Сообщений: Регистрация: 20.03.2015
29.10.2018 08:35:25
Если кто пользуется CreateDataSource и свечами из него, как вы решаете задачу, чтобы максимально быстро забрать самую последнюю **законченную** свечу? Имею в виду, в datasource поседняя свеча всё время меняется, как узнать что она уже "точно сформировалась"? Есть ли такая возможность? Если нет, может нам попросить разработчиков наконец-то сделать её?
Автоматическая смена счёта при смене операции в заявке
Пользователь
Сообщений: Регистрация: 20.03.2015
29.10.2018 08:29:17
Не понял про скриншот меню Торговля. у меня там отжаты все галочки файлы указаны clients.ini и markets.ini (но галочки отжаты)
в общих фильтрах у меня тоже галочка отжата и везде стоит "не изменять"
Спамеры
Пользователь
Сообщений: Регистрация: 20.03.2015
29.10.2018 08:21:07
Вот ещё спамер в личных сообщениях
План чист поз после клиринга - 3078,93 но это не вариационная маржа. А что это?
Пользователь
Сообщений: Регистрация: 20.03.2015
27.10.2018 11:40:12
Это маржа снятая/зачисленная на момент последнего клиринга, удобно для справки иметь.
Друзья, у кого тормозит тёмная тема и квик в том числе. Давайте проверим одну гипотезу, напишите какая версия драйвера дестопа у вас Для этого надо открыть свойства файла c:\windows\system32\win32kfull.sys и перейти на вкладку Подробно
есть у меня подозрение что тормоза возникли с приходом этой версии
Текст в окошке "Свойства линии"
Пользователь
Сообщений: Регистрация: 20.03.2015
27.10.2018 11:33:30
Зоя, спасибо, я думал вы немного вытянете вправо Label сами. шрифты у меня хорошие :) смотрите, сколько места:
Зависание QUIK, Зависание стакана котировок и графика на открытии торгов и вечернем клиринге
Пользователь
Сообщений: Регистрация: 20.03.2015
27.10.2018 11:29:25
Юрий, проверь какая версия файла у тебя c:\windows\system32\win32kfull.sys у меня есть подозрение что версия от 28.08.2018 - тормозная
интересно какая версия у тебя.
Автоматическая смена счёта при смене операции в заявке
Пользователь
Сообщений: Регистрация: 20.03.2015
27.10.2018 11:25:10
Заметил такую вещь, у меня два счёта в квике. Отправляю заявку с одного из них. Далее хочу отправить со второго. Выбираю счёт. Затем меняю операцию. И квик сам меняет счёт на первый в списке "Торговый счёт" По-моему это баг. Так не должно быть. Потому что это потенциально приводит к ошибкам человека.
Версия 7.19.0.51
Многопоточная работа из dll на C с Lua
Пользователь
Сообщений: Регистрация: 20.03.2015
27.10.2018 10:08:28
извиняюсь за ссылки под картинками. кажется сайт хостинга картинок пропихнул рекламу. к сожалению редактировать сообщения нельзя.
Многопоточная работа из dll на C с Lua
Пользователь
Сообщений: Регистрация: 20.03.2015
27.10.2018 10:04:55
вобщем углубился немного в профилирование, узнал даже что-то новое и интересное. и по-моему нашел баг. даже чуть глубже чем в квике.
если я всё правильно понимаю, квик пытается что-то полупрозрачное "отрисовать" и при этом отчаянно подвисает в win32kfull.sys это 32 битный драйвер десктопа (системный компонент windows) и обновлён у меня он был 28.08.2018 у меня было много обновлений установлено 29 августа. решил обновить windows, у меня была старенькая версия, в новой версия драйвера поновоее. вот такой драйвер у меня
надеюсь проблема решится. вообще больше похоже было на общесистемную проблему. потому что часы десктопные замирали.
Многопоточная работа из dll на C с Lua
Пользователь
Сообщений: Регистрация: 20.03.2015
26.10.2018 19:37:31
картинка вроде бы подгружается с улучшением качества, сначала плохое, потом загружается и становится отличной у меня так :)
вобщем сделал профилирование, по-моему я убедился, что проблема не в моём коде вот моя библиотечка - кушает немного совсем, на общем фоне не видно, ничего не лочит
скорее всего дело в графиках. удалил несколько ADX и RSI, посмотрю в понедельник. на вечёрке всё летает. квик у меня только один, и для скриптов и просто посмотреть. видимо что-то криво в графиках написано у разрабов - всё работает в одном потоке! потому что на одном ядре.
Многопоточная работа из dll на C с Lua
Пользователь
Сообщений: Регистрация: 20.03.2015
26.10.2018 17:57:25
может дело было вообще не в бобине вот так на 8 ядерном CPU последняя версия квика работает в чистом виде, без всяких запущенных скриптов
почему?.. явно ведь что такую штуку "наесть" легче лёгкого..
Многопоточная работа из dll на C с Lua
Пользователь
Сообщений: Регистрация: 20.03.2015
26.10.2018 16:38:21
Цитата
Борис Гудылин написал: Я так и делаю, только событий у меня много, поэтому
WaitForMultipleObjects с сопутствующими функциями
вам случайно не приходилось решать проблему с определением того, когда можно считать "свечку" готовой, что она уже больше не обновится? интересно если её можно решить максимально "близко" по времени и идеально точно по данным.
Многопоточная работа из dll на C с Lua
Пользователь
Сообщений: Регистрация: 20.03.2015
26.10.2018 16:23:00
Ну до миллионов у меня дело не дошло. Я всё-таки пока остановился на слипах в цикле на клиенте. Ну может и не красиво, пока вроде бы работает. Скорость выбрал ~350 сообщений в секунду. Так работает. Мне кажется больше от квика требовать смысла нету.
Честно говоря мне немного удивительно что вы бомбардровали квик и он не наелся. Я спрашиваю getParameEx, и опрашиваю datasource (который создаю один раз). По datasource имеется цикл, так что это наверное потяжелее операция. Так же смотрю таблицы лимитов и позиций, там тоже небольшие циклы есть.
Если найдете причину опишите плиз, тоже интересно знать чего не надо делать )))
спасибо ещё раз, за трезвый взгляд. я повыкидывал timeBeginPeriod, кажется получше стало. с холостым ходом тоже решил проблему, поменяв Sleep на WaitForSingleObject сейчас есть некоторое замедление только на старте сессии, в 10:00 - 10:30, дальше вроде тоже есть неравномерность, на секундочку бывает замирает, частенько, надо последить ещё. возможно я забыл перезагрузиться после выключения timeBeginPeriod, сейчас после перезагрузки уже 11:50 и всё тикает равномерно.
или думаю, может это потому что я слишком бомбардирую квик? есть ли интересно какой-нибудь предел обращения в цикле, допустим к свечкам DataSource, я ведь из C++ довольно быстро это делаю. какую паузу между перебором свечей в DS резонно вставить, 10 миллисекунд кажется мало? может надо создать какой-нибудь глобальный именной event в квике и взводить его, когда изменяется свечка только в updateCallBack, а в другом процессе его ловить.
Многопоточная работа из dll на C с Lua
Пользователь
Сообщений: Регистрация: 20.03.2015
25.10.2018 21:05:57
Цитата
BlackBoar написал: Не знаю насколько моя задача похожая, поделюсь наблюдениями вдруг чем то поможет. Новые потоки из С-функции зарегистрированой в луа-движке как main пробовал. Но STL не пользовался, пробовал штатное средство _beginthreadex и пробовал boost thread. В созданом потоке пробовал крутить просто цикл наподобие вашего while (!stopped), цикл ожидания каких нибудь событий по WaitForSingleObject(...) а также пробовал запускать интерфейс на WinForms. Описаной вами проблемы не наблюдалось. Думаю можно сказать что ожидаемо все работало.
спасибо за отзыв! я сейчас "грешу" на всё подряд, вот как раз думаю про WaitForSingleObject - нет ли в ней подводных камней? или может быть проблема в том что я использую time_beginperiod(1)? у меня использовались и простые Sleep тоже, я подумал что лучше максимально прикинуться "Lua", чтобы квику было "хорошо"
не могу понять что не так с кодом, какие есть запрещённые функции. я ведь правильно понимаю, что если я в main(L) буду использовать какой-нибудь ReadFile блокирующий, то это нормально, т.к. ожидание будет "в ядре"? у меня есть цикл, я там использую примерно такой вариант
Код
if (!ReadFile(handle, readBuffer, BUFFER_SIZE, &bytesRead, &overlapped)) { // асинхронное чтение, возврат по ERROR_IO_PENDING - надо ждать завершения
DWORD error = GetLastError();
if (error == ERROR_IO_PENDING) {
message(threadL, "Ждём записи");
DWORD status = WaitForSingleObject(handle, 1000); // ниже проверки на успех или обрыв, обычно читает
...
processCommand(threadL, readBuffer, bytesRead); // тут всякие квик-луа запросы
...
if (!WriteFile(handle, responseBuffer, responseLength, &written, &overlapped)) {
...// тут проверка на обрыв и дисконнект - обычно проходит мимо
}
// дальше идём на ReadFile, там обычно ловим IO_PENDING и входим в WaitForSingleObject
может ли этот цикл чего-то "ломать"? я проверял через lua_gettop() в конце каждой итерации записи - в стеке пусто, как и должно быть.
Alexey Ivannikov написал: Да, именно. Пароли/ключи из архива нужно, конечно же, исключить.
отправил
Многопоточная работа из dll на C с Lua
Пользователь
Сообщений: Регистрация: 20.03.2015
25.10.2018 13:18:14
Добрый день, столкнулся с такой проблемой в последнее время: думал чтобы поменьше грузить Quik, запустить внутри lua, через средства C отдельный поток std::thread и в нём спокойно обрабатывать запросы стороннего приложения, некий сервер квик-данных реализовать.
Но наткнулся на неприятную проблему, несмотря на то что потковая функция, pipe_thread спокойно работает, если её исполнить в основном main потоке (там тот же самый цикл по while (!stopped)), когда я запускаю её в отдельном потоке, я вижу как квик начинает тормозить: медленно открываются все окна, время начинает драматически отставать, и вообще происходят странные вещи: открытый квик и открые часы Windows 10 начинают "замирать", т.е. показывают секунды 1, 2, 9, 15, вместо 1, 2, 3, 4 ...
Может быть кто-нибудь сталкивался с этим? Не было ли в последней версии каких-то критических изменений связанных с синхронизацией и многопоточностью? Сейчас код выглядит так:
Код
int main(lua_State *L){
//// тут мы создаём новый state для отдельного потока
//// см https://kristianrumberg.wordpress.com/2010/11/21/135/
//// https://stackoverflow.com/questions/17817452/lua-5-2-2-broken-threading-system/17818481#17818481
//// https://forum.quik.ru/messages/forum10/message10476/topic212/#message10476
//lua_gc(L, LUA_GCSTOP, 0);
//lua_State *tL = lua_newthread(L); // здесь tl кладётся в т.ч. стек L
//int thread_L_ref = luaL_ref(L, LUA_REGISTRYINDEX); // создаётся ссылка на объект на верхушке стека
//lua_pushvalue(L, -1);
//lua_gc(L, LUA_GCRESTART, 0);
//stopped = false;
//std::thread pipeThread(pipe_thread, tL);
//lua_function<lua_Number> lua_Sleep(L, "sleep");
//while (!stopped) {
// lua_Sleep( 1000 );
//}
//pipeThread.join();
//lua_unref(L, thread_L_ref);
pipe_thread(L);
message(L, "QPIPE: скрипт остановлен");
return 0;
}
Если закомментировать вызов pipe_thread и расскомментировать код, который создаёт отдельный поток, то будут тормоза. Может быть кто-нибудь решал похожую задачу?
Подозреваю что сильные тормоза возникают из-за опции "Сохранять для получаемых инструментов и параметров" : "Данные отражающие текущее состояние и всю историю изменений" При выключении этой опции на "Только данные, отражающие текущее состояние", квику становится заметно легче. Но при этом пропадает трансляция "Открытого интереса". Нельзя ли сделать так, чтобы и рыбку съесть и и открытый интерес можно было видеть, пусть даже текущее значение (но лучше динамику) и не тормозило так сильно?
Если у кого и без этой опции тормозит - отпишитесь пожалуйста.
Павел, спасибо за видео.Просьба прислать архив Вашего терминала нам на . В теме письма указать ссылку на данную ветвь Форума.
подскажите, что есть "архив терминала" это я вручную должен заархивировать папку со всеми exe, ini, паролями, номерами счетов и сделками и выслать вам? или что-то другое имеется в виду?
"наконец-то" у меня стала безбожно тормозить чёрная тема, после перехода на 7.19.0.51 так, что в промежутке между 10-00 и 11-30, квик фактически совсем не реагирует. ок, выключил "таблицу всех сделок", отключил её на уровне брокера и в квике, оставил 4 фьюча, 3 стакана и графики все минутные перевёл на 5 минут.
но тормоза адские. квик ни на что не реагирует, менюшка "Система" показывается пустой. без чёрной темы пошустрее, но всё равно, очевидно дело не в самой теме.
текущая версия грузит проц на 18-28%, в то время как раньше было 8-12% сейчас версия 7.19.0.51 ресурсов компа вроде как вполне достаточно. RAM 16 гиг, диск SSD, iCore7. мы же не должны для клиентского ПО приобретать Hi-End компьютеры, правда? я не знаю, ну сделайте какой-нибудь диагностический билд, хоть что-то. откройте сами "счёт" у реального брокера, попробуйте торгануть в 10-00 на чёрной теме. причём компьютер-то работает. только квик висит.
это критичная вещь, просто вымораживающая (нет слов), потому что ПО фактически неработоспособно в те моменты, когда оно критически нужно. после 12-00, получается то, что вы называете "проблема на нашей стороне не воспроизводится" - всё работает, менюшки анимируются, квик оживает и начинает реагировать. хотелось бы какой-нибудь конструктивщины уже.
Спамеры
Пользователь
Сообщений: Регистрация: 20.03.2015
21.10.2018 22:17:18
Вот этот пользователь рассылает спам в личных сообщениях
сделайте пожалуйста кнопку "пожаловаться" или "спам", чтобы можно было сразу давать знать модераторам.
спасибо
Сортировка по доходности облигаций работает криво
Пользователь
Сообщений: Регистрация: 20.03.2015
19.09.2018 17:59:31
Добрый день, версия 7.19.0.51 сортировка по доходности выполняется как-то очень странно. скорее не выполняется совсем.
Текст в окошке "Свойства линии"
Пользователь
Сообщений: Регистрация: 20.03.2015
11.09.2018 10:06:40
Если редактировать свойства трендовых линий, в окошке "Свойства линии" Надпись "Продлевать вправо" не влазить при использовании тёмной темы. В итоге выглядить "Продлевать впра..." Окно само по себе не масштабируемое. При этом "Продлевать влево" показывается целиком. И места для обеих надписей предостаточно.
вот записал и видео, немного. много-много минутных свечек сбера, под закрыте дня сегодня.
тормоза визуально выглядят как изменение курсора и дёргание окошка вниз. при этом я ни клавиатуру ни мышку не трогаю - курсор стоит на месте, а окошко сползает, затем возвращается на место.
Сегодня обновился на 7.19.0.51 - проблема никуда не делась.
Повторить её достаточно просто: открыть график минутный акции сбербанка и стакан, таблицу текущую. Затем сделать минимальный масштаб, чтобы были видны все возможные минутные свечки сбербанка и связанного с ним стакана. Делать это желательно на открытии или закрытии сессии. В момент высокой волатильности.
В результате выглядит так, что квик на секунду примерно, время от времени перестаёт обрабатывать оконные сообщения: т.е. окошко какбы "зависает", курсор становится часиками (кружком в Windows10) и окно визуально подёргивается. Через секунду отвисает. Если при этом попробовать переключать табы, к примеру, то приложение вообще может упасть. При этом оно даже не генерирует дамп. Иначе б я его давно прислал. В момент затыка можно ещё жать кнопки плюс, чтобы изменить масштаб на побольше, они будут долго не обрабатываться. Но потом всё сразу обработается. Т.е. затыкается оконный обработчик по-моему, видимо на какой-то внутренней синхронизации.
Большую часть времени работает нормально. Но в пору сильных движений приходит хана. Иногда и падает, если случайно не туда ткнуть. Тогда совсем неприятно. Если у вас не получается повторить, скорее всего вы просто плохо пробуете.
Стакан аукциона и ГО под каждый фьючерс, пожелания по новому функционалу и улучшению текущего
Пользователь
Сообщений: Регистрация: 20.03.2015
23.07.2018 10:29:37
в первом случае галочка "Лучшие котировки видны всегда" ОТКЛЮЧЕНА (снята) - стакан видно более менее неплохо во втором - включена, видно только половину стакана. версия есть на картинках 7 14 1 7
Стакан аукциона и ГО под каждый фьючерс, пожелания по новому функционалу и улучшению текущего
В настройках стакана проверьте установлена ли галочка "Лучшие котировки видны всегда", ее нужно установить.
такая галочка стоит, вид котировочного окна выбран средний из трёх, т.е. второй. из галок выбраны ещё только "выделять цветом" и "выделять свои заявки" проблема именно в пред-пост торги, когда цены переворачиваются и особенно явные если нет пересечения покупки и продажи, т.е. выбран сравнительный неликвид какой-нибудь. картинку в форум как-то трудно приложить.
Стакан аукциона и ГО под каждый фьючерс, пожелания по новому функционалу и улучшению текущего
Пользователь
Сообщений: Регистрация: 20.03.2015
20.07.2018 21:14:13
Сделайте пожалуйста, чтобы на пред/пост-торговом аукционе, когда заявки в стакане переворачиваются, скроллинг был бы нормальным. А то если покупки и продажи плохо пересекаются, то все продажи уезжают вверх, в середине показываются покупки красным цветом, а половина стакана показывается пустой. И даже если двигать скроллбар, то квик потом перескролливает всё обратно как было - как было плохо. Это жутко неудобно!
И второе. Совершенно отсутствует функционал, где можно было бы посмотреть в нормальных рублях, сколько ГО занято под каждый купленный фьючерс. Видно что суммарно заблокированно столько-то столько-то, но сколько в рублях под каждый фьюч - сиди вычисляй. А если фьючей 5-10? Как отследить? А если часть из них валютные, как понять сколько ГО в рублях ушло на каждый? Это жутко неудобно!
Что такое Volume на графике открытого интереса в Квике?
Пользователь
Сообщений: Регистрация: 20.03.2015
12.04.2017 10:17:53
пытаюсь придумать что он может значить, но ни с чем не бъётся [img]file:///C:/Users/lenovo/Pictures/volume.png[/img] кто-нибудь пробовал тут изображения прикладывать? не работает же.
2016ый год на дворе. Сделайте уже кнопку "перевести срочные инструменты на следующий квартал", ну или как-то более ласково назовите ежеквартальную смену фьючерсов. на графиках, в таблицах текущих параметров и стаканах котировок
Пользователь
Сообщений: Регистрация: 20.03.2015
12.09.2016 09:24:30
ну честное слово, плёвое же дело для разработчиков. сейчас чтобы сменить инструмент на графике надо нажать правую кнопку мыши, выбрать редактировать, дальше выбрать диаграмму, дальше нажать кнопку изменить инструмент, дальше вбить в фильтр название инструмента, дальше выбрать его мышкой, дальше нажать ок мышкой. ну не слишком ли много дел? а операцию надо делать ежегодно 4 раза, умножить на то, сколько графиков открыто.
Quik моргает на медленной скорости
Пользователь
Сообщений: Регистрация: 20.03.2015
17.08.2016 17:14:54
под синхронностью я имел в виду что эта операция возможно блокирует всю работу квика. из-за этого страдает перерисовка. так по-моему быть не должно. если хранилище текущих параметров такое медленное, то должен быть некий быстрый __обновляемый__ кэш по часто опрашиваемым параметрам ну или ускорить уже саму таблицу параметров. или разрезать её на две части. ту, в которую часто лазают и всю остальную или ещё что придумать.
Заголовок окна в 7.2.2.3, При максимизации окна, заголовок с текущего окна не правильно добавляется к заголовку главного окна программы
Пользователь
Сообщений: Регистрация: 20.03.2015
02.08.2016 22:25:24
Допустим у меня на закладке открыты графики россетей, газпрома и сургутнефтегаза. У каждого окошка свой корректный заголовок. Дальше максимизирую одно из окошек. Допустим россети - при этом у главного окна появляется подзаголовок - Сургутнефтегаз. А картинка россетей. Максимизирую Сургут - у главного подзаголовок Газпром. Максимизирую Газпром - у главного подзаголовок Россети. возможно связано с тем что перед этим я использовал функцию связывания графика с таблицей. но затем эту функцию выключил и графики от таблицы уже отвязаны.
Quik моргает на медленной скорости
Пользователь
Сообщений: Регистрация: 20.03.2015
14.07.2016 11:58:00
поправка - я пользуюсь getParamEx
Quik моргает на медленной скорости
Пользователь
Сообщений: Регистрация: 20.03.2015
14.07.2016 11:55:13
у меня есть предположение что часть функций Lua, которые я использую типа GetParamEx2 - синхронные и подвешивают обработку всего квика вообще (вплоть до обработки оконных сообщений) поэтому так подвисает на медленной скорости. такое может быть? вообще очень похоже на правду, т.к. квик на медленном интернете почти не реагирует на щелчки мышкой.
Quik моргает на медленной скорости
Пользователь
Сообщений: Регистрация: 20.03.2015
14.07.2016 11:41:14
Если подключиться с ноутбука по телефону, на сравнительно медленной скорости интернета, то ощутимо видно как квик моргает, примерно каждые 5 секунд. OS Windows 10. очень неприятно.
вот тут пишут что проблема или в драйвере экрана, или в приложении. Если таскменеджер не моргает, то проблема с приложением. Я проверил, таскман не моргает. Т.е. проблема с приложением. Что можете сказать про Quik? Версия 7.2.2.3
На нормальной скорости интернет тоже моргает, но уже не настолько явно. Но заметно и неприятно всё равно.
Конкуренты ведут себя некорректно!!!! QLUA vs MQL5, Мне кажется так не правильно!!! QLUA vs MQL5
Пользователь
Сообщений: Регистрация: 20.03.2015
09.06.2016 15:10:08
А мне понравилась эта тема со сравнением, почему бы и не посравнивать? Благодаря ей я понял, что мне надо переписать Lua'шную часть на C++
Lua - ПРЕКРАСНЫЙ язык, и я уверен, что он лучше MT5, именно потому, что он интерпретируемый. Объясняю. На Lua можно написать скрипт из 1 команды, которая будет загружать dll на C++ Дальше в функции инициализации DLL можно связать функции Lua с функциями на C++, в т.ч. все коллбэки (OnParam, OnConnected и т.п.) и даже main - главную функцию модуля Lua Всё это будет исполняться нативным кодом с минимальной прослойков в виде lua_State - стека параметров функций. я считаю это сказочно круто. и такое возможно только из-за того что Lua - интерпретируемый язык.
не проходит вызов ds:Size из С++, в Lua работает, в C++ возвращается 0
Пользователь
Сообщений: Регистрация: 20.03.2015
09.06.2016 15:02:40
спасибо, разобрался, да. действительно функции через двоеточие неявно передают self
не проходит вызов ds:Size из С++, в Lua работает, в C++ возвращается 0
Пользователь
Сообщений: Регистрация: 20.03.2015
05.06.2016 21:34:45
добавил тест на тип возвращаемого значения lua_typename(m_vm, lua_type(m_vm, -1) говорит - nil почему, не ясно.
не проходит вызов ds:Size из С++, в Lua работает, в C++ возвращается 0
Пользователь
Сообщений: Регистрация: 20.03.2015
05.06.2016 21:11:05
создаю в C++ источник данных, через CreateDataSource затем возвращаю его в Lua, там беру Size, получаю допустим 800. снова возвращаюсь в C++, беру Size - получаю 0 возвращаюсь второй раз с тем же самым источником данных, вызываю в Lua ds:Size() получаю опять 800
почему не получается размер в C+? порядок вызова такой: // ds уже в стеке, лежит наверху lua_getfield(L, -1, "Size"); lua_pcall(L, 0, 1, 0); double size = lua_tonumber(L, -1); lua_pop(L, 1);
в size оказывается 0; почему не 800?
Invalid Context из CreateDataSource, при работе с Lua из С++
Пользователь
Сообщений: Регистрация: 20.03.2015
05.06.2016 18:08:58
не, дело не в этом было. как оказалось я передавал lua_State не из main
Invalid Context из CreateDataSource, при работе с Lua из С++
Пользователь
Сообщений: Регистрация: 20.03.2015
03.06.2016 15:03:21
Пытаюсь работать с Lua из dll вот такой код, см ниже. Функция testDS вызывается из lua, без параметров и по идее должна возвращать датасорс, по аналогии с CreateDataSource
функция message - это аналог Lua message, выдаёт окошко с сообщением в квике сообщения по ходу программы такие before create datasource pcall succeeded after create datasource 2 ds is nil invalid context nil
вопрос: что означает сообщение об ошибке "invalid context" при вызове createdatasource? что не так? спасибо!
Куда быстрее попадают новые данные, в стакан или таблицу текущих параметров?, Интересуют лучший спрос и лучшее предложение - спред в стакане.
Пользователь
Сообщений: Регистрация: 20.03.2015
29.01.2016 10:22:27
Обратил внимание, что функция,
Код
function bestBidAndOffer(cls, sec)
local ql2 = getQuoteLevel2(cls, sec)
-- message("" .. ql2.bid_count, 1)
if ql2 ~= nil then
return ql2.bid[ql2.bid_count+0].price, ql2.offer[1].price
end
return nil
end
которая использует getQuoteLevel2 в первые минуты торгов может отрабатывать целых 10 миллисекунд, иногда 5, а в обычное время 1 может быстрее будет брать из таблицы текущих параметров? но тогда куда быстрее попадают новые данные? визуально не поймёшь, если только программу писать для сравнения. всё-таки куда быстрее попадают данные из квика - в таблицу текущих параметров или в стакан и какая функция быстрее, getQuoteLevel2 или getParamEx. на последний вопрос кажется ответ я знаю. а предпоследний - нет.