Некорректное исполнение

Страницы: 1
RSS
Некорректное исполнение, При отсылке лимитной заявки на покупку получаю некорректную цену покупки
 
Добрый день!

В прошлую пятницу была такая ситуация:
Опционный робот выставил лимитную заявку на покупку 12 контрактов RI125000BN8D путов по 870 пунктов.
Но в таблице сделок вывелось что часть контрактов исполнилось по 920 пунктов. Как такое вообще может быть для лимитного ордера?

Страшно покупать уже. А если купит по 500 000 в этом случае -

http://prntscr.com/ihotac

Сам код отправления ордера:
Код
function optionTransaction(strike,oper,lot,price) -- Функция отправляет транзакцию
   --strike="RI125000BN8D";
   --oper="B";
   --lot=12;
   --price=870;
   local Transaction={
      ["TRANS_ID"]   = tostring(os.time()),
      ["ACTION"]     = "NEW_ORDER",
      ["CLASSCODE"]  = "SPBOPT",
      ["SECCODE"]    = strike,
      ["OPERATION"]  = oper, -- покупка /продажа
      ["TYPE"]       = "L", -- 
      ["QUANTITY"]   = tostring(lot), -- количество
      ["EXPIRY_DATE"]   = tostring("GTC"), -- Срок действия стоп-заявки. до отмены
      ["ACCOUNT"]    = ACCOUNT,
      ["PRICE"]      = tostring(price),
      ["COMMENT"]    = "Покупка опционов скриптом"
   }
   local res = sendTransaction(Transaction) -- Отправляет транзакцию
   local response=true;
   if (res ~= "") then 
   message("Ошибка отправки транзакции: "..tostring(res).." ;optionTransaction;oper:"..tostring(oper)) 
   response=false;
   end
   return response;
end
 
 
Цитата
Евгений написал:
Опционный робот выставил лимитную заявку на покупку 12 контрактов RI125000BN8D путов по 870 пунктов.
Но в таблице сделок вывелось что часть контрактов исполнилось по 920 пунктов. Как такое вообще может быть для лимитного ордера?
Думаю, что вероятность того, что вы неверно интерпретируете работу своего скрипта все же выше, чем вероятность того, что на бирже произошел сбой.  Перепроверьте ваши утверждения о том, что заявка действительно была выставлена по 870 (а не по 920), или что сделка по 920 действительно соответствует заявке по 870 (а не какой-то еще).  В приведенном вами коде есть одна потенциальная проблема: если две разные заявки будут выставлены в одну и ту же секунду, то у них будут одинаковые TRANS_ID - быть может нужо копать в этой окрестности...
 
Цитата
kroki написал:
Цитата
Евгений   написал:
Опционный робот выставил лимитную заявку на покупку 12 контрактов RI125000BN8D путов по 870 пунктов.
Но в таблице сделок вывелось что часть контрактов исполнилось по 920 пунктов. Как такое вообще может быть для лимитного ордера?
Думаю, что вероятность того, что вы неверно интерпретируете работу своего скрипта все же выше, чем вероятность того, что на бирже произошел сбой.  Перепроверьте ваши утверждения о том, что заявка действительно была выставлена по 870 (а не по 920), или что сделка по 920 действительно соответствует заявке по 870 (а не какой-то еще).  В приведенном вами коде есть одна потенциальная проблема: если две разные заявки будут выставлены в одну и ту же секунду, то у них будут одинаковые  TRANS_ID  - быть может нужо копать в этой окрестности...
Заявка была одна, других не было,   TRANS_ID не причем. И конечно все перепроверил, что заявка выставилась именно по 870 - все писалось в логи непосредственно перед транзакцией.
 
Цитата
Евгений написал:
Добрый день!

В прошлую пятницу была такая ситуация:
Опционный робот выставил лимитную заявку на покупку 12 контрактов RI125000BN8D путов по 870 пунктов.
Но в таблице сделок вывелось что часть контрактов исполнилось по 920 пунктов. Как такое вообще может быть для лимитного ордера?

Страшно покупать уже. А если купит по 500 000 в этом случае -

http://prntscr.com/ihotac

Сам код отправления ордера:
Код
   function   optionTransaction (strike,oper,lot,price)  -- Функция отправляет транзакцию 
    --strike="RI125000BN8D"; 
    --oper="B"; 
    --lot=12; 
    --price=870; 
    local  Transaction = {
      [ "TRANS_ID" ]    =  tostring( os.time ()),
      [ "ACTION" ]      =   "NEW_ORDER" ,
      [ "CLASSCODE" ]   =   "SPBOPT" ,
      [ "SECCODE" ]     =  strike,
      [ "OPERATION" ]   =  oper,  -- покупка /продажа 
      [ "TYPE" ]        =   "L" ,  --  
      [ "QUANTITY" ]    =  tostring(lot),  -- количество 
      [ "EXPIRY_DATE" ]    =  tostring( "GTC" ),  -- Срок действия стоп-заявки. до отмены 
      [ "ACCOUNT" ]     =  ACCOUNT,
      [ "PRICE" ]       =  tostring(price),
      [ "COMMENT" ]     =   "Покупка опционов скриптом" 
   }
    local  res  =   sendTransaction (Transaction)  -- Отправляет транзакцию 
    local  response =  true ;
    if  (res ~ =   "" )  then  
    message ( "Ошибка отправки транзакции: "  .. tostring(res) .. " ;optionTransaction;oper:" .. tostring(oper)) 
   response =  false ;
    end 
    return  response;
 end 
   
Добрый день.

Вам необходимо обратиться к своему брокеру, если брокер не сможет разобраться,
то необходимо инициировать обращение нам.
Страницы: 1
Читают тему
Наверх