Андрей (Автор тем)

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

Страницы: 1
Не всегда исполняется require в начале скрипта
 
Не знаю что служит причиной, но сталкиваюсь с тем, что при перезапуске скрипта  require как бы работает в холостую. Не исполняя код модуля. Как будто кто-то до этого уже загрузил этот модуль (хотя package.loaded его не содержит до require, получает после). Но это же самое начало скрипта, а другие скрипты не должны на него влиять. Это вроде как разные "машины". Может как-то ошибочно остается "полуподгруженным" от предыдущего запуска этого же скрипта?
Лечится перезапуском всего квика.
Перемещение заявки 2 транзакциями
 
Как известно, на основной секции биржи нельзя это сделать одной транзакцией (а жаль).
В итоге мы сначала снимаем старую заявку, потом создаем новую.
Проблема в том, что между этими транзакциями приходится ждать сколько-то много мс, иначе создание еще не понимает, что перед этим отправлена транзакция снятия. И выдает ошибки типа данный инструмент запрещен в шорт (считая, что продажа еще висит).
Сделайте вторую версию sendTransaction, которая бы не проверяла подобные локальные условия. Чтобы можно было вызывать 2 транзакции сразу друг за другом. Ну или с минимальной задержкой. Чтобы они пришли на биржу в том же порядке и обработались.
MOVE_ORDERS
 
Пробую такие транзакции на срочном рынке в MODE=1.

1) в OnTransReply перестал работать бит, определяющие куплю или продажу - (tr.flags>>17&1). В ответе на NEW_ORDER это работает. Просьба доработать. Уверен, при перестановке цены на данном этапе уже известно, купля это или продажа. Если нет, просьба не оставлять его незаполненным, а копировать из перемещаемого ордера. Считая по умолчанию, что ордер не меняет свою "ориентацию". По умолчанию это лучше, чем пустое поле.

2) Если SECOND_ORDER_NUMBER = nil , то, по хорошему, сервер должен игнорировать SECOND_ORDER_NEW_PRICE и SECOND_ORDER_NEW_QUANTITY, даже если они заполнены. Но есть подозрение, что они могут переопределять соответствующие FIRST в этом случае.. Прошу разъяснить.

3) Если заполнены все поля FIRST и SECOND, то должно прийти 2 OnTransReply? Это вообще просто способ сократить кол-во sendTransaction, а так эти поля совершенно независимы и аналогичны 2м sendTransaction (для MODE=1)?
Timer Resolution и sleep(1)
 
Добрый день!
Иногда sleep(1) стабильно работает 15.5мс, иногда ~1.5мс.
Понятно, что это связано с системным Timer Resolution. Причем в последних сборках это не глобальная настройка, менять надо из самого процесса
https://habr.com/ru/post/522212/
Значит вы как-то переключаетесь в квике между частотами.с помощью ф-ции NtSetTimerResolution
Как нам этим управлять и получать желаемую частоту? Видимо нужна еще одна сервисная ф-ция.
Все же поведение sleep(1) должно быть более предсказуемым, чем разброс на порядок на незагруженной системе.
Ошибка управления стоп-заявкой на графике
 
Для стоп заявок с условием цены "по другому инструменту" на графике этого другого инструмента появляется эта заявка и ее можно перемещать мышью.
Это хорошо. Плохо то, что по ошибке шагом перемещения является шаг цены того основного инструмента, а не этого, по которому условие.
Получение признака "Субординированный инструмент" в lua
 
Как получить?
В таблице securities отсутствует.
Страницы: 1
Наверх