Цитата |
---|
Sergey Gorokhov пишет:
Цитата |
---|
Николай Бехтерев пишет: Ох, а у вас там разный регистр для каждой позиции получается или можно всё мелкими буквами оформить? |
Вы неверно поняли рекомендацию. Вам НЕ нужно все писать маленькими буквами. Вам нужно писать все именно так как в документации и никак иначе. |
Код |
---|
stop = 100
table_order = {
["order_num "] = 0,
["class_code"] = "",
["account"] = "",
["sec_code"] = "",
["qty"] = "",
["price"] = 0,
["flags"] = 0,
}
GUN = 0
FIRE = 0
transaction = {
["TRANS_ID"] = "",
["CLASSCODE"] = "",
["ACTION"] = "",
["ACCOUNT"] = "",
["SECCODE"] = "",
["QUANTITY"] = "",
["OPERATION"] = "",
["STOPPRICE"] = "",
["PRICE"] = "",
}
zed_is_dead = 100
is_run = 1
ID = 1
table_order.flags = 1
function OnTrade(order)
table_order = order
end
function OnTransReply()
table_order = order
end
function OnStop()
is_run = 0
end
function main()
while is_run do
if zed_is_dead ~= table_order.order_num then
zed_is_dead = table_order.order_num
transaction.TRANS_ID = tostring(ID)
transaction.CLASSCODE = table_order.class_code
transaction.ACTION = "NEW_STOP_ORDER"
transaction.ACCOUNT = table_order.account
transaction.SECCODE = table_order.sec_code
transaction.QUANTITY = tostring(table_order.qty)
ID = ID + 1
a = tostring(table_order.flags)
message(a,3)
if bit.band(table_order.flags,4) > 0 then
transaction.OPERATION = "B"
GUN = table_order.price + stop
FIRE = table_order.price + stop + stop
transaction.STOPPRICE = tostring(GUN)
transaction.PRICE = tostring(FIRE)
--a = tostring(table_order.flags)
else
GUN = table_order.price - stop
FIRE = table_order.price - stop - stop
transaction.OPERATION = "S"
transaction.STOPPRICE = tostring(GUN)
transaction.PRICE = tostring(FIRE)
end
transaction.TYPE = "M"
transaction.STOP_ORDER_KIND = "SIMPLE_STOP_ORDER"
transaction.EXPIRY_DATE = "GTC"
sendTransaction(transaction)
--message(a,3)
end
sleep(1000)
end
end
|
Слепил такой вот код на выставление стопов после сделки.
На первый раз пролетает нормально, выставляет стоп. На второй круг вылазит ошибка:
45: attempt to index global 'table_order' (a nil value)
45 строка: if zed_is_dead ~= table_order.order_num then
Когда это table_order превращается в nil?