MT4 New Builds - Access to Files

 

I have just installed the new build and spent quite some time making changes that will be acceptable.

Looks very good!

My EA writes log data to a series of files - information to help find errors, MIN & MAX data and also a log of when contracts are liquidated

These files have moved across to the roaming area >>>

C:\Users\Peter\AppData\Roaming\MetaQuotes\Terminal\825A96AF7F79E0C50E6013DE75C58255\MQL4\Files


Previously I could access a file currently being used by MT4

(1 of the logs just records details of transactions and shows max committed funds, equity, margin, profit etc - and enables me to 'play with' in EXCEL and draw graph).

This no longer appears to be the case - i.e. CAN NOT OPEN FILE because MT4 still has the file open (I could read previously).


Presumably there are some different properties attached to the files.

Is there any means of changing these so that I can examine my log files (from Excel or using a TEXT editor)

 
peterhw1:
These files have moved across to the roaming area >>>
This no longer appears to be the case - i.e. CAN NOT OPEN FILE because MT4 still has the file open (I could read previously).
  1. Data Structure in MetaTrader 4 Build 600 and Higher - MQL4 Articles
  2. MT4 doesn't have the file open, your EA does.
  3. So allow shared access or open, append, and close
 
WHRoeder:
  1. Data Structure in MetaTrader 4 Build 600 and Higher - MQL4 Articles
  2. MT4 doesn't have the file open, your EA does.
  3. So allow shared access or open, append, and close

Many thanks again.

I hadn't realised there was a file APPEND - so I just searched the forum and now know I just need to:-


FileOpen(file_name,FILE_CSV|FILE_READ|FILE_WRITE,'|');
Learned something else - thanks again.
 
"Just need to" APPEND
   int         APPEND   = FILE_CSV|FILE_WRITE|FILE_READ;
   string      nameOPT  = WindowExpertName() + ".OPT";
   int      handleOPT   = FileOpen(nameOPT, APPEND, '~');   if(handleOPT < 1){
      AlertMe( "OptComplete: FileOpen(", nameOPT,") Failed: ", GetLastError() );
                                                                     return;  }
   FileSeek(handleOPT, 0, SEEK_END);
   FileWrite(handleOPT, result);
   FileClose(handleOPT);
 

Yes, I had finished changed my EAs and Indicators to fit the new version.

The compatibility is OK, and I only made a little change.

About Change:

switch( integer only ) here is something changed.

and We can use 'class'. That's something strange.

I'll use MQL5 grammar to code with MT4 next time. Wish you all have a good day.

 

yes I agree, class and everything to do with it is very strange lol

Reason: