Коллеги, добрый день! Я новичок в программировании луа, и у меня возникла проблема. Есть скрипт, который записывает в файл csv данные об отправленной транзакции в систему, далее скрипт проверяет состояние стопа и фиксирует, если стоп выполнен. И вот после этого происходят чудеса: если появляется ещё одна сделка, то скрипт её открывает, но вот в файлик уже ничего не записывается, и в итоге ломается учёт, так как скрипт не видит записи о номере стопа в файлике. Подскажите, пожалуйста, как это можно починить?
				| Код | 
|---|
-- Функция вызывается терминалом, когда с сервера приходит новая информация о транзакциях
function OnTransReply(trans_reply)
   -- Если пришла информация по нашей транзакции
   if trans_reply.trans_id == id_done then
      -- Если данный статус уже был обработан, выходит из функции, иначе запоминает статус, чтобы не обрабатывать его повторно
      if trans_reply.status == LastStatus then return else LastStatus = trans_reply.status      end
      -- Выводит в сообщении статусы выполнения транзакции
      if  trans_reply.status == 1   then -- транзакция активна
         --message('OnTransReply(): По транзакции №'..trans_reply.trans_id..' УСПЕШНО ВЫСТАВЛЕНА заявка №'..trans_reply.order_num..' по цене '..trans_reply.price..' объемом '..trans_reply.quantity,3) 
     end
     if  trans_reply.status ==3   then -- транзакция выполнена, запись в журнал
         --message(trans_reply.result_msg,1)
         --message('OnTransReply(): По транзакции №'..trans_reply.trans_id..' УСПЕШНО ВЫПОЛНЕНА заявка №'..trans_reply.order_num..' по цене '..trans_reply.price..' объемом '..trans_reply.quantity,3) 
        OrderNum = trans_reply.order_num 
        OrderTime=trans_reply.datetime 
        OrderPrice=trans_reply.price 
        OrderQuantity=trans_reply.quantity 
        OrderCond=TP 
        OrderInstr =trans_reply.sec_code
        Ordcomment=trans_reply.brokerref
        local tradeline= os.date("%c", os.time(trans_reply.datetime))..";"..
        OrderInstr..";"..
        OrderQuantity ..";".. 
        OrderCond..";"..
        OrderPrice..";"..
        OrderNum ..";"..
        "Open_order"..";"..
        ACCOUNT..";"..
        Ordcomment..";"..
        "Created".."\n"
        CSV:seek("end",0)
        CSV:write(tradeline); --записали значения в файлик
        CSV:flush(); --сохранили файлик
     end
   end
      -- Если пришла информация по нашей стоп-транзакции
   if trans_reply.trans_id == id_take then
      -- Если данный статус уже был обработан, выходит из функции, иначе запоминает статус, чтобы не обрабатывать его повторно
      if trans_reply.status == TakeStatus then return else TakeStatus = trans_reply.status end
      -- Выводит в сообщении статусы выполнения транзакции
     if  trans_reply.status == 3   then -- транзакция активна
          Stopnumb =trans_reply.order_num
         SlTpOrderTime=trans_reply.datetime 
         SlTpOrderPrice=trans_reply.price 
         SlTpOrderQuantity=trans_reply.quantity 
         SlTpOrderCond=TP
         SlTpOrderInstr=trans_reply.sec_code
        SlComment=trans_reply.brokerref
       --message('OnTransReply(): По транзакции №'..trans_reply.trans_id..' ВЫПОЛНЕНА заявка №'..trans_reply.order_num..' по цене '..trans_reply.price..' объемом '..trans_reply.quantity,3) 
        local Stopline= os.date("%c", os.time(trans_reply.datetime))..";"..
        SlTpOrderInstr..";"..
        SlTpOrderQuantity ..";"..
        SlTpOrderCond ..";"..
        SlTpOrderPrice ..";"..
        Stopnumb ..";"..
        "Take_Stop_order"..";"..
        ACCOUNT..";"..
        SlComment..";"..
        "Created".."\n"
        CSV:seek("end",0)
        CSV:write(Stopline); --записали значения в файлик
        CSV:flush(); --сохранили файлик
     end
   end
end
 |