//+------------------------------------------------------------------+ //| SymbolInfo.mq4 | //| Êèì Èãîðü Â. aka KimIV | //| http://www.kimiv.ru | //| 02.04.2006 Ñêðèïò äëÿ âûãðóçêè èíôîðìàöèè î ñèìâîëàõ. | //| 04.05.2006 Äîáàâèë ñòîëáåö "Çàëîã". | //+------------------------------------------------------------------+ #property copyright "Êèì Èãîðü Â. aka KimIV" #property link "http://www.kimiv.ru" #property show_inputs //------- Âíåøíèå ïàðàìåòðû ñêðèïòà ---------------------------------+ extern string siFileName = "SymbolInfo.csv"; extern string siSeparator = "."; //------- Ãëîáàëüíûå ïåðåìåííûå ñêðèïòà -----------------------------+ string siMS[16]={"AUDUSD","CHFJPY","EURAUD","EURCAD","EURCHF", "EURGBP","EURJPY","EURUSD","GBPCHF","GBPJPY", "GBPUSD","GOLD","NZDUSD","USDCAD","USDCHF","USDJPY"}; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ void start() { double b, ls, z; double aud = MarketInfo("AUDUSD", MODE_BID); double eur = MarketInfo("EURUSD", MODE_BID); double gbp = MarketInfo("GBPUSD", MODE_BID); double nzd = MarketInfo("NZDUSD", MODE_BID); int d, i, k; string st; FileDelete(siFileName); st = ";" + TimeToStr(LocalTime(), TIME_DATE) + ";" + AccountCompany(); WritingLineInFile(siFileName, st); WritingLineInFile(siFileName, ""); st = "¹;Ñèìâîë;Long;Short;Ñïðýä;Ñòîïû;Êîíòðàêò;Çàëîã"; WritingLineInFile(siFileName, st); for(i = 0; i < ArraySize(siMS); i++) { b = MarketInfo(siMS[i], MODE_BID); d = MarketInfo(siMS[i], MODE_DIGITS); ls = MarketInfo(siMS[i], MODE_LOTSIZE); z = 0; st = DoubleToStr(i + 1, 0) + ";" + siMS[i] + ";" + DoubleToStr(MarketInfo(siMS[i], MODE_SWAPLONG), 2) + ";" + DoubleToStr(MarketInfo(siMS[i], MODE_SWAPSHORT), 2) + ";" + DoubleToStr(MarketInfo(siMS[i], MODE_SPREAD), 0) + ";" + DoubleToStr(MarketInfo(siMS[i], MODE_STOPLEVEL), 0) + ";" + DoubleToStr(ls, 0) + ";"; if(d == 2) k = 10000; else k = 100; if(StringSubstr(siMS[i], 0, 3) == "AUD") z = ls*aud / 100; if(StringSubstr(siMS[i], 0, 3) == "EUR") z = ls*eur / 100; if(StringSubstr(siMS[i], 0, 3) == "GBP") z = ls*gbp / 100; if(StringSubstr(siMS[i], 0, 3) == "NZD") z = ls*nzd / 100; if(StringSubstr(siMS[i], 0, 3) == "USD") z = ls / 100; // else z = ls*b / k; st = st + DoubleToStr(z, 2); if(siSeparator != ".") st = StrTran(st, ".", siSeparator); WritingLineInFile(siFileName, st); } st = "Ñôîðìèðîâàí ôàéë: " + siFileName; Comment(st); Print(st); } //+------------------------------------------------------------------+ //| Çàìåíà ïîäñòðîêè | //| Ïàðàìåòðû: | //| str - òåêñòîâàÿ ñòðîêà, â êîòîðîé ïðîèçâîäèòñÿ çàìåíà | //| strfrom - çàìåíÿåìàÿ ïîäñòðîêà | //| strto - çàìåíÿþùàÿ ïîäñòðîêà | //+------------------------------------------------------------------+ string StrTran(string str, string strfrom, string strto) { int n; string outstr = "", tempstr; for(n = 0; n < StringLen(str); n++) { tempstr = StringSubstr(str, n, StringLen(strfrom)); if(tempstr == strfrom) { outstr = outstr + strto; n = n + StringLen(strfrom) - 1; } else outstr = outstr + StringSubstr(str, n, 1); } return(outstr); } //+------------------------------------------------------------------+ //| Çàïèñü ñòðîêè â ôàéë | //+------------------------------------------------------------------+ void WritingLineInFile(string FileName, string text) { int file_handle = FileOpen(FileName, FILE_READ|FILE_WRITE, " "); if(file_handle > 0) { FileSeek(file_handle, 0, SEEK_END); FileWrite(file_handle, text); FileClose(file_handle); } } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features:
Uses files from the file system
It writes information to file