Initial commit: MQL5 Scripts Collection (MetaTrader 5)

This commit is contained in:
GeneralTradingSarl
2025-06-24 00:33:04 +01:00
commit 60a549d89c
1959 changed files with 31907 additions and 0 deletions
@@ -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!
---
![Screenshot](script.png)
## Source Files
- `kobrequisites.mq5`
---
> Made with ❤️ for the trading community.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

@@ -0,0 +1,110 @@
//+------------------------------------------------------------------+
//| KobRequisites.mq5 |
//| Copyright 2020, Jordi Llonch |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, Jordi Llonch"
#property link "https://www.mql5.com"
#property version "1.00"
#property description "This script automates EURUSD bars and ticks download for the correct execution of Kiss on Billions on EURUSD."
#property description "It is required to run in a EURUSD chart"
#property script_show_inputs
/*
This script downloads bars and ticks required for the correct
execution of "Kiss on Billions on EURUSD" EA from Saeid Irani.
*/
//--- input parameters
input datetime StartDate = D'2018.01.01 00:00:00'; //Retrieve data since
input int getticks = 100000000; // The number of required ticks
input group "In case of error..."
input int retries = 3; //Retry attempts
input int retrypause = 1000; //Delay between retries in Milliseconds
ENUM_TIMEFRAMES timeframes[] = {
PERIOD_M1,
PERIOD_M5,
PERIOD_M15,
PERIOD_M30,
PERIOD_H1,
PERIOD_H4,
PERIOD_D1,
PERIOD_MN1
};
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart() {
//---
int attempt = 0; // Count of attempts
bool success = false; // The flag of a successful copying of ticks
MqlTick ticks[]; // Tick receiving array
MqlTick lasttick; // To receive last tick data
//--- Receive bars with retry
for (int i = 0; i < ArraySize(timeframes); i++) {
attempt = 0;
while(attempt < retries) {
ResetLastError();
Bars(Symbol(), timeframes[i], StartDate, TimeCurrent());
if(GetLastError() == 0) {
success = true;
break;
}
PrintFormat("%s: downloading bars:attempt %d/%d:error code:%d",
Symbol(), attempt, retries, _LastError);
attempt++;
Sleep(retrypause);
}
}
if(!success) {
PrintFormat("Error! Failed to receive bars of %s", Symbol());
Alert("Error! " + (string)_LastError + " retrieving bars for " + Symbol());
return;
}
attempt = 0;
//--- Make 3 attempts to receive ticks
while(attempt < retries) {
SymbolInfoTick(Symbol(), lasttick);
//--- Measuring start time before receiving the ticks
uint start = GetTickCount();
//--- Requesting the tick history since StartDate (parameter from=1 ms)
ResetLastError();
int received = CopyTicks(Symbol(), ticks, COPY_TICKS_ALL, 1, getticks);
if(received != -1) {
//--- Showing information about the number of ticks and spent time
PrintFormat("%s: received %d ticks in %d ms", Symbol(), received, GetTickCount() - start);
//--- If the tick history is synchronized, the error code is equal to zero
if(GetLastError() == 0) {
success = true;
break;
}
PrintFormat("%s: ticks are not synchronized yet, %d ticks received for %d ms. Error=%d",
Symbol(), received, GetTickCount() - start, _LastError);
}
//--- Counting attempts
attempt++;
//--- A retrypause pause to wait for the end of synchronization of the tick database
Sleep(retrypause);
}
//--- Receiving the requested ticks from the beginning of the tick history failed after attempts
if(!success) {
PrintFormat("Error! Failed to receive %d ticks of %s",
getticks, Symbol());
Alert("Error! " + (string)_LastError + " retrieving ticks for " + Symbol());
return;
}
Alert("Bars and Ticks succesfully downloaded.");
}
//+------------------------------------------------------------------+
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB