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

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 25 След.
Событие получения данных всех таблиц и графиков после подключения к серверу
 
Цитата
Михаил Понамаренко написал:
Теперь я понял, в чём дело, когда брокер утром включает сервер, подключаются все запущенные терминалы клиентов.
Соответственно, сервер брокера не может отдать быстро эти данные, т.к. одновременно, много желающих их получить.

А вот это очень здравое рассуждение.  :!:
Функция CalcBuySell
 
Цитата
Владимир написал:
Оказалось, моя и совсем дурная: вместо a[i][1][5] стояло a[i[1][5]]. Раз двадцать глядел на это место - не видел!

Тебе, дурачку, давно уже сказали, что и сам ты говно, и код твой такой же. Причем именно про это место и говорилось.
Но, разумеется, в твоих руках из жопы виноват нормальный язык Lua, кто бы сомневался.
Про руки твои и голову - это медицинский факт.
Функция CalcBuySell
 
Цитата
Андрей написал:
PS
КАК ЖЕ МНЕ ДОРОГ ЭТОТ LUA

Зачем ты мучаешься?
Переходи на QPILE
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
Поддерка, вы спам от КатСервиса уберёте уже из этой темы?!!
Особенно смешно (если не сказать грустно) долгое наличие этого сообщения выглядит после совершенно бестолкового наезда на одного из грамотных пользователей форума за "рекламу" в сообщениях.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
Да, ты медицинский факт, это и так уже всем понятно.
Оптимизация QUIK
 
Создать окно -> Состояние счета
QUIK не отправляет заявку, в которой цена представлена переменной
 
Цитата
Андрей написал:
И вообще, я не понимаю, зачем надо было выбирать глючный LUA

В чем его глючность? Вот как языка?

Цитата
Андрей написал:
в ущерб тому же несчастному питону

Питона тогда почти не было, когда в QUIK прикручивали Lua. Во всяком случае - он еще не взлетел так массово.

Цитата
Андрей написал:
Это при том, что LUA изначально не предназначен для точных вычислений и пр. математики (за исключением арифметики).

Могли бы пояснить эту фразу? в чем заключается "неприспособленность" для указанного?
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
Цитата
Владимир написал:
строка есть кусок памяти, размер которой не известен и определяется по заранее специфицированному значению терминатора

Такое может существовать только в голове дурачка с крайне ограниченными познаниями.
Какая версия луа используется по умолчанию
 
F9 - Lua скрипты - смотрим умолчательные версии
Событие получения данных всех таблиц и графиков после подключения к серверу
 
Цитата
Старатель написал:
Цитата
swerg написал:
Ну есть собатия прогрузки позиций после начал торгов / клирингов. И что они вам дают?
Именно об этом и спрашивает ТС.

"Но как вы догадались, Холмс?!"

Цитата
Старатель написал:
Надо разделить 1) обезличенные данные и 2) данные, относящиеся непосредственно к портфелю: ордера, сделки, лимиты, позиции, стопы.
Последние как раз будут статичны статичны и актуальны в начальный момент. Это и есть точка отсчёта, от которой будет отталкиваться скрипт.

Почему позиции будут точкой отсчета??
Торговый скрипт, очевидно, обязательно опирается на данные графиков и торговые данные для принятия решений. Позиции учитывает наверняка, но опираться только на них??
Событие получения данных всех таблиц и графиков после подключения к серверу
 
Цитата
Старатель написал:
swerg, даже у биржи есть понятие "законченности загрузки данных".
https://forum.quik.ru/messages/forum10/message51109/topic5698/#message51109

Ну есть собатия прогрузки позиций после начал торгов / клирингов. И что они вам дают? Как это связано с торговыми данными?
Событие получения данных всех таблиц и графиков после подключения к серверу
 
Цитата
Nikolay написал:
Даже бесконечный поток реального времени, если разделить на дискретные пакеты, уже позволяет контролировать загрузки пакетов

Ну и зашибись. Едут пакеты. Контролируется, что они целые. Не целые перезаказываются.
Но знаний об "актуальности" эти никак не добавляет.
Событие получения данных всех таблиц и графиков после подключения к серверу
 
Цитата
Nikolay написал:
OnParam - это всего лишь какая-то реализация, предложенная разработчиками.

Что значит "реализация предложенная"?
В рамках обсуждаемого вопроса - изменился(лись) параметр(ы) на бирже - изменений приехали на сервер - приехали на терминал - вызов OnParam.
Какая еще реализация может быть?

Цитата
Nikolay написал:
Вопрос получения данных и их актуальности на этом форуме уже много лет обсуждается.

Потому как нет никакой "актуальности данных". Обсуждать просто нечего. Много лет это пытаюсь объяснить.
Пожелания по развитию форума
 
Модераторы не нужны.
Пусть каждый видит всё как есть.

PS
Самое смешное - это как отдельные граждане не теряют надежды урезонить дурачка. Их бы благородную энергию да на что полезное :)
Событие получения данных всех таблиц и графиков после подключения к серверу
 
Цитата
Nikolay написал:
Необходимо либо иметь метод в API дающий ответ, что все загружено, либо колбек по факту события загрузки.

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

Это всё. Ничего другого нам не дано.
Событие получения данных всех таблиц и графиков после подключения к серверу
 
Цитата
Михаил Понамаренко написал:
Но данные могут загрузиться, как быстрее, так и позже.
Может у кого есть более подходящее решение?

Я каждый раз предлагаю исходить из одной простой штуки. А как вы сами "на глаз" определяете, что данные загружены?
Вот ровно это и реализуйте в скрипте. Это будет самое надёжное. И вот почему.

QUIK (как система) построен именно для визуального отображения данных в терминале. И скрипты навешаны уже поверх этой парадигмы. Именно поэтому и надо все придумки в скриптах делать исходя из наблюдений "а как я сам принимаю решение глядя в терминал в таком-то случае?".
(потому, кстати, никого и не парил приезд одних и тех же сделок по 5 раз, пока это не вылезло в скриптах; этого просто никто не видит!)

С одной стороны, объективного понятия "загружены все данные" - просто нет. Ну в самом деле: на бирже изменилась цена - все равно терминалы получают это с задержкой. А т.к. в биржевых данных все время что-то меняется - то фактически терминал все время биржу как-то "догоняет". И задача построения торговой инфраструктуры лишь в том, чтобы данные в терминале догоняли биржу с как можно меньшим временным лагом.
Для этого брокер запускает сервер до торгов, с запасом. Для этого терминал есть смысл подключать к серверу брокера с запасом.

Как вы в терминале определяете, что "данные актуальны"? Ну вы же на глаз это как-то можете определить, ведь так?
Например, по прекратившемуся "мельтишению данных". Значит, терминал более-менее всё накопленное прокачал и сейчас получает on-line данные.
Вероятно, в скрипте есть смысл повторить эту логику: например, за какой-то через какой-то интервал времени сравнивать количество данных по каким-то сущностям: количество свечей на графике, количество изменений цены по какому-то инструменту, количество изменений стакана. Что еще у нас "мультишит" в терминале при подключении?
Ну и как только между очередными замерами количество изменившихся данных станет меньше какой-то экспериментально подобранной величины - принять решение "данные актуальны".

Либо подойти ко всему этому "инфрастуктурно". Например, экспериментально установить, что через 5 минут после подключения и/или через 5 минут после начала торговой сессии - данные в терминале на нашем компьютере и нашем интернете - точно актуальные, с запасом. И через 5 минут после переподключения в середине торговой сессии - тоже уже точно актуальные.
Ну и славно, значит, после этих событий ждём 5 минут - и после начинаем торговать. Вариант - вполне.

Или стоит задача попасть в движняк самого начала торговой сессии?
Тогда, на самом деле, надо применять "инфрастуктурный" метод, сокращая время прокачки данных и уменьшая тайм-аут: толще канал интернета, быстрее компьютер, бодрее брокер. И стартовать по времени.
Но: при таком решении надо отдавать себе отчет, что периодически по разным причинам будут происходить неудачные сделки  из-за неактуальности данных в терминале в момент принятия решений роботом. И от этого точно никуда не деться!! Потому как любые способы "контроля" будут оттягивать время начала работы робота, а мы хотим попасть именно в самое начало торгов, потому затягивание для нас неприемлемо. А проблемы иногда точно будут: у провайдера сбойнуло оборудование - просел интернет; у брокера захлебнулся сервер в дни особого движняка; ну и т.д.
QUIK не отправляет заявку, в которой цена представлена переменной
 
На документацию тут ссылаться не совсем точно, ибо вообще не очевидно, что строка числового значения "500" подходит, а "500.0" - не подходит. Хотя это одно и тоже числовое значение, представленное строками.
Перехват событий формы и отмена заявки
 
Цитата
Артем написал:
Алексей, бинарный плагин для Lua
используйте С
У Lua есть специальный API для работы из С и для запуска бинарных библиотек

Как это поможет решить задачу в её изначальной постановке?
QUIK не отправляет заявку, в которой цена представлена переменной
 
Цитата
Андрей написал:
Принцип программирования - что запросил то и получил здесь нарушен.

Ничего здесь как раз не нарушено. Запрошена цена - её значение возвращается как double. Все логично.

Цитата
Андрей написал:
В таблицах по фьючу РТС явно целочисленные значения приводятся, да и биржа тоже целые транслирует

Это не так. Вы путаете транслируемые и отображаемые значения. Просто QUIK в таблицах при отображении учитывает еще параметр "точность цены", отображая лишь то значение цифр после запятой, которое соответствует указанному параметру.

Цитата
Андрей написал:
Я понимаю, что в недоязыке LUA непредусмотрено целочисленных значений

И это не так. Добавление .0 после чисел с типом double появилось в Lua5.3, где есть отдельный целочисленный тип.
Но он здесь не применим, т.к. бывают инструменты с дробной ценой. Так что цена универсально возвращается как double, а tostring() приписывает при конвертации .0 в таким аргументам (при целом значении).

Цитата
Андрей написал:
Вопрос к разработчикам

Вопрос к разработчикам ровно один и простой: неужели до сих пор нельзя сделать так, чтобы параметр Transaction["PRICE"] можно было задавать числом, а не строкой?!
Добавить аргумент param в колбек OnParam
 
Цитата
BlaZed написал:
изменились параметры по инструменту
А пожелание ... в коллбек приходили измененные параметры.

Ровно это и приходит.
Или требуются новые значения параметров?
Снимать активные заявки одной понятной клавишей, в таблице заявок, В талице заявок
 
Цитата
A.T. написал:
Очень мучает момент, когда нельзя оперативно снять заявку одним простым нажатием Delete.

Clrl-D
https://broker.vtb.ru/login/quik/guide/#:~:text=Снятие%20активной%20заявки&text=Снять%20заявку%20можно%20также%2C%20нажав,Ctrl%2BD%20или%20кнопку%20меню
QUIK не отправляет заявку, в которой цена представлена переменной
 
Надо точно ответить на простой вопрос: какое именно значение имеет переменная PRCStr  ?
Ну если вам требуется решить проблему, конечно.
QUIK не отправляет заявку, в которой цена представлена переменной
 
Цитата
Андрей написал:
Цена во втором случае высчитывается нормально

Что такое нормально? Что выводится в окно сообщений, какое значение имеет PRCStr  ?
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
 
Цитата
Владимир написал:
Ну, а уж про порчу переменных у меня просто слов нет - как можно изуродовать ассемблерный JMP, чтобы он стал выдавать такую херню?!

Местный дурач0к по прежнему не читает документацию.

Цитата
Second, the control variable is a local variable automatically declared by the for statement and is visible only inside the loop.
A typical idiot's mistake is to assume that the variable still exists after the loop ends
Не отображать в настройках Lua-индикатора слишком большое количество линий
 
Цитата
Евгений написал:
Есть способ ускорить

Знаешь - делись.
Что бы это значило?
 
ресурсы GDI
Таблица состояние счета, закрытие позиции., Ошибка 167.
 
Цитата
Старатель написал:
swerg, Вы слишком поверхностно читаете темы. Не стоит просто так отвечать, на последнее сообщение ветки.

Читаю я подробно, вы ошибаетесь.
Ошибка при запуске Луа-скрипта
 
Цитата
Spadar написал:
А каким образом тогда использовать функции библиотеки (например, CreateDataSource())? Или из-под командной строки это невозможно?
Невозможно, конечно. Все эти функции - часть терминала, а не просто одной библиотеки.
В самом деле: какое получение данных возможно, если вы даже к серверу не подключены в командной строке?
Таблица состояние счета, закрытие позиции., Ошибка 167.
 
Цитата
Старатель написал:
Надеюсь теперь вашего тестировщика уволят: он ничерта не делает.

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

Я про человеколюбие :)
Брокер видит стоп-заявки?
 
Разумеется. Коль скоро они переносятся на след. день, а значит хранятся в какой-то базе.
Возможно нет готового удобного интерфейса для брокера, но технически информация, очевидно, доступна.
Формирование списка Lua-скриптов
 
+ Изменение размера окна списка скриптов. С сохранением размера при перезапуске.
+ Поле поиска скрипта по названию (или может даже лучше фильтрация списка, как сделано в других списках)

Косность и дубовость интереса (или разработчиков?) - просто поражает воображение!
Добавить типы линий Линия с подсветкой
 
Кр. - сестр. таланта.
Но не вашего.
Индикатор торговой сессии
 
Цитата
BlaZed написал:
У меня в квике, как оказалось, ограничения стояли на получение данных раз в 1 секунду.

Прикольно, это что за настройка такая?
параметр "ACCOUNT" в sendTransaction, особенности его применения на QUIK с субсчетами.
 
Тоже самое происходит и при подаче заявки руками через форму заявки
Вы этого просто не замечаете
Звуковой сигнал в интерпретаторе lua.exe, Как сделать сигнал beep при запуске программы с помощью lua.exe
 
Цитата
Виктор Столетов написал:
Quik выдает сообщение об ошибке:  «error loading module 'w32' from file 'G:\БС\QUIK_VTB24\w32.dll': Не найдена указанная процедура.»     Библиотека w32.dll в корне Quik присутствует.

У всех работает, у вас не работает. Так не бывает.
Скорее всего не ту версию w32 используете.
not enough memory после 4-5 часов
 
Это не форум брокера.
Линковка, - нормальная с выносом окон МОЖНО СДЕЛАТЬ КАК У ВСЕХ?
 
Когда уже был QUIK - всей этой перечисленной фигни просто-напросто еще не существовало. Как и "стандартов".
Так что нет никаких парадоксов.

PS
Эмоции сливать - это прикольно, но может их лучше сливать доктору?
А сюда уже вернуться здоровым человеком, и внятно кратко изложить каких конкретно фич хочется от QUIK.
Звуковой сигнал в интерпретаторе lua.exe, Как сделать сигнал beep при запуске программы с помощью lua.exe
 
Спасение - qlua.exe
Делал себе, т.к. в самом деле порой требуется запустить скрипт из ком. строки, а не из QUIK. Но при этом хочется иметь "окружение как в QUIK".
Пока поддержано очень мало чего, но для указанных тут случаев годится

http://quik2dde.ru/static-img/qlua-exe/qlua-exe.zip
Распаковать, файл qlua.exe положить в каталог с QUIK - оттуда и запускать, все будет работать.
Пока это вариант только для Lua5.3, но этого достаточно, считаю, для реальных нужд.

Исходники:
https://github.com/swerg/qlua-exe
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
 
Цитата
Старатель написал:
В 7-м квике не зависает даже более примитивный код:
Мне все лень было проверить, но вот тоже такое впечатление, что в Lua 5.1 более грамотно были сделаны локи многопоточности. А в 5.3 совсем халтуру какую-то сделали.
Ошибка: указанная транзакция по указанному классу не найдена, Quik 8.11.0.66
 
Цитата
Константин Рейм написал:
Суть вопроса в том что "10:00:05" это серверное время и торги по времени уже начались, а функция status == false не дает торговать каое-то время.

Ну правильно, серверное, от сервера QUIK, а не биржи
Конечно расхождение  в несколько секунд как-то слишком большое, однако это ж не status  мешает отправке транзакции; это значит, что биржа отклонила, т.е. с точки зрения биржи торги еще не начались. Рассинхрон в одну сторону подтверждает и то, что вечером "после окончания сессии" торги еще идут (судя по вашим же сообщениям, как я их понял). Так что либо время биржи отстает, либо сервера QUIK опережает, так я думаю.
Ошибка: указанная транзакция по указанному классу не найдена, Quik 8.11.0.66
 
Цитата
Константин Рейм написал:
Да и сама эта функция как то странно себя ведет: время "10:00:05", а status == false, (на 3-5 сек. на старте торгов задерживается), время "18:45:33", а status == true. Прокомментируете?

Рассинхрон веремени.
Lua-индикаторы: Добавить возможность изменения фактического количества линий индикатора при изменении настроек
 
Такой способ в самом деле есть, я про него и писал на форуме (вы таки читаете форум? ух-ты!)
Однако хотелось бы иметь честный функционал по реальному изменению количества линий в индикаторе.
Изменяется значение привязки метки "Цена" при изменении вертикального масштаба
 
Цитата
Евгений написал:
Думаю арке а пору создать отдел тестировщиков из числа тех, кто действительно торгует в квике, для нахождения косяков.

Welcome to the club! Уже среди них.
Цитата


[QUOTE]И доплачивать им за работу из зарплаты тех кто должен проверять по.

Гы.
Сдвиг графика цены или вертикальной сетки
 
Цитата
Evgeniy Karnaukhov написал:
В таком случае рекомендуем разобраться с самим скриптом.

Также напоминаем о рекомендации обновить терминал до актуальной на сегодняшний день версии - 8.12.

Evgeniy Karnaukhov, расскажите: каким образом скрипт может нарисовать мимо вертикальной сетки? А то мне как раз хочется вывести индикатор Lua не ровно в сетку.
Ну раз вы предполагаете, что надо разбираться со скриптом - то, видимо, из скрипта такое можно сделать, верно? Расскажите как.

По исходному вопросу - ну это же стандартная фича квика рисовать графики через один: один в сетку, другой со сдвигом.
Пользователи рассказывают это 10 лет - но поддержка QUIK каждый раз удивляется и рассказывает небылицы.
запуск из работающего скрипта другого скрипта или скриптов
 
Цитата
Kolossi написал:
или привязку пользовательской таблицы к вкладке

https://quik2dde.ru/viewtopic.php?id=329
Отключение интернет, Поведение программы при отключении интернет
 
Цитата
Старатель написал:
А если ответа никакого нет (мож, пакет потерялся, мож ещё чё), то клиент так и будет ждать у моря погоды... И тайм-аутом там не пахнет.

Цитата
Евгений написал:
При выдергивании шнура интернет из роутера, квик сообщает о разрыве связи спустя 30-40 сек.

Во-первых, противоречащие параграфы. Ну если вы вообще про эту ситуацию говорите, а то не понятно.

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

Лучше назовите по разному. Это будет правильнее.
Отключение интернет, Поведение программы при отключении интернет
 
Цитата
Anton написал:
Да, надо переводить сокет в неблокирующий режим и вызывать connect с отменой по таймауту

С таймаутом на что?
На конект - так он и так есть. Не подключилось - об этом сообщается через вполне разумный тайм-аут.
Но если подключилось, но "сервер не шлёт ничего" (или в проводах теряется? как вы отличаете?) - то тут что? Может там и не должно ничего приезжать, как догадаться? какой таймаут установить и на что?
Lua-индикатор - диалог установки параметров при добавлении
 
Цитата
Старатель написал:
первый расчёт идёт со старым значением, но уже после нажатия на кнопку OK.

А, все вчитался.
Меня устраивает. В том смысле, что мне важно, чтобы до открытия диалога не производился расчет, который у меня очень долгий
А после уже пусть считает сколько угодно, вариантов все одно нет.
Lua-индикатор - диалог установки параметров при добавлении
 
Да, в самом деле, такой вариант работает, спасибо.
Хотя отобразить диалог параметров и для добавление через контекстное меня - тоже бы очень даже не помешало, по-моему. Пусть не такой навороченный (на про все графики/индикаторы в окна, а только про параметры добавляемого индикатора

Цитата
Старатель написал:
Но даже так Lua-индикатор пересчитывается 2-3 раза при добавлении, причём первый раз - всегда с параметрами по-умолчанию.

А это чтобы не расслаблялись :)
Впрочем, сейчас проверял на 8.11 версии - если пойти указанным вами путём - то до отображения диалога настроек индикатор явно не рассчитывается, из него только Init() зовется для определения кол-ва линий и все.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 25 След.
Наверх