Commit Graph

22 Commits

Author SHA1 Message Date
Reynov Christian dfb7e0ebd1 Update README and add health check endpoint
Update README to reflect the correct script name for running the application. Add a health check endpoint to the Flask app to verify server status.
2025-08-15 16:28:54 +08:00
Reynov Christian 8490b3129b Refactor and clean up backtesting code, update strategy map
- Remove individual backtester scripts in lab/
- Update .gitignore to exclude lab/ folder
- Clean up unused imports and comments in api_backtest.py and api_history.py
- Add IchimokuCloudStrategy to strategy_map.py
2025-08-12 21:29:01 +08:00
Reynov Christian af142b5ddf feat(backtesting, strategies, ui): Enhance backtesting, add new strategies, and improve UI/UX
This commit introduces significant improvements across the application, focusing on a robust backtesting experience, new trading strategies, and enhanced user interface.

Backtesting Module:
- Implemented comprehensive backtest history functionality, including detailed metrics, equity curve, parameters, and trade logs.
- Resolved `NOT NULL` constraint errors for `wins` and `losses` by updating DB schema and `init_db.py` and `save_backtest_result` logic.
- Consolidated `/api/backtest/history` route to `api_backtest.py`, removing duplication from `api_history.py`.
- Ensured `value_per_pip` calculation in `engine.py` is accurate for all symbols (especially XAU/XAG).
- Removed unused `profit` variable in `engine.py`.
- Deleted redundant `engine.py` file from project root.

Trading Strategies:
- **Mercy Edge**: Activated and synchronized `analyze` (live) and `analyze_df` (backtest) methods, using SMA 200 as trend filter.
- **Pulse Sync**: Re-implemented as a distinct strategy (RSI Crossover with SMA 100 trend filter), providing a more responsive alternative to Mercy Edge.
- **RSI Breakout (now RSI Crossover)**: Transformed into a powerful RSI-MA Crossover strategy with SMA 50 trend filter, significantly improving performance on EURUSD and becoming a top performer on XAUUSD/USDJPY.
- **Turtle Breakout**: Integrated as a new, classic trend-following strategy, fully functional for both live and backtesting.
- Updated `strategy_map.py` to reflect new strategy names and additions (`BOLLINGER_REVERSION`, `RSI_CROSSOVER`, `TURTLE_BREAKOUT`).

UI/UX Improvements:
- Enhanced Backtest History UI to display strategy, market/pair, and all detailed metrics.
- Updated `README.md` to reflect the new Backtester feature and streamlined donation section.
2025-08-08 17:07:40 +08:00
Reynov Christian 3112fc89f0 Remove Bollinger Bands strategy and update Mercy Edge for consistency
- Removed `bollinger_bands.py` as it was replaced by `bollinger_reversion.py`.
- Updated `mercy_edge.py` to ensure live trading logic aligns with backtesting logic. Removed unused imports and comments.
2025-08-08 12:38:51 +08:00
Reynov Christian 0346b0d632 Refactor and update forex and stock modal handling in JavaScript
Refactor the JavaScript code to use a single modal for both forex and stock profiles. Update error handling to display server error messages. Remove unused app.py and fetch.py files. Adjust various routes and strategies for consistency.
2025-08-08 10:39:03 +08:00
Reynov Christian c78fe82e8b Refactor app and templates for backtesting and active page tracking
- Update `app.py` to include backtesting routes and improve blueprint registration.
- Modify templates to include an active page parameter for navigation highlighting.
- Remove unused `crypto_data.py` and `api_crypto.py`.
- Add new backtesting-related files and templates.
2025-08-02 21:26:22 +08:00
Reynov Christian 17466dd056 Add start and stop all bots functionality to improve bot management
- Implement `start_all_bots` and `stop_all_bots` functions in `controller.py` to handle starting and stopping all bots.
- Add corresponding API routes in `api_bots.py` for starting and stopping all bots.
- Update `trading_bots.js` to include UI elements and event listeners for starting and stopping all bots.
- Improve `stop_bot` function to prevent race conditions by using `pop()` on `active_bots`.
2025-08-02 00:10:41 +08:00
Reynov Christian 73fe9cdca2 feat: Add Quantum Velocity strategy and major stability overhaul" -m "
This major commit introduces a new advanced trading strategy, resolves critical trading logic errors, and significantly enhances system stability and UI data accuracy.

Key Changes:

- **New Features & Strategies**:
  - **Quantum Velocity Strategy**: Added 'quantum_velocity.py', a new hybrid strategy combining a long-term trend filter (EMA 200) with a volatility-based entry trigger (Bollinger Squeeze).
  - **Hybrid Pro Backtester**: Added 'lab/backtester_hybrid_pro.py' to facilitate advanced, offline testing and optimization of the QuantumBotX Hybrid strategy.

- **Critical Trading Logic Fixes**:
  - Resolved 'Invalid Stops' and 'Unsupported filling mode' errors by refactoring 'core/mt5/trade.py' to use dynamic point calculation and the FOK fill policy.
  - Fixed a recurring 'KeyError' in 'BollingerSqueezeStrategy' by ensuring consistent naming for Bollinger Bands columns.

- **System Stability & Robustness**:
  - Hardened the graceful shutdown handler in 'app.py' to prevent crashes from repeated Ctrl+C signals, ensuring a clean shutdown process.
  - Enhanced the notification system by adding an 'is_notification' flag to logs, allowing for a clear distinction between critical alerts and general activity.

- **Dashboard & UI Enhancements**:
  - Fixed the 'Total Bots' card on the dashboard by correcting the backend API ('api_dashboard.py') to send the complete stats payload.
  - Replaced static '0' values on dashboard cards with loading spinners for a more professional user experience.
  - The 'Create/Edit Bot' modal button now dynamically changes its text to 'Ubah Bot' when in edit mode.
2025-08-01 22:47:37 +08:00
Reynov Christian 33e55d12bb Add static image directory for storing project images
This commit adds a new directory `static/img/` to store project images, ensuring organized asset management.
2025-08-01 01:47:57 +08:00
Reynov Christian bbeb6d1af7 Update README.md with enhanced features, roadmap, and setup instructions
- Expanded feature descriptions for clarity
- Added roadmap section outlining future developments
- Improved local setup instructions for better readability
- Updated environment variable notes and removed deprecated API references
2025-08-01 01:42:11 +08:00
Reynov Christian 35849d8a17 Remove unused pandas_ta import in mercy_edge.py 2025-08-01 01:36:38 +08:00
Reynov Christian 2384cf44c3 Add package-lock.json for project dependencies
Add package-lock.json to manage project dependencies and ensure consistent installations across environments.
2025-08-01 01:35:24 +08:00
Reynov Christian 09e28bbb2f refactor: Track ESLint config for project consistency
Removed eslint.config.js from .gitignore and started tracking the actual eslint.config.mjs file. This ensures consistent code style rules for all collaborators.
2025-08-01 01:33:56 +08:00
Reynov Christian 43b894eaf6 refactor: Improve .gitignore and untrack node_modules 2025-08-01 01:23:38 +08:00
Reynov Christian 682ae8da5a chore: Untrack node_modules and other generated files 2025-08-01 01:22:27 +08:00
Reynov Christian ce22b46b48 feat: Implement Hybrid Strategy & Major Bug Fixes
Successfully run QuantumBotX Hybrid on XAUUSD after fixing critical bugs (KeyError, data fetching). Improved UI with scrollable modal and implemented graceful shutdown for the server. System is now more robust and user-friendly.
2025-08-01 01:16:39 +08:00
Reynov Christian 261ce14f5a Improve bot loading and trade filling mode handling
- Update `controller.py` to handle cases where no bots are loaded and to restart active bots.
- Modify `trade.py` to use literal values for filling modes to ensure compatibility with different MT5 library versions.
2025-07-31 22:24:01 +08:00
Reynov Christian 5f6131d07f fixed all bugs 2025-07-31 21:42:48 +08:00
Reynov Christian 78737b6835 Refactor and update bot management and routing
- Update `.gitignore` to include `lab/` for backtesting and raw data.
- Refactor `app.py` to improve error handling and logging.
- Remove deprecated files: `core/bot_logic.py`, `core/bots/base_bot.py`, `core/bots/manager.py`, `core/db/database.py`, `core/routes/api_analysis.py`, `core/routes/api_bots_analysis.py`, `core/strategies/logic_ma.py`, `core/strategies/logic_rsi.py`.
- Modify multiple files to enhance bot management, routing, and strategy handling.
- Update JavaScript and HTML templates for better UI and functionality.
2025-07-31 21:33:44 +08:00
Reynov Christian af09720acd Change commitAdd new features and improvements to trading bot application 2025-07-20 20:19:47 +08:00
Chrisnov e32c3b0f35 Clean up README.md 2025-07-19 23:13:29 +08:00
Chrisnov c66b32a7bc Versi refactoring dan penataan ulang kode untuk meningkatkan struktur dan keterbacaan.
Perubahan ini mencakup:
 - Penataan ulang struktur direktori
 - Peningkatan dokumentasi
 - Penghapusan kode yang tidak terpakai
 - Peningkatan performa di beberapa fungsi

 Commit ini bertujuan untuk mempersiapkan basis kode untuk pengembangan lebih lanjut.

 Referensi: #1234
 ---
2025-07-19 21:39:01 +08:00