Merged the following branches: - feat-genx-trader-bot-bridge (ZOLO bridge, Docker updates) - feature/zolo-integration-update (ZOLO bridge improvements) - feature/add-web-request (Requests support) - fix-mql5-ask-bid-usage (Fix for MQL5) - update-documentation-and-setup-script (Docs update) - update-trading-bridge-zolo (Bridge IP update) - expert-mapsar-improvements (MAPSAR EA improvements) - remote-control-intelligence-tools-integration (Remote control guide) - feat/cli-documentation (CLI docs) - perf-optimize-validator (Validator script optimization) - jules-docker-run-verification (Verification doc update) Resolved conflicts in: - mt5/MQL5/Experts/SMC_TrendBreakout_MTF_EA.mq5 (Version 1.21, merged improvements) - scripts/ci_validate_repo.py (Kept optimized version) - render.yaml (Merged configs) - docker-compose.yml (Merged configs) - README.md & docs (Merged updates) Security fixes: - Removed hardcoded credentials from setup_github_secrets.ps1 and docs/GITHUB_CI_CD_SETUP.md.
8.3 KiB
SMC + Trend Breakout (MTF) for Exness MT5
This repo contains:
mt5/MQL5/Indicators/SMC_TrendBreakout_MTF.mq5: visual indicator (BOS/CHoCH + Donchian breakout + lower-timeframe confirmation).mt5/MQL5/Experts/SMC_TrendBreakout_MTF_EA.mq5: Expert Advisor (alerts + optional auto-trading).
☁️ Cloud Deployment
Deploy to cloud platforms:
- Render.com: Auto-deploy with
render.yaml - Railway.app: Deploy with
railway.json - Fly.io: Deploy with
fly.toml - Docker: Build and deploy anywhere
Quick Deploy:
# Setup all platform configs
python scripts/deploy_cloud.py all
# Deploy to specific platform
python scripts/deploy_cloud.py render
python scripts/deploy_cloud.py railway
python scripts/deploy_cloud.py flyio
python scripts/deploy_cloud.py docker --build
🐳 Docker Hub Deployment:
-
Publish Image (Run locally):
./scripts/deploy_docker_hub.sh <USERNAME> <TOKEN> -
Run on VPS/Laptop:
# Update and run ./scripts/update_vps.sh <USERNAME> <TOKEN>
📖 For detailed cloud deployment instructions, see Cloud Deployment Guide
Render workspace
My Blue watermelon Workspace tea-d1joqqi4d50c738aiujg
Install into Exness MetaTrader 5
⚠️ Note: Custom Indicators and EAs are not supported on the Exness Web Terminal. You must use the Desktop version of MT5.
📖 For detailed deployment instructions, see Exness Deployment Guide
Quick start:
- Open Exness MT5.
- Go to File → Open Data Folder.
- Copy:
SMC_TrendBreakout_MTF.mq5toMQL5/Indicators/SMC_TrendBreakout_MTF_EA.mq5toMQL5/Experts/
- In MT5, open MetaEditor (or press F4) and compile the files.
- Back in MT5: Navigator → Refresh.
🚀 Automated Startup (NEW!)
Quick Start:
- Windows:
powershell -ExecutionPolicy Bypass -File scripts\startup.ps1 - Ubuntu/VPS:
# First time setup (installs Python, Wine, etc.) bash scripts/setup_ubuntu.sh # Start the system ./scripts/startup.sh - Linux/WSL:
./scripts/startup.sh
Auto-Start on Boot:
- Windows:
powershell -ExecutionPolicy Bypass -File scripts\startup.ps1 -CreateScheduledTask - Linux:
./scripts/startup.sh --setup-systemd
📚 Documentation:
- Quick Reference Guide - Command cheat sheet
- Verification Report - System status and test results
- Startup Automation Guide - Complete guide
- Quick Start - Quick start instructions
The automation system handles:
- MT5 Terminal startup
- Python scripts execution
- Scheduled tasks configuration
- Process monitoring and logging
- Windows Task Scheduler integration
- Linux systemd/cron integration
Optional: package / deploy helpers
- Create a zip you can copy to your PC:
bash scripts/package_mt5.sh→ outputsdist/Exness_MT5_MQL5.zip
- Copy directly into your MT5 Data Folder (run this on the machine that has MT5 installed):
bash scripts/deploy_mt5.sh "/path/from/MT5/File->Open Data Folder"
GitHub automation (reviews, CI, auto-merge, OneDrive sync)
This repo includes GitHub Actions workflows under .github/workflows/:
- CI (
CI): runs on pull requests and pushes tomain/master- Validates repo structure
- Builds
dist/Exness_MT5_MQL5.zipand uploads it as an artifact
- Auto-merge enablement (
Enable auto-merge (label-driven)): if a PR has the labelautomerge, it will enable GitHub’s auto-merge (squash). Your branch protection rules still control when it can merge (required reviews, required CI, etc.). - OneDrive sync (
Sync to OneDrive (rclone)): on pushes tomain(and manual runs), syncsmt5/MQL5to OneDrive viarclone.
Recommended repo settings (GitHub → Settings):
- Branch protection (main):
- Require pull request reviews (at least 1)
- Require status checks:
CI / validate-and-package - (Optional) Require CODEOWNERS review
- Auto-merge: enable “Allow auto-merge” in repo settings
OneDrive sync setup (required secrets):
RCLONE_CONFIG_B64: base64 of yourrclone.confcontaining a OneDrive remote.
Example (run locally, then paste into GitHub Secrets):
rclone config
base64 -w0 ~/.config/rclone/rclone.conf
Optional secrets:
ONEDRIVE_REMOTE: remote name inrclone.conf(default:onedrive)ONEDRIVE_PATH: destination folder path (default:Apps/MT5/MQL5)
Firefox Relay API key (optional secrets):
SCRSORCOPILOT
Set both to your Firefox Relay profile API key (https://relay.firefox.com/accounts/profile/). Store these as GitHub Secrets or in a local .env file (see .env.example). Do not commit secret values.
Cloudflare Configuration (required for domain registration/management):
CLOUDFLARE_ZONE_ID: Your Cloudflare Zone ID.CLOUDFLARE_ACCOUNT_ID: Your Cloudflare Account ID.DOMAIN_NAME: Your domain name (e.g.,Lengkundee01.org).
Store these as GitHub Secrets or in a local .env file. See Secrets Management Guide for more details.
You can use the helper script to set these secrets if you have the GitHub CLI installed:
# First, update config/vault.json with your credentials
# Then run:
bash scripts/set_github_secrets.sh vault
Use the indicator
- Attach
SMC_TrendBreakout_MTFto a chart (your main timeframe). - Set LowerTF to a smaller timeframe (ex: main = M15, lower = M5 or M1).
- Signals require lower-TF confirmation by default (EMA fast/slow direction).
Use the EA (push to terminal + optional auto trading)
- Attach
SMC_TrendBreakout_MTF_EAto a chart. - Enable Algo Trading in MT5 if you want auto entries.
- If you want phone push alerts:
- MT5 → Tools → Options → Notifications
- enable push notifications and set your MetaQuotes ID.
- For web request integrations (ZOLO-A6-9V-NUNA- plugin):
- Enable
EnableWebRequestparameter - Add
http://203.147.134.90to MT5's allowed URLs list:- MT5 → Tools → Options → Expert Advisors
- Check "Allow WebRequest for listed URL"
- Add the URL:
http://203.147.134.90
- Enable
🤖 AI Integration (Gemini)
The EA now supports Google Gemini AI to confirm trades before entry.
Setup:
- Get an API Key: Go to Google AI Studio and create a free API key.
- Configure MT5:
- Go to Tools → Options → Expert Advisors.
- Check "Allow WebRequest for listed URL".
- Add the URL:
https://generativelanguage.googleapis.com
- Configure the EA:
- Set
UseGeminiFiltertotrue. - Paste your API Key into
GeminiApiKey. - (Optional) Change
GeminiModelif needed (default:gemini-1.5-flash).
- Set
Auto SL/TP + risk management (EA)
In SMC_TrendBreakout_MTF_EA:
- SLMode
SL_ATR: SL = ATR ×ATR_SL_MultSL_SWING: SL beyond last confirmed fractal swing (withSwingSLBufferPoints), fallback to ATR if swing is missing/invalidSL_FIXED_POINTS: SL =FixedSLPoints
- TPMode
TP_RR: TP =RR× SL distanceTP_FIXED_POINTS: TP =FixedTPPointsTP_DONCHIAN_WIDTH: TP = Donchian channel width ×DonchianTP_Mult(fallback to ATR width if needed)
- RiskPercent
- If
RiskPercent > 0, lots are calculated from SL distance so the money at risk ≈ RiskPercent of Equity (or Balance if you disableRiskUseEquity). RiskClampToFreeMargincan reduce lots if required margin is too high.
- If
Notes / safety
- This is a rules-based implementation of common “SMC” ideas (fractal swing BOS/CHoCH) and a Donchian breakout.
- Test in Strategy Tester and/or demo before using real funds.
Project links
- Developer tip window project: https://chatgpt.com/g/g-p-691e9c0ace5c8191a1b409c09251cc2b-window-for-developer-tip/project
- Plugin Integration / Remote Control Version: ZOLO-A6-9V-NUNA-
- GitHub Pages: https://github.com/Mouy-leng/-LengKundee-mql5.github.io.git
- ZOLO Bridge Endpoint: http://203.147.134.90
Contact
- Email:
Lengkundee01.org@domain.com - WhatsApp: Agent community