iceberg order

Страницы: 1
RSS
iceberg order, (латиница в заявке)
 
Добрый день.
В примерах заявок в info.chm для айсберг заявки показан пример
Код
    /** На фондовом рынке Московской Биржи, купить 100 лотов Аэрофлота по цене 70, видимое количество лотов в очереди - 10, код клиента 467
     *
     * CLASSCODE=TQBR;
     * TRANS_ID=2;
     * ACTION=Ввод айсберг заявки;
     * Торговый счет= S01-00000F00;
     * К/П=Купля;
     * Тип=Лимитная;
     * Тип по цене=по разным ценам;
     * Тип по остатку=поставить в очередь;
     * Тип ввода значения цены=По цене;
     * Инструмент=AFLT;
     * Цена=70;
     * Лоты= 100;
     * Видимое количество=10;
     * Примечание=467;
     * */
Действительно при офрмировании ордера необходимо писать кирилицей, например,
Код
{
   [ACTION] = "Ввод айсберг заявки"
   [Торговый счет] = "S01-00000F00"
   [Тип] = "Лимитная" 
   [Видимое количество] = "10"
   
   и т.д.
}

или это опечатка?
Q
 
Цитата
QApplication написал:
Действительно при офрмировании ордера необходимо писать кирилицей
Добрый день.
Да, нужно писать именно кириллицей (при условии, что у Вас включен русский язык в терминале). Подробнее про особенности подачи транзакций можно почитать в 4 разделе официального мануала, ссылку смотрите у меня в подписи.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
Nikolay Pavlov написал:
нужно писать именно кириллицей
В мануле info.chm написано:
Скрытый текст

1. Получается нельзя направить айсберг заявку на латинице? т.е. нужно переключиться на русскую версию QUIKa?
2. Как описать айсберг заявку, если она отправляется из внешнего ПО, которое записывает строку в UTF-8. Будут ли проблемы?
3. Некоторых полей на латинице нет в описании (Формат trii-файла с параметрами транзакций), например,
Код
Видимое количество=10;
Q
 
Цитата
QApplication написал:
Получается нельзя направить айсберг заявку на латинице?
Вся особенность в том, что для подачи айсберг-заявки нужно использовать универсальный формат (он описан в мануале, на который я давал ссылку выше). Универсальный формат транзакции использует кириллицу, если язык интерфейса терминала Quik задан русский, или же латиницу, если язык терминала задана английский. Все это подробно описано в 4 разделе мануала 'Использование Lua в Рабочем месте QUIK.pdf'.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
Nikolay Pavlov написал:
Универсальный формат транзакции использует кириллицу, если язык интерфейса терминала Quik задан русский, или же латиницу, если язык терминала задана английский.
Ок, можно пример айсберг заявки в универсальном формат на латинице.
Q
 
Цитата
QApplication написал:
Ок, можно пример айсберг заявки в универсальном формат на латинице.
Если терминал Quik запущен с английским интерфейсом, то если для транзакции Iceberg order entry для класса TQBR создать транзакцию в кармане транзакций и выгрузить ее в tri-файл, то получим следующее:
Скрытый текст
для данную транзакцию из Lua можно подать следующим образом:
Код
transaction = {}
transaction['TRANS_ID'] = '400001'
transaction['ACTION'] = 'Iceberg order entry'
transaction['CLASSCODE'] = 'TQBR'
transaction['Trading account'] = 'L01-XXXXXXXX'
transaction['Broker reference'] = 'СС1'
transaction['Security'] = 'LKOH'
transaction['Direction'] = 'Buy'
transaction['Price'] = '5592.5'
transaction['Lots'] = '1000'
transaction['Visible quantity'] = '100'
transaction['Type'] = 'Limit'

result = sendTransaction(transaction)

if result ~= "" then
 message(string.format("Транзакция %s не прошла проверку на стороне терминала QUIK [%s]",
 transaction.TRANS_ID, result))
else
 message(string.format("Транзакция %s отправлена",
 transaction.TRANS_ID))
end

При запуске терминала с русским интерфейсом tri-файл будет выглядеть уже следующим образом:
Скрытый текст

а Lua транзакцию соответственно уже нужно задавать так:
Код
transaction = {}
transaction['TRANS_ID'] = '400001'
transaction['ACTION'] = 'Ввод айсберг заявки'
transaction['CLASSCODE'] = 'TQBR'
transaction['Торговый счет'] = 'L01-XXXXXXXX'
transaction['Примечание'] = 'СС1'
transaction['Инструмент'] = 'LKOH'
transaction['К/П'] = 'Купля'
transaction['Цена'] = '5592.5'
transaction['Лоты'] = '1000'
transaction['Видимое количество'] = '100'
transaction['Тип'] = 'Лимитная'
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Спасибо за подробный ответ.
Уточнение: поля чувствителны к регистру?
Код
transaction['Lots'] = '1000' vs transaction['LOTS'] = '1000'
Q
 
Цитата
QApplication написал:
Уточнение: поля чувствителны к регистру
Да, поля регистрозависимые.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Является ли нормальным значение поля Price indication type.

Код
Price indication type="Conventional" price;
Тип события активации заявки=Обычная заявка;
Q
 
можно в документацию QLUA.chm добавить описание всех полей на ru and en для универсального формата.
Q
 
Цитата
QApplication написал:
Является ли нормальным значение поля Price indication type.
Это значение по умолчанию для данной транзакции на фондовом рынке Московской Биржи. В Lua его можно не указывать, все необязательные поля терминал Quik проставит значениями по умолчанию. Это поле наподобие EXECUTION_CONDITION=PUT_IN_QUEUE

(Раздел 6. Совместная работа с другими приложениями -> Импорт транзакций -> Формат .tri-файла с параметрами транзакций)
EXECUTION_CONDITION
Условие исполнения заявки, необязательный параметр. Возможные значения:
«PUT_IN_QUEUE» – поставить в очередь (по умолчанию),
«FILL_OR_KILL» – немедленно или отклонить,
«KILL_BALANCE» – снять остаток


Насколько мне известно, поле "Тип события активации заявки" для класса TQBR может принимать еще значения "Заявка с временем активации" и "Заявка в аукцион закрытия"
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
QApplication написал:
можно в документацию QLUA.chm добавить описание всех полей на ru and en для универсального формата.
Это невозможно сделать, количество рынков (и соответственно транзакций) не ограничено только Московской Биржей. В том и преимущество универсального формата транзакций, что его можно узнать самому для любой транзакции доступной по правам в Вашем терминале. Достаточно воспользоваться таблицей "Карман транзакций", добавить в нее нужную транзакцию, и сохранить ее в tri-файл.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
QApplication написал:
2. Как описать айсберг заявку, если она отправляется из внешнего ПО, которое записывает строку в UTF-8. Будут ли проблемы?
если на английском, те в пределах ASCII, то запишется в один байт и всё должно быть ОК
но если на русском, то это два байта на символ и тогда только многобайтный парсинг выручит, но это вряд ли этот случай,
бо тут территория святого вантуза :)
 
Цитата
новичок написал:
если на английском, те в пределах ASCII, то запишется в один байт и всё должно быть ОК
я бы так не рисковал...
должна быть 1251. чё мудрить-то...
Страницы: 1
Читают тему
Наверх