Nemo_2000
Nemo_2000 личный блог
21 марта 2016, 15:47

Сообщение Quik "Вы не можете снять данную заявку"

Пишу простенького робота на qlua. Сейчас возникла проблема со снятием активной стопзаявки. Выставляю ордер со стопом и пытаюсь снять стоп для модификации вот этим скриптом

p_account = «SPBFUT00521»
p_clientcode = «101326»
p_classcode = «SPBFUT»
p_seccode = «SiM6»

TRANS_ID = 0

is_run = true
count=1
function main()
while is_run do
message(«Hello, World! №»..tostring(count),1)
count=count+1
for Index = 0,getNumberOf(«stop_orders») — 1 do
any = getItem(«stop_orders»,Index)
if bit.band(any.flags, 1) > 0 then
Stop_Order = any.order_num
--message(tostring(Stop_Order),1)
KILL_STOP_ORDER(p_classcode, p_seccode, p_account, Stop_Order)
end
end
sleep(5000)
end
end


function OnStop(stop_flag)
is_run=false
end

function KILL_STOP_ORDER(_MARKET, _TICKER, _ACCOUNT, _NUMBER)
TRANS_ID = TRANS_ID + 1
t =
{
[«TRANS_ID»]= tostring(TRANS_ID),
[«ACCOUNT»] = tostring(_ACCOUNT),
[«CLASSCODE»] = tostring(_MARKET),
[«SECCODE»] = tostring(_TICKER),
[«ACTION»] = «KILL_ORDER»,
[«ORDER_KEY»] = tostring(_NUMBER)
}
message(t.TRANS_ID.." "..t.ACCOUNT.." "..t.CLASSCODE.." "..t.SECCODE.." "..t.ACTION.." "..t.ORDER_KEY,1)
res=sendTransaction(t)
end

Ну и получаю сообщение от квика «Вы не можете снять данную заявку» Все параметры в транзакцию передаются правильно. Похоже это проблемы квика, а не клуа

Сообщение Quik "Вы не можете снять данную заявку"

Может кто подскажет, что с этим делать, 
Спасибо.
47 Комментариев
  • Sofiy
    21 марта 2016, 15:59
    Проверьте наличие заявки на данном сервере, может выставляли на другом. По заявочке правой кнопкой мыши и сделать заявку своей, если есть такая строка.
  • Sofiy
    21 марта 2016, 16:12
    Не мучайтесь, позвоните брокеру.
      • Sofiy
        21 марта 2016, 16:19
        Nemo_2000, тогда попробуйте так еще если версия 7, то система, перезаказать данные, если не получится опять, закройте квик, перезагрузите компьютер, предварительно сохранив данные.
  • спидараминепью
    21 марта 2016, 16:13
    забей на это сообщение, есть таблица заявок а в ней статус, заявка либо активна либо снята
      • спидараминепью
        21 марта 2016, 16:17
        Nemo_2000, я ты проверь в таблице ) просто это квик косячит заявку снимает и сообщение кидает)
  • П М
    21 марта 2016, 16:16
    никогда не снимал заявки.
    но есть KILL_ORDER — снятие заявки
    и есть KILL_STOP_ORDER — снятие стоп-заявки.

  • Eldar Shaymardanov
    21 марта 2016, 16:19
    а вручную заявка снимается?
  • спидараминепью
    21 марта 2016, 16:22
    кстати на демке может просто не быть лимиток
      • П М
        21 марта 2016, 16:34
        Nemo_2000, если вручную снимается, то ковыряй в сторону сохранения транзакции в файл. там в файле будет тебе корректный текст, только идентификаторы транзакции и заявки поменять.
        вообще я думал стоп и лимитная заявка должны по разному убиваться.
        потому что стоп может породить лимитку. если лимитка уже есть, стоп убивать безсмысленно, надо убивать лимитку.
        как узнать номер лимитки по номеру стоп-заявки, я без понятия.
        а если лимитки ещё нет, то надо убивать стоп.

        стоп убивается так
        CLASSCODE=SPBFUT; SECCODE=RIM1; TRANS_ID=50624875; ACTION=KILL_STOP_ORDER; STOP_ORDER_KEY=186080;

        а ты явно лимитку пытаешься прибить.
      • спидараминепью
        21 марта 2016, 16:35
        Nemo_2000, это демо там вообще по идее нет стоп заявок)
  • Igr
    21 марта 2016, 16:34

    на демо счёте пытаюсь автоматически выставить заявку, пишет - Вам запрещена работа по данному торговому счету

    а вручную всё выставляется, из-за демо счёта такая фигня?

    может и у вас что то похожее?

      • Igr
        21 марта 2016, 16:58
        Nemo_2000, счёт норм, проверил 
  • Eldar Shaymardanov
    21 марта 2016, 16:35
    единственное что приходит в голову — несоответствие номера заявки и номера транзакции. (посмотрите по передаваемым типам и просто правильность передаваемых данных)
  • Karim
    21 марта 2016, 16:47
    При формировании транзакции нужно указывать не «ORDER_KEY» (это для лимиток), а «STOP_ORDER_KEY=».
      • Karim
        21 марта 2016, 17:15
        Nemo_2000, Откуда поле «ORDER_KEY», вместо
        [«ORDER_KEY»] = tostring(_NUMBER)  должно быть
        [«STOP_ORDER_KEY»] = tostring(_NUMBER)
        • Karim
          21 марта 2016, 17:17
          Karim, И покажите, что выводит месага  message(t.TRANS_ID.." "..t.ACCOUNT.." "..t.CLASSCODE.." "..t.SECCODE.." "..t.ACTION.." "..t.ORDER_KEY,1)
            • Karim
              21 марта 2016, 17:50
              Nemo_2000, Должно быть не «KILL_ORDER», а «KILL_STOP_ORDER»
                • Karim
                  21 марта 2016, 18:34
                  Nemo_2000, ЕЩЕ РАЗ!!!
                  Вместо [«ORDER_KEY»] = tostring(_NUMBER)  должно быть
                  [«STOP_ORDER_KEY»] = tostring(_NUMBER)
                    • Karim
                      21 марта 2016, 19:03
                      Nemo_2000, А почему кавычки другие? Он на них и ругается.
                        • Karim
                          21 марта 2016, 19:23
                          Nemo_2000, ЕЩЕ РАЗ!!!
                          Вместо [«ACTION»] = «KILL_ORDER», нужно 
                          «KILL_STOP_ORDER»
                          БУДЬТЕ ВНИМАТЕЛЬНЕЕ!!!
  • А. Г.
    21 марта 2016, 17:42
    1. При дублировании команды на снятие (отправил команду на снятие, не получил отклика от квика о снятии, отправил повторную) такое постоянно высвечивается
    2. Если пытаюсь поставить заявку вручную, но в момент набора цифр в форме робот что-то поставил — тоже такое высвечивается.
  • Чужой
    21 марта 2016, 19:09
    Разжевали же проблему, не ужели не дошло?
  • Чужой
    21 марта 2016, 19:22
    Ты пишешь действие к таблице заявок в последнем примере ACTION = «KILL_ORDER, а не к таблице стоп заявок. И почему ты рандом поставил в транс ид?
      • Чужой
        21 марта 2016, 19:30
        Nemo_2000,  не забудь всем объявить, что я гений ))
        • П М
          21 марта 2016, 19:39
          Чужой, я ведь даже строку со всеми параметрами написал. но гением не признали. обидно.
          • Чужой
            21 марта 2016, 19:55
            ПBМ, жизнь жестока )))

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн