Сергей Че (Все сообщения пользователя)

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

Страницы: 1 2 3 4 След.
Торговый счет и Код клиента, Назначение полей "Торговый счет" и "Код клиента" в таблицах QUIK
 
Цитата
Lidiya Mityukova написал:
Не совсем - разные коды клиентов нужны для торговли на разных рынках. Также несколько кодов клиентов нужны менеджерам, которые могут торговать от имени других клиентов.
То есть у одного торгового счёта могут быть несколько разных клиентов, и у одного клиента могут быть несколько разных торговых счетов?
getMoney
 
Почему разрабочики QUIK создали настолько непонятные названия для полей таблиц

Вот то, что согласно документации, возвращает функция getMoney



Что означают все эти поля?
Особенно меня интересуют три последних.
В чём их смысл и чем они отличаются?
Торговый счет и Код клиента, Назначение полей "Торговый счет" и "Код клиента" в таблицах QUIK
 
Цитата
Lidiya Mityukova написал:
и в рамках одного торгового счета могут работать несколько кодов клиентов.
Это как? Разные люди могут торговать на одном счёте?
Торговый счет и Код клиента, Назначение полей "Торговый счет" и "Код клиента" в таблицах QUIK
 
Приветствую всех.
Решил не создавать новую тему, а поднять старую, потому что у меня аналогичный вопрос.

Пожалуйста, разъясните подробно для начинающих, что такое торговый счёт (account) и что такое код клиента (client_code), в чём их предназначение и в чём их отличия?

Спасибо.
Firm ID в коде
 
В коде некоторых QLua функций есть параметр firm_id.
Это, как я понял, идентификатор брокера.
Он является константой (и его можно прописать как константу в коде) или он может меняться (и его надо каждый раз выковыривать из таблиц)?
Получение позиции опциона и количества денег на опционном счёте (субсчёт на срочном рынке)
 
Цитата
Oleg Kuzembaev написал:
Здравствуйте.

1. Да, технически опционы не выделяются отдельно и относятся к срочному рынку.
2. Да, можно воспользоваться той же функцией или getMoney.
Спасибо!
Получение позиции опциона и количества денег на опционном счёте (субсчёт на срочном рынке)
 
1. Как получить позицию опциона? Так же как и фьючерса - через функцию getFuturesHolding? (функции getOptionsHolding не существует)

2. Как получить количество денег на опционном счёте (субсчёт на срочном рынке)? Так же как и для фьючерсов - через функцию getFuturesLimit? (функции getOptionsLimit не существует)
Что происходит при экспирации опциона с точки зрения скрипта?
 
Цитата
Megafan написал:
Сделки есть. На примере нефти BR, у вас в 19:00 будет продажа за 0, вошедшего в деньги купленного опциона и поставка (продажа или покупка) фьючерса по цене страйка опциона.

Спасибо за ответ.Но откуда вы это знаете? Вы с этим уже сталкивались в своих скриптах?
То есть в момент экспирации опциона будет две сделки: продажа купленного опциона за 0, и покупка/продажа (если это CALL/PUT опцион) фьючерса по цене страйка опциона?
Если это так, то это прекрасно, потому что есть любое появление/исчезновение инструмента оформляется через сделку, и все варианты можно отработать в одной коллбеке!
Что происходит при экспирации опциона с точки зрения скрипта?
 
Цитата
nikolz написал:
А Вы не ошибаетесь? На каждый CALL есть свой PUT. Т е если кто-то купил ,то должен быть тот, кто продал

А причём тут CALL и PUT? Это разные типы опционов, а не противоположности одного типа.
Правильно сказать так.
На каждый купленный CALL, есть проданный CALL.
На каждый купленный PUT, есть проданный PUT.
Что происходит при экспирации опциона с точки зрения скрипта?
 
Поскольку все опционы поставочные, то когда происходит экспирация опциона, он исчезает и происходит поставка базового актива, т.е. фьючерса.
(да, есть и опционы на акции, но там малые обороты, они неликвидные, и я их не рассматриваю).

Если в момент экпирации у меня был CALL-опцион, то будет поставлен купленный фьючерс, а если PUT-опцион, то будет поставлен проданный фьючерс.
Таким образом, позиция по фьючерсу изменится (было одна, станет другая).

В связи с этим у меня вопросы.

1) Как отследить изменении позиции при поставке фьючерса в скрипте?

2) Сработает ли коллбек OnTrade при поставке фьючерса, как при обычной покупке/продаже фьючерсов в скрипте (или при ручной торговле в QUIKе через стакан)?Или же позиция по фьючерсу просто изменится по-тихому и всё? Ведь я как бы не покупаю и не продаю ничего (сделки как бы нет), мне просто поставляется базовый актив. Или же поставка актива при экспирации - это тоже сделка?
3) Понятно, что по-любому сработает коллбек OnFuturesClientHolding, но в каких случаях он сработывает? Только на изменение позиции или вообще на любой чих, типа изменилась вариационная маржа (которая менятся постоянно примерно раз в секунду)? Значит коллбек OnFuturesClientHolding срабатывает постоянно по любой мелочи изменений в таблице?

Пожалуйста, ответьте на эти вопросы.
Спасибо.
Робот, торгующий опционами
 
Цитата
nikolz написал:
Спасибо за ИИ-шную портянку всем известной базы. Ничего нового за свои 4 поста ты сюда не скопипастил.
Робот, торгующий опционами
 
Цитата
Сергей Че написал:
Написал письмо Мосбирже. Жду официального ответа.
limit_kind в таблице depo_limit
 
Цитата
nikolz написал:
Я ответил вам про параметр NUMBER limit_kind
что непонятно?  
То, что теперь limit_kind - это дата, а не число.
limit_kind в таблице depo_limit
 
Цитата
nikolz написал:
Цитата
Сергей Че написал:
limit_kind
 limit_kind>=0


Очень информативно! (нет!)
Если не можете дать чёткий ответ, лучше не писать.
limit_kind в таблице depo_limit
 
Цитата
Oleg Kuzembaev написал:
Вы можете использовать функции getDepo или getDepoEx, передавая в них нужные параметры (client_code, firmid, sec_code и trdaccid), на выходе получите нужные поля инструмента вне зависимости от обслуживающего брокера.

Вы так и не ответили на вопрос, что же именно передавать в качестве параметров в функции, чтобы получить реальную позициию акции, фьючерса или оациона.

Цитата
TABLE getDepoEx( STRING firmid, STRING client_code, STRING sec_code, STRING trdaccid, NUMBER limit_kind )

TABLE getFuturesHolding( STRING firmid, STRING trdaccid, STRING sec_code, NUMBER type )

Робот, торгующий опционами
 
Цитата
VPM написал:
Сергей Че, То это просто среднестатистическое мнение в лучшем случае из 10 сайтов, если не специализированный ИИ. Не упрощаете, а главное не перекладывайте ответственность. Разобраться должны Вы и ни кто другой. Удачи.
Написал письмо Мосбирже. Жду официального ответа.
Робот, торгующий опционами
 
Цитата
nikolz написал:
Нет, классических опционов (на право купить или продать вечный фьючерс) по вечным фьючерсам не существует.
Дело в самой природе этих инструментов.
Опцион — это контракт, который даёт право (но не обязательство) совершить сделку.
У него есть чётко определённый срок действия — дата экспирации.
А у вечного фьючерса этой даты просто нет: он ежедневно автоматически продлевается.
Из-за этого фундаментального различия — у вечного фьючерса нет срока жизни — и инструменты на его основе (включая опционы) не создаются.  tbank.ru  sbersova.ru
При этом важно не запутаться: иногда в разговоре люди смешивают понятия.
На Московской бирже действительно торгуются вечные фьючерсы (например, USDRUBF, IMOEXF, GLDRUBF),
и для них есть опционы — но это опционы на обычные (срочные) фьючерсы, а не на сам вечный контракт.
То есть вы покупаете опцион на ближайший стандартный фьючерс с конкретной датой экспирации, а не на вечный.  
Спасибо!
limit_kind в таблице depo_limit
 
Ух ты, какая интересная тема!
Так что мне теперь передавать в качестве параметра, если я хочу узнать позицию инстумента (акции, фьючерса, опциона), так что чтобы это было универсально для любого инструмента и любого брокера и танцев с бубном? "Tx"?
Я и так в QLua не силён, а тут ещё такое! Разработчики Квика, зачем вы ломаете жизнь алго-трейдерам?
Как получить дату экспирации?
 
Цитата
Йцукен написал:
Цитата
Сергей Че написал:
Число в формате ГГГГММДД?
Да
Спасибо
Как получить дату экспирации?
 
Цитата
Йцукен написал:
Цитата
Сергей Че написал:
Точно EXPDATE?
Я указал названия параметров для getParamEx2.
Думаю для getSecurityInfo это будет соответствовать exp_date
А какой результат даёт функция getSecurityInfo для exp_date? Число в формате ГГГГММДД?
Как получить дату экспирации?
 
Цитата
Йцукен написал:
Для фьючерсов
MAT_DATE - последний день обращения
EXPDATE - дата экспирации
В обоих случаях число вида ГГГГММДД
Точно EXPDATE?
В документации написано маленькими буквами и через подчёркивание

Как получить дату экспирации?
 
Цитата
VPM написал:
Так просто выведите и возьмите что нужно. Попробуйте так.

Не могли бы вы скопировать сюда результаты работы функции getSecurityInfo для любого фьючерса и опциона?
Заранее благодарю.
Как получить дату экспирации?
 
local t = getSecurityInfo( class_code, sec_code )
t.mat_date - это не дата экспирации, а дата погашения, и это относится к облигациям.
t.exp_date - это как раз дата погашения в виде числа. Но какого вида это число? ДДММГГ? ДДММГГГГ? ГГММДД? ГГГГММДД?
Зомби стоп-ордеры?
 
В принципе, чтобы не париться на тему, что стоп-ордер будет жить после смерти базового инструмента, можно явно выставить срок годности стоп-ордера.
Для акций можно задать EXPIRY_DATE="GTC", а для срочных интрументов - дату его экспирации.
Только я так и не понял, в каком формате задавать эту дату при создании стоп-ордера: ДДММГГ, ДДММГГГГ, ГГММДД или ГГГГММДД?
Зомби стоп-ордеры?
 
Что происходит со стоп-ордерами, которые запрограммированы на покупку/продажу инстумента, которого уже не существует?
Например, на продажу фьючерса, который перестал существовать, потому что прошла дата его экспирации.
Эти бессмысленные стоп-ордеры автоматически удаляются из системы? Или так и остаюся существовать в системе как зомби? И если да, то как их удалить?
UTF-8 или Windows-1251
 
Цитата
Oleg Kuzembaev написал:
Можем предложить зарегистрировать пожелание на доработку будущих версий. Регистрируем?
КОНЕЧНО! ОБЯЗАТЕЛЬНО!
UTF-8 или Windows-1251
 
QUIK по-прежнему понимает только скрипты в старой кодировке Windows-1251?
Или всё-таки разваботчики сделали шаг вперёд и внедрили полноценную поддержку скриптов в кодировке UTF-8?
Робот, торгующий опционами
 
Переформулирую вопрос. Может ли вечный фьючерс быть базовым активом для опциона? Или только обычный фьючерс может быть таковым?
Думаю, что вечный фьючерс не может, потому что у него экспирация каждый день, а производный инструмент (опцион) не может жить дольше, чем базовый актив.
Робот, торгующий опционами
 
Бывают ли опционы на вечные фьючерсы? Или только на обычные?
Робот, торгующий опционами
 
Цитата
funduk написал:
Сергей Че, по природному газу, да и по серебру, есть нецелые страйки, тем более по юаню.
Я уже разобрался. Мне пришёл официальный ответ от Мосбиржи.
Страйк может быть ЛЮБЫМ числом - и дробным, и нулевым, и даже отрицательным. В общем, теоретически - любым вещественным числом.
Как точно определить, можно ли в данный момент торговать или нет?
 
Точнее, ориентироваться на ==1 и ~=1
Как точно определить, можно ли в данный момент торговать или нет?
 
Цитата
Nikolay написал:
Затем, что в каких-то режимах можно устанавливать заявки, а в каких-то нет. Также разные допустимые диапазоны цен.

Например, в аукцион можно подать заявку, но диапазон цен намного уже обычной сессии.

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

Т.о. это всё не просто про можно-нельзя, а про текущий статус торговой сессии.
Сложно и непонятно. Короче, надо ориентироваться на 0/1 и всё.
Как точно определить, можно ли в данный момент торговать или нет?
 
Цитата
tohoki написал:

tonumber ( значение tradingstatus) == 1 - значит можно торговать

вообще коды такие:
0 - закрыта
1 - открыта
2 - закрытие
3 - открытие
4 - аукцион
5 - ЦАЗ
6 - дискретный аукцион

Для срочной секции только 0 и 1.  Вообще поведение параметра на инструментах , которые НЕАКЦИИ, имеет определенный сексуальный аспект, детали которого я не смог осознать.

А если значение >= 2 значит нельзя торговать? Или можно, но не желательно?
И вообще зачем столько значений, если по факту важны только 2 значения: можно в данный момент купить/продать или нельзя.
Как точно определить, можно ли в данный момент торговать или нет?
 
Цитата
Nikolay написал:
Раньше для срочной секции можно было получать параметр CLSTATE - Статус клиринга, чтобы понимать в каком клиринге. Теперь же, после 23.03.2026 многие брокеры перестали его транслировать корректно.
Спасибо, а то у меня как раз были вопросы о CLSTATE и нафиг он теперь нужен.
Как точно определить, можно ли в данный момент торговать или нет?
 
Цитата
Nikolay написал:
Запрашивать необходимо TRADINGSTATUS, т.к. по инструменту могут быть стоп торги. STATUS - это просто, что допущен к торговле.
А т.к. стоп может быть в любую секунду, хотя другие инструменты торгуются, то и запрашивать необходимо постоянно или хотя бы перед торговой операцией.
Какие значения TRADINGSTATUS говорят, что можно торговать?
Как точно определить, можно ли в данный момент торговать или нет?
 
Проверка, можно ли торговать
1) проверка времени (с 08:50 до 23:50)
2) isConnected() == 1
3) tonumber( getParamEx( сlass_сode,  sec_code, "STATUS" ).param_value) == 1

Поправьте меня, если я не прав.
Как точно определить, можно ли в данный момент торговать или нет?
 
Цитата
23 марта 2026 года срочный рынок Московской биржи переходит на единую торговую сессию (ЕТС).

Среди основных изменений – отмена промежуточного клиринга и перенос основного клиринга на конец торгового дня, что позволит клиентам совершать сделки в любое удобное время в период торгового дня и оперативно реагировать на изменения цен.
Торги на срочном рынке, как и ранее, будут проводиться с 8:50 до 23:50: утренняя дополнительная торговая сессия будет с 8:50 до 10:00, основная торговая сессия – с 10:00 до 19:00, вечерние торги – с 19:00 до 23:50.

Торги будут проводиться бесшовно, без приостановок на клиринг.

Вечерняя торговая сессия станет частью текущего торгового дня, ранее она относилась к следующему торговому дню. Новый формат торгового расписания станет более логичным и удобным для совершения операций как профессиональными участниками рынка, так и частными инвесторами: торговый день и календарный день будут синхронизированы, за исключением дополнительной сессии выходного дня, которая является частью следующего рабочего торгового дня

https://www.moex.com/n95317

Как точно определить, можно ли в данный момент торговать или нет?
Прошивать в скрипте время с 08:50 до 23:50 ? Или запрашивать параметр TRADINGSTATUS ?
А на фондовом рынке какое расписание? С 06:50 до 23:50 без остановок, как и на срочном рынке?
А какое расписание торгов в выходные дни?

Если ли способ, не прошивая в торговый робот расписание, точно определить можно ли в данный момент торговать акцией, фьючерсом, опционом?
Внешние Lua-модули
 
Цитата
Kolossi написал:
Я пользую
json = require("dkjson")

Модуль dkjson.lua кладется в основную папку квик.
Спасибо за идею. Я уже нашёл модуль для парсинга json-строк, который написан на чистом Lua и не требует установки в систему через менеджер luarocks.
Только этот файл надо кидать не в папку квика, а в ту папку, откуда стартует торговый робот, а эта папка может находиться где угодно.
Внешние Lua-модули
 
Будет ли Lua виртуальная машина, встроенная в QUIK, корректно работать с внешними (не встроенными в язык) модулями, которые я установил в свою систему через менеджер модулей luarocks?

К примеру мне нужен модуль для распарсивания JSON данных.

В Linux-консоли...
Код
$ sudo luarocks install lua-cjson

В коде торгового робота...
Код
local json = require( 'cjson' )
local tbl = json.decode( json_string )  -- JSON string -> Lua table
local json_string = json.encode( tbl )  -- Lua table -> JSON strin

Будет такой код работать в торговом роботе?
Робот, торгующий опционами
 
Цитата
Nikolay написал:
Лотность обычно приведёт его к целому числу.

А вот и нет. Шаг цены фьючерса на нефть = $0.01. Лотность фьючерса = 10. А страйки идут с шагом $1.
Робот, торгующий опционами
 
Цена фьючерса на нефть имеет шаг 0.01 (то есть 0.01$, так как цена измеряется в $).
Но опцион на фьючерс на нефть имеет шаг 1$, то есть в 100 раз больший, чем шаг БА (базовый актив).
Вопрос. Шаг опциона - это всегда целое число или оно может быть дробным, как шаг его БА?
Робот, торгующий опционами
 
Цитата
nikolz написал:
Это самый рискованный инструмент для торговли.  

Опцион - это самый доходный инструмент из имеющихся, но не самый рискованный.
Самый рискованный - это как раз фьючерс.
Если не продавать, а только покупать опционы, то твой маскимальный убыток - это деньги, которые ты заплатил за опционы.
Во фьючерсах же максимальный убыток не ограничен, и можно просто обнулиться (если не следить за позицией), сколько бы у тебя денег ни было на счету.
Робот, торгующий опционами
 
Что такое DDE?
Робот, торгующий опционами
 
Цитата
nikolz написал:
Страйк (цена) задаётся биржей при формировании спецификации контракта.
Биржа определяет все параметры опциона, кроме премии, которую устанавливают стороны сделки.
Как программно узнать текущую цену (премию) опциона? Это нужно знать, что рассчитать сколько опционов я могу купить, исходя из имеющихся свободных денег.
Для фюьчерсов - это ГО, и оно узнаётся легко через запрос парамтров BUY_DEPO и SELL_DEPO.
А для опционов как?
Робот, торгующий опционами
 
Цитата
Nikolay написал:
Вы можете исходя из текущей цены фьючерса, с неким шагом цены, строить коды опционов по спецификации и проверять наличие такого инструмента.
То есть я беру текущую цену фьючерса, умножаю на его лотность, и от этой цены иду в сторону увеличения цены с шагом цены фьючерса, и на каждом шаге составляю строку с потенциальным кодом опциона, и затем проверяю, существует ли он. Так?
Робот, торгующий опционами
 
Шаг страйков совпадает с щагом цены базового актива или нет?
Робот, торгующий опционами
 
Цитата
Nikolay написал:
Не очень понятен вопрос, т.к. это просто инструмент, такой же, по сути, как RIM6 SPBFUT. Методы получения данных те же, метода работы с заявками тоже.
Страйк это не какой-то параметр, а данные инструмента, т.е. каждый страйк это отдельный инструмент. Поэтому необходимо просто посмотреть спецификацию формирования кода опциона и выбирать необходимые.
Тот же RIM6 - это код инструмента. RI - контракт на фьючерс РТС. M - месяц экспирации (июнь). 6 - год. С опционами также, но просто методика формирования кода более сложная.
Как программно узнать список всех страйков для заданного инструмента, скажем RI, и стакан для каждого страйка?
Робот, торгующий опционами
 
Товарищи, может ли кто-нибудь из вас поделиться (если не жалко) торговым роботом, торгующим опционами.
Хотя бы простой робот - подгрузка доски опционов, выбор инструмента с определённой датой экспирации, покупка/продажа CALL/PUT с определённым страйком.
Коллбек OnTrade
 
Цитата
Nikolay написал:
Цена всегда за акцию. Лот - это минимально возможное число единиц для покупки на основной секции. Т.е. можно купить 1 лот, где 10 акций. Значит необходимо заплатить цена*10.
Есть ещё специальная секция для торговли неполными лотами, т.е. можно совершать сделки не лотами, а единицами акций.
Спасибо.
По-моему лоты - это глупая придумка, которая только сбивает с толку.
Торговля акциями (и вообще любыми инструментами) должна быть поштучной.
А чтобы не придумывать лоты для торговли супердешёвыми акциями, нужно просто ввести требования для всех эмитентов, что минимальная цена акции должна быть 100 рублей.
Коллбек OnTrade
 
Цитата
nikolz написал:
      Описание параметров Таблицы сделок
А price - это цена за акцию или за лот?
Страницы: 1 2 3 4 След.
Наверх