if(GenerateCsv) { bool file_exists = FileIsExist(CSVFileName); FileHandleWrite = FileOpen(CSVFileName,FILE_READ|FILE_WRITE|FILE_CSV); if(!file_exists) { FileWrite(FileHandleWrite,"Order", "Strategy", "TF", "DateTime", "Type", "Size", "Symbol", "Price", "S/L", "T/P", "DateTime", "Price", "Swap", "Profit"); } FileClose(FileHandleWrite); if(GenerateCsv) { static datetime CloseTime; CloseTime = GetLastOrderTime(EAMagicNumber) == 0 ? LastOrderTime : GetLastOrderTime(EAMagicNumber); if(LastOrderTime != CloseTime) { for(int i=(OrdersHistoryTotal()-1);i>=0;i--) { if(OrderSelect(i, SELECT_BY_POS,MODE_HISTORY)) if(OrderSymbol()==Symbol() && OrderMagicNumber()==(EAMagicNumber)) { FileHandleWrite = FileOpen(CSVFileName,FILE_READ|FILE_WRITE|FILE_CSV); FileSeek(FileHandleWrite,0,SEEK_END); FileWrite(FileHandleWrite,OrderTicket(), OrderComment(), Period(), OrderOpenTime(), OrderType() == OP_BUY ? "Buy" : "Sell", OrderLots(), Symbol(), OrderOpenPrice(), OrderStopLoss(), OrderTakeProfit(), OrderCloseTime(), OrderClosePrice(), OrderSwap(), OrderProfit()); FileClose(FileHandleWrite); LastOrderTime = OrderCloseTime(); break;