mirror of
https://github.com/A6-9V/MQL5-Google-Onedrive.git
synced 2026-04-11 06:20:56 +00:00
ai
algorithm
backtesting
ea
feature-engine
forex
indicators
metatrader
metatrader5
ml
mql5
position-management
python3
risk-management
scikit-learn
strategy
strategy-filters
💡 What: Added a lightweight new-bar check using `iTime()` at the beginning of the `OnTick()` function. 🎯 Why: The `OnTick()` function was executing expensive data copying (`CopyRates`) and calculations on every single price tick, leading to unnecessary CPU load. 📊 Impact: This change ensures the main trading logic only runs once per bar, drastically reducing redundant computations and improving the EA's overall efficiency. For a typical currency pair, this can reduce the number of times the core logic is run by a factor of 10-100x or more, depending on market volatility. 🔬 Measurement: The performance improvement can be verified by observing the CPU usage of the terminal running the EA, especially during volatile market conditions. Before the change, CPU usage would spike on every tick. After the change, CPU usage will remain low and only show a small increase at the beginning of each new bar. |
||
|---|---|---|
| .github | ||
| docs | ||
| mt5/MQL5 | ||
| scripts | ||
| .editorconfig | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
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).
Render workspace
My Blue watermelon Workspace
tea-d1joqqi4d50c738aiujg
Install into Exness MetaTrader 5
- 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.
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)
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.
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
Contact
- Email:
Lengkundee01.org@domain.com - WhatsApp: Agent community