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

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

Страницы: Пред. 1 2 3 4 След.
Поделитесь, кто как отслеживает факт "готовности свечи"?
 
Цитата
Борис Гудылин написал:
Дожидаясь Close, Вы теряете драгоценное время.
это хорошая мысль, но кажется очень большой философский разговор :)
подумаю на досуге. спасибо.
проблема high-low зачастую в том, что в тех точках очень тяжело войти в контр-тренд, а в тренд брокер конечно с радостью исполнит по самой наихудшей цене.
хай-лоу внутри минуты я ловлю для своих целей.
Поделитесь, кто как отслеживает факт "готовности свечи"?
 
Цитата
Sergey Gorokhov написал:
А он почему-то даже после открытия свечи в 11:00 может обновить и предыдущую. Насколько я знаю..
Так не должно быть, есть логи/скриншоты/доказательства?
Или это Ваши домыслы? если так то пожалуйста не надо говорить то чего нет.
...
Вы можете (на выбор):
1) смотреть время (по нашему примеру в 11:00:00.000 делать вывод что старая свеча сформирована).
2) смотреть сделки (можно совместно с п.1)
3) смотреть index в событии SetUpdateCallback (можно совместно с п.2)[/QUOTE]

вот если делать
1) причём, я смотрю именно серверное время, в котором нет миллисекунд, то получается вот так:


видите, в показанном стрелкой объёме, время сервера уже норм, а в свечке не доехало 2 контракта в объём.
локальное время близко к серверному, но для серверного нет миллисекунд.
алгоритм взятия свечи такой, что **сначала** берётся время сервера, запоминается на клиенте (отдельный скрипт) и потом уже берётся свеча,
т.е. серверное время **заведомо** больше чем написано в строке "Время сервера"
так что если делать 1), то только с задержкой.
Поделитесь, кто как отслеживает факт "готовности свечи"?
 
справедливости ради, сейчас выключил исскусственную задержку в получении свечи - и всё без ошибок, объёмы не обрезаются, как вы и утверждаете.
ещё раз спасибо, буду тестировать на открытии сессий.
в принципе щас уже и закрытие скоро, может побегает.
Поделитесь, кто как отслеживает факт "готовности свечи"?
 
спасибо, я был уверен, что где-то тут на форуме отвечали, что
Цитата
Sergey Gorokhov написал:
Так не должно быть, есть логи/скриншоты/доказательства?
, что так бывает.
если не бывает, то действительно можно на апдейте ловить индекс. попробую на досуге поупражняться.
просто сейчас если брать в 11:00:00 серверного времени минутную свечку от 10:59:00, когда она ещё последняя, и нет новой от 11:00:00, то вроде как обрезается объём.
т.е. часть данных приходит попозже серверного момента 11:00:00
а отскриншотить это невозможно. там речь идёт на миллисекунды между 11:00:00 и 11:00:01
Автоматическая смена счёта при смене операции в заявке
 
Цитата
Maria Romanova написал:
Речь не об общих фильтрах. Речь о  настройке  "Общий фильтр клиентов" (F9 / Программа / Панели инструментов / Общий фильтр клиентов).
В меню "Торговля" нужно проверить не включена ли настройка "Всегда брать код клиента по умолчанию".

см выше - в меню "Торговля" все галочки отключены. В том числе отключена "Всегда брать код клиента по умолчанию".
Общий фильтр клиентов" (F9 / Программа / Панели инструментов / Общий фильтр клиентов) - галочка стоит. Это, как я понимаю, просто панель инструментов. У меня в поле с клиентами пусто сейчас. Но переключение происходит. Оно с этим фильтром не связано, просто сбрасывается индекс выделенного счёта, при переключении операции с Покупки на Продажу и обратно если переключаться - тоже сбрасывается.
Тормозит темная тема Quik, Тормозит темная тема Quik
 
Цитата
solo написал:
2. Как только сворачиваешь Quik в панель задач (даже с активным подключением к серверу брокера) - через пару секунд загрузка проца квиком снова приходит в норму (2-3%).

я трассировал QUIK через Windows Performance Analyzer, там очень медленно в квике отрабатывает отрисовка линий, и обращение уходит как раз в этот драйвер,
на версии 16299.665 всё очень очень плохо.
даже при небольших движениях нельзя открыть окно заявки, например
на 16299.755 всё заметно получше, но в 10-00 и в моменты сильных движений всё же тормозит ощутимо. и секунды на часах Windows так же дёргаются
Тормозит темная тема Quik, Тормозит темная тема Quik
 
Цитата
solo написал:
Судя по версии файла, он обновился именно в этом пакете. У меня после обновления черная тема тоже стала тормозить страшно - менюшки прорисовываются от 5 до 30 секунд, реакция на нажатия клавиш происходит с примерно такой же задержкой. Приложение грузит проц на 20-25% стабильно, даже если в приложении ничего не делать.
я обновился вручную на 16299.755
стало лучше. но до конца проблема не решилась.
у меня как бы квик и windows обновились вместе (см quik/backup), квик 23.08.2018, винда 29.08.2018
квик не хочется даунгрейдить. винду тоже.
есть в принципе ещё более поздние сборки винды 17134.ххх, но это более кардинальный апгрейд.

отправил все возможные данные в ARQA, жду реакции. по-моему от них тоже кое-что зависит.
Поделитесь, кто как отслеживает факт "готовности свечи"?
 
Ну хорошо, ну ведь если пришла сделка от 11:00:00, вы можете сказать что все свечки от 10 часов уже не обновятся.
Проблема в том, что у многих (в т.ч. у меня) выключены таблицы всех сделок - как поедающие траффик, и мы полагаемся на квик, который аггрегирует свечи.
А он почему-то даже после открытия свечи в 11:00 может обновить и предыдущую. Насколько я знаю..
В идеале хотелось бы иметь какой-то дополнительные евент, наподобие OnUpdateCallBack, но OnCandleCompleteCallback
пусть квик сначала вызывает OnCandleCompleteCallback, а потом начинает рисовать новую свечу у себя. и потом вызывает OnUpdateCallBack
Поделитесь, кто как отслеживает факт "готовности свечи"?
 
Если кто пользуется CreateDataSource и свечами из него, как вы решаете задачу, чтобы максимально быстро забрать самую последнюю **законченную** свечу?
Имею в виду, в datasource поседняя свеча всё время меняется, как узнать что она уже "точно сформировалась"?
Есть ли такая возможность? Если нет, может нам попросить разработчиков наконец-то сделать её?
Автоматическая смена счёта при смене операции в заявке
 
Не понял про скриншот меню Торговля.
у меня там отжаты все галочки
файлы указаны clients.ini и markets.ini (но галочки отжаты)

в общих фильтрах у меня тоже галочка отжата и везде стоит "не изменять"
Спамеры
 
Вот ещё спамер в личных сообщениях
https://forum.quik.ru/user/10578/
План чист поз после клиринга - 3078,93 но это не вариационная маржа. А что это?
 
Это маржа снятая/зачисленная на момент последнего клиринга, удобно для справки иметь.
Тормозит темная тема Quik, Тормозит темная тема Quik
 
Друзья, у кого тормозит тёмная тема и квик в том числе. Давайте проверим одну гипотезу, напишите какая версия драйвера дестопа у вас
Для этого надо открыть свойства файла c:\windows\system32\win32kfull.sys и перейти на вкладку Подробно

есть у меня подозрение что тормоза возникли с приходом этой версии
Текст в окошке "Свойства линии"
 
Зоя, спасибо, я думал вы немного вытянете вправо Label сами.
шрифты у меня хорошие :)
смотрите, сколько места:
Зависание QUIK, Зависание стакана котировок и графика на открытии торгов и вечернем клиринге
 
Юрий, проверь какая версия файла у тебя c:\windows\system32\win32kfull.sys
у меня есть подозрение что версия от 28.08.2018 - тормозная


интересно какая версия у тебя.
Автоматическая смена счёта при смене операции в заявке
 
Заметил такую вещь, у меня два счёта в квике. Отправляю заявку с одного из них.
Далее хочу отправить со второго. Выбираю счёт. Затем меняю операцию. И квик сам меняет счёт на первый в списке "Торговый счёт"
По-моему это баг. Так не должно быть. Потому что это потенциально приводит к ошибкам человека.

Версия 7.19.0.51
Многопоточная работа из dll на C с Lua
 
извиняюсь за ссылки под картинками. кажется сайт хостинга картинок пропихнул рекламу.
к сожалению редактировать сообщения нельзя.
Многопоточная работа из dll на C с Lua
 
вобщем углубился немного в профилирование, узнал даже что-то новое и интересное.
и по-моему нашел баг. даже чуть глубже чем в квике.

monsters inc scare simulator
если я всё правильно понимаю, квик пытается что-то полупрозрачное "отрисовать" и при этом отчаянно подвисает в win32kfull.sys
это 32 битный драйвер десктопа (системный компонент windows) и обновлён у меня он был 28.08.2018
у меня было много обновлений установлено 29 августа.
решил обновить windows, у меня была старенькая версия, в новой версия драйвера поновоее.
вот такой драйвер у меня

monsters inc scare simulator

надеюсь проблема решится. вообще больше похоже было на общесистемную проблему. потому что часы десктопные замирали.
Многопоточная работа из dll на C с Lua
 
картинка вроде бы подгружается с улучшением качества, сначала плохое, потом загружается и становится отличной
у меня так :)

вобщем сделал профилирование, по-моему я убедился, что проблема не в моём коде
вот моя библиотечка - кушает немного совсем, на общем фоне не видно, ничего не лочит


скорее всего дело в графиках.
удалил несколько ADX и RSI, посмотрю в понедельник. на вечёрке всё летает.
квик у меня только один, и для скриптов и просто посмотреть.
видимо что-то криво в графиках написано у разрабов - всё работает в одном потоке! потому что на одном ядре.

Многопоточная работа из dll на C с Lua
 


может дело было вообще не в бобине
вот так на 8 ядерном CPU последняя версия квика работает в чистом виде, без всяких запущенных скриптов

почему?..
явно ведь что такую штуку "наесть" легче лёгкого..
Многопоточная работа из dll на C с Lua
 
Цитата
Борис Гудылин написал:
Я так и делаю, только событий у меня много, поэтому

WaitForMultipleObjects с сопутствующими функциями
вам случайно не приходилось решать проблему с определением того, когда можно считать "свечку" готовой, что она уже больше не обновится?
интересно если её можно решить максимально "близко" по времени и идеально точно по данным.
Многопоточная работа из dll на C с Lua
 
Ну до миллионов у меня дело не дошло.
Я всё-таки пока остановился на слипах в цикле на клиенте. Ну может и не красиво, пока вроде бы работает.
Скорость выбрал ~350 сообщений в секунду. Так работает. Мне кажется больше от квика требовать смысла нету.

Честно говоря мне немного удивительно что вы бомбардровали квик и он не наелся.
Я спрашиваю getParameEx, и опрашиваю datasource (который создаю один раз).
По datasource имеется цикл, так что это наверное потяжелее операция.
Так же смотрю таблицы лимитов и позиций, там тоже небольшие циклы есть.  
Многопоточная работа из dll на C с Lua
 
Цитата
BlackBoar написал:

Если найдете причину опишите плиз, тоже интересно знать чего не надо делать )))
спасибо ещё раз, за трезвый взгляд.
я повыкидывал timeBeginPeriod, кажется получше стало. с холостым ходом тоже решил проблему, поменяв Sleep на WaitForSingleObject
сейчас есть некоторое замедление только на старте сессии, в 10:00 - 10:30, дальше вроде тоже есть неравномерность, на секундочку бывает замирает, частенько, надо последить ещё.
возможно я забыл перезагрузиться после выключения timeBeginPeriod, сейчас после перезагрузки уже 11:50 и всё тикает равномерно.

или думаю, может это потому что я слишком бомбардирую квик?
есть ли интересно какой-нибудь предел обращения в цикле, допустим к свечкам DataSource, я ведь из C++ довольно быстро это делаю.
какую паузу между перебором свечей в DS резонно вставить, 10 миллисекунд кажется мало?
может надо создать какой-нибудь глобальный именной event в квике и взводить его, когда изменяется свечка только в updateCallBack, а в другом процессе его ловить.
Многопоточная работа из dll на C с Lua
 
Цитата
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() в конце каждой итерации записи - в стеке пусто, как и должно быть.
Тормозит темная тема Quik, Тормозит темная тема Quik
 
Цитата
Alexey Ivannikov написал:
Да, именно. Пароли/ключи из архива нужно, конечно же, исключить.
отправил
Многопоточная работа из dll на C с Lua
 
Добрый день, столкнулся с такой проблемой в последнее время:
думал чтобы поменьше грузить 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 и расскомментировать код, который создаёт отдельный поток, то будут тормоза.
Может быть кто-нибудь решал похожую задачу?
Тормозит темная тема Quik, Тормозит темная тема Quik
 
Подозреваю что сильные тормоза возникают из-за опции "Сохранять для получаемых инструментов и параметров" : "Данные отражающие текущее состояние и всю историю изменений"
При выключении этой опции на "Только данные, отражающие текущее состояние", квику становится заметно легче.
Но при этом пропадает трансляция "Открытого интереса".
Нельзя ли сделать так, чтобы и рыбку съесть и и открытый интерес можно было видеть, пусть даже текущее значение (но лучше динамику) и не тормозило так сильно?

Если у кого и без этой опции тормозит - отпишитесь пожалуйста.
Тормозит темная тема Quik, Тормозит темная тема Quik
 
Цитата
Alexey Ivannikov написал:

Павел, спасибо за видео.Просьба прислать архив Вашего терминала нам на  quiksupport@arqatech.com . В теме письма указать ссылку на данную ветвь Форума.
подскажите, что есть "архив терминала"
это я вручную должен заархивировать папку со всеми 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, получается то, что вы называете "проблема на нашей стороне не воспроизводится" - всё работает, менюшки анимируются, квик оживает и начинает реагировать.
хотелось бы какой-нибудь конструктивщины уже.  
Спамеры
 
Вот этот пользователь рассылает спам в личных сообщениях
https://forum.quik.ru/user/12430/

сделайте пожалуйста кнопку "пожаловаться" или "спам", чтобы можно было сразу давать знать модераторам.

спасибо
Сортировка по доходности облигаций работает криво
 
Добрый день, версия 7.19.0.51
сортировка по доходности выполняется как-то очень странно.
скорее не выполняется совсем.
Текст в окошке "Свойства линии"
 
Если редактировать свойства трендовых линий, в окошке "Свойства линии"
Надпись "Продлевать вправо" не влазить при использовании тёмной темы. В итоге выглядить "Продлевать впра..."
Окно само по себе не масштабируемое.
При этом "Продлевать влево" показывается целиком. И места для обеих надписей предостаточно.
Тормозит темная тема Quik, Тормозит темная тема Quik
 
вот записал и видео, немного.
много-много минутных свечек сбера, под закрыте дня сегодня.
видео

тормоза визуально выглядят как изменение курсора и дёргание окошка вниз. при этом я ни клавиатуру ни мышку не трогаю - курсор стоит на месте, а окошко сползает, затем возвращается на место.
Тормозит темная тема Quik, Тормозит темная тема Quik
 
Сегодня обновился на 7.19.0.51 - проблема никуда не делась.

Повторить её достаточно просто: открыть график минутный акции сбербанка и стакан, таблицу текущую. Затем сделать минимальный масштаб, чтобы были видны все возможные минутные свечки сбербанка и связанного с ним стакана. Делать это желательно на открытии или закрытии сессии. В момент высокой волатильности.

В результате выглядит так, что квик на секунду примерно, время от времени перестаёт обрабатывать оконные сообщения: т.е. окошко какбы "зависает", курсор становится часиками (кружком в Windows10) и окно визуально подёргивается. Через секунду отвисает. Если при этом попробовать переключать табы, к примеру, то приложение вообще может упасть. При этом оно даже не генерирует дамп. Иначе б я его давно прислал.
В момент затыка можно ещё жать кнопки плюс, чтобы изменить масштаб на побольше, они будут долго не обрабатываться. Но потом всё сразу обработается. Т.е. затыкается оконный обработчик по-моему, видимо на какой-то внутренней синхронизации.

Большую часть времени работает нормально. Но в пору сильных движений приходит хана. Иногда и падает, если случайно не туда ткнуть. Тогда совсем неприятно.
Если у вас не получается повторить, скорее всего вы просто плохо пробуете.
Стакан аукциона и ГО под каждый фьючерс, пожелания по новому функционалу и улучшению текущего
 
https://ibb.co/jTxcMy
https://ibb.co/hG0xMy

в первом случае галочка "Лучшие котировки видны всегда" ОТКЛЮЧЕНА (снята) - стакан видно более менее неплохо
во втором - включена, видно только половину стакана.
версия есть на картинках 7 14 1 7
Стакан аукциона и ГО под каждый фьючерс, пожелания по новому функционалу и улучшению текущего
 
Цитата
Egor Zaytsev написал:

В настройках стакана проверьте установлена ли галочка "Лучшие котировки видны всегда",
ее нужно установить.
такая галочка стоит, вид котировочного окна выбран средний из трёх, т.е. второй.
из галок выбраны ещё только "выделять цветом" и "выделять свои заявки"
проблема именно в пред-пост торги, когда цены переворачиваются и особенно явные если нет пересечения покупки и продажи, т.е. выбран сравнительный неликвид какой-нибудь.
картинку в форум как-то трудно приложить.
Стакан аукциона и ГО под каждый фьючерс, пожелания по новому функционалу и улучшению текущего
 
Сделайте пожалуйста, чтобы на пред/пост-торговом аукционе, когда заявки в стакане переворачиваются, скроллинг был бы нормальным.
А то если покупки и продажи плохо пересекаются, то все продажи уезжают вверх, в середине показываются покупки красным цветом, а половина стакана показывается пустой.
И даже если двигать скроллбар, то квик потом перескролливает всё обратно как было - как было плохо. Это жутко неудобно!

И второе. Совершенно отсутствует функционал, где можно было бы посмотреть в нормальных рублях, сколько ГО занято под каждый купленный фьючерс.
Видно что суммарно заблокированно столько-то столько-то, но сколько в рублях под каждый фьюч - сиди вычисляй. А если фьючей 5-10? Как отследить? А если часть из них валютные, как понять сколько ГО в рублях ушло на каждый? Это жутко неудобно!
Что такое Volume на графике открытого интереса в Квике?
 
пытаюсь придумать что он может значить, но ни с чем не бъётся
[img]file:///C:/Users/lenovo/Pictures/volume.png[/img]
кто-нибудь пробовал тут изображения прикладывать? не работает же.
2016ый год на дворе. Сделайте уже кнопку "перевести срочные инструменты на следующий квартал", ну или как-то более ласково назовите ежеквартальную смену фьючерсов. на графиках, в таблицах текущих параметров и стаканах котировок
 
ну честное слово, плёвое же дело для разработчиков.
сейчас чтобы сменить инструмент на графике надо нажать правую кнопку мыши, выбрать редактировать, дальше выбрать диаграмму, дальше нажать кнопку изменить инструмент, дальше вбить в фильтр название инструмента, дальше выбрать его мышкой, дальше нажать ок мышкой.
ну не слишком ли много дел?
а операцию надо делать ежегодно 4 раза, умножить на то, сколько графиков открыто.
Quik моргает на медленной скорости
 
под синхронностью я имел в виду что эта операция возможно блокирует всю работу квика. из-за этого страдает перерисовка.
так по-моему быть не должно.
если хранилище текущих параметров такое медленное, то должен быть некий быстрый __обновляемый__ кэш по часто опрашиваемым параметрам
ну или ускорить уже саму таблицу параметров.
или разрезать её на две части. ту, в которую часто лазают и всю остальную
или ещё что придумать.
Заголовок окна в 7.2.2.3, При максимизации окна, заголовок с текущего окна не правильно добавляется к заголовку главного окна программы
 
Допустим у меня на закладке открыты графики россетей, газпрома и сургутнефтегаза.
У каждого окошка свой корректный заголовок.
Дальше максимизирую одно из окошек. Допустим россети - при этом у главного окна появляется подзаголовок - Сургутнефтегаз. А картинка россетей.
Максимизирую Сургут - у главного подзаголовок Газпром.
Максимизирую Газпром - у главного подзаголовок Россети.
возможно связано с тем что перед этим я использовал функцию связывания графика с таблицей. но затем эту функцию выключил и графики от таблицы уже отвязаны.
Quik моргает на медленной скорости
 
поправка - я пользуюсь getParamEx
Quik моргает на медленной скорости
 
у меня есть предположение что часть функций Lua, которые я использую типа GetParamEx2 - синхронные и подвешивают обработку всего квика вообще (вплоть до обработки оконных сообщений)
поэтому так подвисает на медленной скорости.
такое может быть?
вообще очень похоже на правду, т.к. квик на медленном интернете почти не реагирует на щелчки мышкой.
Quik моргает на медленной скорости
 
Если подключиться с ноутбука по телефону, на сравнительно медленной скорости интернета, то ощутимо видно как квик моргает, примерно каждые 5 секунд.
OS Windows 10.
очень неприятно.

вот тут https://support.microsoft.com/en-us/help/12374/windows-10-troubleshoot-screen-flickering пишут что проблема или в драйвере экрана, или в приложении.
Если таскменеджер не моргает, то проблема с приложением.
Я проверил, таскман не моргает. Т.е. проблема с приложением. Что можете сказать про Quik?
Версия 7.2.2.3

На нормальной скорости интернет тоже моргает, но уже не настолько явно. Но заметно и неприятно всё равно.
Конкуренты ведут себя некорректно!!!! QLUA vs MQL5, Мне кажется так не правильно!!! QLUA vs MQL5
 
А мне понравилась эта тема со сравнением, почему бы и не посравнивать?
Благодаря ей я понял, что мне надо переписать Lua'шную часть на C++

Lua - ПРЕКРАСНЫЙ язык, и я уверен, что он лучше MT5, именно потому, что он интерпретируемый.
Объясняю. На Lua можно написать скрипт из 1 команды, которая будет загружать dll на C++
Дальше в функции инициализации DLL можно связать функции Lua с функциями на C++,
в т.ч. все коллбэки (OnParam, OnConnected и т.п.) и даже main - главную функцию модуля Lua
Всё это будет исполняться нативным кодом с минимальной прослойков в виде lua_State - стека параметров функций.
я считаю это сказочно круто. и такое возможно только из-за того что Lua - интерпретируемый язык.
не проходит вызов ds:Size из С++, в Lua работает, в C++ возвращается 0
 
спасибо, разобрался, да. действительно функции через двоеточие неявно передают self
не проходит вызов ds:Size из С++, в Lua работает, в C++ возвращается 0
 
добавил тест на тип возвращаемого значения
lua_typename(m_vm, lua_type(m_vm, -1)
говорит - nil
почему, не ясно.
не проходит вызов ds:Size из С++, в Lua работает, в C++ возвращается 0
 
создаю в 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 из С++
 
не, дело не в этом было.
как оказалось я передавал lua_State не из main
Invalid Context из CreateDataSource, при работе с Lua из С++
 
Пытаюсь работать с 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?
что не так?
спасибо!

Код
int testS(lua_State *L, LPCSTR cl, LPCSTR sec, double interval){
      lua_getglobal(L, "CreateDataSource");
      lua_pushstring(L, cl);
      lua_pushstring(L, sec);
      lua_pushnumber(L, interval);

      message(L, "before create datasource");
      if (lua_pcall(L, 3, 2, 0)!=0){
         message(L, "pcall unsucceeded");
         message(L, lua_tostring(L, -2));
      } else {
         message(L, "pcall succeeded");
      }
      message(L, "after create datasource");
      char x[10];
      itoa(lua_gettop(L), x, 10);
      message(L, x);
      if (lua_isnil(L, -2)){
         message(L, "ds is nil");
         message(L, lua_tostring(L, -1));
      }
      lua_remove(L, -1);
      // -2 = массив
      message(L, lua_typename(L, lua_type(L, -1)));
      message(L, lua_tostring(L, -1));
      return 1;
}

int testDS(lua_State *L){
   testS(L, "SPBFUT", "Si-6.16", 1);
   return 1;
}
Куда быстрее попадают новые данные, в стакан или таблицу текущих параметров?, Интересуют лучший спрос и лучшее предложение - спред в стакане.
 
Обратил внимание, что функция,
Код
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. на последний вопрос кажется ответ я знаю. а предпоследний  - нет.
Страницы: Пред. 1 2 3 4 След.
Наверх