Initial commit: Optimized MetaTrader 5 EAs with screenshots and documentation

This commit is contained in:
GeneralTradingSarl
2025-06-23 08:56:56 +01:00
commit 17b0ad38a8
9057 changed files with 155179 additions and 0 deletions
@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}
@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}
+28
View File
@@ -0,0 +1,28 @@
# Expert MT Collection
A curated collection of **MetaTrader 5 Expert Advisors (EAs)** — all carefully optimized for performance and reliability. Each EA comes with screenshots and documentation to help you get started quickly.
## 🚀 Why this project?
- Every EA in this repository has been **optimized** for better results and efficiency.
- Perfect for traders, developers, and anyone looking to automate their trading on MetaTrader 5.
- Explore, test, and improve these EAs as you wish!
## 📂 Project Structure
- `mql5_experts_mt5/` — Main folder containing all expert advisors. Each subfolder = 1 EA, with its own README and screenshots.
- Each EA folder contains:
- The `.mq5` source file
- Example screenshots (strategy in action)
- A detailed README
## 🙏 Support & Motivation
If you find this project useful, please:
- ⭐ Star the repository
- 📢 Share it with your friends and trading communities
- 💬 Leave feedback or suggestions
- ☕ Consider sending a small donation to support further development and free sharing!
> *Your support is the best motivation to keep improving and sharing more optimized trading tools!*
---
**Happy trading and thank you for your encouragement!**
+745
View File
@@ -0,0 +1,745 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 5,
"id": "b8a14d71",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"=== Scraping page 1/137: https://www.mql5.com/en/code/mt5/indicators\n",
"-- 40 indicateurs trouvés\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56228\n",
" ▶ Dossier: mql5_indicators_mt5\\Price Time Scale - indicator for MetaTrader 5\n",
"[↓] pricetimescale.mq5 ← https://www.mql5.com/en/code/download/56228/pricetimescale.mq5\n",
"[✔] Téléchargé: pricetimescale.mq5\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56281\n",
" ▶ Dossier: mql5_indicators_mt5\\Candle size - indicator for MetaTrader 5\n",
"[↓] candle_size.mq5 ← https://www.mql5.com/en/code/download/56281/candle_size.mq5\n",
"[✔] Téléchargé: candle_size.mq5\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56382\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'MACD coloured histogram'\n",
" ▶ Dossier: mql5_indicators_mt5\\MACD coloured histogram\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56432\n",
" ▶ Dossier: mql5_indicators_mt5\\Candle Counter - indicator for MetaTrader 5\n",
"[↓] candle_counter.mq5 ← https://www.mql5.com/en/code/download/56432/candle_counter.mq5\n",
"[✔] Téléchargé: candle_counter.mq5\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/60537\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Moving Average based on Heiken-Ashi'\n",
" ▶ Dossier: mql5_indicators_mt5\\Moving Average based on Heiken-Ashi\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/60369\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Supertrend by KivancOzbilgic'\n",
" ▶ Dossier: mql5_indicators_mt5\\Supertrend by KivancOzbilgic\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56820\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Divergence Awesome Ocilator'\n",
" ▶ Dossier: mql5_indicators_mt5\\Divergence Awesome Ocilator\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56909\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Daily Trend'\n",
" ▶ Dossier: mql5_indicators_mt5\\Daily Trend\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/60194\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'ATR Channels Indicator'\n",
" ▶ Dossier: mql5_indicators_mt5\\ATR Channels Indicator\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/54459\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'AlphaTrend'\n",
" ▶ Dossier: mql5_indicators_mt5\\AlphaTrend\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56972\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'False Breakups'\n",
" ▶ Dossier: mql5_indicators_mt5\\False Breakups\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/60054\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Baseline: iMA + ATR Bands'\n",
" ▶ Dossier: mql5_indicators_mt5\\Baseline_ iMA + ATR Bands\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/60023\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Show Positions on Custom Chart (or standard chart) for MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Show Positions on Custom Chart (or standard chart) for MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57174\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Divergence DeMarker'\n",
" ▶ Dossier: mql5_indicators_mt5\\Divergence DeMarker\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58896\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Change the colour of candles and wick'\n",
" ▶ Dossier: mql5_indicators_mt5\\Change the colour of candles and wick\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58845\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Customised bmap chart'\n",
" ▶ Dossier: mql5_indicators_mt5\\Customised bmap chart\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59733\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Engulfing Pattern Indicator with Volume Confirmation'\n",
" ▶ Dossier: mql5_indicators_mt5\\Engulfing Pattern Indicator with Volume Confirmation\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59792\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Trendline zigzag in qualitative channel'\n",
" ▶ Dossier: mql5_indicators_mt5\\Trendline zigzag in qualitative channel\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59744\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Equity and Balance Indicator - History based'\n",
" ▶ Dossier: mql5_indicators_mt5\\Equity and Balance Indicator - History based\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58516\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Candle Filter'\n",
" ▶ Dossier: mql5_indicators_mt5\\Candle Filter\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58104\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'RSI Divergence'\n",
" ▶ Dossier: mql5_indicators_mt5\\RSI Divergence\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58229\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'EquiPeak Drawdown Tracker'\n",
" ▶ Dossier: mql5_indicators_mt5\\EquiPeak Drawdown Tracker\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59477\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'DailyHighLow Indicator for MQL5'\n",
" ▶ Dossier: mql5_indicators_mt5\\DailyHighLow Indicator for MQL5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59368\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Swaps Monitor for a Single Symbol'\n",
" ▶ Dossier: mql5_indicators_mt5\\Swaps Monitor for a Single Symbol\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59342\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'ADX Indicator (MQL5)'\n",
" ▶ Dossier: mql5_indicators_mt5\\ADX Indicator (MQL5)\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59268\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Custom MACD: Elevate Your Trading with Real-Time Signal Alerts to Your Phone'\n",
" ▶ Dossier: mql5_indicators_mt5\\Custom MACD_ Elevate Your Trading with Real-Time Signal Alerts to Your Phone\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59227\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'BBMA - Bollinger Band Moving Average'\n",
" ▶ Dossier: mql5_indicators_mt5\\BBMA - Bollinger Band Moving Average\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59204\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Range BreakOut Indicator - Indicator Buffer Only'\n",
" ▶ Dossier: mql5_indicators_mt5\\Range BreakOut Indicator - Indicator Buffer Only\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/59157\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Multi-Day Dynamic VWAP'\n",
" ▶ Dossier: mql5_indicators_mt5\\Multi-Day Dynamic VWAP\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58838\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Brooky Trend Strength for MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Brooky Trend Strength for MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58789\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'SignalAI - Indicator'\n",
" ▶ Dossier: mql5_indicators_mt5\\SignalAI - Indicator\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58636\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Custom MA Cross with RSI Indicator for MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Custom MA Cross with RSI Indicator for MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58650\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'CTJM Candle Timer'\n",
" ▶ Dossier: mql5_indicators_mt5\\CTJM Candle Timer\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58562\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Volume MA with candle color tracking'\n",
" ▶ Dossier: mql5_indicators_mt5\\Volume MA with candle color tracking\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57731\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Countdown 2.0'\n",
" ▶ Dossier: mql5_indicators_mt5\\Countdown 2.0\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57644\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'MACD Divergence'\n",
" ▶ Dossier: mql5_indicators_mt5\\MACD Divergence\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57620\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Spreads'\n",
" ▶ Dossier: mql5_indicators_mt5\\Spreads\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57320\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'AveragePrice'\n",
" ▶ Dossier: mql5_indicators_mt5\\AveragePrice\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56678\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Better volume'\n",
" ▶ Dossier: mql5_indicators_mt5\\Better volume\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49558\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Volatility Stop'\n",
" ▶ Dossier: mql5_indicators_mt5\\Volatility Stop\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"=== Scraping page 2/137: https://www.mql5.com/en/code/mt5/indicators/page2\n",
"-- 40 indicateurs trouvés\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49404\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'SMI Ergodic Oscillator'\n",
" ▶ Dossier: mql5_indicators_mt5\\SMI Ergodic Oscillator\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49334\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Net Volume'\n",
" ▶ Dossier: mql5_indicators_mt5\\Net Volume\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49265\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Know Sure Thing'\n",
" ▶ Dossier: mql5_indicators_mt5\\Know Sure Thing\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49182\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Correlation Coefficient'\n",
" ▶ Dossier: mql5_indicators_mt5\\Correlation Coefficient\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49029\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Chaikin Money Flow'\n",
" ▶ Dossier: mql5_indicators_mt5\\Chaikin Money Flow\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58257\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'ColorXMA_Ishimoku_StDev - indicator for MetaTrader 5'\n",
" ▶ Dossier: mql5_indicators_mt5\\ColorXMA_Ishimoku_StDev - indicator for MetaTrader 5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49459\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Volume Oscillator'\n",
" ▶ Dossier: mql5_indicators_mt5\\Volume Oscillator\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/58231\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'EquiPeak Drawdown Tracker'\n",
" ▶ Dossier: mql5_indicators_mt5\\EquiPeak Drawdown Tracker\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/54894\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Kuskus Starlight'\n",
" ▶ Dossier: mql5_indicators_mt5\\Kuskus Starlight\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49175\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Chande Kroll Stop'\n",
" ▶ Dossier: mql5_indicators_mt5\\Chande Kroll Stop\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49132\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'PriceChanges'\n",
" ▶ Dossier: mql5_indicators_mt5\\PriceChanges\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/48962\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Second Bars'\n",
" ▶ Dossier: mql5_indicators_mt5\\Second Bars\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57975\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Uniformity Factor Indicator'\n",
" ▶ Dossier: mql5_indicators_mt5\\Uniformity Factor Indicator\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/49985\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Angle and Speed'\n",
" ▶ Dossier: mql5_indicators_mt5\\Angle and Speed\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/25229\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Pan PrizMA No leverage 72'\n",
" ▶ Dossier: mql5_indicators_mt5\\Pan PrizMA No leverage 72\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57724\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'PSAR Zigzag (Non lagging)'\n",
" ▶ Dossier: mql5_indicators_mt5\\PSAR Zigzag (Non lagging)\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57684\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Ranging Market Detector'\n",
" ▶ Dossier: mql5_indicators_mt5\\Ranging Market Detector\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57597\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Breakout Finder by LonesomeTheBlue'\n",
" ▶ Dossier: mql5_indicators_mt5\\Breakout Finder by LonesomeTheBlue\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57377\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'FVG based Momentum Detection'\n",
" ▶ Dossier: mql5_indicators_mt5\\FVG based Momentum Detection\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57302\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Trend Zigzag (on ma cross)'\n",
" ▶ Dossier: mql5_indicators_mt5\\Trend Zigzag (on ma cross)\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57063\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Supertrend'\n",
" ▶ Dossier: mql5_indicators_mt5\\Supertrend\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/57038\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'BarDuration'\n",
" ▶ Dossier: mql5_indicators_mt5\\BarDuration\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56927\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'T3 Moving Average'\n",
" ▶ Dossier: mql5_indicators_mt5\\T3 Moving Average\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56869\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Daily Vertical Lines'\n",
" ▶ Dossier: mql5_indicators_mt5\\Daily Vertical Lines\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56619\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Fibonacci ZigZag'\n",
" ▶ Dossier: mql5_indicators_mt5\\Fibonacci ZigZag\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56616\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Autoscaling Zigzag'\n",
" ▶ Dossier: mql5_indicators_mt5\\Autoscaling Zigzag\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56559\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Time To Close v1.01 - MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Time To Close v1.01 - MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/56289\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Self Optimized SMA'\n",
" ▶ Dossier: mql5_indicators_mt5\\Self Optimized SMA\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55923\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Intrabar Volume Flow'\n",
" ▶ Dossier: mql5_indicators_mt5\\Intrabar Volume Flow\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55521\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Trade Assistant MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Trade Assistant MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55622\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Portable Moving Average'\n",
" ▶ Dossier: mql5_indicators_mt5\\Portable Moving Average\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55519\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Total Power Indicator MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Total Power Indicator MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55517\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'TD Sequential Ultimate MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\TD Sequential Ultimate MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55371\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Coppock MT5 indicator'\n",
" ▶ Dossier: mql5_indicators_mt5\\Coppock MT5 indicator\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55515\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Support and Resistance MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Support and Resistance MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55513\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Spread indicator MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Spread indicator MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55511\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Schaff Trend Cycle MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Schaff Trend Cycle MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55509\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'RSIOMA MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\RSIOMA MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55507\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Round Levels MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Round Levels MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"→ Indicateur: https://www.mql5.com/en/code/55504\n",
" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: 'Recent High/Low Alert MT5'\n",
" ▶ Dossier: mql5_indicators_mt5\\Recent High_Low Alert MT5\n",
" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\n",
" ▶ 0 images détectées\n",
"\n",
"=== Scraping page 3/137: https://www.mql5.com/en/code/mt5/indicators/page3\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 4/137: https://www.mql5.com/en/code/mt5/indicators/page4\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 5/137: https://www.mql5.com/en/code/mt5/indicators/page5\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 6/137: https://www.mql5.com/en/code/mt5/indicators/page6\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 7/137: https://www.mql5.com/en/code/mt5/indicators/page7\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 8/137: https://www.mql5.com/en/code/mt5/indicators/page8\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 9/137: https://www.mql5.com/en/code/mt5/indicators/page9\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 10/137: https://www.mql5.com/en/code/mt5/indicators/page10\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 11/137: https://www.mql5.com/en/code/mt5/indicators/page11\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 12/137: https://www.mql5.com/en/code/mt5/indicators/page12\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 13/137: https://www.mql5.com/en/code/mt5/indicators/page13\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 14/137: https://www.mql5.com/en/code/mt5/indicators/page14\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 15/137: https://www.mql5.com/en/code/mt5/indicators/page15\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 16/137: https://www.mql5.com/en/code/mt5/indicators/page16\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 17/137: https://www.mql5.com/en/code/mt5/indicators/page17\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 18/137: https://www.mql5.com/en/code/mt5/indicators/page18\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 19/137: https://www.mql5.com/en/code/mt5/indicators/page19\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 20/137: https://www.mql5.com/en/code/mt5/indicators/page20\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 21/137: https://www.mql5.com/en/code/mt5/indicators/page21\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 22/137: https://www.mql5.com/en/code/mt5/indicators/page22\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 23/137: https://www.mql5.com/en/code/mt5/indicators/page23\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 24/137: https://www.mql5.com/en/code/mt5/indicators/page24\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 25/137: https://www.mql5.com/en/code/mt5/indicators/page25\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 26/137: https://www.mql5.com/en/code/mt5/indicators/page26\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 27/137: https://www.mql5.com/en/code/mt5/indicators/page27\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 28/137: https://www.mql5.com/en/code/mt5/indicators/page28\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 29/137: https://www.mql5.com/en/code/mt5/indicators/page29\n",
"-- 0 indicateurs trouvés\n",
"\n",
"=== Scraping page 30/137: https://www.mql5.com/en/code/mt5/indicators/page30\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[5], line 55\u001b[0m\n\u001b[0;32m 53\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m=== Scraping page \u001b[39m\u001b[38;5;132;01m{\u001b[39;00midx\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m/\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mPAGES_TO_SCRAPE\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpage_url\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 54\u001b[0m driver\u001b[38;5;241m.\u001b[39mget(page_url)\n\u001b[1;32m---> 55\u001b[0m \u001b[43mtime\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msleep\u001b[49m\u001b[43m(\u001b[49m\u001b[43mPAGE_DELAY\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 57\u001b[0m soup \u001b[38;5;241m=\u001b[39m BeautifulSoup(driver\u001b[38;5;241m.\u001b[39mpage_source, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhtml.parser\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 58\u001b[0m tiles \u001b[38;5;241m=\u001b[39m soup\u001b[38;5;241m.\u001b[39mselect(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.codebase-list__content .code-tile .title > a\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"import os\n",
"import time\n",
"import re\n",
"import requests\n",
"from urllib.parse import urljoin, urlparse\n",
"from bs4 import BeautifulSoup\n",
"from selenium import webdriver\n",
"from selenium.webdriver.chrome.options import Options\n",
"from selenium.webdriver.chrome.service import Service\n",
"\n",
"# === CONFIGURATION ===\n",
"BASE_URL = \"https://www.mql5.com\"\n",
"START_URL = f\"{BASE_URL}/en/code/mt5/indicators\"\n",
"# Il y a 137 pages d'indicateurs\n",
"PAGES_TO_SCRAPE = 137\n",
"DOWNLOAD_ROOT = \"mql5_indicators_mt5\"\n",
"PAGE_DELAY = 2 # secondes d’attente après chargement de chaque page\n",
"REQ_TIMEOUT = 30 # timeout pour requests.get\n",
"\n",
"# === UTILITAIRES ===\n",
"def safe_mkdir(path):\n",
" if not os.path.isdir(path):\n",
" os.makedirs(path, exist_ok=True)\n",
"\n",
"def download_file(url, dest_folder):\n",
" safe_mkdir(dest_folder)\n",
" filename = os.path.basename(urlparse(url).path)\n",
" dest_path = os.path.join(dest_folder, filename)\n",
" print(f\"[↓] {filename} ← {url}\")\n",
" try:\n",
" r = requests.get(url, stream=True, timeout=REQ_TIMEOUT)\n",
" r.raise_for_status()\n",
" with open(dest_path, \"wb\") as f:\n",
" for chunk in r.iter_content(1024):\n",
" f.write(chunk)\n",
" print(f\"[✔] Téléchargé: {filename}\")\n",
" except Exception as e:\n",
" print(f\"[✘] Erreur download {filename}: {e}\")\n",
"\n",
"# === SETUP SELENIUM HEADLESS ===\n",
"chrome_opts = Options()\n",
"chrome_opts.add_argument(\"--headless\")\n",
"chrome_opts.add_argument(\"--disable-gpu\")\n",
"chrome_opts.add_argument(\"--no-sandbox\")\n",
"driver = webdriver.Chrome(service=Service(), options=chrome_opts)\n",
"\n",
"# === CRÉER LE DOSSIER RACINE ===\n",
"safe_mkdir(DOWNLOAD_ROOT)\n",
"\n",
"# === SCRAPING PAGES ===\n",
"for idx in range(1, PAGES_TO_SCRAPE + 1):\n",
" page_url = START_URL if idx == 1 else f\"{START_URL}/page{idx}\"\n",
" print(f\"\\n=== Scraping page {idx}/{PAGES_TO_SCRAPE}: {page_url}\")\n",
" driver.get(page_url)\n",
" time.sleep(PAGE_DELAY)\n",
"\n",
" soup = BeautifulSoup(driver.page_source, \"html.parser\")\n",
" tiles = soup.select(\".codebase-list__content .code-tile .title > a\")\n",
" print(f\"-- {len(tiles)} indicateurs trouvés\")\n",
"\n",
" for a in tiles:\n",
" href = a.get(\"href\")\n",
" list_title = a.text.strip()\n",
" indicator_url = urljoin(BASE_URL, href)\n",
" print(f\"\\n→ Indicateur: {indicator_url}\")\n",
" driver.get(indicator_url)\n",
" time.sleep(PAGE_DELAY)\n",
" esoup = BeautifulSoup(driver.page_source, \"html.parser\")\n",
"\n",
" # Nom de l’indicateur: priorité au <h1>, sinon titre depuis la liste\n",
" h1 = esoup.select_one(\"h1\")\n",
" if h1 and h1.text.strip():\n",
" name_raw = h1.text.strip()\n",
" else:\n",
" name_raw = list_title or href.split('/')[-1]\n",
" print(f\" [ℹ] Pas de <h1> trouvé, utilisation du titre listé: '{name_raw}'\")\n",
" name = re.sub(r\"[\\\\/:*?\\\"<>|]\", \"_\", name_raw)\n",
" folder = os.path.join(DOWNLOAD_ROOT, name)\n",
" safe_mkdir(folder)\n",
" print(f\" ▶ Dossier: {folder}\")\n",
"\n",
" # Télécharger le code : ZIP ou .mq5/.mq4\n",
" zip_link = esoup.find(\"a\", string=re.compile(r\"Download as ZIP\", re.I))\n",
" if zip_link and zip_link.get(\"href\"):\n",
" download_file(urljoin(BASE_URL, zip_link[\"href\"]), folder)\n",
" else:\n",
" code_link = esoup.find(\"a\", href=re.compile(r\"\\.mq[45]$\"))\n",
" if code_link:\n",
" download_file(urljoin(BASE_URL, code_link[\"href\"]), folder)\n",
" else:\n",
" print(\" [!] Aucun code trouvé (.mq5/.mq4 ou ZIP).\")\n",
"\n",
" # Télécharger les images de présentation\n",
" images = esoup.select(\".codebase-detail img\")\n",
" print(f\" ▶ {len(images)} images détectées\")\n",
" for img in images:\n",
" src = img.get(\"src\") or img.get(\"data-src\")\n",
" if not src or not re.search(r\"\\.(png|jpe?g|gif)$\", src, re.I):\n",
" continue\n",
" download_file(urljoin(BASE_URL, src), folder)\n",
"\n",
"# === FIN ===\n",
"driver.quit()\n",
"print(\"\\n=== FIN DU SCRAPING INDICATEURS ===\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "96d1eda1",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.18"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
+56
View File
@@ -0,0 +1,56 @@
import os
ROOT = "mql5_experts_mt5"
def is_valid_image(filename):
lower = filename.lower()
return (
lower.endswith((".png", ".jpg", ".jpeg", ".gif"))
and not any(x in lower for x in ["avatar", "indicator", "expert", "logo"])
)
def get_mq5_files(files):
return [f for f in files if f.lower().endswith('.mq5')]
def get_images(files):
return [f for f in files if is_valid_image(f)]
def generate_readme(folder, mq5_files, images):
title = os.path.basename(folder)
lines = [f"# {title}\n", "## Description"]
lines.append(
"This folder contains a professional trading expert advisor (EA) for MetaTrader 5.\n\n"
"Below are example screenshots of the strategy in action. \n"
"*Feel free to explore, test, and improve!*\n\n"
"*You can add a detailed description of the strategy, parameters, and usage here.*\n\n"
"---\n\n"
"If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!\n"
)
for img in images:
lines.append(f"![Screenshot]({img})")
lines.append("\n## Files")
for mq5 in mq5_files:
lines.append(f"- `{mq5}`")
lines.append("\n## How to use")
lines.append("1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.")
lines.append("2. Compile in MetaEditor.")
lines.append("3. Attach the expert to a chart.")
lines.append("4. Configure parameters as needed.\n")
return "\n".join(lines)
for subdir in os.listdir(ROOT):
folder = os.path.join(ROOT, subdir)
if os.path.isdir(folder):
files = os.listdir(folder)
mq5_files = get_mq5_files(files)
images = get_images(files)
if mq5_files: # Only process if there is at least one .mq5 file
readme_path = os.path.join(folder, "README.md")
new_content = generate_readme(folder, mq5_files, images)
# Write or overwrite README.md if missing or different
if not os.path.exists(readme_path) or open(readme_path, encoding="utf-8").read() != new_content:
with open(readme_path, "w", encoding="utf-8") as f:
f.write(new_content)
print(f"README.md updated in: {folder}")
print("Vérification et génération terminées pour tous les dossiers !")
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

+25
View File
@@ -0,0 +1,25 @@
# 10 pips EURUSD
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](10pip_eur2_1.gif)
![Screenshot](script.png)
## Files
- `10_pips_eurusd.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

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

Binary file not shown.
+23
View File
@@ -0,0 +1,23 @@
# 10 pips
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
## Files
- `10_pips.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

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,24 @@
# 10pipsOnceADayOppositeLastNHourTrend
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](library.png)
## Files
- `10pipsonceadayoppositelastnhourtrend.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
# 1H EUR_USD
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](1H_EUR_USD.png)
## Files
- `1h_eur_usd.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

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: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,26 @@
# 2-Pair Correlation EA
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](5D643B69-63F2.jpg)
![Screenshot](5FC3C6E9-F973.jpg)
![Screenshot](6776FFC1-040E.png)
## Files
- `2-pair_correlation_ea.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

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: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

@@ -0,0 +1,25 @@
# 20 Pips Opposite Last N Hour Trend
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](5DD7B1CB-5121.jpg)
![Screenshot](65d8b5a2-f9d9.jpg)
## Files
- `20_pips_opposite_last_n_hour_trend.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

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: 6.5 KiB

Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
# 20PRExp-3
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](20PRExp-3.png)
## Files
- `20prexp-3.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

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: 9.8 KiB

@@ -0,0 +1,24 @@
# 20_200 expert v 4.2 AntS
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](2016-10-27_08h51_32.png)
## Files
- `20_200_expert_v_4.2_ants.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

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

After

Width:  |  Height:  |  Size: 5.7 KiB

+24
View File
@@ -0,0 +1,24 @@
# 21hour
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](21hour_tester_v1.01.png)
## Files
- `21hour.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

@@ -0,0 +1,26 @@
# 2MA Bunny Cross Expert
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](5E6B718B-C6BF.png)
![Screenshot](647a2180-1856.png)
![Screenshot](65d8b5a2-f9d9.jpg)
## Files
- `2ma_bunny_cross_expert.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

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: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

+29
View File
@@ -0,0 +1,29 @@
# 2MA_4Level
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](2018-08-12_08h02_38__1.png)
![Screenshot](2018-08-12_08h04_05__1.png)
![Screenshot](2MA_4Level_tester.png)
![Screenshot](6341bf46-f0b0.png)
![Screenshot](65d8b5a2-f9d9.jpg)
![Screenshot](journal__1.jpg)
## Files
- `2ma_4level.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

+28
View File
@@ -0,0 +1,28 @@
# 3MACross EA
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](130e3a1w8c.png)
![Screenshot](3MACross_EA.png)
![Screenshot](65d8b5a2-f9d9.jpg)
![Screenshot](gb47jqktj12.png)
![Screenshot](qz9neoqsau1.png)
## Files
- `3macross_ea.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

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: 127 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

+25
View File
@@ -0,0 +1,25 @@
# 3sma
## Description
This folder contains a professional trading expert advisor (EA) for MetaTrader 5.
Below are example screenshots of the strategy in action.
*Feel free to explore, test, and improve!*
*You can add a detailed description of the strategy, parameters, and usage here.*
---
If you find this project useful, please consider giving it a star, sharing it, or even sending a small donation to support further development. Thank you!
![Screenshot](3sma.png)
![Screenshot](65d8b5a2-f9d9.jpg)
## Files
- `3sma.mq5`
## How to use
1. Copy the `.mq5` file to your MetaTrader 5 `Experts` folder.
2. Compile in MetaEditor.
3. Attach the expert to a chart.
4. Configure parameters as needed.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Some files were not shown because too many files have changed in this diff Show More