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
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,20 @@
# 🚀 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](PivotPointTpHtml.png)
![Screenshot](script.png)
## Source Files
- `pivotpointstohtml.mq5`
---
> Made with ❤️ for the trading community.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,152 @@
//+------------------------------------------------------------------+
//| PivotPointToHtml.mq5 |
//| Copyright 2012, Rone. |
//| rone.sergey@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, Rone."
#property link "rone.sergey@gmail.com"
#property version "1.00"
#property script_show_inputs
//---
input string InpFileName = "PivotPoints"; // File name
input ENUM_TIMEFRAMES InpTimeFrame = PERIOD_W1; // Time Frame for the calculation
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class CSymPivot {
public:
string name;
double close;
double high;
double low;
int digits;
double pivot;
double res1;
double sup1;
double res2;
double sup2;
double res3;
double sup3;
CSymPivot();
~CSymPivot() {};
void setData(string sym, double initClose, double initHigh, double initLow, int initDigits);
void calculatePivot();
};
//---
CSymPivot::CSymPivot(void) {
name = "";
close = high = low = 0.0;
pivot = 0.0;
res1 = res2 = res3 = 0.0;
sup1 = sup2 = sup3 = 0.0;
}
//---
void CSymPivot::setData(string sym, double initClose,double initHigh,double initLow, int initDigits) {
name = sym;
digits = initDigits;
close = initClose;
high = initHigh;
low = initLow;
}
//---
void CSymPivot::calculatePivot(void) {
pivot = (high + low + close) / 3;
res1 = 2 * pivot - low;
sup1 = 2 * pivot - high;
res2 = pivot + (res1 - sup1);
sup2 = pivot - (res1 - sup1);
res3 = high + 2 * (pivot - low);
sup3 = low - 2 * (high - pivot);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string getCSS() {
//---
string css;
css = "<style type=\"text/css\">";
css += "html, body { margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; -webkit-print-color-adjust: exact; }";
css += "body { width: 600px; margin: auto; }";
css += "table { border: 2px solid #000; border-collapse: collapse; }";
css += "th, td { border: 1px solid #000; text-align: center; margin: 0; padding: 4px; }";
css += "th { border-bottom-width: 2px; }";
css += "caption { margin: 5px; font-weight: bold; font-size: 120%; }";
css += "table tr th { background: #3cc; }";
css += "table tr.row0 { background: #fff; }";
css += "table tr.row1 { background: #ccc; }";
css += "</style>";
//---
return(css);
}
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart() {
//---
int symTotal = SymbolsTotal(true);
CSymPivot symPivot[];
ArrayResize(symPivot, symTotal);
for ( int i = symTotal - 1; i >= 0; i-- ) {
string sym = SymbolName(i, true);
int digits = (int)SymbolInfoInteger(sym, SYMBOL_DIGITS);
MqlRates rates[2];
//---
if ( CopyRates(sym, InpTimeFrame, 0, 2, rates) != 2 ) {
Print("Symbol data copy error ", sym, ". Error #", GetLastError());
return;
}
//---
symPivot[i].setData(sym, rates[0].close, rates[0].high, rates[0].low, digits);
symPivot[i].calculatePivot();
}
string content;
datetime time[2];
if ( CopyTime(symPivot[0].name, InpTimeFrame, 0, 2, time) != 2 ) {
Print("Time copy error. Error #", GetLastError());
return;
}
content = "<!DOCTYPE html><html>";
content += "<head>";
content += "<title>Pivot Points Table</title><meta charset=\"utf-8\">";
content += getCSS();
content += "</head>";
content += "<body>";
content += "<table>";
content += "<caption>Pivot Points (" + EnumToString(InpTimeFrame) + ", " + TimeToString(time[1]) + ")</caption>";
content += "<tr><th>Symbol</th><th>Res 3</th><th>Res 2</th><th>Res 3</th>";
content += "<th>Pivot</th><th>Sup 1</th><th>Sup 2</th><th>Sup 3</th></tr>";
for ( int i = 0; i < symTotal; i++ ) {
int row = i % 2;
content += "<tr class=\"row"+(string)row+"\">";
content += "<td>" + symPivot[i].name + "</td>";
content += "<td>" + DoubleToString(symPivot[i].res3, symPivot[i].digits) + "</td>";
content += "<td>" + DoubleToString(symPivot[i].res2, symPivot[i].digits) + "</td>";
content += "<td>" + DoubleToString(symPivot[i].res1, symPivot[i].digits) + "</td>";
content += "<td>" + DoubleToString(symPivot[i].pivot, symPivot[i].digits) + "</td>";
content += "<td>" + DoubleToString(symPivot[i].sup1, symPivot[i].digits) + "</td>";
content += "<td>" + DoubleToString(symPivot[i].sup2, symPivot[i].digits) + "</td>";
content += "<td>" + DoubleToString(symPivot[i].sup3, symPivot[i].digits) + "</td>";
content += "</tr>";
}
content += "</table></body></html>";
//---
int fileHandle = FileOpen(InpFileName+".html", FILE_WRITE|FILE_TXT|FILE_ANSI, ' ', CP_UTF8);
if ( fileHandle < 0 ) {
Print("File open failed, error ",GetLastError());
return;
}
uint result = FileWrite(fileHandle, content);
if ( result <= 0 ) {
Print("File writing error. Error #", GetLastError());
}
FileClose(fileHandle);
//---
}
//+------------------------------------------------------------------+
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB