Welcome to mql4.com forum,
Your English is just fine, don't worry. Which build are you using ?
for(int i=1;i<ArrSk;i++) { array_vesture[i].Tiki=i; array_vesture[i].Trend=i*2; array_vesture[i].Sk=1; array_vesture[i].Profit=Ask; }
and
file_handle=FileOpen(InpDirectoryName+"//"+fails, FILE_WRITE|FILE_CSV,";");
All is ok for me :
2014.02.14 21:44:09.638 FileWriteBug EURUSD,Daily: test 15
2014.02.14 21:44:07.752 FileWriteBug EURUSD,Daily: arr test 4,8,1,1.36985
2014.02.14 21:44:06.233 FileWriteBug EURUSD,Daily: test 15
2014.02.14 21:43:29.065 FileWriteBug EURUSD,Daily: arr test 3,6,1,1.36985
2014.02.14 21:43:27.561 FileWriteBug EURUSD,Daily: test 15
2014.02.14 21:43:25.464 FileWriteBug EURUSD,Daily: arr test 2,4,1,1.36985
2014.02.14 21:43:23.807 FileWriteBug EURUSD,Daily: test 15
try it:
#define PIPE_TYPE_MESSAGE 4 #define PIPE_READMODE_MESSAGE 2 #define PIPE_WAIT 0 #define PIPE_ACCESS_DUPLEX 3 #define PIPE_UNLIMITED_INSTANCES 255 #define NMPWAIT_USE_DEFAULT_WAIT 0 #define INVALID_HANDLE_VALUE -1 #define ERROR_PIPE_CONNECTED 535 #define FILE_SHARE_READ 1 #define FILE_SHARE_WRITE 2 #define GENERIC_WRITE 1073741824 #define CREATE_ALWAYS 2 #import "kernel32.dll" int ReadFile(int hPipe, int& inBuffer[],int NumberOfBytesToRead, int& bytesRead[], int lpOverlapped); int WriteFile(int hPipe, string sBuffer, int NumberOfBytesToWrite, int& bytesWritten[], int lpOverlapped); int CreateFileW(string name,int desiredAccess,int SharedMode,int security,int creation,int flags,int templateFile); #import string pathName="D:\\Forex\\Dados\\"+paridade; //paridade like Um.csv string FullName; string Buffer_Old = "vazio"; string Buffer_New = NULL; int ShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; int fWrite= CreateFileW(FullName, GENERIC_WRITE, ShareMode, 0, CREATE_ALWAYS, 0, 0); if (fWrite == INVALID_HANDLE_VALUE) { Print("Unable to open " + FullName + " for writing"); }else{ int BytesWritten[1] = {0}; //Buffer_Old = "Teste de texto"; int szData = StringLen(Buffer_Old); WriteFile(fWrite, Buffer_Old, 2*szData, BytesWritten, NULL); CloseHandle(fWrite); Print(StringSpliter(Pairs_Time_Infos[in],"@",1) + " was saved."); }//Fecha o Else do if (!IsValidFileHandle(fWrite))
Thank you! :))
I m using version 4.00 build 604 (7. feb. 2014) DF Markets Meta Trader 4..
Testing your version (FileWriteBug.mq4 (2.26 KB) ).. file is empty... :(((
Thank you! :))
I m using version 4.00 build 604 (7. feb. 2014) DF Markets Meta Trader 4..
Testing your version (FileWriteBug.mq4 (2.26 KB) ).. file is empty... :(((
try it:
Sorry Im not so advanced user :( I get many errors from this script and Im not sure how to fix them :( errors like
'GENERIC_WRITE' - undeclared identifier FileWrite111.mq4 37 51
'CREATE_ALWAYS' - undeclared identifier FileWrite111.mq4 37 80
'CreateFileW' - function must have a body FileWrite111.mq4 37 29
'INVALID_HANDLE_VALUE' - undeclared identifier FileWrite111.mq4 38 31
I am using build 606, here is the file.
FileWriteBug.mq4 does not work for me at all :( file is emty and in journal :
2014.02.14 21:11:06.183 EURUSD,M1: 59958 tick events (2441 bars, 60958 bar states) processed within 16 ms (total time 2839 ms)
2014.02.14 21:11:06.153 FileWriteBug test started
2014.02.14 21:11:03.335 TestGenerator: spread set to 30
2014.02.14 21:11:03.333 Expert FileWriteBug EURUSD,M1: loaded successfully
noting even Print function results.. :(
Probably need to upgrade to 606 version .. :/
FileWriteBug.mq4 does not work for me at all :( file is emty and in journal :
2014.02.14 21:11:06.183 EURUSD,M1: 59958 tick events (2441 bars, 60958 bar states) processed within 16 ms (total time 2839 ms)
2014.02.14 21:11:06.153 FileWriteBug test started
2014.02.14 21:11:03.335 TestGenerator: spread set to 30
2014.02.14 21:11:03.333 Expert FileWriteBug EURUSD,M1: loaded successfully
noting even Print function results.. :(
Probably need to upgrade to 606 version .. :/
It's a script not an EA. And I see now that you are talking about the Strategy Tester.
I am running it on a live chart, script can't be backtested.
sorry, now is ok, see the code again...
sorry, now is ok, see the code again...
No luck
string paridade = "aaa.csv";
string pathName="d:\\Forex\\Dados\\"+paridade; //paridade like Um.csv
does not make even folder on d:\ :(
It's a script not an EA. And I see now that you are talking about the Strategy Tester.
I am running it on a live chart, script can't be backtested.
Sorry I m confused.. Is it possible to use EA on back testing (strategy tester), collect info and after that write info in file?
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi,
I searching in web and cant understand how it works...
I have EA that at the end should write collected info in file (txt or csv) NOT BIN
I'm collecting data in array
for (int i=1;i<ArrSk;i++) { array_vesture[ArrSk].Tiki = sTiki; array_vesture[ArrSk].Trend = sTrend; array_vesture[ArrSk].Sk = array_vesture[ArrSk].Sk + 1; array_vesture[ArrSk].Profit = array_vesture[ArrSk].Profit + sProfit; }
ArrSk - usually not larger than 2000
When I using command Print() it outputs my data as i wanted
but when I using command FileWrite() it gives my empty file.. WHY??? I also tried different FileOpen types..
file_handle=FileOpen(InpDirectoryName+"//"+fails, FILE_SHARE_WRITE|FILE_CSV,";");
file_handle=FileOpen(InpDirectoryName+"//"+fails, FILE_WRITE|FILE_TXT);
file_handle=FileOpen(InpDirectoryName+"//"+fails, FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_CSV,";");
and all combinations I can think of .. with no luck :( Also tried to use command FileWriteArray() in different combinations also with no luck :((
Few lines from journal....
2014.02.14 20:01:02.381 2013.01.07 23:59 KyaDataMiner EURUSD,M1: test 0
2014.02.14 20:01:02.381 2013.01.07 23:59 KyaDataMiner EURUSD,M1: arr test 41005112,1,0,5.8
2014.02.14 20:01:02.381 2013.01.07 23:59 KyaDataMiner EURUSD,M1: test 0
2014.02.14 20:01:02.381 2013.01.07 23:59 KyaDataMiner EURUSD,M1: arr test 41005112,0,0,0.1
2014.02.14 20:01:02.381 2013.01.07 23:59 KyaDataMiner EURUSD,M1: test 0
2014.02.14 20:01:02.381 2013.01.07 23:59 KyaDataMiner EURUSD,M1: arr test 05112222,1,0,5.2
I want output TXT or CSV file look like this:
41005112,1,0,5.8
41005112,0,0,0.1
05112222,1,0,5.2
Sorry for my English, and this is my first post.. :) I hope somebody can explain me where I make mistake.. :)) Thank You all very much!