Find a file
google-labs-jules[bot] cce5d5025e Bolt: Add new bar check to OnTick to prevent redundant calculations
💡 What: Adds an "early exit" guard at the beginning of the `OnTick()` function. This check ensures that the main body of the function only executes when a new bar has formed on the signal timeframe.

🎯 Why: Previously, the expensive `CopyRates` function and all subsequent indicator logic were executed on every single price tick. Since the EA's trading logic is bar-based, this resulted in a significant amount of redundant computation, wasting CPU resources.

📊 Impact: This optimization drastically reduces the EA's CPU usage. The core logic now runs only once per bar instead of multiple times per second, potentially reducing the number of expensive calculations by over 99%, especially in volatile markets.

🔬 Measurement: The performance improvement can be verified by profiling the EA in the MetaTrader 5 Strategy Tester. A significant reduction in the total execution time for a given backtest period will be observed. Alternatively, monitoring the CPU usage of the terminal with the EA running on a live chart will show a noticeable decrease in resource consumption.
2026-01-07 17:09:07 +00:00
.github Update issue templates 2026-01-06 11:27:08 +07:00
.jules feat(perf): Cache MTF confirmation to reduce redundant calculations 2026-01-07 10:37:51 +00:00
config Add comprehensive automation startup scripts for Windows, Linux, and WSL 2026-01-06 04:21:36 +00:00
docs Merge branch 'main' into copilot/plugin-mql5-google-onedrive 2026-01-06 13:15:12 +07:00
logs Add automation features documentation and integration tests 2026-01-06 04:25:48 +00:00
mt5/MQL5 Bolt: Add new bar check to OnTick to prevent redundant calculations 2026-01-07 17:09:07 +00:00
scripts Add executable permissions to scripts and create verification document 2026-01-06 20:41:06 +00:00
.editorconfig feat: Add GitHub Actions for CI, automerge, and sync 2025-12-27 06:02:09 +00:00
.gitignore Add comprehensive automation startup scripts for Windows, Linux, and WSL 2026-01-06 04:21:36 +00:00
AUTOMATION_FEATURES.md Add automation features documentation and integration tests 2026-01-06 04:25:48 +00:00
LICENSE Initial commit 2025-12-26 13:13:16 +07:00
QUICK_REFERENCE.md Add quick reference guide and update README with documentation links 2026-01-06 20:44:12 +00:00
README.md Merge pull request #55 from A6-9V/copilot/plugin-mql5-google-onedrive 2026-01-07 09:30:09 +07:00
requirements.txt Add comprehensive automation startup scripts for Windows, Linux, and WSL 2026-01-06 04:21:36 +00:00
VERIFICATION.md Address code review feedback: improve verification documentation clarity 2026-01-06 20:42:36 +00:00

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

📖 For detailed deployment instructions, see Exness Deployment Guide

Quick start:

  1. Open Exness MT5.
  2. Go to File → Open Data Folder.
  3. Copy:
    • SMC_TrendBreakout_MTF.mq5 to MQL5/Indicators/
    • SMC_TrendBreakout_MTF_EA.mq5 to MQL5/Experts/
  4. In MT5, open MetaEditor (or press F4) and compile the files.
  5. Back in MT5: Navigator → Refresh.

🚀 Automated Startup (NEW!)

Quick Start:

  • Windows: powershell -ExecutionPolicy Bypass -File scripts\startup.ps1
  • 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:

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 → outputs dist/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 to main/master
    • Validates repo structure
    • Builds dist/Exness_MT5_MQL5.zip and uploads it as an artifact
  • Auto-merge enablement (Enable auto-merge (label-driven)): if a PR has the label automerge, 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 to main (and manual runs), syncs mt5/MQL5 to OneDrive via rclone.

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 your rclone.conf containing 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 in rclone.conf (default: onedrive)
  • ONEDRIVE_PATH: destination folder path (default: Apps/MT5/MQL5)

Use the indicator

  • Attach SMC_TrendBreakout_MTF to 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_EA to 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 EnableWebRequest parameter
    • Add https://soloist.ai/a6-9v to MT5's allowed URLs list:
      • MT5 → Tools → Options → Expert Advisors
      • Check "Allow WebRequest for listed URL"
      • Add the URL: https://soloist.ai/a6-9v

Auto SL/TP + risk management (EA)

In SMC_TrendBreakout_MTF_EA:

  • SLMode
    • SL_ATR: SL = ATR × ATR_SL_Mult
    • SL_SWING: SL beyond last confirmed fractal swing (with SwingSLBufferPoints), fallback to ATR if swing is missing/invalid
    • SL_FIXED_POINTS: SL = FixedSLPoints
  • TPMode
    • TP_RR: TP = RR × SL distance
    • TP_FIXED_POINTS: TP = FixedTPPoints
    • TP_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 disable RiskUseEquity).
    • RiskClampToFreeMargin can reduce lots if required margin is too high.

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.

Contact