Initial commit: MQL5 Scripts Collection (MetaTrader 5)
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# 🚀 Unlock the Power of Trading!
|
||||
|
||||
Welcome to this open-source trading project. Here you will find powerful tools to enhance your trading journey. If you find this project useful, please consider starring ⭐, sharing, or donating to support further development!
|
||||
|
||||
---
|
||||
|
||||
**Support the project:**
|
||||
- Star this repository on GitHub
|
||||
- Share it with your trading friends
|
||||
- [Donate here](https://www.paypal.com/donate/?hosted_button_id=YOUR_BUTTON_ID) to help us grow!
|
||||
|
||||
---
|
||||

|
||||
|
||||
## Source Files
|
||||
- `history_in_mathcad.mq5`
|
||||
|
||||
---
|
||||
> Made with ❤️ for the trading community.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,117 @@
|
||||
//+------------------------------------------------------------------+
|
||||
//| History_in_MathCAD.mq5 |
|
||||
//| Privalov S.V. |
|
||||
//| https://login.mql5.com/en/users/Prival |
|
||||
//+------------------------------------------------------------------+
|
||||
#property copyright "Privalov S.V."
|
||||
#property link "https://login.mql5.com/en/users/Prival"
|
||||
#property version "1.08"
|
||||
//+------------------------------------------------------------------+
|
||||
//| Script program start function |
|
||||
//+------------------------------------------------------------------+
|
||||
void OnStart()
|
||||
{
|
||||
//----
|
||||
WriteFile( 1,5,2010); // day, month, year
|
||||
WriteFile( 1,6,2010); //
|
||||
return;// script completed
|
||||
}
|
||||
//+------------------------------------------------------------------+
|
||||
//| WriteFile |
|
||||
//+------------------------------------------------------------------+
|
||||
int WriteFile(int Day,int Month,int Year)
|
||||
{
|
||||
//--- if Day<1, then we get data from the beginning of month
|
||||
if(Day<1) Day=1;
|
||||
|
||||
string FileName="";
|
||||
int copied=0;
|
||||
int FileHandle=0;
|
||||
|
||||
//--- file name formation, (Symbol+Period+Month) EURUSD_M1_09.txt
|
||||
FileName=Symbol()+"_"+fTimeFrameName(_Period)+"_"+IntegerToString(Month,2,'0')+".TXT";
|
||||
MqlRates rates[];
|
||||
MqlDateTime tm;
|
||||
ArraySetAsSeries(rates,true);
|
||||
|
||||
string start_time=IntegerToString(Year)+"."+IntegerToString(Month,2,'0')+"."+IntegerToString(Day,2,'0'); // ñ êàêîé äàòû
|
||||
|
||||
ResetLastError();
|
||||
|
||||
copied=CopyRates(Symbol(),_Period,StringToTime(start_time),TimeCurrent(),rates);
|
||||
|
||||
if(copied>0)
|
||||
{
|
||||
//--- open file for writing, ANSI codepage
|
||||
FileHandle=FileOpen(FileName,FILE_WRITE|FILE_ANSI);
|
||||
if(FileHandle!=INVALID_HANDLE)
|
||||
{
|
||||
for(int i=copied-1;i>=0;i--)
|
||||
{
|
||||
TimeToStruct(rates[i].time,tm);
|
||||
if(tm.day>=Day && tm.mon==Month && tm.year==Year) // check for the specified range
|
||||
FileWrite(FileHandle,// write data to file
|
||||
DoubleToString(rates[i].time,0), // number of seconds, passed from 1st January 1970
|
||||
rates[i].open, // Open
|
||||
rates[i].high, // High
|
||||
rates[i].low, // Low
|
||||
rates[i].close, // Close
|
||||
rates[i].tick_volume, // Tick Volume
|
||||
tm.year, // your
|
||||
tm.mon, // month
|
||||
tm.day, // day
|
||||
tm.hour, // hour
|
||||
tm.min, // minutes
|
||||
tm.day_of_week, // week day (0-sunday, 1-monday)
|
||||
tm.day_of_year); // day index in the year (1st January is the 0-th day of the year)
|
||||
}
|
||||
Print("Data of the ",IntegerToString(Month,2,'0')," month ",Year," year written to file ",FileName);
|
||||
}
|
||||
else Print("Error in call of CopyRates for the Symols",Symbol()," err=",GetLastError());
|
||||
}
|
||||
|
||||
//--- close file (free handle), to make it available for other programs
|
||||
FileClose(FileHandle);
|
||||
|
||||
return(0);
|
||||
}
|
||||
//+------------------------------------------------------------------+
|
||||
//| fTimeFrameName |
|
||||
//+------------------------------------------------------------------+
|
||||
string fTimeFrameName(int arg)
|
||||
{
|
||||
int v;
|
||||
if(arg==0)
|
||||
{
|
||||
v=_Period;
|
||||
}
|
||||
else
|
||||
{
|
||||
v=arg;
|
||||
}
|
||||
switch(v)
|
||||
{
|
||||
case PERIOD_M1: return("M1");
|
||||
case PERIOD_M2: return("M2");
|
||||
case PERIOD_M3: return("M3");
|
||||
case PERIOD_M4: return("M4");
|
||||
case PERIOD_M5: return("M5");
|
||||
case PERIOD_M6: return("M6");
|
||||
case PERIOD_M10: return("M10");
|
||||
case PERIOD_M12: return("M12");
|
||||
case PERIOD_M15: return("M15");
|
||||
case PERIOD_M20: return("M20");
|
||||
case PERIOD_M30: return("M30");
|
||||
case PERIOD_H1: return("H1");
|
||||
case PERIOD_H2: return("H2");
|
||||
case PERIOD_H3: return("H3");
|
||||
case PERIOD_H4: return("H4");
|
||||
case PERIOD_H6: return("H6");
|
||||
case PERIOD_H8: return("H8");
|
||||
case PERIOD_H12: return("H12");
|
||||
case PERIOD_D1: return("D1");
|
||||
case PERIOD_W1: return("W1");
|
||||
case PERIOD_MN1: return("MN1");
|
||||
default: return("?");
|
||||
}
|
||||
} // end fTimeFrameName
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
Reference in New Issue
Block a user