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

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 67 След.
Получение данных из Доски опционов
 
Роман,
Такой возможности нет
Остановить скрипт при закрытии терминала
 
Цитата
s_mike@rambler.ru написал:
А (правильный) вариант исправления/добавления терминала уже не рассматривается в принципе? Базовая потребность - и только костылями?

Если речь о том чтобы зарегистрировать пожелание, тогда Вы должны его озвучить (пожелание)
Остановить скрипт при закрытии терминала
 
s_mike@rambler.ru,
Михаил,
Можно запоминать состояние stopped во внешнем хранилище.
Или добавить проверку на что то еще, например подключение к серверу.
GetInfoParam("SERVERTIME"), не всегда срабатывает
 
Цитата
Александр Кашников написал:
Лирика: ваша FixTime (V) избыточна применительно к проверкам такого рода совместно с GetInfoParam( "SERVERTIME" ). Просто убрать два двоеточия гораздо быстрее, а смысл тот же.
Ваше право.

Цитата
Александр Кашников написал:
Откуда берет значение getInfoParam("SERVERTIME")?
С пакета данных который прислал сервер QUIK.
Кроме того есть еще локальный счетчик который накручивает время при отсутствии свежих данных.

Цитата
Александр Кашников написал:
Через какое МИНИМАЛЬНОЕ время после соединения с вашим сервером ГАРАНТИРОВАННО можно понять, что данные получаемые с сервера корректны (время ПК +- пару секунд +- часовой пояс), а не далекое прошлое, как в примере выше?
такой константы не существует, всегда есть куча переменных в зависимости от которых время может быть разным.
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
 
Цитата
Андрей написал:
update.exe остался 32-битный?
Да
Цитата
Андрей написал:
есть 64-битная версия?
Нет, а Вам зачем?
Торгуемые классы
 
Цитата
s_mike@rambler.ru написал:
Господа разработчики, как понимаю, задача решения не имеет?

штатного решения нет
Получение данных из Доски опционов
 
Цитата
Роман написал:
Добрый день! Подскажите, как получить из Позиций по клиентским счетам код класса через getItem("FUTURES_CLIENT_HOLDING",i) -- SPBOPT (другими словами отделить опционы от фьючерсов)  и можно ли каким-то образом получить там же код базового актива для опционов ( или базовый актив только через getParamEx?). Хочу сделать индикатор вариационной маржи по опционным позициям, когда таковые есть, на графике базового актива.

В FUTURES_CLIENT_HOLDING нет кода класса, Вы можете в этом убедиться просто открыв таблицу в терминале. Отделить опционы можно по коду инструмента т.к. коды фьючерсов явно отличаются от опционов. Этого достаточно чтобы узнать все остальные параметры инструмента, например через getSecurityInfo
Получение данных из Доски опционов
 
Роман,

таблица торгов обновляется раз в период, по таймауту.
таблица обезличенных сделок обновляется по мере поступления данных.
По этому в таблице обезличенных сделок данные более актуальные чем в таблице текущих торгов.
Получение данных из Доски опционов
 
Цитата
Роман написал:
Всё в одном месте и без задержек данных.  

Это не правда. Доска опционов, это банальный калькулятор, который просто что то считает и отображает данные из других таблиц.
Логично что таблица из которой доска берет данные куда лучше чем сама доска.

Цитата
Роман написал:
Или же в расширениях сделайте Окно графиков открытого интереса наподобие окна графиков волатильности (только в виде гистограмм (по Х - страйки, по Y-количество, рядом две гистограмки на страйке (колы и путы)) в разделе стратегия. Или же можно в виде линии (как улыбка волатильности) - несколько линий разных цветов (разные даты экспирации по одному базовому активу. Выбираем актив FUT - и получаем на одной диаграмме все открытые интересы по всем страйкам и датам экспирации, например.

График открытого интереса Вы можете построить уже сейчас, по данным из таблицы текущих торгов.
Вам же, на сколько становится понятно хочется видеть график по данным из таблицы обезличенных сделок.
Через LUA Вы можете построить его уже сейчас используя LUA индикаторы.
в all_trades это параметр open_interest см документацию.

Другой момент в том что штатными средствами терминала QUIK построить график открытого интереса по таблице обезличенных сделок нельзя.
И на это мы можем зарегистрировать пожелание.
Получение данных из Доски опционов
 
Роман,
Чем поможет доска опционов для решения задачи построения открытого интереса на графике?
Снятие стопов после закрытия сделки., Снятие стопов после закрытия сделки.
 
Vasiliy,
Пример работы с функцией getItem есть в документации, глава "Функции для обращения к строкам произвольных таблиц QUIK"
Базовый актив
 
Цитата
Константин Рейм написал:
А можно по фьючерсу акцию определить?

также по параметру OPTIONBASE

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

например через функцию getItem
Снятие стопов после закрытия сделки., Снятие стопов после закрытия сделки.
 
Цитата
Vasiliy написал:
Спасибо. А если у меня на одном инструменте только одна стоп заявка все равно нужно прописывать ее номер?
Да.

Цитата
Vasiliy написал:
Если да, то откуда брать этот номер?
Из таблицы стоп заявок.

Цитата
Vasiliy написал:
Или его нужно самому присваивать, где и как?
Номер присваивает сервер, после того как Вы выставите стоп заявку
Снятие стопов после закрытия сделки., Снятие стопов после закрытия сделки.
 
Цитата
Vasiliy написал:
Подходит ли для этого функция KILL_STOP_ORDER?
Это команда на снятие стоп заявки. Вам же нужно снять стоп заявку? Тогда она подходит.

Цитата
Vasiliy написал:
Что прописывать в атрибутах функции "номер ордера"?
номер стоп заявки которую хотите снять.
Цитата
Vasiliy написал:
Нужно ли писать цикл проверки?
Не понятно о чем речь.
Если хотите проверять статус стоп заявки это Ваше право, проверяйте.
Цитата
Vasiliy написал:
Если можно скиньте пример, буду очень благодарен.
Можно воспользоваться поиском на форуме
например тут
https://forum.quik.ru/messages/forum10/message9212/topic996/#message9212
Получение данных из Доски опционов
 
Здравствуйте,
Функций не появилось
Якорь в таблицах созданных из LUA
 
Здравствуйте,
такой возможности не предусмотрено
Проблемы с TRANS2QUIK_SEND_SYNC_TRANSACTION, Возвращается TRANS2QUIK_SUCCESS, а значение тикета в pdOrderNum равно нулю
 
GrigoriyA,
ответ уже был дан выше
Функция выставления тейк профита, Ошибка в выставлении профита
 
Виталий,
У Вас в коде в цикле "for i=1,#index do" снимаются все активные стопы.
Видимо функция ProfitControl вызывается несколько раз, от этого предыдущий стоп и снимается.
либо не запускайте функцию по нескольку раз, либо предусмотрите в указанном цикле условия при которых стоп не должен сниматься.
Проблемы с TRANS2QUIK_SEND_SYNC_TRANSACTION, Возвращается TRANS2QUIK_SUCCESS, а значение тикета в pdOrderNum равно нулю
 
Цитата
Сергей написал:
Функция TRANS2QUIK_SEND_SYNC_TRANSACTION возвращает TRANS2QUIK_SUCCESS, а значение тикета в pdOrderNum равно нулю, заявки нет в терминале QUIK. Это случается не для каждого запуска функции. Происходит на Демо-счете Финама. В каком направлении двигаться дальше)?

Успешность отправки транзакции не гарантирует регистрацию заявки.
Например если биржа по каким-то причинам отвергла регистрацию. Транзакция дошла до биржи? Да дошла. Значит и статус у нее соответствующий.
А то что биржа отвергла регистрацию заявки это уже вопрос к бирже.
Могут быть и другие примеры ситуации, в любом случае нужно смотреть на ошибку которую вернула система.
Перенос лимитной заявки, Перенос лимитной заявки на фондовой секции!?
 
Цитата
Виктор Волков написал:
Ещё раз повторю вопрос- почему разработчик за много лет не сделает возможность автоматического переноса не исполненной лимитной заявки на споте как это делается на срочке!?
Еще раз повторим ответ, потому что такого функционала нет на бирже.

В QUIK всё уже давно сделано в алго модуле, но он платный
getItem vs SearchItems, (скорость получения выборки)
 
QApplication,
SearchItems быстрее.
На сколько именно, к сожалению затруднимся сказать т.к. число не постоянно и зависит от многих факторов.
Вы можете проверить это самостоятельно на Вашей конфигурации.
как узнать идентификатор таблицы
 
Здравствуйте,
идентификатор вернет функция AllocTable

t_id = AllocTable()
AddColumn (t_id , 1, "test", is_default, QTABLE_INT_TYPE, 10)
Минимальный размер видимой части у айсберга
 
Цитата
rodionos написал:
Было бы логично иметь соответствующий параметр и в самом Квике.
От куда ее транслировать? ведь в биржевом протоколе такого параметра нет.
Будет в протоколе, тогда появится и в QUIK.
Из воздуха к сожалению транслировать не умеем.
Минимальный размер видимой части у айсберга
 
rodionos,
Речь про биржевую транзакцию, в связи с чем вопрос к специалистам биржи.
На сколько нам известно в биржевом протоколе нет такого параметра.
Дробное значение balance
 
Старатель,
Да
Дробное значение balance
 
Цитата
Старатель написал:
Цитата
Sergey Gorokhov написал:
Если сервер выше 8.0 то количество требуется отображать с учетом точности инструмента, однако, на российских рынках как правило нет инструментов с дробным количеством, так что можно также умножать на 100.
Можно поподробнее?
В версии 8.1.0.30 balance отображается целым числом, зачем ещё умножать?

А никто не говорил что надо что-то умножать на версии 8.1.
речь про умножение была только про старую версию где был баг.
Дробное значение balance
 
Здравствуйте,
Цитата
Старатель написал:
В какой версии ошибка устранена?
Исправление было в 8.0

Цитата
Старатель написал:
В какой версии была добавлена ошибка?
ошибка обнаружена в 7.24

Цитата
Старатель написал:
Проблема на всех рынках?
не зависит.

Цитата
Старатель написал:
В версиях, где ошибка присутствует, чтобы получить корректное значение снятого остатка, достаточно balance умножить на 100, или размер лота, или другое значение? Или всё сложнее?
ответ зависит еще и от версии сервера.
Если сервер ниже 8.0 то да, надо просто умножить на 100.
Если сервер выше 8.0 то количество требуется отображать с учетом точности инструмента, однако, на российских рынках как правило нет инструментов с дробным количеством, так что можно также умножать на 100.
OnTrade flags - направленность сделки
 
rodionos,
добавим
NEWS in QUIK, callback on news
 
Здравствуйте,
такой возможности нет
OnTrade flags - направленность сделки
 
Цитата
rodionos написал:
подскажите, как правильно интерпретировать 5-ый и 6-ой биты таблицы trades.
Кстати, возможно это то что Вам нужно
TRADE_MAKER = 32; /**< Пассивная (сделка образована по ранее выставленной заявке). */
TRADE_TAKER = 64; /**< Активная (сделка образована по заявке выставленной для ее образования) */

Цитата
rodionos написал:
2) Был бы полезен getAllTradeByNumber по аналогии с getOrderByNumber, для быстрого получения строки с использованием индекса. Таблица all_trades большая и в отсутствие индекса поиск через SearchItems скорее всего будет медленным.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
OnTrade flags - направленность сделки
 
Цитата
rodionos написал:
Сергей, интересует расшифровка flags таблицы trades, то есть таблицы с моими сделками.
Она приведена в документации о которой Вы же и говорили в начале.

Цитата
rodionos написал:
Из этого флага нужно получить направленность сделки аналогично тому, как она кодируется в AllTrades.
Биржа не транслирует этой информации, следовательно и в QUIK Вы ее увидеть не сможете.

Цитата
rodionos написал:
Иначе придется искать мою сделку по идентификатору в таблице обезличенных сделок.
Другого выхода нет
callback OnParam(args) and getParamEx2(args), Тип данных параметра (param_type) отсутствует в описании QLUA.chm
 
Цитата
QApplication написал:
он у вас в документации описан как string.
К сожалению Lua не умеет лезть в документацию.
Цитата
QApplication написал:
в qlua.chm допишите, что для result = false type = 0;  и все будет понятно.
Это не всегда так. Вернее нет гарантий что это всегда так.
Цитата
QApplication написал:
насколько я понял, у вас одна структура данных для указанной функции для всех поддерживаемых рынков.
Вам понятно что на бирже нет такого параметра, как QUIK может показать то чего нет? никак, и не будет он что то придумывать просто ради того чтобы было как везде.
Набор параметров для разных рынков разный, а функция одна на все рынки.
OnTrade flags - направленность сделки
 
Цитата
rodionos написал:
По сути необходимо значение нулевого бита так как он проставлен для этой сделки в AllTrades (обезличенные сделки).

Обратите внимание что речь про обезличенные сделки.
Сделка одна. А заявки приведшие к сделке две, от двух людей, у одного на покупку у другого на продажу.
Однако в сделке мы видим какое-то направление.
В документации на этот счет сказано следующее:
Цитата
«Купля» – заключена сделка путем выставления заявки на покупку против находящейся в торговой системе котировки на продажу;
«Продажа» – сделка на продажу;
OnTrade flags - направленность сделки
 
rodionos,
Честно вопрос не понятен.
Совсем.
бит 2 показывает направление, Вы же сами сказали.
callback OnParam(args) and getParamEx2(args), Тип данных параметра (param_type) отсутствует в описании QLUA.chm
 
Цитата
QApplication написал:
или в документацию на QLUA.chm допишите тип 0 - undef
Вы не туда смотрите, Вам на result смотреть надо, если false то нет параметра, значит и характеристик параметра нет. Как уже было сказано 0 это просто значение по умолчанию. Это не значимая константа.
callback OnParam(args) and getParamEx2(args), Тип данных параметра (param_type) отсутствует в описании QLUA.chm
 
Цитата
QApplication написал:
Не согласен.
на фондовом рыке нет такого параметра как "Начало вечерней сессии", он есть на срочном рынке.
QUIK умеет работать далеко не с одной биржей и далеко не с одним рынком, а на разных биржах и рынках разный набор доступных параметров.
Просто потому что их создавали разные люди.
от куда Lua должен взять информацию о том что тип «3» - CHAR если такого параметра просто нет?
callback OnParam(args) and getParamEx2(args), Тип данных параметра (param_type) отсутствует в описании QLUA.chm
 
Цитата
QApplication написал:
почему то изображение не подтянулось (смотрите QLUA.chm: TABLE getParamEx (STRING class_code, STRING sec_code, STRING
param_name))
Вы запрашиваете параметры которых просто нет.
Если result = false то и возвращать нечего, а param_type = 0  это просто значение по умолчанию.
callback OnParam(args) and getParamEx2(args), Тип данных параметра (param_type) отсутствует в описании QLUA.chm
 
Цитата
QApplication написал:
При вызове callback OnParam(args) вызываю getParamEx(args...) со всеми возможными аргументами (описаны в info.chm), часть возвращаемых таблиц имеют не описанное значение param_type в документации («0») .
При этом полу result соответствует «0».
Приведите пример о чем речь
Доска опцинов из QLUA
 
Цитата
Женя Логинов написал:
почему в версии 7.27.2.1 на запрос DAYS_TO_MAT_DATE выдает nil? этот параметр уже нельзя запросить? в руководстве пользователя 7.27 этого параметра нет. хотя если строить таблиц текущих торгов, то столбец с количеством дней до погашения есть...

что я делаю не так?
Соответствие Кодов клиента и Торговых счетов, Определение соответствия Кодов клиента и Торговых счетов
 
Цитата
QApplication написал:
На сколько я понимаю, у разных аккаунтов могут быть одинаковые Идентификаторы фирм firmid?
Да могут.

Цитата
QApplication написал:
Можно привести физическое назначение поля firmid.
Внутри QUIK, фирма это некое объединение (группа) счетов.
У брокера может быть несколько фирм.

Цитата
QApplication написал:
Что такое фирма во взаимоотношениях клиент-брокер-биржа.

Для пользователя это просто некий идентификатор.
Для брокера это раздел к которому принадлежат счета.
Для биржи (если говорить про фондовый рынок), это некий Уникальный идентификатор участника торгов.
Если говорить про срочный рынок, то это рездел, при чем для одной фирмы в QUIK может быть несколько разделов на бирже.
Соответствие Кодов клиента и Торговых счетов, Определение соответствия Кодов клиента и Торговых счетов
 
Цитата
QApplication написал:
Вопрос: как получить код клиента, соответствующий торговому аккаунту.

Для одного кода клиента может быть несколько торговых счетов. Какой считать правильным?
Однозначного ответа нет. По этой причине нет однозначной связи между trade_account и client_code.
Вы можете по таблице depo_limits подобать нужный Вам счет.
Вопрос про OnAllTrade
 
Let_it_go,
только фильтровать по времени
Вопрос про OnAllTrade
 
Цитата
Let_it_go написал:
Есть ли риски, что в OnAllTrade прилетит старая сделка из сегодняшних?Ну например при первом старте КВИКа в 13 часов в КВИК начнут сыпаться ранее прошедшие сделки. Они мне не нужны. И только потом начнут поступать новые.  
Да риски есть, например тот же перезаказ данных.
Надежно обезопасить себя можно только через фильтрацию в самом коде скрипта.
Перенос лимитной заявки, Перенос лимитной заявки на фондовой секции!?
 
Цитата
Кирилл написал:
Наоборот, это не единственный, а самый неуклюжий вариант. Начинающий инвестор вряд ли является еще и программистом. Итак, если человек каждое утро по бумажке выставляет в программе свои заявки, почему бы не создать такой список в самой программе? Причем тут вообще биржа? Она и не узнает, кто выставил. Вы же сами это и говорите - ручную работу может заменить некий скрипт. И во всех серьезных программах реализована функция автоматического исполнения одних и тех же действий по шаблону. Это называется batch-processing или как-то так. Хоть в редакторах, хоть в конвертерах и т.п. И здесь этого нет только по одной причине - лень программистов создать лишнюю вкладку. Или какая-то выгода. Например,  этот костыль к программе могут продавать неопытным людям в виде отдельного скрипта, который человек, изрядно намучившись изо дня в день, рано или поздно купит за любые вменяемые деньги.


В QUIK есть импорт транзакций из файла. Вы можете один раз записать туда нужные Вам транзакции и загружать файл каждый день.
К слову обращаем внимание что за транзакции может браться комиссия, и конечные пользователи меньше всех заинтересованы в увеличении количества транзакций.
Нам не известно, берет ли Ваш брокер такую комиссию или нет, но биржа точно берет.
Обращение к данным таблицы из индюка, Что-то наподобие БД через AllocTable
 
Цитата
AndyJOKER написал:
Эммм, несколько странно слышать это от Вас, как от разработчика.
Почему странно?
Доступные функции явно описаны в документации:
-Индикаторы технического анализа
--Функции и глобальные переменные скрипта индикатора
--Список функций, доступных из скрипта индикатора
Обращение к данным таблицы из индюка, Что-то наподобие БД через AllocTable
 
Цитата
AndyJOKER написал:
Весело.
Я правильно понимаю, что фактически в индикаторах можно использовать только данные  O, H, L, C, V, T  ,  Size ?

Нет, категорически не верно, можно и другие данные, зависит от того что Вам нужно.
Если Вам нужно получить данные в индикаторе из другого скрипта, то почему бы не воспользоваться обменом через файлы? Один сприпт пишет в файл, другой читает.
описание функции Squeeze
 
Цитата
Aleksei написал:
но судя по формуле вернется 0,т.к (8-8)/2

Вы категорически не правы, проверьте на простом примере:
Скрытый текст



на второй итерации sum[Ip]=8, где Ip=1
и sum[Ippp] = nil
По формуле получается
(8 - (nil or 0)) / 2 = (8-0)/2 = 8/2 = 4
Обращение к данным таблицы из индюка, Что-то наподобие БД через AllocTable
 
Цитата
AndyJOKER написал:
Валится с ошибкой "attempt to call global 'GetCell' (a nil value)".

В QLUA индикаторах нет такой функции "GetCell"
Собственно в QLUA индикаторах вообще нет никаких функций для работы с GUI таблицами, они там не поддерживаются.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 67 След.
Наверх