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

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

Страницы: Пред. 1 ... 45 46 47 48 49 50 51 52 53 54 55 ... 78 След.
Подскажите как правильно складывать вычитать и сравнивать время ?
 
Цитата
max max написал:
Неужели проще нельзя ?))
Вопрос не понятен.
Цитата
max max написал:
Тогда получается 2 разных времени .  БИРЖА И БРОКЕР
Если у них есть расхождение по времени то будут ошибки!

Даже более того, один сервер может работать одновременно с несколькими разными биржами и на каждой время легко может отличаться.
С трудом можно представить чтобы например биржи в Лондоне, Америке и России договорились о том чтобы их часы шли синхронно вплоть до тысячных секунды.
Подскажите как правильно складывать вычитать и сравнивать время ?
 
Цитата
max max написал:
order_table.datetime как и  getInfoParam("SERVERTIME")  берется с сервера брокера?
Время сервера это время сервера. А время на заявке проставляет биржа, а не сервер.

Цитата
max max написал:
Есть возможность получить тек время сервера как то по другому ? не через getInfoParam("SERVERTIME")
А чем getInfoParam не устраивает?
Подскажите как правильно складывать вычитать и сравнивать время ?
 
max max,

Чтобы сравнить время нужно для начала привести его к одному формату.
К сожалению исторически так сложилось что getInfoParam("SERVERTIME") возвращает строку формата "HH:MM:SS"
а order_table.datetime вернет таблицу с полями {year, month, day, week_day, hour, min, sec, ms, mcs}

Соответственно, через string.match переводите SERVERTIME в часы минуты и секунды
Код
HHMMSS=getInfoParam("SERVERTIME") 
   if string.len(HHMMSS)==7 then
      h,m,s = string.match(HHMMSS,"(%d)%p(%d%d)%p(%d%d)")
   else
      h,m,s = string.match(HHMMSS,"(%d%d)%p(%d%d)%p(%d%d)")
   end

Потом переводите в количество секунд

Код
SrvTime=h*60*60+m*60+s
OrdTime=order_table.datetime.hour*60*60+order_table.datetime.min*60+order_table.datetime.sec

И далее уже можно сравнивать/вычитать и т.д
Не регистрируется trans2quik.dll
 
Цитата
dmitry dorjiev написал:
PathToInfo = "C:\QUIK_OpenBroker_g\info.exe"

указывать нужно папку а не exe файл
И в самом терминале проверьте включена ли обработка внешних транзакций.

И, если что тут есть пример на VB
https://arqatech.com/upload/iblock/006/Trans2QuikAPI_1.2.rar
Не регистрируется trans2quik.dll
 
Здравствуйте,
Библиотеку не надо регистрировать. просто положите ее в любую папку указанную в переменной PATH или в папку с Вашей программой
Какие потоки нужно закрывать?
 
Здравствуйте,
Трудно судить только по описанию проблемы не видя кода.
Если зависает только в момент остановки, на вскидку, такое может быть если в OnStop крутится какой-то цикл.
Отвечая на вопрос, кроме ds:Close() и нечего то больше закрывать.
getInfoParam is not a string?
 
Цитата
Старатель написал:
А вы проверяйте скриптом через getInfoParam('LASTRECORDTIME')

Уточните где именно проверяется LASTRECORDTIME?
Если в каком-либо колбеке, то в каком?
Или в цикле в main?
Было бы замечательно получить хотя-бы пример на котором повторяется проблема.
И проверить поведение на последней версии 7.2.
У нас никак не получается повторить проблему
Получение данных о транзакции по стоп-заявке
 
Цитата
WennY написал:
Я лишь хочу быть уверенным, что сделка состоялась или же, если она может не состояться, что она предприняла отчаянную попытку, которая закончилась провалом.

Сделка не может "предпринять попытки"! Это сделка - факт совершения операции. Если сделка сама по себе просто существует, это уже означает что заявка исполнилась, либо частично исполнилась.

Цитата
WennY написал:
Означает ли заполнение 22526627011 у стопа-заявки гарантией того, что сделка состоялась? или она может все-таки не состояться?

Совершенно нет, linkedorder это заявка!, а не сделка. Грубо, приходите на рынок и говорите что хотите купить, но не факт что у Вас кто-то что-то купит.

Цитата
WennY написал:
Есть выставленный руками/робот стоп-ордер. Как мне наиболее грамотно проконтролировать осуществление им сделки в формате "успешно осуществлена/попытка осуществлена, но неудачно"?

По количеству исполненного количества. Как контролировать исполненное количество уже на Ваш вкус, хотите через заявки, хотите по сделкам.
Получение данных о транзакции по стоп-заявке
 
Цитата
WennY написал:
Ну, может стоп заранее резервирует id под будущий трейд  
На московской бирже, где собственно и исполняются заявки, нет возможности заранее зарезервировать номер заявки.
Цитата
WennY написал:
А зачем нужен flags сделкам? Сделка - это ведь исполненная заявка, так какие ещё статусы там могут быть?
посмотрите документацию, там не только статусы.
Получение данных о транзакции по стоп-заявке
 
Цитата
WennY написал:
Параметр linkedorder, указанный в стоп-заявке, сразу в ней доступен или он туда прописывается уже после срабатывания условий стопа?

Пока стоп не сработает не будет заявки и значит нечего писать в linkedorder
Получение данных о транзакции по стоп-заявке
 
Цитата
WennY написал:
А что такое linkedorder?
в таблице стоп заявок это номер заявки в торговой системе, зарегистрированной по наступлению условия стоп-цены.
в таблице заявок это исходный номер заявки с указанной датой исполнения при замене заявки в ходе клиринга. Параметр заявок срочного рынка FORTS.

Цитата
WennY написал:
Его можно использовать в качестве привязки?
в сделках этого параметра нет, но там есть order_num по которому можно найти заявку и стоп заявку (как раз по полю linkedorder)

Цитата
WennY написал:
В чем отличия от trans_id?
trans_id задает робот как ему угодно
а linkedorder задается сервером
Справка по AddLabel
 
Цитата
Алексей Орешкин написал:
Цитата
Sergey Gorokhov   написал:
Здравствуйте,
Цитата
Логарифмическая шкала меняет классическую шкалу (шкала цены) на логарифмическую, на которой данные как бы сжимаются в процессе увеличения значений.
подробнее можно почитать в интернете.
Возможно Вам нужно просто привязать второй график к другой ось?
если так это делается в свойствах графика.
Вот график сбера: сверху красным обычный, снизу чёрным  логарифмический ...
Мне непонятна шкала логарифмического графика, почему текущее значение на обоих графиках одинаковое ?


потому что меняется шкала, а не значения
Получение данных о транзакции по стоп-заявке
 
Цитата
WennY написал:
Не по order_num случаем?

да именно он
Получение данных о транзакции по стоп-заявке
 
Цитата
WennY написал:
Цитата
Sergey Gorokhov   написал:

Соответственно, если Вам нужна сделка смотрите колбек для сделок OnTrade.
Или саму таблицу сделок через getItem
А как связать открытый руками ордер и сделку?

По номеру заявки который присутствует в таблице сделок.
Получение данных о транзакции по стоп-заявке
 
Дополню, если нужно увидеть изменение статуса заявки, это делается через поле flags
Получение данных о транзакции по стоп-заявке
 
Цитата
WennY написал:
Цитата
Sergey Gorokhov   написал:

смотря что понимать под "открыта позиция", некоторые понимают под этим заявку, а некоторые сделку.
Вот Вы как это понимаете?
Заявка - это лимитный биржевой ордер, выставленный напрямую или через условный стоп на брокере. Под сделкой я имею в виду именно свершившийся акт входа в позицию, а не отправку на биржу лимитной заявки.
Соответственно, если Вам нужна сделка смотрите колбек для сделок OnTrade.
Или саму таблицу сделок через getItem
Получение данных о транзакции по стоп-заявке
 
Цитата
WennY написал:
Хорошо, допустим, я отловил таблицу с моей транзакцией. Как теперь достоверно определить, была ли открыта (а не просто выставлена) позиция?
смотря что понимать под "открыта позиция", некоторые понимают под этим заявку, а некоторые сделку.
Вот Вы как это понимаете?
Работа с файлом несколькими скриптами
 
Здравствуйте,
Вопрос обменена данных между двумя программами не относится именно к Lua
Это вопрос который касается вообще всех существующих языков программирования и таких способов для обмена в интернете предложено очень много.
Это и сетевые протоколы, и pipe и sql базы и т.д, обмен через файлы это только один из множества способов.

Обмен информацией через файл возможен но, только в случае если одновременно одна программа будет только считывать файл, а вторая только записывать.
И это не потому что так устроен Lua, а потому что так устроена файловая система Windows.
У Вас же в коде в обоих случаях io.open открывает файл в режиме записи, а значит происходит конфликт при одновременном доступе.
Либо открывайте один файл но по очереди,
либо используйте два файла (1й скрипт пишет в 1й файл и читает 2й файл, а 2й скрипт пишет в 2й файл и читает 1й файл),
либо используйте другой способ обмена.
Справка по AddLabel
 
Здравствуйте,
Цитата
Алексей Орешкин написал:
чтобы эти графики не смещались и начинались с единой точки отсчёта.
Если речь про первую свечку, то нужно в параметрах диаграммы указать "Диапазон данных" - "за период" и установить фильтр по времени.
Цитата
Алексей Орешкин написал:
Также в идеале нужен выбор шкалы приращений - абсолютная или относительная , чего тоже нет.
Возможно речь про "Процентное изменение" в свойствах графика?
Цитата
Алексей Орешкин написал:
Хотя в настройках области видимости графика есть пункт Логарифмическая шкала, но я честно сказать вообще непонял как она работает в квике и работает ли вообще

Логарифмическая шкала меняет классическую шкалу (шкала цены) на логарифмическую, на которой данные как бы сжимаются в процессе увеличения значений.
подробнее можно почитать в интернете.
Возможно Вам нужно просто привязать второй график к другой ось?
если так это делается в свойствах графика.
Получение данных о транзакции по стоп-заявке
 
Цитата
WennY написал:
А разве нельзя просто по trans_id запросец направить? Только с сеточкой для ловли транзакций стоять?

на транзакциях отправленных через интерфейс терминала, параметр trans_id отсутствует и установить его нельзя.
getInfoParam is not a string?
 
Цитата
Старатель написал:
Также хочу отметить, что по какой-то причине после рестарта сервера и смены даты иногда (?) параметр "LASTRECORDTIME" равен 23:59

К сожалению описанная ситуация не повторяется. Просьба сообщить больше подробностей, когда запускали терминал, когда подключали к серверу и т.д.
также, просьба выложить поясняющие скриншоты
Получение данных о транзакции по стоп-заявке
 
Здравствуйте,
В OnTransReply приходят ответы только на транзакции отправленные из Lua
Тест наличия идентификатора графика
 
Здравствуйте,
Вариант не работает.
Штатного способа решить задачу нет. Однако упомянутый getLinesCount возвращает 1 если идентификатор задан, а если нет то вернет 0
Тест наличия идентификатора графика
 
Здравствуйте,
Проверить параметр "l" – легенда (подпись) графика возвращаемый функцией getCandlesByIndex
Автоматическое навешивание тегов
 
Здравствуйте,
Данное пожелание пока еще не реализовано. Следите за обновлениями.
Регламент работы с пожеланиями опубликован по ссылке:

Регламент работы с пожеланиями пользователей
getInfoParam is not a string?
 
Цитата
Старатель написал:
Почему были проигнорированы мои сообщения 3 месяца назад?

К сожалению не готов назвать причины, будем разбираться с этим внутри компании.
Приносим извинения.
ZeroBrain Studio
 
Здравствуйте,
Рекомендуем обратиться на сайт разработчика редактора
Подмена TransId c версии сервера 5.4.2
 
Здравствуйте!

Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.
getInfoParam is not a string?
 
Старатель,
Помощь брокера не требуется. Ситуацию удалось воспроизвести на тесте.
Проблема изучается. Постараемся в ближайшее время дать ответ.
getInfoParam is not a string?
 
Старатель,
Вопрос был о способе определить период окончания вечерней сессии, на это и был дан ответ.
Время сервера напрямую зависит от трансляции данных в терминал.
Предположительно, причиной может быть отсутствие активных торговых шлюзов на сервере
Если интересует исследование вопроса, необходимо смотреть со стороны сервера, то есть нужен брокер.
getInfoParam is not a string?
 
Цитата
Старатель написал:
Вы предложили какой-то способ?

Да смотреть расписание торгов.
getInfoParam is not a string?
 
Здравствуйте,
Период окончания вечерней сессии указан в расписании торгов.
Если данный способ не устраивает, рекомендуем уточнить у специалистов биржи, рекомендуемый ими метод.
Порядок работы со списком инструментов при безостановочной работе Quik'а и Lua-скрипта
 
Цитата
Вячеслав + написал:
В какой момент нужно проверять, что таблица всех инструментов обновилась (добавились новые, удалились старые)? В момент начала выполнения обработчика OnConnected таблица инструментов уже обновлена?

Проверять после смены сессии в OnCleanUp

Цитата
Вячеслав + написал:
Что делать с подписками по Subscribe_Level_II_Quotes на удаленные инструменты?
ничего не делать
индекс РТС, разные значения
 
Здравствуйте,
Графики индексов (в отличии от графиков по торгуемым инструментам) строятся по таблице текущих торгов, которая обновляется срезами данных (раз в таймаут)
поэтому часть данных может быть пропущена при попадании на график
Отправка заявок на покупку/продажу из excel (VBA)
 
Здравствуйте,
Роман, помимо Trans2quik есть еще способ отправки транзакций.
Он немного попроще, возможно это то что Вам нужно.
В QUIK есть функционал Динамического импорта транзакций из текстового файла.
Суть его в том что QUIK считывает обычный текстовый файл и в случае появления в нем определенных строк, отправляет транзакции на сервер.
То есть Вам достаточно написать VBA макрос который будет при определенных условиях просто записывать строку в текстовый файл, а QUIK уже сделает все остальное.
формат тектового файла описан в документации
-Раздел 6. Совместная работа с другими приложениями
--Импорт транзакций
---Формат .tri-файла с параметрами транзакций

там же есть и примеры.
Получить последний тик бумаги
 
Здравствуйте,


Цитата
WennY написал:
Раз уж тему уже создал... Как получить макс/мин. возможную цену бумаги?

через тот же getParamEx, с параметром pricemin или pricemax
однако на фондовой секции они транслируются не всегда (зависит от настроек на стороне брокера)
Недостаточно лицензий!
 
Цитата
Alex написал:
Отключил BTrading.dll , видимо в нем была причина
Да верно. Ваш брокер не предоставляет услуги использования плагина корзины ценных бумаг (BasketTrading)
Если Вам нужен этот плагин, Вам нужно обратиться к брокеру.
Не изменяется содержимое файла в ЦИКЛЕ, Не изменяется содержимое файла в ЦИКЛЕ
 
Цитата
Вад написал:
Цитата
Sergey Gorokhov   написал:
Здравствуйте,
Так не должно быть. Возможно время на Вашем компьютере на 3 часа меньше реального?
Нет, конечно. ОС Win2003, может с ней какая-то особенность...?

Нет никаких особенностей.
Проверьте какой часовой пояс у Вас в настройках системы.
Не изменяется содержимое файла в ЦИКЛЕ, Не изменяется содержимое файла в ЦИКЛЕ
 
Здравствуйте,
Так не должно быть. Возможно время на Вашем компьютере на 3 часа меньше реального?
Как установить плечо?, Кнопка "установить остаток и плечо" не работает
 
Цитата
Антон Поташев написал:
Получил демо на вашем сайте, ситуация точно такая же. Плечо по умолчанию стоит 2. Как его можно убрать?

На нашем демо, плечо 2 автоматически ставится всем.
Уточните зачем Вам его нужно убрать?
Как установить плечо?, Кнопка "установить остаток и плечо" не работает
 
Здравствуйте,
Рекомендуем обратиться к брокеру
Получить последний тик бумаги
 
Здравствуйте,
Функция getItem возвращает строку из таблицы.
В частности у Вас в примере, выводит цену из последней строки таблицы обезличенных сделок.
В этой таблице может быть несколько разных инструментов.
В примере никакой сортировки нет, а значит вернется просто какая-то цена по непонятному инструменту.
Если нужен конкретный инструмент, напишите цикл который будет перебирать строки таблицы от последней к первой и при нахождении нужного инструмента выходить из цикла.

помимо этой функции, цену последней сделки можно получить через функции CreateDataSource, getCandlesByIndex или getParamEx
Создание нескольких (с одинаковым или разным содержанием столбцов) из одного скрипта
 
Здравствуйте,
Создать несколько таблиц можно.
Однако средствами LUA, к сожалению нельзя указывать расположение таблиц на вкладках
Перенос лимитных заявок ?, Перенос лимитных заявок через вечерний клиринг?
 
Здравствуйте,
Узнать параметры транзакции можно если добавить ее в Карман транзакций и от туда сохранить в tri файл.
Открыв файл блокнотом Вы увидите нужные названия параметров.
не работает функция sleep(), на одном компе не работает функция sleep()
 
Цитата
Олег написал:
Может быть дело в этом?
Нет не может, у нас проблема не воспроизводится.

Повторите проблему, после чего закройте терминал QUIK и пришлите нам quiksupport@arqatech.com всю папку (кроме ключей доступа) для анализа вместе с тестовым скриптом.
не работает функция sleep(), на одном компе не работает функция sleep()
 
Здравствуйте,
Функция sleep появилась позже появления LUA в QUIK, возможно у Вас устаревшая версия терминала?
Актуальная сейчас версия 7.2
Таблица сделок - связи, схема данных
 
Цитата
Василий Арефьев написал:
А этот алгоритм прописан где-нибудь? С ним можно ознакомиться?
Рекомендуем ознакомиться с правилами торгов на московской бирже.
Или получить консультацию у Вашего брокера.
Таблица сделок - связи, схема данных
 
Здравствуйте,
Второе.
Можно ли из LUA перейти на графике на нужный интервал?
 
Здравствуйте,
В LUA вообще нет ни одной функции которая как либо может управлять интерфейсом терминала QUIK и добавление таких функций в обозримом будущем не планируется.
Для решения вопроса можно использовать CreateDataSource в котором есть возможность выбрать нужный таймфрейм
Таблица сделок - связи, схема данных
 
Здравствуйте,
Если говорить о программировании, то связать данные можно по полю "ID транзакции" которое будет иметь одинаковое значение для стоп заявки/заявки/сделок  указанное программистом.
Если говорить о визуальном интерфейсе, то в таблице стоп заявок и сделок есть поле "Номер заявки", а в таблице заявок есть поле "Стоп-заявка"
Все это описано в документации на терминал QUIK (клавиша F1).
Страницы: Пред. 1 ... 45 46 47 48 49 50 51 52 53 54 55 ... 78 След.
Наверх