Izotova Liliya написал: , здравствуйте. varmargin - вариационная маржа, рассчитанная с учетом установленных границ изменения цены; real_varmargin - реально начисленная в ходе клиринга вариационная маржа. Отображается с точностью до 2 двух знаков; total_varmargin - суммарная вариационная маржа по итогам основного клиринга, начисленная по всем позициям. Отображается с точностью до 2 двух знаков.
Можно поподробнее пожалуйста. Не вижу разницы. Просто скажите, какое поле таблицы мне запрашивать, чтобы узнать конкретную прибыль/убыток по конкретному фьючерсу. Спасибо.
varmargin vs real_varmargin vs total_varmargin
Пользователь
Сообщений: Регистрация: 30.10.2024
17.10.2025 10:36:52
varmargin vs real_varmargin vs total_varmargin В чём отличия этих полей в твблице getFuturesHolding ?
Я думаю, регистрировать коллбек, который будет вызываться при на каждом чихе (при любом измнении таблицы, например, при изменении вариационной маржи, которая изменяется постоянно) -- это не совсем правильно. Я думаю, вручную вызвать метод getFuturesLimit в тот момент, когда я закрываю позицию (выхожу из рынка), чтобы посмотреть, сколько я заработал, сравнив полученные деньги с предыдущим знанчением.
Спасибо Т.е. вызов должен быть такой? (добавил проверку на nil, если произошла ошибка при вызове функции)
Код
function get_money()
local t = getFuturesLimit( firmid, account, 0, "" )
return t and ( t.cbplused + t.cbplplanned + t.varmargin + t.accruedint - t.ts_comission )
-- ну или ...
-- return t and ( t.cbplimit + t.varmargin + t.accruedint - t.ts_comission )
end
Цитата
Если необходимо получить информацию по фьючерсному лимиту без валюты, то в качестве curr_code задается пустая строка.
Что за фьючерсный лимит без валюты? Я же торгую и фьючами с валютной привязкой, например индекс RTS и чисто рублёвыми фьячами, например, индекс МосБиржи.
Сколько у меня денег в данный момент времени?
Пользователь
Сообщений: Регистрация: 30.10.2024
15.10.2025 03:59:23
Сколько у меня всего денег в данный момент времени (на срочном рынке)?
local t = getFuturesLimit( ... )
return t.cbplused + t.cbplplanned + t.varmargin + t.accruedint - t.ts_comission
Я прав? Или нет?
И какие параметры у функции getFuturesLimit()
firmid - ID брокера (понятно)
trdaccid - торговый счёт / аккаунт (понятно)
limit_type - непонятно
currcode - непонятно
Объясните пожалуйста
Рыночная заявка для торговли фьючерсами
Пользователь
Сообщений: Регистрация: 30.10.2024
05.09.2025 12:22:27
Цитата
Nikolay написал: Вы определитесь уже - хотите исполнения ордера, сдвигаете цену и платите комиссию.
Я определился уже - мне нужна активная покупка, а не пассивное ожидание. Я разрабатываю торговый робот. Поэтому мне надо именно купить/продать, а не ждать у моря погоды. Допустим, мои индикаторы сигналят, что будет рост, а я выставляю цену в спред, в надежде, что цена до неё дойдёт и тогда я куплю без комиссии. Так можно профукать вход в позицию.
написал: На срочной секции нет рыночных ордеров. Можно только устанавливать ордера внутри ценовых границы последнего клиринга. Причина проста - сумма ГО зависит от цены. Поэтому устанавливая ордер далеко от цены клиринга, ГО возрастает и существенно.
И какую цену ставить? Текущая + сколько? (для покупки) Может быть, текущая + (текущая + максимум)/2 ?
Лучшая цена предложения/ спроса.
То есть ты предлагаешь перед подачей заявки сканировать стакан?
Рыночная заявка для торговли фьючерсами
Пользователь
Сообщений: Регистрация: 30.10.2024
29.08.2025 14:05:59
Ой, я немного ошибся. Я хотел предложить (текущая + максимум) / 2 для покупки (текущая + минимум) / 2 для продажи Подойдёт такой вариант?
Рыночная заявка для торговли фьючерсами
Пользователь
Сообщений: Регистрация: 30.10.2024
29.08.2025 14:01:11
Цитата
Nikolay написал: На срочной секции нет рыночных ордеров. Можно только устанавливать ордера внутри ценовых границы последнего клиринга. Причина проста - сумма ГО зависит от цены. Поэтому устанавливая ордер далеко от цены клиринга, ГО возрастает и существенно.
И какую цену ставить? Текущая + сколько? (для покупки) Может быть, текущая + (текущая + максимум)/2 ?
Рыночная заявка для торговли фьючерсами
Пользователь
Сообщений: Регистрация: 30.10.2024
29.08.2025 02:07:51
Цитата
funduk написал: 0 для срочки для рыночной сделки нельзя ставить, на сколько я помню.
А разве квику не должно быть пофиг на выставленную цену, если выставлен type="M"?
Рыночная заявка для торговли фьючерсами
Пользователь
Сообщений: Регистрация: 30.10.2024
28.08.2025 20:05:31
Цитата
funduk написал: Я использую type="M" и завышенную цену одновременно
А может быть можно не париться с завышенной/заниженной ценой? А то ведь не всякую цену можно указать, она должна быть в диапазоне минимуму до максимума, заданных биржей на текущий день.
Рыночная заявка для торговли фьючерсами
Пользователь
Сообщений: Регистрация: 30.10.2024
27.08.2025 18:22:37
Можно ли использовать поля type="M" и price="0" в таблице, которая передаётся в функцию sendTransaction для купли/продажи фьючерсов по рыночной цене? Или надо использовать лимитную заявки (type="L") со специально завышенной ценой для покупки и специально заниженной ценой для продажи?
Технологические времена работы биржи
Пользователь
Сообщений: Регистрация: 30.10.2024
21.07.2025 21:42:42
Цитата
Nikolay написал: Проверять на 0 цены - это плохая затея, т.к. во-первых, есть инструменты с допустимой ценой = 0, а во-вторых, для срочного рынка во время клиринга, для фондовой между сессиями цена может "бегать" от 0 до последней. Собственно в период, когда торги не идут, данные с сервера могут приходить какие угодно. Так что уже лучше время проверять, обеспечив точность своих часов. У меня сделано через несколько проверок, время, статус, сделки. И если один из них не проходит, то данные не считываются, т.к. получить цену 0 как рабочую - это проблема для алгоритмов.
Вы же сами выше написали, что полагаться на время - так себе затея.
Цитата
Времена часто изменяются. Они на сайте биржи в разделе расписание торгов есть. У Валютной секции совсем другие времена, для примера.
Технологические времена работы биржи
Пользователь
Сообщений: Регистрация: 30.10.2024
21.07.2025 08:17:12
Цитата
nikolz написал: Можно сделать еще проще. Если инструмент не торгуется, то его текущая цена равна нулю.
А я думал, что при приостановке торгов цена инстумента просто замирает (не изменяется), а не обнуляется.
Или надо шаманить с параметрами TRADINGSTATE + CLSTATE ?
Порой мне кажется разработчики QUIK забыли сделать пару очевидных колбеков типа OnTradingStart() и OnTradingStop(), которые срабатываюь, когда торговля начинается/возобновляется и когда она приостанавливается, вместо того, чтобы париться с расписанием торгов или вышеупомянутыми параметрами?
Максимальное значение TRANS_ID для транзакций
Пользователь
Сообщений: Регистрация: 30.10.2024
11.07.2025 03:29:33
Если бы TRANS_ID был строкой (скажем с макс. кол-вом символом символов = 255), то туда можно было записать всё, что угодно, без проблем. Даже можно было бы сериализовать небольшую таблицу. Удобно же. Тем более TRANS_ID -- это данные только для пользователя, самой системе на этот параметр наплевать, она его никак не проверяет. Всё равно всё отправляется на сервер в строковом виде (даже числа).
Максимальное значение TRANS_ID для транзакций
Пользователь
Сообщений: Регистрация: 30.10.2024
10.07.2025 22:18:01
Цитата
BlaZed написал: Я шифрую в trans_id время, номер робота и порядковый номер транзакции И значение всегда уникально и увеличивается постоянно в течении сессии
Что вы в нем хранить то собираетесь что вам текущего размера не хватает?
Не подскажете формулу, как вы всё это упаковываете в число?
Я пока только тренируюсь в написании своего первого торгового робота, но уже нопял, что по номеру транзакции надо уметь выявлять, что этот ордер/сделка -- следствие той самой транзакции, чтобы не спутать с ордерами/сделками, инициированными другими скриптами.
Максимальное значение TRANS_ID для транзакций
Пользователь
Сообщений: Регистрация: 30.10.2024
10.07.2025 20:14:08
Где-то прочитал, что TRANS_ID -- уникальный идентификационный номер заявки со значениями от «1» до «2 147 483 647»
То есть получается от 1 до 2^32 - 1. Это когда Квик был ещё 32-битным? Надеюсь сегодня это значение гораздо больше. Поправьте меня, если я не прав.
Явно не из-за этого. В Lua строка - это "immutable sequences of bytes". Т.е. не важно что там. Плюс, начиная с версии 5.3, есть базовая поддержка UTF8
Если использовать Lua вне экосистемы Quik, то прекрасно работают файлы с кодировкой UTF-8. Тот же редактор ZeroBraneStudio работает в UTF-8, и не поддерживает win1251.
Ну вот! Значит нет никаких преград реализовать это в Квике! Пожалуйста, реализуйте полноценную поддержку скриптов в колировке UTF-8 в Квике!
Поддержка UTF-8
Пользователь
Сообщений: Регистрация: 30.10.2024
07.07.2025 02:43:52
Пожалуйста, очень прошу, сделайте полноценную поддержку скриптов в кодировке UTF-8, которые содержат строки и комментарии на русском языке. Надоело постоянно переконвертировать скрипты в Windows-1251 из дефолтной UTF-8, которая уже давно стала мировым стандартом.
Как отлаживать скрипты?
Пользователь
Сообщений: Регистрация: 30.10.2024
18.04.2025 16:26:25
Цитата
funduk написал: QUIK активно противодействует отладке, падая при любом подключённом отладчике.
Я так понял, что лучший вариант из доступных -- это просто писать в лог в нужном месте скрипта.
Как отлаживать скрипты?
Пользователь
Сообщений: Регистрация: 30.10.2024
25.03.2025 14:50:47
Товарищи, подскажите пожалуйста, как в редакторе Visual Studio Code последовательно строчка за строчкой отладить Lua индикаторы/скрипты, запущенные квиком?
Спасибо.
Недостаточно прав для использования модуля "Модуль неторговых поручений"
Пользователь
Сообщений: Регистрация: 30.10.2024
18.03.2025 15:01:48
При запуске QUIK я каждый раз вижу сообщение
Цитата
Недостаточно прав для использования модуля "Модуль неторговых поручений".
Раньше такого не было. Что-то не так? Что нужно сделать, что сообщение больше не появлялось?
Консольный QUIK
Пользователь
Сообщений: Регистрация: 30.10.2024
16.03.2025 14:18:32
Предлагаю разработчикам QUIK создать легковесную версию терминала безо всякого графического интерфейса — просто консольная программа с интегрированной Lua виртуальной машиной для управления скриптами/торговыми роботами.
К примеру,
Код
quikluascript --start <путь к скрипту> # чтобы запустить скрипт
quikluascript --stop <путь к скрипту> # чтобы остановить скрипт
quikluascript --list # чтобы вывести список всех работающих в данный момент скриптов
Зачем нужно запускать тяжеловесный QUIK, ждать 10-15 минут, пока он стартанёт, который при этом жрёт дофига памяти и напрягает процессор, чтобы потом просто запустить скрипт и ничего не делать, держа открытым окно QUIK'a в течение торгового дня?
Индикаторы и торговые роботы для WebQUIK
Пользователь
Сообщений: Регистрация: 30.10.2024
15.03.2025 17:24:29
Можно ли загрузить самописные индикаторы и торговые роботы в WebQUIK и торговать по ним?
Я пользователь Linux.
Как правильно «переворачиваться»?
Пользователь
Сообщений: Регистрация: 30.10.2024
01.03.2025 04:20:51
Допустим, я купил 5 фьючерсов, и мой скрипт сигналит о падении. Надо перевернуться. Для этого надо продать 10 фьючерсов. Как правильно это сделаль?
При торговле вручную в терминале, нажатие на кнопку «Перевернуться» («R») выводит ошибку, но если нажать «Закрыть позицию» («C»), а потом сразу продать по рынку («Sm») 5 фьючерсов, то всё проходит нормально, без ошибок. Почему? Потому что резервируется больше денег, если я хочу совершить сделку с бОльшим объёмом?
В связи с этим вопрос, как правильно (без возможных ошибок) «переворачиваться» в скрипте? 1) отправлять транзакцию на продажу 10 фьючерсов 2) отправлять 2 транзакции на продажу 5 фьючерсов (закрыть лонг и открыть шорт) 3) в цикле от 1 до 10 отправлять по одной транзакции на продажу 1 фьючерса
---------- И ещё один вопрос вдогонку. Раньше был замечательный сайт luaq.ru, а теперь его нет. Жаль. Где можно оперативно получить онлайн-справку по программированию индикаторов и скриптов на Lua в QUIK?----------
Спасибо.
Торговля фьючерсами и опционами в WebQUIK
Пользователь
Сообщений: Регистрация: 30.10.2024
30.11.2024 22:41:50
Удобно ли пользоваться WebQUIK для активной торговли фьючерсами и опционами (особенно фьючерсами) на срочном рынке? Какие индикаторы поддерживаются в версии WebQUIK? Те же, что и в стандартном QUIK? Или их меньше? Я сильно полагаюсь на индикаторы при торговле.
Причина моего рассмотрения WebQUIK -- я на работаю в Linux, и меня совсем не устраивает то, как работают windows-приложения под Wine.
Спасибо.
Сохранение в Excel-файл всех данных из любой таблицы
Пользователь
Сообщений: Регистрация: 30.10.2024
22.11.2024 15:28:46
С LibreOffice Calc всё ещё проще, как оказалось. Не надо создать промежуточный текстовый файл в формате CSV. Просто копируешь данные из квика. Потом открывашь новую таблицу в LibreOffice Calc, жмёшь "Вставить" (Ctrl+V), и умный Сalc понимает, что в буфере обмена многостроковые данные, а не просто одна текстовая строка для вставки в ячейку, и сразу предлагает распарсить содержимое как CSV и вставить данные в таблицу. 👍
Сохранение в Excel-файл всех данных из любой таблицы
Пользователь
Сообщений: Регистрация: 30.10.2024
22.11.2024 15:00:29
Цитата
Ziveleos написал: ПКМ > "Копировать всё" > вставить в "Блокнот" > сохранить как ,csv > открыть в LibreOffice Calc.
Большое спасибо.
Маленькое дополнение от меня. При импорте .CSV в LibreOffice Calc надо задать в качестве разделителя только табуляции (с других возможных разделителей снять галочки) и поставить галочку "Обрезать пробелы". Тогда всё идеально.
Сохранение в Excel-файл всех данных из любой таблицы
Пользователь
Сообщений: Регистрация: 30.10.2024
22.11.2024 14:07:31
Было бы прекрасно, если бы при клике правой кнопке мыши по любой таблице, содержащей данные, можно было бы экспортировать её содержимое в Excel-файл.
А ешё лучше -- экспортировать в ODF-файл -- это файл для LibreOffice Calc, свободного аналога Microsoft Excel. (Я работаю в Linux). Но это не обязательно, можно и просто в Excel, потому что Excel знают все, да и LibreOffice Calc умеет без проблем конвертировать Excel-файлы в родные для LibreOffice Calc.
К примеру, я хочу регулярно сохранять в файл все сделки, сдеанные за день -- что купил/продал, в каком количестве, когда это было по времени, по какой цене, и т.д. Чтобы на каждый день у меня был свой файл со всеми сделками.
Работа терминала QUIK в Wine
Пользователь
Сообщений: Регистрация: 30.10.2024
22.11.2024 12:41:16
Цитата
_sk_ написал: Я просто удалил vcomp140.dll из папки, терминал обновился штатно до версии 11.4.0.54, после этого проверка показывает окно, что версия на сервере не изменилась, как и должно быть.
Из какой папки?
Работа терминала QUIK в Wine
Пользователь
Сообщений: Регистрация: 30.10.2024
19.11.2024 18:57:02
Цитата
_sk_ написал: Спасибо за ответ. Здесь размещу одно замечание, а остальные буду направлять сразу на указанную выше электронную почту.
Если проверить обновление программы терминала через меню и одобрить его, то процесс обновления проходит корректно: создаётся папка с бэкапом, файлы заменяются, терминал стартует заново. Однако, после повторной проверки обновлений, указан один файл, который, якобы, не обновлён. Похоже, что-то не так с проверкой времени файла (кажется, в Windows и Linux есть нюансы в этом месте).
Скриншот прилагается. Обновление проверяется в терминале версии 11.3.4.3.
Я думал, я один такой с такой проблемой! Ура! Я не один! У меня тоже Linux и тоже проблема с некорреткным обновлением файла vcomp110.dll. Обновляется всё, кроме него. Из-за чего, каждый раз при загрузке крика всплывает сообщение о необходимости обновить квик.
Оповещения от индикаторов
Пользователь
Сообщений: Регистрация: 30.10.2024
19.11.2024 18:50:15
Можно ли настроить QUIK таким образом, чтобы было срабатывало оповещение (звуком и или всплывающим сообщением), когда какой-то индикатор достигает определённого значения? К примеру, когда MACD пересекает ноль?
Спасибо.
Добавьте возможность инвертировать направления скролла мышкой
Пользователь
Сообщений: Регистрация: 30.10.2024
07.11.2024 15:14:59
Сейчас на графике при скролле мышкой вниз идёт перемещение назад в прошлое, а при скролле вверх -- в будущее, к текущему моменту времени. Мне же кажется очевидным, что как и везде при работе интернете или с документами, скролл наверх -- это назад (в прошлое), а вниз -- это скролл вперёд (в будущее, к текущему моенту времени). Всегда путаюсь -- хочу посмотреть, как цена ведёт себя дальше, а сам мотаю назад.