На этапе выставления заявок (напр., с 9:50 по 9:56) скрипт ММ смотрит на них и устанавливает текущую цену так, чтобы было совершено наибольшее число сделок. Можно ли как-то скриптом на Луа вычислить эту цену по информации о заявках в стакане, чтобы вовремя в неё встать? Есть ли такой алгоритм?
Можно ли запустить торговую программу под Квиком на планшете, чтобы не напрягать настольный ПК? Если да, то что это за планшет? На сколько времени хватит аккумулятора?
Я освоил qlua + dll на C, теперь хочется попробовать написать торг. программку, чтобы посмотреть, на её работу. Имеются какие-то дармовые "торговые роботы" и их заготовки, которые транслятор не хочет транслировать (и есть раздутые до безобразия горы кода в районе гитхаба), не хочется тратить время, чтобы их понять, они, по-моему, делаются по принципу "на, тебе, боже, что мне негоже", а платные "роботы" - по принципу "на, тебе, платного, боже, что мне негоже". К примеру, в этой ветке кто-то опубликовал "нейросеть на луа", при этом из диалога непонятно, что это такое и стоит ли на это тратить время.
У меня пока возле головы вертятся такие возможные "стратегии" для программы: - слежение за массой всякой макулатуры и определение начала роста цены, покупка на деньги, которые не жалко, и определение, когда это лучше продать; - определение в начале торгов, что с какой-то радости начнут покупать/продавать, и воспользоваться этим, пока цена не ушла далеко; - ловля кратковременной просадки цены, когда происходит крупная продажа (напр., кто-то хочет выйти из какой-то бумаги, перевести деньги в доллары и слинять из этой страны, пока не поздно).
Кто-то может подсказать (хотя бы в приват) что-то стоящее "отцу русской демократии", чьи пенсии летят по * , коптят, и потом где-то взрываются склады террористов?..
Кстати, я заметил конфликт комбинаций клавиш при работе с этими полями: если выделить значение в этом поле и нажать Ctrl+x (вырезать и поместить в буфер обмена Виндовс), то возникает страшное окошко типа "Удалить все заявки?" Кроме того, желательно, чтобы работали не только комбинации Ctrl+c/Ctrl+v, но и парные к ним Ctrl+Ins/Shift+Ins. И эти поля желательно вытягивать, чтобы они занимали всю ширину стакана.
А как насчёт того, чтобы можно было вводить в поле Q числовые выражения, хотя бы бесскобочные с + и -? (Надо учесть унарные + и -).
Такое впечатление, что при редактировании полей ввода цены/количества происходит какой-то тяжёлый счёт. Можно его как-то отменить, чтобы это работало так же быстро, как щелчок по быстрой заявке в стакане?
Например, если мы получаем trans_reply.status == 3 (заявка выполнена), то какое время мы получаем в OTR: - время сервера биржи в момент выполнения заявки? - время сервера брокера, когда он получил ответ от сервера биржи? - что-то ещё? Аналогичный вопрос, если заявка не выполнена. В описаниях этой функции об этом ни слова...
Я сейчас перед вечерней сессией делал заявку на покупку и в OnTransReply получил ответ "не выполнена", время при этом такое: 19:00:04.224811. Но я эту заявку повторял несколько раз и в следующий раз получил ответ "выполнена", время при этом такое: 19:00:04.377904.
А это я получал содержимое стаканов и отмечал время на моём ПК, которое я перед этим синхронизировал с NTP сервером: 19:00:04.621937 19:00:04.746745 19:00:04.932090 19:00:05.319159
И только в 4-й раз, т.е., когда время было 19:00:05.319159, моя заявка появилась в стакане. Как можно понять такую задержку? Может ли кто-то задерживать мои заявки намеренно?
Сейчас сталкивался с тем, что выставляю в Квике 11.0.0.92 заявку, она принимается, но не отображается в стаканах и в табл. заявок. При этом в андроид приложении она отображается в активных заявках. Перезагрузил Квик - не помогло. Помог перезаказ данных...
Потом в стаканах вдруг вместо 40 строк стало отображаться только 4 (2 на покупку, 2 на продажу), а в андроид приложении отображались все 40 строк. Через несколько секунд стали отображаться все 40 строк. Пока писал, это повторилось (отображались 2 строки). Брокер ВТБ. Не знаю, что думать...
В файле "Интерпретатор языка Lua.pdf" в разделе "3.12.3 Особенности получения значений Таблицы текущих торгов" написано: === • Автоматически из скрипта Lua с помощью функций ParamRequest или CreateDataSource, при включенной настройке Рабочего места QUIK «Исходя из настроек открытых пользователем таблиц» (меню Система / Настройки / Основные настройки..., раздел «Программа» / «Получение данных»).
Терминал QUIK автоматически заказывает параметры, необходимые для корректного расчета лимитов, при включенной настройке Рабочего места QUIK «Исходя из настроек открытых пользователем таблиц» (меню Система / Настройки / Основные настройки..., раздел «Программа» / «Получение данных»). ===
Но фразы «Исходя из настроек открытых пользователем таблиц» в меню Система / Настройки / Основные настройки / Программа / Получение данных не видать...
Когда приходит инфо, напр., по OnAllTrade, там присутствует направление сделки: B - покупка и S - продажа. Я заметил, что, когда я продаю, то в этой сделке стоит B, когда покупаю, - S. А как сервер биржи определяет напр. сделки? А если моя заявка будет по текущей цене, а не лимитная, то тогда направление будет другое? От вида встречной ко мне заявки (лимитная или по маркету) это направление зависит?
Чтобы при приёме заявок раньше встать в очередь, я синхронизирую часы Виндовс по атомным часам и проверяю это в сервисах типа time100.ru. Но всё равно возникают погрешности. Напр., утром эти сервисы, как правило, говорят (да ещё и каждый по-своему), что у меня точное время, а в 19 часов, что мои часы спешат на 0.3 сек... Можно ли как-то узнавать время точнее, напр., с точностью 5-10 мсек? Например, получая его с сервера брокера? Или более точно установить его в Виндовс? Регион - Ставропольский край (не сам Ставрополь).
К примеру, в приложении ВТБ Инвестиции для Андроида сделали показ объёмов заявок в биржевом стакане более мелким шрифтом внутри серого прямоугольничка со скруглёнными краями. Для этого в Квике есть свободное место в столбцах, соответственно, "Продажа" и "Покупка". Это бывает нужно, если хочешь отменить или перенести все заявки по данной цене. Сейчас для этого я заглядываю в Андроид приложение.
Если хочется получать скриптом информацию по каждой сделке с выбранными акциями, обязательно ли в загруженном конфигурационном файле иметь таблицу обезличенных сделок по всем этим акциям? Почему для этого недостаточно в скрипте подписаться через Subscribe_Level_II_Quotes на получение этой информации? Если не создавать табл. обезл. сделок, то скрипт получает только инфо по OnQuote...
Очень не удобно быбирать компании в подокошечке "Доступные инструменты". Оно такое маленькое, что потянешь за бегунок, и проскакиваешь неизвестно куда. И поиск в этом окошечке работает очень странно. То ли виснет, то ли неправильно ищет...
Иногда запускаю квик, выбираю Система/Загрузить настройки из файла..., и квик зачем-то открывает каталог Виндовс Изображения. Закрываю окно с этим каталогом, повторяю предыдущую операцию, и открыватся правильный каталог QUIK_VTB. Загадка природы!
Также иногда отсутствует звук при завершении заявки (слышен только звук сделки).
В таблице заявок неплохо было бы сделать множественное выделение заявок согласно юзеринтерфейсу Виндовс: щёлкая левой кнопкой при нажатой клавише Ctrl для добавления к выделенному этой строки и нажатой клавише Shift для добавления к выделенному диапазонов строк.
PS: представляю сколько будет возмущённых жалоб юзеров из-за безвинно удалённых заявок в результате ошибок в программировании. :-)
Если в таблице заявок по строке с активной заявкой дважды щёлкнуть, то появляется окно типа "МБ ФР: Т+ ETF: Ввод заявки" и можно редактировать её параметры. Это работает нормально. Но если это окно вызвать щелчком правой кнопки по строке с заявкой и выбрать из контекстного меню "Заменить заявку", то ещё до появления этого окна заявка отменяется. Если юзер передумает редактировать заявку, то ему придётся воссоздать эту заявку и он потеряет очередь в биржевом стакане.
Не знаю, чья это ошибка, возможно, серверной версии Квик, которой пользуются брокеры. Я у брокера ВТБ торгую этим фондом с тикером LQDT. Это единственный фонд, на который нет даже комиссии биржи (если брокер ВТБ). Я давно пишу и звоню в ВТБ, чтобы исправили ошибку: иногда примерно в одной сделке из 100 берётся комиссия биржи. На следующий день эту комиссию возвращают, но всё равно из-за неё есть потеря денег. В последнее время эту комиссию не брали на дневной сессии, а брали очень редко при сделках после 21 часа. А сегодня прямо с утра её стали взимать, да ещё и довольно часто. Неужели программисту трудно вставить в код условный оператор: если тикер == LQDT, то комиссию биржи не берём?
Кто скажет, зачем столько условий для проверки, что заявка выполнена (qty == 0, 2 мл. бита флагов == 0)? Чем эти условия отличаются? Может быть, когда qty == 0, но флаги говорят, что заявка ещё не выполнена, деньги от продажи акций ещё не вернулись на счёт? Меня интересует, как скрипту узнать, что эти деньги от продажи акции вернулись на счёт и их можно снова использовать для покупки?
Почему-то значения BID и OFFER в моей программке не соответствуют положению дел в стакане котировок, который я смотрю в Quik и в приложении для Андроида. Такое впечатление, что в скрипт сначала передаются старючие значения и только через несколько минут эти значения совпадают с тем, что показывает терминал и приложение. Программка такая: