Выгрузка статистики в ексель

 

Всем доброго времени суток!

Подскажите пожалуйста, как правильно прописать код, чтобы робот выгружал статистику о балансе счета в ексель, чтобы потом можно было этой таблицей пользоваться. Или, если есть такие ветки уже поделитесь ссылкой. Спасибо!

 
f= FileOpen(CSVName,FILE_READ|FILE_WRITE|FILE_CSV,',');//FILE_READ|FILE_WRITE
   if(f == -1)
     {
      int res=GetLastError();
      Print("File open error :  ",
res );
      return(0);
     }
   
   FileWrite(f,AccountBalance());
    
FileSeek(f, 0, SEEK_END);
FileClose(f);
 
Sergii Krutyi:

Спасибо за оперативный ответ. Скажите пожалуйста в коде советника куда этот код прописать?

 
Sergii Krutyi:

А зачем там 

FileSeek(f, 0, SEEK_END);

?

 
luckytrader5:

Спасибо за оперативный ответ. Скажите пожалуйста в коде советника куда этот код прописать?

куда не жалко )) внутри void OnTick()

PapaYozh:

А зачем там 

?

в данном случае  будет дозаписывать файл , если нужно только текущее значение баланса то FileSeek можно убрать конечно 

 
Sergii Krutyi:

куда не жалко )) внутри void OnTick()

в данном случае  будет дозаписывать файл , если нужно только текущее значение баланса то FileSeek можно убрать конечно 

С этим разобрался. Спасибо. А можно как-то сделать, чтобы советник выгружал статистику о состоянии баланса, еквити, торговля, и все ка кв mt4?

 
Sergii Krutyi:


в данном случае  будет дозаписывать файл

Для этого FileSeek надо поставить до FileWrite.

 
PapaYozh:

Для этого FileSeek надо поставить до FileWrite.

Да , все верно ) небольшая опечатка 

luckytrader5:

С этим разобрался. Спасибо. А можно как-то сделать, чтобы советник выгружал статистику о состоянии баланса, еквити, торговля, и все ка кв mt4?

Все тоже самое только , что имеете ввиду под торговлей ? (если список ордеров то это уже другая функция нужна перебора ордеров )

 FileWrite(f,AccountBalance(),AccountEquity()....);
 
Sergii Krutyi:

Да , все верно ) небольшая опечатка 

Все тоже самое только , что имеете ввиду под торговлей ? (если список ордеров то это уже другая функция нужна перебора ордеров )

Скажем так, чтобы в ексель отображалась таблица, как в терминале.

 
luckytrader5:

Скажем так, чтобы в ексель отображалась таблица, как в терминале.

for(int cnt=0;cnt<OrdersTotal();cnt++) {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     
 FileWrite(f,OrderSymbol(),OrderType(),OrderTicket(),OrderOpenPrice(),OrderLots(),OrderStopLoss(),OrderTakeProfit());
}
 
Sergii Krutyi:

Спасибо

Причина обращения: