стоп завка больше чем в портфеле на лот раз

Страницы: 1
RSS
стоп завка больше чем в портфеле на лот раз
 
где уменьшить в стоп заявке на кол лотов . делю как в qpl  языке не получается!
везде делил!
делил в подготовке транзакции. квик ругается. дробное число!
где лоты 1 работает. хорошо.
и если обмен с биржей по причине интернета или чего много стопов всегда и на купайле  и на луа языках! устранимо?

function NewStopOrder(size)
  T = {}
  TRANS_ID = TRANS_ID + 1
  T["TRANS_ID"]    = tostring(TRANS_ID)
  T["ACTION"]      = "NEW_STOP_ORDER"  
  T["CLASSCODE"]   = MARKET
  T["SECCODE"]     = TICKER
  T["ACCOUNT"]     = ACCOUNT
  T["CLIENT_CODE"] = CLIENT_CODE
  T = SetStopprice(T)
  if BALANCE > 0 then
     T["OPERATION"] = "S"
  else
     T["OPERATION"] = "B"
  end    
  T["QUANTITY"] = tostring(math.abs(size))-- вот здесь теперь не работает.
  local trans_reply = SEND_TRANSACTION(30, T)
  if trans_reply ~= nil then
     if trans_reply.order_num ~= nil then
        return trans_reply.order_num
     else
        message(trans_reply.result_msg)
        return 0
     end
  else
     return 0
  end
end

понятно дробное не получится. если это последнее место отправки транзакции то арка ответьте в чем дело.
 
суппорт квик вы так и не ответите?
 
function GetBalance()
  for i = 0, getNumberOf("DEPO_LIMITS") - 1 do
     local depo_limit = getItem("DEPO_LIMITS", i)
     if depo_limit.sec_code == TICKER
     and depo_limit.trdaccid == ACCOUNT
     and depo_limit.limit_kind == LIMIT_KIND then        
        return depo_limit.currentbal
     end
  end
  return 0
end
function NewStopOrder(size)
  T = {}
  TRANS_ID = TRANS_ID + 1
  T["TRANS_ID"]    = tostring(TRANS_ID)
  T["ACTION"]      = "NEW_STOP_ORDER"  
  T["CLASSCODE"]   = MARKET
  T["SECCODE"]     = TICKER
  T["ACCOUNT"]     = ACCOUNT
  T["CLIENT_CODE"] = CLIENT_CODE
  T = SetStopprice(T)
  if BALANCE > 0 then
     T["OPERATION"] = "S"
  else
     T["OPERATION"] = "B"
  end    
  T["QUANTITY"] = tostring(math.abs(size))-- что интересно  qty  в лотах!-- на купайле здесь делил на лот. а луа ругается
  local trans_reply = SEND_TRANSACTION(30, T)
  if trans_reply ~= nil then
     if trans_reply.order_num ~= nil then
        return trans_reply.order_num
     else
        message(trans_reply.result_msg)
        return 0
     end
  else
     return 0
  end
end

проверка балланса в лотах?
 
нашел в чём дело.
депо лимитов нужно делить на лот.
нужно написать глобальную переменную лотов. и куда её вставить?
а поделить
 T["QUANTITY"] = tostring(math.abs(size/lot))
не удавалось. так как лоты были  лимитами.
вручную работает.
lot=1000
....
lot = getParamEx("TQBR", "TICKER", "LOTSIZE").param_value+0  это не работает.здесь не в лотах а на лоты.  
Страницы: 1
Читают тему
Наверх