Replaces raw exception leakage in `scripts/web_dashboard.py` with generic "Internal Server Error" responses to prevent information disclosure. Implements `logging` module to capture full stack traces internally for debugging, ensuring no loss of diagnostic capability for admins. Fixes potential vulnerability where internal paths or logic errors could be exposed to end users. |
||
|---|---|---|
| .circleci | ||
| .devcontainer | ||
| .github | ||
| .jles | ||
| .jules | ||
| config | ||
| dashboard | ||
| docs | ||
| icons | ||
| mt5/MQL5 | ||
| scripts | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .gcloudignore | ||
| .gitignore | ||
| .nojekyll | ||
| ACCOUNT_SETUP_411534497.md | ||
| AGENTS.md | ||
| app.yaml | ||
| AUTOMATION_FEATURES.md | ||
| benchmark_git.py | ||
| CHANGELOG.md | ||
| cloudbuild.yaml | ||
| CNAME | ||
| CURRENT_STATUS_ANALYSIS.md | ||
| DEPLOYMENT.md | ||
| DEPLOYMENT_COMPLETE.md | ||
| docker-compose.dev.yml | ||
| docker-compose.mt5.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.cloud | ||
| Dockerfile.dev | ||
| Dockerfile.mt5 | ||
| EXNESS_ACCOUNT_SETUP.txt | ||
| fly.toml | ||
| GITHUB_SECRETS_SETUP.md | ||
| index.html | ||
| LICENSE | ||
| LIVE_TRADING_SETUP.md | ||
| manifest.json | ||
| offline.html | ||
| PWA_IMPLEMENTATION_SUMMARY.md | ||
| QUICK_DEPLOY.md | ||
| QUICK_REFERENCE.md | ||
| railway.json | ||
| README.md | ||
| RELEASE_NOTES_v1.21.0.md | ||
| RELEASE_PREPARATION_SUMMARY.md | ||
| RELEASE_QUICK_REF.md | ||
| render.yaml | ||
| REPO_STRUCTURE.txt | ||
| requirements.txt | ||
| RISK_CONFIG_50USD.md | ||
| SECRETS_TEMPLATE.md | ||
| service-worker.js | ||
| setup.sh | ||
| SSH_KEY_INVESTIGATION.md | ||
| SSH_SETUP.md | ||
| sw-inspector.html | ||
| TASK_COMPLETION_SUMMARY.md | ||
| TASK_STATUS.md | ||
| TELEGRAM_BOT_COMPLETION.md | ||
| TELEGRAM_CONFIGURATION_UPDATE.md | ||
| VERIFICATION.md | ||
| VERSION | ||
| VPS_SETUP_NOTES.md | ||
📓 Knowledge Base
- NotebookLM (Primary): Access here
- NotebookLM (Blueprint & Strategy): Access here
- Note: These notebooks are available for reading and writing. AI agents must read them before starting work.
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
🤖 Telegram Bot Deployment
Deploy and manage your trading system via Telegram!
- API Reference: https://core.telegram.org/bots/api
Available Commands:
/deploy_flyio- Deploy to Fly.io/deploy_render- Deploy to Render.com/deploy_railway- Deploy to Railway.app/status- Check deployment status
Setup:
# Set your Telegram user ID for access control
export TELEGRAM_ALLOWED_USER_IDS="your_telegram_user_id"
# Start the bot
python scripts/telegram_deploy_bot.py
📖 For detailed setup instructions, see Telegram Bot Setup Guide
🤖 Jules AI Coding Agent
Integrate with Google Jules for AI-powered coding assistance!
Jules is Google's autonomous coding agent that can help with code improvements, bug fixes, and feature development.
Current Task:
- Task ID:
11566195936388909103 - View task: https://jules.google.com/task/11566195936388909103
Setup:
# Install Jules CLI
npm install -g @google/jules
# Authenticate with Google
jules login
# Pull the task
jules remote pull --session 11566195936388909103
# Or use the helper script
bash scripts/setup_jules_task.sh
📖 For detailed Jules integration instructions, see Jules Task Setup Guide
Render workspace
My Blue watermelon Workspace tea-d1joqqi4d50c738aiujg
Quick Start: Full Setup
Run the automated setup script to validate your environment and get started:
bash setup.sh
This interactive script will:
- Check for required dependencies (Python 3, Bash, Git)
- Validate repository structure and shell scripts
- Show CLI tools installation status (GitHub CLI, Firebase, Docker, Cursor, Jules)
- Help you package MT5 files
For non-interactive/CI environments:
bash setup.sh --ci
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:
- Full Documentation Index - 👈 Start here for all guides
- Setup & Deployment (Comprehensive) - 🛠️ Start here for manual setup & GCP
- WSL & VPS Guide - Windows/Linux setup guide
- Quick Reference Guide - Command cheat sheet
- Verification Report - System status and test results
- Startup Automation Guide - Complete guide
- Quick Start - Quick start instructions
- Release Process - Creating and managing releases
- Changelog - Version history and changes
📖 GitHub Features:
- GitHub Profile README Guide - Create an impressive profile page
- GitHub Gists Guide - Share code snippets easily
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"
📺 Demo Scripts
Echo and Hello Window Demo:
python3 scripts/echo_hello.py- Run echo and hello window demo (Python version)bash scripts/echo_hello.sh- Run echo and hello window demo (Shell version)
These simple demonstration scripts showcase basic functionality:
- Echo messages to console
- Display formatted hello window
- Cross-platform support
📖 See Echo and Hello Window Guide for details
GitHub automation (reviews, CI, auto-merge, OneDrive sync)
This repo includes GitHub Actions workflows under .github/workflows/:
- CD (
CD - Continuous Deployment): comprehensive deployment automation- Triggered on push to main, tag creation, or manual dispatch
- Builds MT5 package and Docker images
- Deploys to cloud platforms (Render, Railway, Fly.io)
- Deploys dashboard to GitHub Pages
- Creates GitHub releases with assets
- 📖 See CD Workflow Guide for details
- 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):
- Set the EA input
WebRequestURLto your bridge endpoint (example:https://your-bridge.example/api/signal) - Enable the EA input
EnableWebRequest - Add your bridge URL to MT5's allowed URLs list:
- MT5 → Tools → Options → Expert Advisors
- Check "Allow WebRequest for listed URL"
- Add the URL:
https://your-bridge.example
- Set the EA input
🤖 AI Integration (Gemini & Jules)
The EA supports Google Gemini and Jules AI to confirm trades before entry.
Setup:
-
Get an API Key:
- Gemini: Google AI Studio
- Jules: Your Jules API Dashboard
-
Configure MT5:
- Go to Tools → Options → Expert Advisors.
- Check "Allow WebRequest for listed URL".
- Add the URLs:
https://generativelanguage.googleapis.com(for Gemini)- Your Jules API URL (e.g.,
https://api.jules.aior similar)
-
Configure the EA:
- Set
UseGeminiFiltertotrue(Enable AI). - Select
AiProvider:PROVIDER_GEMINIorPROVIDER_JULES. - Paste your API Key into
GeminiApiKeyorJulesApiKey.
Shared/Default Keys:
- Gemini:
[INSERT_GEMINI_API_KEY] - Jules:
[INSERT_JULES_API_KEY]
- Set
🧠 AI Market Research & Upgrade Automation (New!)
Automate market analysis and code upgrades using Gemini and Jules.
Setup:
- Run the setup script:
./scripts/setup_research.sh - Add your API keys to the
.envfile generated:GEMINI_API_KEY=... JULES_API_KEY=... JULES_API_URL=...
Features:
- Market Research: Fetches real market data (via
yfinance) and generates a report (docs/market_research_report.md). - Code Upgrades: Suggests EA improvements based on the research (
docs/upgrade_suggestions.md). - Scheduling: Runs automatically every 4 hours via
scripts/schedule_research.py.
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
- User Notes & References - 📝 Personal notes and external links
- OneDrive Vault Password:
[ACCESS_CODE_REQUIRED](Access Code) - NotebookLM Context (Primary): NotebookLM
- NotebookLM Blueprint & Strategy: NotebookLM
- OneDrive Blueprint Notes: Quick Notes - Blueprint
- Cursor Connect: Join Session
- Developer tip window project: https://chatgpt.com/g/g-p-691e9c0ace5c8191a1b409c09251cc2b-window-for-developer-tip/project
- GenX Workspace (VSCode): OneDrive Folder
- Samurai All Branch Structure: OneDrive Folder
- Plugin Integration: ZOLO-A6-9V-NUNA-
- GitHub Pages: https://github.com/Mouy-leng/-LengKundee-mql5.github.io.git
- ZOLO Bridge Endpoint: (set this privately in EA inputs / vault)
Contact
- Email:
Lengkundee01.org@domain.com - WhatsApp: Agent community