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

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

Страницы: Пред. 1 ... 32 33 34 35 36 37 38 39 40 41 42 ... 46 След.
QLua-Indicators SandBox Internals
 
Цитата
sam063rus пишет:
т.е. - я вообще ничего не делал: я просто кинул его в папку LuaIndicators и включил квик - в итоге, не будучи ни на одном графике - он сам запустился.
Да, действительно. Если на графике добавлен хоть один Lua-индикатор, то при старте QUIK будут запускаться все скрипты из папки LuaIndicators. Причём столько раз, сколько открыто Lua-индикаторов. Это ещё один повод, чтобы вне колбеков ничего лишнего не размещать.
Цитата
sam063rus пишет:
но он всё-равно запускается. И причём, несколько раз

Очевидно, у вас добавлено несколько Lua-индикаторов на графиках.
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
Выше, глагол "добавлении" используется в настоящем времени несовершенного вида, т.е. указанные действия выполняются в момент добавления индикатора на график.
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
Цитата
sam063rus пишет:
Запускаются "автоматом", при старте квика (чем не основа для вирусописательства?)
Вы можете привести конкретный пример скрипта, который не будучи добавленным на график автоматически запускается при старте QUIK?
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
1. Не стоит размещать в папке LuaIndicators никаких файлов, кроме самих индикаторов, поскольку при добавлении любого индикатора каждый файл в этой папке сканируется минимум два раза:
Цитата
При добавлении нового индикатора на график плагин qlua сканирует папку LuaIndicators, проверяет файлы с расширением lua и luac (скомпилированные скрипты lua) [брехня! проверяются все файлы. Примеч. автора, т.е. меня] на соответствие следующим требованиям
2. Не стоит делать в теле индикатора (вне функций) что-либо, кроме объявления таблицы Settings, поскольку эти действия также будут выполняться минимум два раза при добавлении любого индикатора. Лучше сделать инициализацию в Init()

3. Если очень хочется, то вместо getScriptPath() можно использовать
Код
getWorkingFolder().."\\LuaIndicators"
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Николай Камынин пишет:
Это результаты на моем реальном счете
и соответственно рабочем сервере в реальном времени.
В таком случае, вам надо настроить интервал обновления данных, чтобы не вводить людей (и себя в первую очередь) в заблуждение своими тестами.
Информация как настроить есть в указанной выше мной теме. Почитайте, не ленитесь.  ;-)
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Дмитрий пишет:
Не Транзак случайно?
Он самый. Вы можете скачать демку с сайта и сразу подключиться к демо-торгам.
Надо делать так, как надо. А как не надо - делать не надо.
Контроль данных в МТС, Создание отказоустойчивой автоматизированной торговой системы
 
Цитата
sam063rus пишет:
Если расхождение между локальным и серверным временем > 1 сек то это простой способ определить нагрузку на канал брокера.
Наблюдал расхождение между локальным временем и серверным более 40 сек. Это расхождение было не в течение какого-то короткого времени, а нескольких дней. Причём наблюдалось не только у меня.
Так что считать разницу между локальным и серверным временем - это простой способ определить несинхронизованность локального времени вашего компьютера и времени сервера QUIK у брокера, не более.
Цитата
sam063rus пишет:
Но, если параметры не соответствуют "ожиданиям" - то, нет смысла торговать в это время
По одному счёту могут быть запущены несколько торговых роботов. Либо вестись торговля руками. Так что, в общем случае, текущая позиция по счёту может и не совпадать с ожиданиями робота.
Надо делать так, как надо. А как не надо - делать не надо.
Индикатор адекватности системы биржа/Квик, давайте поразмыслим
 
Цитата
lergen пишет:
Не отображались изменения позиций по срочному рынку.
В смысле, при покупке/продаже контрактов не изменялись позиции по клиентским счетам? Такие проблемы на бирже часто случаются.
Очевидно, текущую позицию нужно считать в каждом роботе самостоятельно, а не полагаться на биржу. И при большом расхождении значений отправлять уведомления по sms и e-mail. И копию отправлять брокеру и на биржу, чтоб не расслаблялись.  :D
Надо делать так, как надо. А как не надо - делать не надо.
Контроль данных в МТС, Создание отказоустойчивой автоматизированной торговой системы
 
Цитата
sam063rus пишет:
Цитата
Старатель пишет:
на случай "потери" части свечей сервером
а как робот поймёт, что это "потеря", а не неликвид?
А как человек это понимает (если заметит, конечно  :) )? Наверное, надо прописать какой-то алгоритм. Хотелось бы услышать, какие варианты можно использовать.

Цитата
sam063rus пишет:
для себя - сделал таблицу: критичных и некритичных параметров, а также контроль так сказать целостности данных на случай намеренного и ненамеренного "технического сбоя"
Можете подробнее описать, каким образом вы реализуете контроль целостности данных?
Цитата
sam063rus пишет:
Также мониторится серверное время и локальное - при слишком большой разнице - некоторые алгоритмы - отменяются
Вот тут не понятно. Какие ошибки таким образом вы пытаетесь устранить?
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Там, если покопаться, много чего интересного можно найти. Вот, например, инструмент линейка, о котором пользователи QUIK просят несколько лет; процентная шкала:

Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Старатель пишет:
установил терминал одного из "конкурентов" Квика, который является его ровесником. И что же? Визуально - тот же самый QUIK, только отстал на несколько лет...
Хотя и у "отсталого" терминала есть чему поучиться. Вот, например, как выглядит настройка свойств трендовой линиии:

Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
sam063rus пишет:
Хотя стать Вашим конкуреном - дело весьма небольшого времени.
Да вот, к сожалению, что-то не видно этих конкурентов-то. Каких вы можете назвать потенциальных конкурентов?
По вашим оценкам, сколько нужно времени, чтобы создать конкурентоспособный программный продукт с нуля. И какие для этого потребуются финансовые ресурсы?

Не поленился: установил терминал одного из "конкурентов" Квика, который является его ровесником. И что же? Визуально - тот же самый QUIK, только отстал на несколько лет...

Цитата
sam063rus пишет:
моя компания - мне прмо предложила - если сделаете софт нетолько для клиентов НО!!! и для брокеров - они поддержат.
sam063rus, вашу энергию, да, как говорится, в нужное русло.
Вы могли бы объединить талантливых программеров-энтузиастов для разработки такого ПО.
От себя могу предложить тестирование данного продукта. Думаю, сотрудники ARQA не в восторге от моих тестирований.  :D  Я уже сам сбился со счёта, сколько багов, они обещали мне исправить.
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
sam063rus пишет:
поставлена задача - дать пользователям полный доступ из квика- к архивным данным (из папки Archive) - и что мы видим?
А ыидим мы - тысячу и одну отговорок.
Видимо, функционал этот платный. И, если дать пользователям возможность работать с архивом графиков, то у брокеров отпадёт необходимость в его покупке.
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
Только не архивных, а "склеенных" *маленькое уточнение, с Вашего позволения.
Можете сделать скрин, как это выглядит?
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
На наш взгляд в данном случае имеется некоторое недопонимание, не более того
Значит, брокер не достаточно информирован об этой возможности.
Я и говорю, донесите до сведения брокеров, что трансляция архивных графиков "на ваш взгляд не создаёт серьёзной нагрузки для серверов."
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
Цитата
Старатель пишет:
Цитата
Alexey Ivannikov пишет:
На наш взгляд в этом нет ничего критичного.
В таком случае вы можете довести это до брокеров либо сделать возможным открывать графики в QUIK из архива?
Добрый день.

Брокерские компании знают о такой возможности, но, как Вы понимаете, у нас нет возможности заставлять их это делать.
Я говорю не про саму возможность трансляции брокером архивных графиков (понятно, что брокер в курсе). Я говорю про:
Цитата
Alexey Ivannikov пишет:
Цитата
Старатель пишет:
Но вот брокер не хочет этого делать, мотивируя тем, что это создаёт большую нагрузку на сервер. Это действительно так?
Большую или не большую - это оценочные категории. На наш взгляд в этом нет ничего критичного.
Либо вы лукавите про нагрузку на сервер, либо брокер откровенно врёт, чтобы не делать лишней для себя работы.
Короче, кто-то из вас не прав.
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
На наш взгляд в этом нет ничего критичного.
В таком случае вы можете довести это до брокеров либо сделать возможным открывать графики в QUIK из архива?
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
Это не трудно - попросить Вашего брокера их "склеивать".
Ну, да, попросить не трудно.
Но вот брокер не хочет этого делать, мотивируя тем, что это создаёт большую нагрузку на сервер. Это действительно так?
Надо делать так, как надо. А как не надо - делать не надо.
Какая последняя версия заявки (стоп-заявки) в Orders и OnOrder ?
 
В OnOrder всегда будет последняя "версия" заявки, имеющаяся в распоряжении клиентского терминала.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Николай Камынин пишет:
Но вот простой пример, который дает на правильный ответ
Звучит, как "А сейчас я расскажу вам всю правду..." Ну, ну, ага.  :D
Цитата
Николай Камынин пишет:
Но делать вывод что onParam быстрее, когда вызов OnQuote в 2 раза чаще - это прикольно.
Это тем более забавно, когда вы делаете выводы на основе данных с игрового сервера.
Надо делать так, как надо. А как не надо - делать не надо.
не соответствует время
 
Цитата
s_mike@rambler.ru пишет:
когда вы спрашиваете сервертиме, то получаете время в момент прихода запроса на сервер. Далее оно возвращается вам.
Никакой запрос никуда не отправляется. "SERVERTIME" вы получаете вместе с приходом параметров из ТТП. И оно корректируется на разницу времени, прошедшего с момента его прихода. А в остальном всё верно.
В этом легко убедиться, убрав из списков принимаемых параметров все "галки". Время сервера продолжит тикать синхронно с вашими часами. Но после переподключения к серверу "SERVERTIME" уже не отображается.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Николай Камынин, это вы на демке тестили?  :D
Вот результаты на боевом сервере.
Надо делать так, как надо. А как не надо - делать не надо.
коды событий поворотов колеса мыши SetTableNotificationCallback
 
Цитата
Старатель пишет:
Кстати, в строке 0 не работают события QTABLE_LBUTTONUP и QTABLE_RBUTTONUP
techsupport, вы бы как-то отреагировали что ли.
Надо делать так, как надо. А как не надо - делать не надо.
Не отображаются график
 
Цитата
sam063rus пишет:
можете также нажать правую кнопку мыши на легенде графика и выбрать "Заменить инструмент"
Не надо так. Лучше из "Параметров текущего окна"
Надо делать так, как надо. А как не надо - делать не надо.
Не отображаются график
 
to techsupport: У меня в папке archive сохранились файлы SPBFUT_RIH5_Х.dat. Почему нельзя открыть графики по данному инструменту?
Сделайте возможность открывать графики архивных инструментов.
Надо делать так, как надо. А как не надо - делать не надо.
OnOrder без UID
 
Ответ будет?
Цитата
Старатель пишет:
Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
sam063rus пишет:
Но, спрашивается, кому нужен стакан, несоответствующи реальному timestamp.
С одной стороны, да. А с другой, может кто-то сохраняет историю стакана.
Может, стоит сделать настройку: если на сервере скопилась очередь OnQuote, то, в зависимости от этой настройки выдавать на рабочее место либо всю очередь в хронологическом порядке (как сейчас) либо только последнее состояние стакана.
Надо делать так, как надо. А как не надо - делать не надо.
SQL в Lua
 
Цитата
Старатель пишет:
Сейчас использую SQLite 3 через LuaSQL .
Надо делать так, как надо. А как не надо - делать не надо.
SQL в Lua
 
Какую БД и библиотеку лучше использовать в Lua?
Сейчас использую SQLite 3 через LuaSQL. Но есть проблемы при одновременном доступе к БД из разных потоков/скриптов даже при чтении.
Надо делать так, как надо. А как не надо - делать не надо.
Таблица всех сделок и классы, Не все классы стали отображаться в новых версиях. Как исправить?
 
Что за ошибка? Связана с какими-то частными настройками прав пользователя в Administrator? Или ошибка общего характера и проявляется у всех пользователей?
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Alexandr Shumilin пишет:
В общих чертах можно сказать, что "как правило" соблюдается следующий порядок рассылки на клиентские места QUIK — таблица текущих параметров, котировки, сделки, заявки, стоп-заявки, лимиты, графики, все-сделки.
Вот тут у меня есть сомнения: графики обновляются с большой задержкой по сравнению с ТВС. Хотя это может быть результатом частного случая настройки частоты обновлений графиков на сервере. В моём случае частота обновлений графиков - примерно 1 раз/сек.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Максим пишет:
Так OnParam на кучу всего реагирует, так что частота не показатель.
Цитата
Максим пишет:
И ещё, у вас же в скрипте хитрость - если между двумя вызовами OnQuote действительно стакан может несколько раз туда-сюда сходить, то вы на второй вызов ничего не напечатаете, т.к. best bid/offer "те же".
Частоту вызовов OnParam и OnQuote имеет смысл сравнивать только при изменении одинаковых параметров. В данном случае при изменении bid/offer. Поэтому я написал так, как написал - сравниваем только те колбеки, которые дают новую котировку bid/offer. По другому никак.

Цитата
Максим пишет:
Может статься, что в OnParam показывается вообще не та же котировка, что потом покажется в OnQuote.
А по логу разве не видно, что в большинстве случаев OnQuote приносит туже котировку, что до этого нам показал OnParam?
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Максим пишет:
Сомнительные выводы из эксперимента (что непременно через OnParam надо котировки доставать). Там разница в пределах погрешности измерения + время на вызов колбека.
Ну наконец-то хоть кто-то решил оспорить мои выводы. Парирую:
Да, действительно, в большинстве случаев разница небольшая. Среднее значение за рассматриваемый период порядка 22 мс. Но погрешность тут ни при чём: и без времени видно, что в большинстве случаев OnParam даёт котировку раньше.
Цитата
Максим пишет:
Кроме того, в привидённом примере есть запись, противоречащая (по крайней мере на первый взгляд) утверждению о последовательности
Есть такая запись. Но это единственный случай из приведённого фрагмента лога, когда OnQuote оказывается "быстрее".

Очевидно, OnParam, как и OnAllTrade, приходят "пачками". Немного подчистил лог, удалив из него близкие по времени записи OnParam:
Скрытый текст
Не трудно заметить, что помимо того, что OnParam приходит раньше (в большинстве случаев), но и несколько чаще (незначительно, но факт).
Уверен, это зависит от настроек сервера. Поэтому у каждого могут быть свои результаты.
Но в моём случае, очевидно, работа с OnParam позволит раньше, пусть и ненамного, среагировать на изменение котировок.
Надо делать так, как надо. А как не надо - делать не надо.
коды событий поворотов колеса мыши SetTableNotificationCallback
 
Кстати, в строке 0 не работают события QTABLE_LBUTTONUP и QTABLE_RBUTTONUP
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Кстати, я специально даю фрагменты кода, чтобы каждый мог самостоятельно проверить на своём рабочем месте и опровергнуть мои доводы. Пока этого никто не сделал.
Надо делать так, как надо. А как не надо - делать не надо.
OnOrder без UID
 
Цитата
Старатель пишет:
Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Цитата
Michael Bulychev пишет:
На практике такой схемы работы не встречается, но теоретически придумать ее возможно.
Озвучьте, пожалуйста свою мысль.
Надо делать так, как надо. А как не надо - делать не надо.
OnOrder без UID
 
Это значит, что после такого колбека обязательно должен прийти OnOrder с заполненным UID?
Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Скрипт выводит в лог последнюю котировку bid/offer из OnParam и OnQuote:
Скрытый текст
У меня результаты следующие:
Скрытый текст
Из лога видно, что OnParam даёт информацию об изменении котировки раньше.
Надо делать так, как надо. А как не надо - делать не надо.
Вопросы по совместной работе, quik junior и доске опционов., Два пользователя за одним терминалом. Программный доступ к доске опционов ...
 
Меню "Избранное" в профиле не хватает.
Надо делать так, как надо. А как не надо - делать не надо.
коды событий поворотов колеса мыши SetTableNotificationCallback
 
Цитата
sam063rus пишет:
Таким образом:
заводим в классе булевую переменную, которая будет флагом нажатия определённой клавиши, которую мы получим в другом коллбеке (QTABLE_VKEY). далее, при приходе LBUTTONUP проверяем установлен ли этот флаг (полученный VKEY) and находимся ли мы в заданной ячейке. И если "Да" - do smth
Примерно так я и сделал. Так называемый, эффект залипания клавиши.  :)
Надо делать так, как надо. А как не надо - делать не надо.
коды событий поворотов колеса мыши SetTableNotificationCallback
 
Цитата
Владимир Иванов пишет:
Просьба подробнее описать Ваше пожелание на доработку.
Какая клавиша зажимается, какой событие должно происходить при клике?
Цитата
sam063rus пишет:
очевидно: [ctrl][shift][alt] + [lbuttonclick][rbuttonclick][mbuttonclick]
Очевидно, да, клик мышью при зажатой клавише (в частности Ctrl/Alt/Shift)
Должно происходить, естественно, то событие, которое назначено в SetTableNotificationCallback
Надо делать так, как надо. А как не надо - делать не надо.
OnOrder без UID
 
В ответ на транзакцию приходит колбек OnOrder без UID:
Цитата
{withdraw_datetime={week_day=1, hour=0, ms=0, mcs=0, day=1, month=1, sec=0, year=1601, min=0}, price=145.01, value_entry_type=0, balance=1, repo_value_balance=0, value=13050.9, qty=9, passive_only_order=0, class_code="QJSIM", activation_time=0, userid="NC0011100000", expiry=0, flags=25, linkedorder=0, ordernum=1704294392, sec_code="GAZP", side_qualifier=0, client_code="91413", firmid="NC0011100000", datetime={week_day=0, hour=23, ms=0, mcs=0, day=14, month=6, sec=0, year=2015, min=16}, yield=0, reject_reason="", capacity=0, acnt_type=0, repo2value=0, start_discount=0, min_qty=0, ext_order_flags=0, exec_type=0, order_num=1704294392, repovalue=0, repoterm=0, accruedint=0, account="NL0011100043", seccode="GAZP", uid=0, brokerref="91413/", exchange_code="", settlecode="", price2=0, trans_id=0, bank_acc_id=""}
И через 0.11 сек OnOrder с заполненным UID:
Цитата


{withdraw_datetime={week_day=1, hour=0, ms=0, mcs=0, day=1, month=1, sec=0, year=1601, min=0}, price=145.01, value_entry_type=0, balance=1, repo_value_balance=0, value=13050.9, qty=9, passive_only_order=0, class_code="QJSIM", activation_time=0, userid="NC0011100000", expiry=0, flags=25, linkedorder=0, ordernum=1704294392, sec_code="GAZP", side_qualifier=0, client_code="91413", firmid="NC0011100000", datetime={week_day=0, hour=23, ms=0, mcs=0, day=14, month=6, sec=0, year=2015, min=16}, yield=0, reject_reason="", capacity=0, acnt_type=0, repo2value=0, start_discount=0, min_qty=0, ext_order_flags=0, exec_type=0, order_num=1704294392, repovalue=0, repoterm=0, accruedint=0, account="NL0011100043", seccode="GAZP", uid=88219, brokerref="91413/", exchange_code="", settlecode="", price2=0, trans_id=0, bank_acc_id=""}
Это нормальная ситуация?
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Думаю, ответ на этот вопрос неоднозначен.
Наверное, стоит проверить самостоятельно на конкретном брокере.
Надо делать так, как надо. А как не надо - делать не надо.
Библиотека QCtrls.dll
 
Цитата
sam063rus пишет:
положение окна, его размер, обработка событий - всё это уже делается элементарно с помощью winAPI.
В таком случае, получить название и хендл активной вкладки можно с помощью того же winAPI.
Надо делать так, как надо. А как не надо - делать не надо.
Библиотека QCtrls.dll
 
Цитата
sam063rus пишет:
если бы Вы сделали функцию в QLUA, возвращающую хендл текущей вкладки - то это бы избавило от массы проблем.
При отсутствии возможности задавать положение окна на конкретной вкладке польза от такой функции будет сомнительной.
Надо делать так, как надо. А как не надо - делать не надо.
коды событий поворотов колеса мыши SetTableNotificationCallback
 
Не хватает события: клик мышью при зажатой клавише. Может, сделаете?
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
 
Цитата
Sergey Gorokhov пишет:
Ошибка будет исправлена в одной из следующих версий программы.
О какой именно ошибке идёт речь?

1)
Цитата
Старатель пишет:
для параметров из ТТП. На боевом сервере мс не транслируются для параметров.
2) или tDS:Close() ?
Надо делать так, как надо. А как не надо - делать не надо.
Узнать таймфрейм графика
 
Оба графика имеют разные таймфреймы.
Надо делать так, как надо. А как не надо - делать не надо.
Пакетное получение данных, Все сделки приходят не по одной, а пакетами от 1 до xx штук
 
Цитата
Sergey Gorokhov пишет:
Спорный момент, буферизация есть не только на стороне сервера но и на стороне клиента.
Скажем так, какого-то улучшения настройками сетевой карты добиться можно, вопрос только насколько значимыми они будут.
Ок, задам вопрос по-другому.
Архитектура сервера QUIK построена таким образом, что он (рассмотрим ТВС) отдаёт сделку клиенту немедленно по факту получения с биржи или же отдаёт пачками через интервал времени (не меньше определённого значения)?
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: Пред. 1 ... 32 33 34 35 36 37 38 39 40 41 42 ... 46 След.
Наверх