Не работают флаги ["Дата экспирации"] и ["Expiration date"] в SendTransaction

Страницы: 1
RSS
Не работают флаги ["Дата экспирации"] и ["Expiration date"] в SendTransaction
 
Для выставления лимитированных заявок с длинным сроком жизни я взял соответсвующие поля из tri файла подобной заявки. Это флаги Move order=Yes (в русской версии tri файла: Переносить заявку=Да)

Из этих двух полей при выставлении заявки через Lua работает только Move order (заявка переносится через вчерний клиринг, и умирает на следующий день). Поле Expiration date не работает :-( Дату я пытался выставлять как YYYYMMDD так и как YYMMDD. Не подскажите, в чём может быть причина?

Заявка сейчас успешно выставляется в такой форме. Работает всё, кроме последнего поля.

sendTransaction({
         ACCOUNT=self.account,
         CLIENT_CODE=self.client,
         CLASSCODE=self.market,
         SECCODE="GZM6",
         TYPE="L",
         TRANS_ID=tostring(self.trans_id),
         ACTION="NEW_ORDER",
         OPERATION="S",
         PRICE=tostring(self.price),
         QUANTITY="1",
       ["Move order"]="Yes",
["Expiration date"]="20160613"
})
 
в вопросе не написал второй флаг, исправляюсь: Это флаги Move order=Yes (в русской версии tri файла: Переносить заявку=Да) и Expiration date=20160613 (в русской версии tri файла: Дата экспирации=20160613)
 
Сам мучаюсь таким же вопросом. Я думаю, дело в том, что параметр EXPIRY_DATE согласно руководства пользователя (6 Работа с другими приложениями, стр. 34) относится к стоп-заявкам, а не к лимитным.
Цитата
EXPIRY_DATE Срок действия стоп-заявки. Возможные значения:
 «GTC» – до отмены
 «TODAY» – до окончания текущей торговой сессии,
 Дата в формате «ГГГГММДД»
Вопрос к администраторам форума:
Какой параметр следует указать при отправке лимитной заявки sendTransaction(), аналогично выделенному на рисунке:

 
лимит
 
Поддерживаю вопрос. На опционах если лимитную заявку ставить в ручную, то можно указать время действия (жизни) заявки, а программно (Lua) этого сделать нельзя. Почему так?
 
Ответ есть в ветке https://forum.quik.ru/forum10/topic1409/ от Егора. Дело в том что, установив Move order=Yes;Expiration date=20160323 заявка создается без этих параметров. Версии терминалов 7.1.0.371 и 7.0.4.10.
Егор, можете прокомментировать???
 
Цитата
Владимир написал:
Ответ есть в ветке  https://forum.quik.ru/forum10/topic1409/  от Егора. Дело в том что, установив Move order=Yes;Expiration date=20160323 заявка создается без этих параметров. Версии терминалов 7.1.0.371 и 7.0.4.10.
Егор, можете прокомментировать???
а я именно так всё и делаю. Не работает...

Т.е. создаю tri файл (причём делал как английскую, так и русскую версию), беру от туда нужные поля, но дата действия заявки не работает. Было подозрение на региональные настройки Windows с кучей форматов YYMMDD, YYYYMMDD, YY.MM.DD, MM/DD/YYYY  - попробовал менять, не помогло.

Вопрос к сожалению никак не отвечен пока. Как видно я не один такой, с проблемой даты лимитированых заявок
 
Цитата
Коля Маржин написал:
Вопрос к сожалению никак не отвечен пока. Как видно я не один такой, с проблемой даты лимитированых заявок
Да, Вы такой не один. Я вопрос задал на другом сайте - возможно будет положительный ответ завтра.
 
Цитата
Коля Маржин написал:
а я именно так всё и делаю. Не работает...

Т.е. создаю 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)
 
Попробуем...
 
Почему не работают английские названия и нет описания в документации? Прошу исправить в новой версии и добавить в описание.
 
Пример кода транзакции с автопереносом до указанной даты посмотрите здесь: http://luarobot.apmt.ru/2016/03/28/transactiondate/
Должно работать.
 
Stanislav Tvorogov, большое спасибо! Заработало
 
Код
   local Transaction         = { -- Заполняет структуру для отправки транзакции
      ["TRANS_ID"]           = tostring(trans_id);
      ["CLASSCODE"]          = Class_Opt;
      ["ACTION"]             = "Ввод заявки";
      ["Торговый счет"]      = Account;
      ["К/П"]                = bs;
      ["Тип"]                = "Лимитированная";
      ["Класс"]              = Class_Opt;
      ["Инструмент"]         = sec;
      ["Цена"]               = tostring(open);
      ["Количество"]         = "1";
      ["Условие исполнения"] = "Поставить в очередь";
      ["Комментарий"]        = "";
      ["Проверять лимиты"]   = "Да";
      ["Переносить заявку"]  = "Да";
      ["Дата экспирации"]    = Data;}
   local res = sendTransaction(Transaction) -- Отправляет транзакцию
Для опционов - работает
 
Цитата
Stanislav Tvorogov написал:
["Переносить заявку"]="Да",["Дата экспирации"]="20160327"
Выполняю следующую транзакцию:
transaction = {
ACCOUNT=Account_code,
TYPE="L",
TRANS_ID=RandomTransId(),
CLASSCODE=Class_code,
SECCODE=Sec_code,
ACTION="NEW_ORDER",
OPERATION=sOperation, -- Операция ('B' - buy, или 'S' - sell)
PRICE=GetCorrectPrice(nPrice),
QUANTITY=nQty,
EXPIRY_DATE="GTC"
};

Пытаюсь EXPIRY_DATE="GTC" перенести заявку через вечерний клиринг, но не выходит. Как сейчас на FORTS реализуется данная функция?
 
Цитата
ААААААА написал:
Пытаюсь EXPIRY_DATE="GTC" перенести заявку через вечерний клиринг, но не выходит. Как сейчас на FORTS реализуется данная функция?

Да, действительно решается переходом на кириллицу (поля прописываем кириллицей)
 
Цитата
ААААААА написал:
Да, действительно решается переходом на кириллицу (поля прописываем кириллицей)
На демо версии с сайта разработчика все работает, а на версии брокера (ОТКРЫТИЕ и БКС) выдает ошибку "Ошибка транзакции открытия/закрытия:  Неправильно указан вид транзакции: "Ввод заявки". Как быть? Кто подскажет
 
Не надо полностью все поля писать кириллицей. Напишите только это поле так.
 
Подскажите пожалуйста, что не так? Заявки выставляются , но опять без срока.
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-скрипте.
 
Спасибо большое! Помогло!  Мудренно )))) но работает!
Страницы: 1
Читают тему
Наверх