Снять заявку

Страницы: 1
RSS
Снять заявку
 
Добрый день
Не могу разобраться
я выставил заявку (не смотрите, что она рыночная)
     local Transaction={
       ['TRANS_ID']  = tostring(TRANS_ID),   -- Номер транзакции
       ['ACCOUNT']   = ACCOUNT,              -- Код счета
       ['CLASSCODE'] = CLASS_CODE,           -- Код класса
       ['SECCODE']   = SEC_CODE,             -- Код инструмента
       ['ACTION']    = "NEW_ORDER",          -- Тип транзакции ('NEW_ORDER' - новая заявка)
       ['OPERATION'] = "S",                  -- Операция ('B' - buy, или 'S' - sell)
       ['TYPE']      = "M",                  -- Тип ('L' - лимитированная, 'M' - рыночная)
       ['QUANTITY']  = "1",                  -- Количество
       ['PRICE']     = tostring(OpenPrice)   -- Цена
     }

Теперь мне надо ее снять
 local Transaction={
   ['TRANS_ID']  = tostring(TRANS_ID),       -- Номер транзакции
   ['ACCOUNT']   = ACCOUNT,                  -- Код счета
   ['CLASSCODE'] = CLASS_CODE,               -- Код класса
   ['SECCODE']   = SEC_CODE,                 -- Код инструмента
   ['ACTION']    = "KILL_ORDER",              -- Тип транзакции ('NEW_ORDER' - новая заявка)
   ['OPERATION'] = "B",                      -- Операция ('B' - buy, или 'S' - sell)
   ['TYPE']      = "M",                      -- Тип ('L' - лимитированная, 'M' - рыночная)
   ['QUANTITY']  = "1",                      -- Количество
   ['PRICE']     = "0"                       -- Цена
   ["ORDER_KEY"] = TRANS_ID_OLD                -- "<номер снимаемой заявки>"
}

1. Какие варианты снятия существуют: 1-перебор таблицы заявок, 2-снятие по ["ORDER_KEY"], 3-какие еще?
2. не могу найти описание ВСЕХ полей таблицы Transaction, в одних примерах нет поля ["ORDER_KEY"], в других оно есть
3 при выставлении определенных видов заявок, требуется заполнение полей, которые лишены смысла при таком типе заявки и эти поля не помечены как "обязательные"
4.Если я устанавливаю ['ACTION'] = "KILL_ORDER", то такие поля как OPERATION, TYPE, QUANTITY, PRICE (может и другие) вообще теряют смысл? Важно только поле ORDER_KEY - номер снимаемой заявки(если я правильно понимаю назначение этого поля), или и другие поля необходимо заполнять?.

Для тех.поддержки по поводу хелпа к луа
Я, думаю, тут не так много людей, которые пишут что-то подобное игре в "крестики-нолики". Пример этой программы, безусловно, интересен и позволит расширить функционал интерфейса программ на Lua, но хотелось  бы  видеть примеры реализации простейших вещей: выставление заявок(рыночных, лимитированных, условных,...), снятие этих заявок, отслеживание исполнения заявок.

Спасибо
 
Цитата
Владимир Б****ов написал:
или и другие поля необходимо заполнять?.
Поля, определяющие счет, код класса, код бумаги - обязательны к заполнению (я это понимаю  :smile: )
 
https://forum.quik.ru/messages/forum10/message11477/topic996/#message11477
Вот в этом примере в ф-ции заполняются только эти поля
        local transaction={
                 ["TRANS_ID"]=tostring(1000*os.clock()),
                 ["ACTION"]="KILL_ORDER",
                 ["CLASSCODE"]=classCode,
                 ["SECCODE"]=secCode,
                 ["ORDER_KEY"]=tostring(getItem(ord,orders[i]).order_num)
           }
Для не посвященного сплошной мрак  :sad:
 
Еще один вопрос.
1 отправка транзакции на сервер Идентификатор транзакции ->TRANS_ID
2 по OnTransReply(trans_reply) Получаем номер заявки ->orderNum = trans_reply.order_num

Вопрос: Если OnTransReply не дойдет, то как узнать номер заявки, которая была выставлена по транзакции TRANS_ID?
 
Чем дальше в лес, тем ......
В функции OnOrder(order) в таблице order есть
trans_id NUMBER Идентификатор транзакции
Это номер транзакции, отправленный в sendTransaction?
 
Цитата
Владимир Б****ов написал:
1. Какие варианты снятия существуют: 1-перебор таблицы заявок, 2-снятие по ["ORDER_KEY"], 3-какие еще?

Снять заявку через LUA можно только по номеру заявки. Как его узнать уже другой вопрос.

Цитата
Владимир Б****ов написал:
2. не могу найти описание ВСЕХ полей таблицы Transaction, в одних примерах нет поля ["ORDER_KEY"], в других оно есть
См документацию на терминал, "Раздел 6. Совместная работа с другими приложениями" - "Импорт транзакций"
"Формат .tri-файла с параметрами транзакций"

Цитата
Владимир Б****ов написал:
3 при выставлении определенных видов заявок, требуется заполнение полей, которые лишены смысла при таком типе заявки и эти поля не помечены как "обязательные"
Этот пункт совершенно непонятен.
Цитата
Владимир Б****ов написал:
Если я устанавливаю ['ACTION'] = "KILL_ORDER", то такие поля как OPERATION, TYPE, QUANTITY, PRICE (может и другие) вообще теряют смысл? Важно только поле ORDER_KEY - номер снимаемой заявки(если я правильно понимаю назначение этого поля), или и другие поля необходимо заполнять?.

Согласно нашей документации, в транзакции "KILL_ORDER" должны быть следующие поля:
CLASSCODE, SECCODE, TRANS_ID, ACTION, ORDER_KEY
Если в других источниках написано как-то иначе, это вопрос к автору этих источников.

Цитата
Владимир Б****ов написал:
но хотелось  бы  видеть примеры реализации простейших вещей: выставление заявок
См документацию на терминал, "Раздел 6. Совместная работа с другими приложениями" - "Импорт транзакций"
"Формат .tri-файла с параметрами транзакций" - "Примеры строк, которые могут содержаться в файле"
Единственное синтаксис нужно использовать LUA

Цитата
Владимир Б****ов написал:
Вопрос: Если OnTransReply не дойдет, то как узнать номер заявки, которая была выставлена по транзакции TRANS_ID?

По таблице заявок.

Цитата
Владимир Б****ов написал:
Чем дальше в лес, тем ......
В функции OnOrder(order) в таблице order есть
trans_id NUMBER Идентификатор транзакции
Это номер транзакции, отправленный в sendTransaction?

trans_id в таблице заявок это тоже самое что trans_id в транзакции
Страницы: 1
Читают тему
Наверх