-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathOnTransReply_brokerref.lua
More file actions
84 lines (61 loc) · 2.27 KB
/
OnTransReply_brokerref.lua
File metadata and controls
84 lines (61 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
function OnInit()
class = "QJSIM" -- êëàññ áóìàã: àêöèè -- QJSIM
tiker = "SBER" -- òèêåð: Ñáåð
account = "NL0011100043" -- òîðãîâûé ñ÷åò
id_transact = 0 -- id ñ÷åò÷èê âñåõ òðàíçàêöèé
progname = "sndTrnsctn_v1" -- íàçâàíèå ñêðèïòà
commentid = "sndTr_v1/" -- êîììåíòàðèé ê çàÿâêå
title1 = "OnTransReply / "
title2 = "OnOrder / "
end
function OnTransReply(trn)
if string.sub(trn.brokerref,1,9) == commentid then
message(string.rep("-",25))
message(title1.." trn_id="..tostring(trn.trans_id).." / status="..trn.status.." / order_num="..trn.order_num)
message(title1.." price="..trn.price.." / quantity="..trn.quantity.." / brokerref="..trn.brokerref)
message(title1.." result_msg="..trn.result_msg)
time2 = os.clock()
message(title1.." âðåìÿ îòêëèêà "..(time2-time1).." ñåê.")
end
end
function newtransaction(operation, quant, price)
id_transact = id_transact + 1
mytransaction =
{
["TRANS_ID"] = tostring(id_transact),-- id òðàíçàêöèè
["ACTION"] = "NEW_ORDER", -- ÷òî äåëàåì: âûñòàâëÿåì íîâóþ çàÿâêó
["CLASSCODE"] = class , -- êëàññ áóìàãè
["SECCODE"] = tiker, -- òèêåð
["QUANTITY"] = tostring(quant), -- îáúåì
["PRICE"] = tostring(price), -- öåíà
["ACCOUNT"] = account, -- òîðãîâûé ñ÷åò
["CLIENT_CODE"] = commentid..id_transact, -- êîììåíòàðèé äëÿ òåðìèíàëà, äî 12 ñèìâîëîâ
["EXECUTION_CONDITION"] = "PUT_IN_QUEUE" -- óñëîâèå èñïîëíåíèÿ: ïîñòàâèòü â î÷åðåäü
}
if operation == 1 then
mytransaction["OPERATION"] = "B"
else
mytransaction["OPERATION"] = "S"
end
error_transaction = sendTransaction(mytransaction)
if error_transaction ~= "" then
message(progname.." : îøèáêà âûñòàâëåíèÿ çàÿâêè :"..error_transaction, 3)
else
message(progname.." : çàÿâêà âûñòàâëåíà óñïåøíî. id òðàíçàêöèè="..id_transact)
lastId = id_transact
end
end
function main()
message(string.rep("-",20)) -- ðàçäåëèòåëü
quant = 1 -- îáúåì ïîêóïêè
operation = 1
time1 = os.clock()
price_order = tonumber(getParamEx(class, tiker, "LAST").param_value) - 0.3
newtransaction(operation, quant, price_order)
message("Âðåìÿ âûñòàâëåíèå çàÿâêè: "..tostring(os.date('%H:%M:%S')))
sleep(300)
do_it = true
while do_it do
sleep(1000)
end
end