Николай Камынин написал: У меня вопрос к автору темы. А зачем использовать мьютекс, если у нас один процесс? Спасибо
Даже не знаю с чего начать. В Windows "процесс" - это контейнер, в котором выполняются потоки (нити). Потоки имеют состояние выполнения, которое включает регистры процессора и стек. Адресное пространство (память) у потоков одного процесса общая. Для синхронизации доступа к ресурсам, которые используются несколькими потоками используют мьютексы.
Я собственно спросил зачем мьютекс если один процесс, в том плане, что в одном процессе синхронизацию потоков эффективнее делать другими средствами либо в пользовательском режиме -атомарным операциями и критическими секциями либо ядерными - событиями. Это быстрее , чем мьютекс.
еще просто уточняю как резюме если заказываем 10 графиков с разными интервалами по одному и тому же инструменту, то мы получаем с сервера 10 тиковых потоков +параметры 3000 свечей (5 параметров+5 время) для указанных 10 интервалов а если у нас 10 инструментов и 10 таймов, то получим 100 тиковых потоков +3 000 000 значений для свечей. верно? спасибо
Проблема в том, что Вы не знаете как работают стоп и тэйк. Поэтому сделайте сначала числовой пример Если хотите комментарий, то расскажите его на форуме. Когда станет понятно с исполнением стопов, тогда поймете, что то, что Вы получаете - это нормально, а то, о чем Вы мечтаете, это не реально.
4) Если заказать график с любым таймом то он будет содержать изменения для последней свечи для каждой сделки предположим я заказал графики с таймом 1 час 30 минут 5 минут и 1 минута. Все эти графики будут отображать цену последней сделки в открытой свече. Вопрос: сколько раз получит терминал эту цену от сервера для графиков Варианты ответа А) один раз Б( четыре раза ---------------- Если ответ А) то где хранится эта цена. ------------------ спасибо
Добрый день, просьба ответить на следующие вопросы, либо ткнуть в параграф документации. -------------------------------------------- 1) для работы колбек функции onAllTrade надо обязательно открыть таблицу всех сделок. Верно? ---------------------------------- 2) можно ли открыть ТВС из скрипта или лишь руками в терминале? --------------------------------------------------- 3) если заказать тиковый график CreateDataSource, открывается ли ТВС или тиковый график идет дополнительно? ----------------------------------------- Спасибо
Michael Bulychev прочитайте ответ Вашего коллеги Sergey Gorokhov https://forum.quik.ru/forum10/topic1169/ который пишет Видимо речь идет о параметре "Задержка данных при обмене с сервером", если так, то этот параметр работает точно так же как и обычная команда ping и обсудите с ним Вашу гипотезу .
а вот здесь , сервер очевидно заснул аж на 22 секунды, а потом долго просыпался (умный сервер,Однако) 2016-02-29;17:19:56; 22969; 39.2 2016-02-29;17:20:14;12187;27.3 2016-02-29;17:20:51;20672;27.1 2016-02-29;17:21:28;18172;27.7 2016-02-29;17:21:46;8515;27.5
а вот еще прикол: 2016-02-29; 17:33:57; 16; 26.8 задержка данных 16 ms при пинге 26.8 ms типа терминал с сервером по спец каналам связались, или терминал вообще сам ответ состряпал. (умный терминал, однако)
и еще хотел бы заметить, что это время называется - ЗАДЕРЖКА ДАННЫХ т е либо это просто так написано либо этот параметр показывает нам именно то, как его назвали. Ваше мнение?
Michael Bulychev написал: Добрый день. Пинг, который Вы смотрите в параметре LASTPINGDURATION, не является пингом в классическом понимании (ICMP протокол). Это определенные данные, которыми терминал и сервер обмениваются в процессе работы. Приоритет таких сообщений очень низкий. Это значит что ответные "понги" клиенту будут отправляться только в том случае, если больше нет торговых данных в очереди на отправку. Этим и объясняется разница между приведенными выше данными.
Добрый день,Михаил, С тем, что это не пинг а что-то Ваше - это понятно. Теперь просьба на конкретных данных мне объяснить вот наиболее интересные: Я выбрал лишь задежкии более 1 секунды. как видно их тьмы и тьмы. ------------------------------ Как Вы объясните наличие задержки в 10 секунд в 14:23:49 в 16:07:02. ---------------------------- какие по-вашему мнению так интенсивно отсылались по каналу в 100 мбит? ----------------------- И куда эти данные пришли, если я за это вреня не получил эти мегабайты ------------------------ Как сказал классик: "Суха теория, мой друг"
Добрый день, выкладываю картинку мониторинга канала связи и задержки данных сервером QUIK. как видно из графиков ( задержка канала фактически постоянна и равна 27 ms) задержка данных сервером QUIK имеет огромные величины. Как говорил классик: Может быть в консерватории пора что-то изменить? ------------------------------------ Налицо ляпы либо в ядре сервера либо в головах технической службы брокера. --------------------------------- Хотелось бы услышать начальника транспортного цеха по данному вопросу.
пользуйтесь заведомо проверенными источниками информации, и не читайте рекламы как стать миллионером бесплатно. -----------------------------
А если серьезно, то речь идет о "специальных" библиотеках - вернее сказать модулях, которые написаны специально для решения прикладной задачи . --------------------------------- Т е если делается прога для конкретного решения, например автоматического запуска КВИК, и к ней предлагается добавить специально написанный dll модуль то получить в встроить в него трояна отсылающего пароль не представляет особого труда. ------------------------------ Но если мы используем библиотеки разширяющие фозможности официального луа без привязки к прикладной задачи, например socket для работы с интернет, и пишем скрипт без подключения где-то взятых на халяву специальных библиотек, то проблем со злым умыслом фактически нет. Примерно так. ------------------------------------------ Но полагаю, что все это Вы знаете сами, так как вечный треп о том, что кому-то нужен, непонятно зачем , ваш логин и пароль - это страшилка для буратин.
swerg написал: disasterovich , у вас совсем немного инструментов, между которыми вы переключаетесь.
А что если сделать несколько вкладок, на каждой вкладке - график своего инструмента. Тогда это разные графики, на каждом свои тренды. И переключаться легко и быстро.
В термина QUIK отображение графика ест много ресурсов поэтому такое решение очень затратное.
Ага, и при первом же использовании этот файл с dll в который средний пользователь QLUA заглянуть не сможет, кинет вам его логин и пароль))) А то оба файла pubrink и sebrink в фоном режиме)
для особо мнительных напишите скрипт на Autoit без доп библиотек. Я таким скриптом пользуюсь ...надцать лет. пример можно найти на моем сайте
что-же касается простаивания колбеков, при работе main, то это можно решить путем копирования очериди в локальный массив в main. и далее main работает с копией, а колбеки с очередью
Вячеслав написал: Николай Камынин , вопрос немного не об этом. Я уже выполняю синхронизацию на уровне мьютексов. Вопрос в том, прочитаются ли данные в потоке main сразу после вставки их в таблицу в обработчике callback'а или наоборот.
Перечисленных потокобезопасных функций мне не достаточно. В частности, мне нужно пройтись по таблице, в которой добавляются/удаляются элементы из callback'а и выполнить определённые действия для некоторых элементов по условию.
Я делаю иначе: если потоку main делать нечего, то я его усыпляю. в результате он не занимает никаких ресурсов процессора. когда я обновляю таблицу, то пинаю поток main, он просыпается и обрабатывает то, что ему пришло в очереди. после этого он снова засыпает до нового пинка.
Потокобезопасные функции для работы с таблицами Lua
Одновременная работа с таблицами из функций обратного вызова скрипта и функции main() может приводить к неопределенным ситуациям. Для решения этой проблемы qlua.dll предоставляет потокобезопасные аналоги стандартных функций Lua. Формат вызова потокобезопасной функции совпадает с форматом вызова аналогичной стандартной функции Lua. вместо concat ->sconcat remove ->sremove insert->sinsert sort->ssort
для начала можно почитать документацию QLUA где указано: ---------------------------------- Потокобезопасные функции для работы с таблицами Lua Одновременная работа с таблицами из функций обратного вызова скрипта и функции main() может приводить к неопределенным ситуациям. Для решения этой проблемы qlua.dll предоставляет потокобезопасные аналоги стандартных функций Lua. Формат вызова потокобезопасной функции совпадает с форматом вызова аналогичной стандартной функции Lua. В таблице представлены стандартные функции Lua и соответствующие им потокобезопасные аналоги:
теперь напишите , как Вы понимаете срабатывание стопа на каком-либо числовом примере, при этом укажите о чем Вы говорите - о стоп-лимите или тэйк-профите.
могу предположить, что индикаторы вычисляются на закрытие свечи. В этом случае они изменятся лишь на открытии новой и Вы получите то, что получаете. Надо считать индикаторы в скрипте.
не могу снять с графика цены параметры фрактала, значение всего одного параметра вытягиваемого с указываемого на графике идентификатором графика фрактала равно нулю на 30 последних свечах
не могу снять с графика цены параметры фрактала, значение всего одного параметра вытягиваемого с указываемого на графике идентификатором графика фрактала равно нулю на 30 последних свечах
Если память мне не врет, то индикатор фрактала в квик работает в зад. Т е записывает значения в прошедшие свечи. Поэтому в текущей свече будет всегда ноль. ----------------------------------------------- Это чтобы работа с КВИК не казалось не медом.
т е отвечать на поставленные вопросы Вы не хотите. Например, Вы можете показать результаты своих тестов задержки для любого брокера не называя его? или таких тестов вы не делали? Т е вам это по...? для информации привожу результаты мониторинга задержки ответов за вчера:
expected (to close '{' at line 39) near '[' в линии 39 отсутствует закрывающая скобка для '{} около '[' ------------------------------------------------------ это че Вы и жевать за меня будете? - АГА!!!