Дополню пожелание на модернизацию тейк-профита. Раньше я писал это пожелание, но очевидно потеряли. повторю однако. ----------------------- Желаю, чтобы в тэйке была возможность корректировать параметры тейка не снимаю заявку. ------------------------- проблема в том, что существующий тэйк написал очевидно не любитель проферанса. ------------------------ потому, что проценты надо брать не от цены, а от волны, а волны бывают разными и чем выше забирается тренд чем меньше волны. Т е надо в процессе слежения за трендом иметь возможность адаптировать тейк. Так как тейк у Вас на сервере, то зачем его постоянно снимать и ставить Это лишь засоряет таблицу стопов и увеличивает нагрузку на сервер. -------------------------- Еще хорошо бы иметь возможность получить текущие параметры активного тейка --------------------------- Если будет команда коррекции и возможность чтения параметров, то все будет гораздо проще и лучше ---------------------------- Спасибо
читал я фикс и плазу и спектру. это все другого уровня решения (типа надо к затратам дописать справа пару нулей ) и необходимо для HFT роботов. А я ваяю прогнозирующих роботов , а им то и не очень надо быстро бегать. ------------------------------- Вопрос то не в том что есть, а в том сколько точно граммов есть. ----------------------------------- ...За державу обидно
Старатель написал: Николай Камынин , проведите измерения задержек получения тиков на срочной секции. Вы будете "приятно" удивлены: сделки по срочной секции иногда запаздывают по сравнению с фондовой на 2 и более сек.
А вот тут не понятно:
Цитата
Николай Камынин написал: o:-00.0804192s - это отставание часов моего компьютера от часов сервера в мs ------------------------- Т е часы моего компьютера имеют ошибку не более 80 ms.
С каким сервером сравниваете? Если QUIK, то время сервера QUIK можно вообще не брать в расчёт. Если сервера времени, то у биржи может быть своё мнение, на то с каким сервером синхронизировать.
сегодня вообще прикол фьючерсы от бкс все еще идут с задержкой на 15 минут, а акции нормально. Это круто. Торгую фьючерсами, а смотрю в акции иначе полный п...
напоминает ракету из фанеры. Вопрос конструктору: Не уже думаете за неделю долетите до луны? Ответ Да что до луны, Луна - это начало, скоро на марс, а там и юпитер. Да мала ли что мы можем сделать ежели нас никто не остановит. Даже некогда как следует почитать труды Цандера и Циолковского или , не побоюсь этого слова, коллеги Королева.
и еще... Если Вы включите свое воображение, то можете себе представить, что можно сделать за эти секунды имея на руках всю информацию о уже совершенных на бирже сделках ----------------------------- Знал бы прикуп - жил бы в Сочи. Знал бы цену акций - жил бы в Лондоне.
Добрый день, продолжаю исследования скорости поступления информации от сервера КВИК к терминалу КВИК т е от брокера к клиентам. В данном случае брокер - БКС. Приведу лишь кратное описание и результаты для любознательных. Более подробные результаты исследований выложу позже на своем сайте. ----------------------- Описание эксперимента: Компьютер синхронизируется каждые 5 минут от сервера эталонного времени. параметры стабильности синхронизации следующие: -------------------------------- d:+00.0155878s - это задержка получения сигнала точного времени в мs o:-00.0804192s - это отставание часов моего компьютера от часов сервера в мs ------------------------- Т е часы моего компьютера имеют ошибку не более 80 ms. ------------------------------------------------------------------------------------------- Теперь подписываемся на тики Сбербанка и определяем разницу времени сделок с временем моего компьютера. Таким образом, эта разность покажет нам на сколько х.... o сервер брокера транслирует данные с биржи. --------------------------- Что же получили в осадке: ВНИАМНИЕ на ЭКРАН: ВПЕРВЫЕ в МИРЕ проведены измерения запаздывания данных с биржи через сервер QUIK на термина клиента . d -задержка зу-цена сделки q -количество v -объем 03/04/16 13:33:11 d=956, pe=107.36, q=155, v=166408 03/04/16 13:33:11 d=956, pe=107.36, q=84, v=90182.4 03/04/16 13:33:11 d=956, pe=107.36, q=140, v=150304 03/04/16 13:33:11 d=1458, pe=107.36, q=17, v=18251.2 03/04/16 13:33:11 d=1458, pe=107.36, q=121, v=129905.6 03/04/16 13:33:11 d=1452, pe=107.36, q=84, v=90182.4 03/04/16 13:33:11 d=1179, pe=107.35, q=10, v=10735 03/04/16 13:33:11 d=1154, pe=107.35, q=145, v=155657.5 03/04/16 13:33:11 d=1154, pe=107.35, q=35, v=37572.5 03/04/16 13:33:12 d=517, pe=107.35, q=149, v=159951.5 03/04/16 13:33:16 d=602, pe=107.35, q=364, v=390754 Приняв в качестве смещения результата величину 80+15=95 ms (это время отставания моих часов и запаздывание по каналу связи с сервером КВИК получаем: время задержки от 0.5 сек до 1.5 сек --------------------- "Удивительное -рядом, но оно запрещено.."
Digit Service написал: Уважаемый админ, зарегистрируйте мою просьбу и сообщите ФИО Генерального директора АРКА. Действующая форма заявки Тейк профит по исполнению заявки у вас содержит только поле активации заявки но совершенно не содержит поле ЦЕНА. Я не могу заставить брокера исполнить мой ордер так как Квик не дает мне возможности конкретно точно сформулировать мой ордер, а брокер может продать активировавшуюся заявку ПО ЛЮБОЙ ЦЕНЕ! Это нарушение закона и брокером, и Квиком. Если надоест это воровство клиентских средств на пустом месте окончательно, то обе организации в ближайшее время станут ответчиками в суде. Срочно сделайте нормальную форму заявки со всеми необходимыми входящими данными как по активации заявки так и по реализации заявки.
Судя по дискуссии, автор работал на форекс и хочет тоже самое на бирже. Но это увы, невозможно. Так как многие приходят на биржу после плодотворной торговли в кухнях форекса, то Попробую объяснить основы стопов на бирже и чем они принципиально отличаются от форекса. ---------------- принципиальная разница в том что форекс - это внебиржевая торговля, а проще сказать - это обменная лавка. В ней Вы всегда можете сказать клерку, если будет дешевле то купи мне по такой цене. Клерк в такой конторе сбегает к соседям и найдет, дешевле Вашей просьбы. купит у соседа и перепродаст вам. ----------------- На бирже в период сессии брокер не может сбегать к соседу. Это во-первых. ------------------ во-вторых, стоп-заявки - это заявки, которые выставляются в догонку рынку. Т е когда рынок прошел мимо типа поезд тронулся и Вы прибежали на перрон. Вопрос: Как думаете всегда Вы в этом случае сможете сесть в первый вагон? А во второй? А в какой сможете? Ответ простой -Хоть в какой-нибудь успеть. Вот так и стоп заявка. Брокер не может взять у Вас на исполнение стоп по заранее заданной цене. Вернее скзать взять может, но не факт что исполнит. А ему нужет этот гкморой? Нет Поэтому стоп заявка будет выставлена сервером в систему бирже, а уж исполнится или нет - это как поезд едет.
Я не понял контекст вашего оригинального сообщения. Есть просто термин мьютекс , есть std::mutex (или std::recursive_mutex - по сути реализованые через аналог критических секций на уровне Concurrency namespace'а в MS CRT), и есть WinAPI mutex , который может использоваться несколькими процессами сразу. В первом сообщении я сразу упомянул, что имею ввиду std::recursive_mutex или критические секции, а дальше уже оба варианта называл просто "мьютексом", чтобы не писать одно и то же по нескольку раз.
судя по ответу для Вас не имеет разницы мьютекс и критическая секция. Но основное их отличие - это быстродействие. у мьютексов малое, у критических секций -высокое (согласно Рихтеру) ----------------------------------------- мьютекс - это полноценный объект ядра, поэтому он и медленный его имеет смысл применять, если надо синхронизировать потоки различных процессов. в данном случае процесс один. Поэтому надобность в мьютексе не очевидна. вернее сказать избыточна. ------------------------------------------------------ Зачем из пушки стрелять по воробьям. Но это я так для дискуссии, типа если мьтексом обозвать все, то я применяю 5 мьютексов, которые в действительности 4 interlocked-функции и 1 event. ---------------------------- Поэтому применение мьютексов излишне в КВИКЕ.
Николай Камынин написал: меня интересует каким образом заказать данные в QLUA , чтобы работал колбек onAllTrade без открытия ТВС?
через CreateDataSource с параметром INTERVAL_TICK
опять не понял. Если я закажу CreateDataSource с параметром INTERVAL_TICK то сервер будет присылать график тиков т е цену объем и время, но это же не тоже самое, что Таблица обезличенных сделок. или он будет присылать таблицу?
Параметр Тип Описание trade_num NUMBER Номер сделки в торговой системе flags NUMBER Набор битовых флагов price NUMBER Цена qty NUMBER Количество бумаг в последней сделке в лотах value NUMBER Объем в денежных средствах accruedint NUMBER Накопленный купонный доход yield NUMBER Доходность settlecode STRING Код расчетов reporate NUMBER Ставка РЕПО (%) repovalue NUMBER Сумма РЕПО repo2value NUMBER Объем выкупа РЕПО repoterm NUMBER Срок РЕПО в днях sec_code STRING Код бумаги заявки class_code STRING Код класса datetime TABLE Дата и время ---------------------------------- Поясните плиз. Спасибо
Michael Bulychev написал: Добрый день. В чем-то действительно есть сходство со стандартным пингом. Разница только в уровне реализации. Я имею ввиду сетевую модель OSI. Еще раз повторю - приоритет у таких сообщений в протоколе минимальный. Поэтому большие задержки могут в случае если: достаточно интенсивный поток торговых данных на сервере и серверу есть что отправить клиенту кроме ответа на пинг; клиент недостаточно быстро выбирает данные по сети от сервера. Это может быть по причине плохой связи либо "тормозов" терминала; В общем ничего особенно страшного в больших числах нет, при условии что терминал в это время не испытывает проблем с получением данных.
т е данный показатель сделан просто так ( кто делал уже уволился , а кто работает, тот точно не знает, зачем это). верно? и почему это меня не удивляет. Спасибо.
Добрый день, ув.разработчики ---------------------- Попробуйте сделать следующее: --------------------------------------- Сделайте так, чтобы, в период обработки в реальном времени, в индикаторе или скрипте на луа возникло обращение к несуществующей переменной (например сравнение с nil ). ------------------------------- Потом запустить КВИК в реальном режиме в открытой сессии. -------------------------------------- И после того, как появится окно с сообщения об ошибке, попытайтесь удалить этот индикатор с графика, либо отключить скрипт через таблицу скриптов. -------------------------------------- Уверяю Вас, Вы получите незабываемые эмоции в процессе вызвать меню для исполнения желаемых действий по удалению индикатора или отключению скрипта, так как появляющееся с каждым тиком окно сообщений будет закрывать это меню раньше Вас. -------------------------------------- Просьба сделайте так, что окно сообщений не мешало вызвать необходимое меню квика, а то игра в "кто быстрее" просто задолбала. ----------------------------------- Спасибо
Николай Камынин написал: У меня вопрос к автору темы. А зачем использовать мьютекс, если у нас один процесс? Спасибо
Даже не знаю с чего начать. В 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 и соответствующие им потокобезопасные аналоги:
теперь напишите , как Вы понимаете срабатывание стопа на каком-либо числовом примере, при этом укажите о чем Вы говорите - о стоп-лимите или тэйк-профите.
могу предположить, что индикаторы вычисляются на закрытие свечи. В этом случае они изменятся лишь на открытии новой и Вы получите то, что получаете. Надо считать индикаторы в скрипте.