Не работают флаги ["Дата экспирации"] и ["Expiration date"] в SendTransaction
Пользователь
Сообщений: Регистрация: 21.03.2016
23.03.2016 12:31:26
Для выставления лимитированных заявок с длинным сроком жизни я взял соответсвующие поля из tri файла подобной заявки. Это флаги Move order=Yes (в русской версии tri файла: Переносить заявку=Да)
Из этих двух полей при выставлении заявки через Lua работает только Move order (заявка переносится через вчерний клиринг, и умирает на следующий день). Поле Expiration date не работает :-( Дату я пытался выставлять как YYYYMMDD так и как YYMMDD. Не подскажите, в чём может быть причина?
Заявка сейчас успешно выставляется в такой форме. Работает всё, кроме последнего поля.
в вопросе не написал второй флаг, исправляюсь: Это флаги Move order=Yes (в русской версии tri файла: Переносить заявку=Да) и Expiration date=20160613 (в русской версии tri файла: Дата экспирации=20160613)
Пользователь
Сообщений: Регистрация: 16.08.2015
23.03.2016 19:29:40
Сам мучаюсь таким же вопросом. Я думаю, дело в том, что параметр EXPIRY_DATE согласно руководства пользователя (6 Работа с другими приложениями, стр. 34) относится к стоп-заявкам, а не к лимитным.
Цитата
EXPIRY_DATE Срок действия стоп-заявки. Возможные значения: «GTC» – до отмены «TODAY» – до окончания текущей торговой сессии, Дата в формате «ГГГГММДД»
Вопрос к администраторам форума: Какой параметр следует указать при отправке лимитной заявки sendTransaction(), аналогично выделенному на рисунке:
Пользователь
Сообщений: Регистрация: 16.08.2015
23.03.2016 19:31:03
Пользователь
Сообщений: Регистрация: 08.03.2016
23.03.2016 19:41:14
Поддерживаю вопрос. На опционах если лимитную заявку ставить в ручную, то можно указать время действия (жизни) заявки, а программно (Lua) этого сделать нельзя. Почему так?
Пользователь
Сообщений: Регистрация: 16.08.2015
23.03.2016 21:32:42
Ответ есть в ветке от Егора. Дело в том что, установив Move order=Yes;Expiration date=20160323 заявка создается без этих параметров. Версии терминалов 7.1.0.371 и 7.0.4.10. Егор, можете прокомментировать???
Пользователь
Сообщений: Регистрация: 21.03.2016
24.03.2016 00:27:46
Цитата
Владимир написал: Ответ есть в ветке от Егора. Дело в том что, установив Move order=Yes;Expiration date=20160323 заявка создается без этих параметров. Версии терминалов 7.1.0.371 и 7.0.4.10. Егор, можете прокомментировать???
а я именно так всё и делаю. Не работает...
Т.е. создаю tri файл (причём делал как английскую, так и русскую версию), беру от туда нужные поля, но дата действия заявки не работает. Было подозрение на региональные настройки Windows с кучей форматов YYMMDD, YYYYMMDD, YY.MM.DD, MM/DD/YYYY - попробовал менять, не помогло.
Вопрос к сожалению никак не отвечен пока. Как видно я не один такой, с проблемой даты лимитированых заявок
Пользователь
Сообщений: Регистрация: 08.03.2016
24.03.2016 00:44:06
Цитата
Коля Маржин написал: Вопрос к сожалению никак не отвечен пока. Как видно я не один такой, с проблемой даты лимитированых заявок
Да, Вы такой не один. Я вопрос задал на другом сайте - возможно будет положительный ответ завтра.
QUIK clients support
Сообщений: Регистрация: 27.01.2015
25.03.2016 09:35:28
Цитата
Коля Маржин написал: а я именно так всё и делаю. Не работает...
Т.е. создаю tri файл (причём делал как английскую, так и русскую версию), беру от туда нужные поля, но дата действия заявки не работает. Было подозрение на региональные настройки Windows с кучей форматов YYMMDD, YYYYMMDD, YY.MM.DD, MM/DD/YYYY - попробовал менять, не помогло.
Добрый день,
Для переноса лимитной заявки на Срочном рынке необходимо использовать русские названия параметров. Рекомендуем воспользоваться следующим примером :
local trans = { ["TRANS_ID"] = "541", ["ACTION"] = "Ввод заявки", ["CLASSCODE"] = "SPBFUT", ["Инструмент"] = "SRM6", ["Торговый счет"] = "SPBFUT*****", ["Тип"] = "Лимитированная", ["К/П"] = "Покупка", ["Цена"] = "10900", ["Количество"] = "1", ["Условие исполнения"] = "Поставить в очередь", ["Переносить заявку"]="Да", ["Дата экспирации"]="20160327" } local res = sendTransaction(trans)
Пользователь
Сообщений: Регистрация: 02.12.2015
Ростовская обл., г. Батайск
25.03.2016 09:52:21
Попробуем...
Пользователь
Сообщений: Регистрация: 16.08.2015
26.03.2016 12:00:53
Почему не работают английские названия и нет описания в документации? Прошу исправить в новой версии и добавить в описание.
Пользователь
Сообщений: Регистрация: 28.03.2016
28.03.2016 10:16:00
Пример кода транзакции с автопереносом до указанной даты посмотрите здесь: Должно работать.
Пытаюсь EXPIRY_DATE="GTC" перенести заявку через вечерний клиринг, но не выходит. Как сейчас на FORTS реализуется данная функция?
Пользователь
Сообщений: Регистрация: 07.11.2023
08.11.2023 13:23:00
Цитата
ААААААА написал: Пытаюсь EXPIRY_DATE="GTC" перенести заявку через вечерний клиринг, но не выходит. Как сейчас на FORTS реализуется данная функция?
Да, действительно решается переходом на кириллицу (поля прописываем кириллицей)
Пользователь
Сообщений: Регистрация: 07.11.2023
08.11.2023 18:20:37
Цитата
ААААААА написал: Да, действительно решается переходом на кириллицу (поля прописываем кириллицей)
На демо версии с сайта разработчика все работает, а на версии брокера (ОТКРЫТИЕ и БКС) выдает ошибку "Ошибка транзакции открытия/закрытия: Неправильно указан вид транзакции: "Ввод заявки". Как быть? Кто подскажет
Пользователь
Сообщений: Регистрация: 27.01.2017
08.11.2023 18:45:15
Не надо полностью все поля писать кириллицей. Напишите только это поле так.
Пользователь
Сообщений: Регистрация: 07.11.2023
09.11.2023 09:33:41
Подскажите пожалуйста, что не так? Заявки выставляются , но опять без срока. transaction = { ACCOUNT=Account_code, TYPE="L", -- Тип ('L' - лимитированная, 'M' - рыночная) TRANS_ID=RandomTransId(), CLASSCODE=Class_code, SECCODE=Sec_code, ACTION="NEW_ORDER", OPERATION=sOperation, -- Операция ('B' - buy, или 'S' - sell) PRICE=GetCorrectPrice(nPrice), QUANTITY=nQty, ["Условие исполнения"] = "Поставить в очередь", ["Переносить заявку"] = "Да", ["Дата экспирации"] = sDate, --Дата в формате "ГГГГММДД" ("20231115") CLIENT_CODE="Бот : "..BotN };
Попробуйте отправить транзакцию с описанием в универсальном формате.
Вы можете получить полный набор параметров транзакции в таком формате из "Кармана транзакций": 1) откройте таблицу "Карман транзакций"; 2) создайте транзакцию с необходимыми параметрами; 3) в контекстном меню таблицы выберите "Сохранить транзакции в tri-файл" - сохраненный tri-файл будет содержать список параметров и их значений введенной Вами транзакции, их можно использовать в Lua-скрипте.
Пользователь
Сообщений: Регистрация: 07.11.2023
09.11.2023 12:32:33
Спасибо большое! Помогло! Мудренно )))) но работает!
Пользователь
Сообщений: Регистрация: 27.01.2017
28.01.2025 18:15:48
Подниму тему.
Читаем справку:
Универсальный формат позволяет отправлять любые транзакции, если известно их описание
Описание набора полей транзакции можно посмотреть в окне создания .
Ок. Смотрим на поля окна для фондовой секции по акциям. Есть такое поле "Код клиента". Собственно оно обязательно для акций. Вводим в карман транзакций заявку, указывая код клиента. Сохраняем в файл. Смотрим - а кода клиента нет. Ну ладно, бывает. Пробуем отправить транзакцию в этом формате, добавив поле "Код клиента" (выше же сказано, что поля можно увидеть в окне).
Получаем:
Ошибка выставления лимитной заявки: Не найдено поле "Код клиента" для транзакции "Ввод заявки" по классу "Акции 1-го уровня (эмулятор)"
Убираем поле "Код клиента" - работает. Но как же так, код-то нужен. Код видно только в поле "Примечание" вместе с введённым комментарием.
Внимание вопрос: это так демо-сервер работает или лыжи не едут...
Этот квест с универсальным форматом просто великолепен. Если бы сделали перенос заявки в фиксированном формате, то, видимо, никто бы не задавал больше вопросов. Но нет...
На Учебном сервере QUIK-Junior для транзакции "Ввод заявки" по классу "Акции 1-го уровня (эмулятор)" отсутствует поле "Код клиента" - Вы можете убедиться в этом, добавив такую транзакцию в "Карман" и проверив список ее параметров. Соответственно, при указании параметра "Код клиента" отправка этой транзакции приводит к ошибке.