Find a file
google-labs-jules[bot] 86f9d7a45f feat(security): sanitize error responses and add secure logging in web dashboard
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.
2026-02-22 23:05:40 +00:00
.circleci feat: add CircleCI configuration with validation and testing 2026-02-09 09:54:11 +00:00
.devcontainer Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
.github feat: implement unified MQL5 EA containerized deployment and CI/CD 2026-02-09 16:19:26 +00:00
.jles Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
.jules feat(security): sanitize error responses and add secure logging in web dashboard 2026-02-22 23:05:40 +00:00
config Security fix: Replace real credentials with placeholders in docs and examples 2026-02-08 04:15:17 +00:00
dashboard 🎨 Palette: Improve color contrast and accessibility 2026-02-13 11:40:16 +00:00
docs Add implementation notes and update .gitignore for Jules 2026-02-18 09:18:27 +00:00
icons Add PWA support with service worker and inspection views 2026-02-01 19:18:55 +00:00
mt5/MQL5 Address code review: optimize ArraySize() calls and document cache behavior 2026-02-11 08:36:56 +00:00
scripts feat(security): sanitize error responses and add secure logging in web dashboard 2026-02-22 23:05:40 +00:00
.dockerignore Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
.editorconfig feat: Add GitHub Actions for CI, automerge, and sync 2025-12-27 06:02:09 +00:00
.env.example Security fix: Replace real credentials with placeholders in docs and examples 2026-02-08 04:15:17 +00:00
.gcloudignore Add GCP deployment configuration and scripts 2026-01-24 19:21:00 +00:00
.gitignore Add implementation notes and update .gitignore for Jules 2026-02-18 09:18:27 +00:00
.nojekyll Fix 404 error on GitHub Pages by ensuring index.html exists in root and docs 2026-01-22 00:02:38 +00:00
ACCOUNT_SETUP_411534497.md docs: update VPS and terminal configuration metadata 2026-02-09 01:03:32 +00:00
AGENTS.md Add Jules CLI integration setup and documentation 2026-02-18 09:17:49 +00:00
app.yaml Bolt: Optimize health check endpoint 2026-01-21 05:17:23 +00:00
AUTOMATION_FEATURES.md feat: Implement automatic retry logic for failed components - Added retry mechanism using max_startup_retries config setting - Components now retry up to configured number of attempts - Improved error handling and logging for retry attempts - Updated documentation to reflect new feature 2026-01-10 04:36:53 +07:00
benchmark_git.py Optimize branch analysis in PR review script 2026-02-09 05:06:55 +00:00
CHANGELOG.md Add release management infrastructure and automation (#255) 2026-02-05 02:53:31 +07:00
cloudbuild.yaml Add GCP deployment configuration and scripts 2026-01-24 19:21:00 +00:00
CNAME docs: update Cloudflare nameservers and unify domain name 2026-02-13 04:11:32 +00:00
CURRENT_STATUS_ANALYSIS.md docs: update VPS and terminal configuration metadata 2026-02-09 01:03:32 +00:00
DEPLOYMENT.md feat: implement unified MQL5 EA containerized deployment and CI/CD 2026-02-09 16:19:26 +00:00
DEPLOYMENT_COMPLETE.md Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
docker-compose.dev.yml Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
docker-compose.mt5.yml feat: implement unified MQL5 EA containerized deployment and CI/CD 2026-02-09 16:19:26 +00:00
docker-compose.yml feat: implement unified MQL5 EA containerized deployment and CI/CD 2026-02-09 16:19:26 +00:00
Dockerfile feat: Add cloud deployment configurations and automation - Added Dockerfile and docker-compose.yml for containerized deployment - Created render.yaml for Render.com deployment - Created railway.json for Railway.app deployment - Created fly.toml for Fly.io deployment - Added deploy_cloud.py script for multi-platform deployment - Created comprehensive Cloud Deployment Guide documentation - Added GitHub Actions workflow for cloud deployment validation - Updated README with cloud deployment quick start 2026-01-10 04:53:57 +07:00
Dockerfile.cloud Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
Dockerfile.dev Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
Dockerfile.mt5 feat: implement unified MQL5 EA containerized deployment and CI/CD 2026-02-09 16:19:26 +00:00
EXNESS_ACCOUNT_SETUP.txt Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
fly.toml Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
GITHUB_SECRETS_SETUP.md Security: remove leaked tokens and add secret scan 2026-02-10 04:38:19 +00:00
index.html 🎨 Palette: Improve color contrast and accessibility 2026-02-13 11:40:16 +00:00
LICENSE Initial commit 2025-12-26 13:13:16 +07:00
LIVE_TRADING_SETUP.md Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
manifest.json 🎨 Palette: Improve color contrast and accessibility 2026-02-13 11:40:16 +00:00
offline.html 🎨 Palette: Improve color contrast and accessibility 2026-02-13 11:40:16 +00:00
PWA_IMPLEMENTATION_SUMMARY.md Add implementation summary and service worker inspector documentation 2026-02-01 19:21:39 +00:00
QUICK_DEPLOY.md Fix CRITICAL authorization bypass in Telegram Bot 2026-02-07 11:33:43 +00:00
QUICK_REFERENCE.md Add release management infrastructure and automation (#255) 2026-02-05 02:53:31 +07:00
railway.json Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
README.md Add Jules CLI integration setup and documentation 2026-02-18 09:17:49 +00:00
RELEASE_NOTES_v1.21.0.md Add release management infrastructure and automation (#255) 2026-02-05 02:53:31 +07:00
RELEASE_PREPARATION_SUMMARY.md Add release management infrastructure and automation (#255) 2026-02-05 02:53:31 +07:00
RELEASE_QUICK_REF.md Add release management infrastructure and automation (#255) 2026-02-05 02:53:31 +07:00
render.yaml Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
REPO_STRUCTURE.txt Update README with structure link and generate structure file 2026-01-22 09:01:46 +00:00
requirements.txt Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
RISK_CONFIG_50USD.md Merge feature branch, cleanup dependencies, and sanitize credentials 2026-01-28 10:24:13 +00:00
SECRETS_TEMPLATE.md Hardening: disable WebRequest by default 2026-02-10 04:38:44 +00:00
service-worker.js Add PWA support with service worker and inspection views 2026-02-01 19:18:55 +00:00
setup.sh feat: install Gemini CLI and integrate into setup scripts 2026-02-13 03:50:20 +00:00
SSH_KEY_INVESTIGATION.md Add root-level SSH investigation summary for easy access 2026-02-18 01:17:23 +00:00
SSH_SETUP.md Add SSH key investigation documentation and audit report 2026-02-18 01:16:35 +00:00
sw-inspector.html 🎨 Palette: Improve color contrast and accessibility 2026-02-13 11:40:16 +00:00
TASK_COMPLETION_SUMMARY.md Add release management infrastructure and automation (#255) 2026-02-05 02:53:31 +07:00
TASK_STATUS.md Add task status tracking document 2026-02-18 09:20:23 +00:00
TELEGRAM_BOT_COMPLETION.md Security: remove leaked tokens and add secret scan 2026-02-10 04:38:19 +00:00
TELEGRAM_CONFIGURATION_UPDATE.md Security: remove leaked tokens and add secret scan 2026-02-10 04:38:19 +00:00
VERIFICATION.md Verify Docker build and run status 2026-01-21 18:42:41 +00:00
VERSION Add release management infrastructure and automation (#255) 2026-02-05 02:53:31 +07:00
VPS_SETUP_NOTES.md docs: update VPS and terminal configuration metadata 2026-02-09 01:03:32 +00:00

📓 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:

  1. Publish Image (Run locally):

    ./scripts/deploy_docker_hub.sh <USERNAME> <TOKEN>
    
  2. 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!

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:

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:

  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
  • 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:

📖 GitHub Features:

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"

📺 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 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)

Firefox Relay API key (optional secrets):

  • SCRSOR
  • COPILOT

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_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):
    • Set the EA input WebRequestURL to 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

🤖 AI Integration (Gemini & Jules)

The EA supports Google Gemini and Jules AI to confirm trades before entry.

Setup:

  1. Get an API Key:

  2. 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.ai or similar)
  3. Configure the EA:

    • Set UseGeminiFilter to true (Enable AI).
    • Select AiProvider: PROVIDER_GEMINI or PROVIDER_JULES.
    • Paste your API Key into GeminiApiKey or JulesApiKey.

    Shared/Default Keys:

    • Gemini: [INSERT_GEMINI_API_KEY]
    • Jules: [INSERT_JULES_API_KEY]

🧠 AI Market Research & Upgrade Automation (New!)

Automate market analysis and code upgrades using Gemini and Jules.

Setup:

  1. Run the setup script:
    ./scripts/setup_research.sh
    
  2. Add your API keys to the .env file 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_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