function sendStop(class,security,direction,stopprice,dealprice,volume,account,exp_date,client_code,comment)
-- отправка простой стоп-заявки
-- все параметры кроме кода клиента,коментария и времени жизни должны быть не нил
-- если код клиента нил - подлставляем счет
-- если время жизни не указано - то заявка "До Отмены"
-- Данная функция возвращает 2 параметра
-- 1. ID присвоенный транзакции либо nil если транзакция отвергнута на уровне сервера Квик
-- 2. Ответное сообщение сервера Квик либо строку с параметрами транзакции
if (class==nil or security==nil or direction==nil or stopprice==nil or volume==nil or account==nil or dealprice==nil) then
return nil,"QL.sendStop(): Can`t send order. Nil parameters."
end
local trans_id=random_max()
local transaction={
["TRANS_ID"]=tostring(trans_id),
["ACTION"]="NEW_STOP_ORDER",
["CLASSCODE"]=class,
["SECCODE"]=security,
["OPERATION"]=direction,
["QUANTITY"]=string_format("%d",tostring(volume)),
["STOPPRICE"]=toPrice(security,stopprice,class),
["PRICE"]=toPrice(security,dealprice,class),
["ACCOUNT"]=tostring(account)
}
if client_code==nil then
transaction.client_code=tostring(account)
else
transaction.client_code=tostring(client_code)
end
if exp_date==nil then
transaction["EXPIRY_DATE"]="GTC"
else
transaction['EXPIRY_DATE']=tostring(exp_date)
end
if comment~=nil then
transaction.comment=string_sub(tostring(comment),0,20)
else
transaction.comment='QL'
end
local res=sendTransaction(transaction)
if res~="" then
return nil, "QL.sendStop():"..res
else
return trans_id, "QL.sendStop(): Stop-order sended sucesfully. Class="..class.." Sec="..security.." Dir="..direction.." StopPrice="..stopprice.." DealPrice="..dealprice.." Vol="..volume.." Acc="..account.." Trans_id="..trans_id
end
end
|