Просто ордер выбирается именно последний, нужно добавить цикл
Просто ордер выбирается именно последний, нужно добавить цикл
Я сначала закрываю ордер. А только потом вызываю эту функцию.
На момент вызова этой функции уже нет открытых ордеров. Файл оказался пустым
Чтобы при повторном открытии файла не происходила перезапись необходимо сдвигать файловый указатель в конец файла при помощи FileSeek(filehandle,0,SEEK_END):
int statistic () { ResetLastError(); int filehandle=FileOpen("StatisticReport//Reports.csv", FILE_READ|FILE_WRITE|FILE_CSV); if(filehandle!=INVALID_HANDLE) { FileSeek(filehandle,0,SEEK_END); bool orderselecte=OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES); string ordertype;if (OrderType()==0)ordertype="Buy";if (OrderType()==1)ordertype="Sell";if (OrderType()==2)ordertype="BuyLimit";if (OrderType()==3)ordertype="SellLimit";if (OrderType()==4)ordertype="BuyStop";if (OrderType()==5)ordertype="SellStopt"; FileWrite(filehandle,"#", "Type", "Sybmol", "OpenPrice", "OpenTime", "Lots", "ClosePrice", "CloseTime", "TakeProfit", "StopLoss", "OrderProfit", "Magic", "Comment"); FileWrite(filehandle,OrderTicket(),ordertype,OrderSymbol(),OrderOpenPrice(),OrderOpenTime(),OrderLots(),OrderClosePrice(),OrderCloseTime(),OrderTakeProfit(),OrderStopLoss(),DoubleToStr(OrderProfit(),2),OrderMagicNumber(),OrderComment()); FileClose(filehandle); } else Print("Операция FileOpen неудачна, ошибка ",GetLastError()); return(0); }
и тогда при каждом вызове функции будет записываться в конец файла эти данные. через пару минут файл станет на 100 мб больше. что произойдет через 30 минут ?
Автор не дал четких разъяснений что и где должно работать.
откуда берется например номер ticket
откуда вызывается эта функция
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
}
Код синтаксически правильный. Грубых ошибок нет. Написал строго по подобию справки MQL4 .
Проблема только в том , что когда я вызываю функцию , он полностью перезаписывает данные в файл. То есть при тестировании в тестере в файле видна информация только по последней сделке.
А я хочу , чтобы он дописывал данные. То есть в файле была записана информация по всем сделкам, а не только по последней .