//+------------------------------------------------------------------+ //| exp_statusbot.mq4 | //| Leonid Salavatov [MUSTADDON]© 2010 | //+------------------------------------------------------------------+ #property copyright "Leonid Salavatov [MUSTADDON]© 2010" //---- externs extern string statusfilename = "status.txt"; extern string spamfilename = "notify.txt"; extern string reportfilename = "report.txt"; //---- vars string expname = "statusbot"; int ord_tickets[]; int ord_tickets_past[]; int ord_tickets_changing_open[]; int ord_tickets_changing_close[]; double curbalance = 0.0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- WriteReport(); WriteStatus(); //---- string filename = expname+"/"+spamfilename; int filehandle=FileOpen(filename,FILE_WRITE); if(filehandle>0) {FileWrite(filehandle,"Starting expert "+expname); FileClose(filehandle); } else Print("Не удалось создать файл ",spamfilename,", Error:",GetLastError()); //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- FileDelete(expname+"/"+statusfilename); FileDelete(expname+"/"+spamfilename); FileDelete(expname+"/"+reportfilename); //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- собираем статистику и пишем файл report.txt WriteReport(); //---- собираем инфу и пишем файл status.txt WriteStatus(); //---- собираем инфу и пишем файл notify.txt WriteNotify(); //---- return(0); } //+------------------------------------------------------------------+ void WriteStatus() {int profit; ArrayResize(ord_tickets, 0); string filename = expname+"/"+statusfilename; string abzac ="-----------"; int filehandle=FileOpen(filename,FILE_WRITE," "); if(filehandle>0) {FileWrite(filehandle,"Balance =",DoubleToStr(AccountBalance(),2),AccountCurrency()); if(OrdersTotal()>0) {FileWrite(filehandle,abzac); for(int i=0;i0){ord_tickets_changing_open[size]=ord_tickets[j];size++;} } ArrayResize(ord_tickets_changing_open, size); size=0; for(j=0;j0){ord_tickets_changing_close[size]=ord_tickets_past[j];size++;} } ArrayResize(ord_tickets_changing_close, size); ArrayResize(ord_tickets_past, ArraySize(ord_tickets)); if(ArraySize(ord_tickets)>0) ArrayCopy(ord_tickets_past,ord_tickets,0,0,WHOLE_ARRAY); if(ArraySize(ord_tickets_changing_open)==0 && ArraySize(ord_tickets_changing_close)==0) return; //---- если есть изменения то пишем notify.txy string addoninfo; string filename = expname+"/"+spamfilename; int filehandle=FileOpen(filename,FILE_WRITE," "); if(filehandle>0) {for(j=0;j0) {for(i=0;i