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

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

Страницы: 1
в таблице текущих торгов некоторые цены нулевые
 
Цитата
Oleg Kuzembaev написал:
Добрый день.

Подскажите, пожалуйста, вы в терминале QUIK вы подключаетесь к серверу демо-доступа с нашего сайта или к серверу брокера?
Я не знаю, что такое демо-доступ. Вроде бы у меня не демо, а полноценный доступ.
Подключаюсь к серверу брокера (сбербанк).
в таблице текущих торгов некоторые цены нулевые
 
На скриншоте текущее состояние моей таблицы текущих торгов. Видно, что по акциям T, TUCH, X5 что-то странное, как будто торги не идут. Но функция getParamEx возвращает правильную цену, и в приложении сбер инвестиций тоже всё ок. Т.е. это ошибка в таблице квик. В чём может быть причина?

Я эту акцию добавлял сам, при изначальной установке квика её по умолчанию почему-то не было.  
OnTrade отображает неверное количество акций, Изменения в состоянии счёта отображаются не мгновенно
 
Предположим была заявка на покупку акции. В момент исполнения заявки вызывается OnTrade. Если из этой функции OnTrade напечатать текущий размер позиции с помощью getDepoEx, только что исполненная заявка там не будет учтена, т.е. напечатается неверное количество (которое было до исполнения заявки). Почему так происходит и как это исправить? Спустя несколько миллисекунд количество становится правильным, уже в следующих функциях. Но мне нужно в функции OnTrade использовать текущее количество акций. Как я могу его надёжно получить?
Разрыв соединения quik по ночам, Приходится каждое утро переподключаться
 
Цитата
Oleg Kuzembaev написал:
Добрый день.

В Рабочем месте QUIK есть возможность настроить автоматическое восстановление связи с сервером в определенный период времени. Находится она в Система/Соединения.
Вам нужно установить галочки напротив пунктов "Восстанавливать связь автоматически через" и "При восстановлении использовать только параметры последнего соединения".

В первой настройке  нужно настроить временной промежуток, в которой Рабочее место будет подключаться к серверу автоматически. В вашем случае это с 07:00 до 03:00.
Вторая настройка  использует данные последнего подключения сервера. Важно, чтобы вы списке доступных вам серверов первым стоял тот, к которому вы хотите подключиться.
Не помогло. В указанное время приходит смс с паролем, и если его не ввести, соединение не устанавливается.

У каких брокеров нет смс-аутентификации?
Разрыв соединения quik по ночам, Приходится каждое утро переподключаться
 
Здравствуйте. Пользуюсь системой quik версии 12.6.0.53 через брокера сбербанк. Каждую ночь ровно в 3 часа ночи происходит автоматический разрыв соединения, и в течение ночи подключение невозможно. Утром подключение становится возможным, но не автоматически, т.е. приходится вручную вводить пароль. В техподдержке сбера сказали, что да, они на ночь отключаются из-за тех. работ, никаких способов устранить это нет. Но проблема в том, что невозможно ставить скрипт на автоматическую работу по расписанию с утра, т.к. всё равно пока я сам не проснулся и не подключился, ничего работать не будет. В той же техподдержке сказали, что и это исправить нельзя, т.е. да, надо каждый день переподключаться заново, все, кто пользуется квиком, так делают. Соответственно все, кто хотят торговать в утреннюю сессию, исправно просыпаются в 7 утра.

Хотелось бы уточнить, насколько это правда.
Функции обратного вызова не вызываются одновременно?, Т.е. отследить изнутри OnTrade выполнение другого OnOrder невозможно?
 
Допустим у меня есть заявка. Я хочу сразу, как только она сработает, прямо из функции OnTrade создать новую заявку. Чтобы убедиться, что заявка принята успешно, я дожидаюсь выполнения функции OnOrder, которая должна присвоить значение глобальной переменной. Т.е. схематично код выглядит так:

OnTrade(trd)
  somevariable = false
  ord = ....
  sendTransaction(ord)
  repeat sleep(100) until somevariable=true

OnOrder(ord)
  somevarialbe = true

Этот код не работает, т.к. функция OnTrade виснет в ожидании OnOrder, а OnOrder не вызывается, пока не завершится OnTrade (проверял, если в OnTrade поставить return после нескольких итераций цикла, OnOrder сразу вызывается)

Т.е. отследить изнутри OnTrade успешное выполнение новой заявки невозможно?
Поле trans_id для закрытия заявки: в чём смысл?, Есть ли примеры, где оно может быть использовано?
 
Предположим я создал заявку, присвоив ей trans_id=1. При создании срабатывает OnOrder(ord), где ord.trans_id=1, ord.order_num = номер новой заявки.
Теперь я хочу отменить эту заявку. Для этого я создаю новую транзакцию, в которой пишу trans_id=2, action = kill_order. Но при срабатывании OnOrder(ord) я опять вижу, что ord.trans_id=1, ord.order_num = номер удаляемой заявки. Т.е. новая транзакция, у которой trans_id=2, не вернулась в OnOrder, и даже не отобразилась в общем списке заявок. Это в целом понятно и логично, но непонятно, для чего тогда указывать trans_id=2? Т.е. если я не заполню поле trans_id=2, будет ошибка, но по факту это значение 2 дальше нигде не будет использовано. Или есть какие-то случаи, когда оно может пригодиться?  
Не получается запустить два скрипта одновременно, При запуске второго первый останавливается
 
Кажется я понял, в чём дело. Первый скрипт останавливается, если второй запускается из другой папки. Если файл второго скрипта скопировать в папку с первым и оттуда запустить, всё работает. Интересно, это только у меня, или встроенная бяка квика?

P.S. Вчера не смог отправить ни одного сообщения, все блокировались. Админы, мне кажется, слишком перестарались. Они так не с ботами борются, а с живыми людьми. Нет мотивации дальше сюда что-то писать.  
Не получается запустить два скрипта одновременно, При запуске второго первый останавливается
 
Цитата
nikolz написал:
Я проверил, если запускать два простейших скрипта, типа message(...) sleep, то работают. Но если мой мониторинг цены запараллелить с простейшим - останавливается. Возможно какая-то конкретная функция есть, которая не хочет делить ресурсы.

Более того, останавливается даже в момент загрузки второго скрипта. Т.е. нажимаю кнопку "добавить", выбираю файл скрипта (но не запускаю) - и первый останавливается.

P.S. Тут по правилам форума новичку можно писать только одно сообщение в сутки. Так что если я молчу - не значит, что всё ок или я забил.  
Не получается запустить два скрипта одновременно, При запуске второго первый останавливается
 
Есть скрипт, который включен на постоянную работу, мониторит цены некоторых акций. Хочу не прекращая его, запустить второй учебный скрипт. При запуске второго примерно через 10 секунд первый останавливается. Так и должно быть?
getBuySellInfo в QuikPy, Правильно ли я понимаю, что эта функция не реализована?
 
Цитата
nikolz написал:
Цитата
Проще всего передать данные через файл.
Мне нужно не передать данные, а получить данные. Т.е. находясь в питоновском скрипте, нужно узнать, сколько сейчас акций в портфеле. Например рублевый счёт в портфеле я научился узнавать через функцию QuikPy().GetPortfolioInfo. Вопрос о том, если аналогичный способ для количества акций.
getBuySellInfo в QuikPy, Правильно ли я понимаю, что эта функция не реализована?
 
В модуле QukPy нет функции getBuySellInfoEx. Есть закомментированная строка с этой функцией, т.е. я как понял, в планах на реализацию. Попробовал сделать вот так:

qp.process_request({'data': f'{firm_id}|{client_code}|{class_code}|{sec_code}', 'id': '121', 'cmd': 'getBuySellInfo', 't': ''})

Однако выдаёт ошибку 'lua_error': 'Command not implemented in Lua qsfunctions module: getBuySellInfo'


Мне нужно из питон-скрипта узнавать текущее количество акций в портфеле. Как можно это делать?
Страницы: 1
Наверх