# Session Save Point - 2026-03-22 **Created:** $(date '+%Y-%m-%d %H:%M:%S %Z') **Status:** Complete - Ready for system restart --- ## Current Project State ### MultiSignal Confluence EA v1.12 **Status:** Fully implemented and committed **Location:** - Git: https://git.fetcherpay.com/garfield/mql-trading-bots - Commit: `e2d42b3` - "Add complete volatility filters v1.12 (Anti-Chop)" - Local: `~/mql-trading-bots/MultiSignal_Confluence_EA.mq5` - MT5: `~/mt5-docker/config/.wine/drive_c/Program Files/MetaTrader 5/MQL5/Experts/MultiSignal_Confluence_EA.mq5` **Features Added in v1.12:** - ATR Volatility Filter (0.5% minimum) - ADX Trend Strength Filter (20 minimum) - CheckVolatilityFilter() function called before every trade - Both filters ON by default, configurable via inputs **Trading Performance (Verified):** - Account: 104125640 - Started: $100,000 - Current: $106,935.12 (+6.94%) - Trades: 78 - Win Rate: 71.79% - Profit Factor: 1.29 - Largest Win: $2,216 - Largest Loss: -$1,303 --- ## Active Trading Setup ### MT5 Docker Container - Container: `mt5` (gmag11/metatrader5_vnc:1.1) - VNC Access: Port 3000 - Config Volume: `/home/garfield/mt5-docker/config` ### Account Details - Login: 104125640 - Server: MetaQuotes-Demo - Platform: MetaTrader 5 ### Report Access - Direct HTML: `file:///home/garfield/mt5-docker/config/.wine/drive_c/users/abc/Desktop/ReportHistory-104125640.html` - Utility Scripts: `show-latest-report.sh`, `read-report.sh`, `export-to-browser.sh` --- ## Repositories ### mql-trading-bots - URL: https://git.fetcherpay.com/garfield/mql-trading-bots - Credentials: garfield@fetcherpay.com / onelove01 - Main File: `MultiSignal_Confluence_EA.mq5` ### conversation-history - URL: https://git.fetcherpay.com/garfield/conversation-history - Session Log: `2026-03-21-mql-trading-bots.md` - This Save: `SESSION_SAVE_2026-03-22.md` --- ## What's Next (Post-Restart) 1. **Verify MT5 Compilation** - Check Journal for successful v1.12 compile 2. **Monitor New Trades** - Watch for "Volatility filter BLOCKED" messages 3. **Compare Performance** - Expect fewer trades but higher quality 4. **Backtest** - Run strategy tester on v1.12 vs v1.11 --- ## Key Code References ### Volatility Filter (lines 200-223) ```cpp bool CheckVolatilityFilter() { if(InpUseVolatilityFilter && ATRHandle != INVALID_HANDLE) { double atr[1], close = iClose(_Symbol, _Period, 0); if(CopyBuffer(ATRHandle, 0, 0, 1, atr) > 0) { double atrPct = (atr[0] / close) * 100; if(atrPct < InpMinATRPercent) { Print("Volatility filter BLOCKED: ATR too low"); return false; } } } // ... ADX filter ... return true; } ``` ### Trade Entry Call (line 616) ```cpp if(!CheckVolatilityFilter()) return; // Skip trade - filters not passed ``` --- ## Notes for Future Self - All work saved to Gitea - accessible from any machine - MT5 data persists in Docker volume - v1.12 designed to reduce choppy market losses - If filters are too aggressive, adjust: `InpMinATRPercent` or `InpMinADX` **Session End - Safe to restart** --- ## Ollama Upgrade Script Created **File:** `~/upgrade-ollama.sh` The automated upgrade via tool commands was timing out on sudo operations, so an upgrade script was created for manual execution. ### To Upgrade Ollama: ```bash ~/upgrade-ollama.sh ``` This will: 1. Stop the current ollama service 2. Backup existing binary 3. Download latest version (currently v0.18.2) 4. Install and start the new version 5. Verify it's working ### Current Status: - Running: v0.12.11 - Available: v0.18.2 - Location: /usr/local/bin/ollama - Service: systemd (ollama.service) - API: localhost:11434 --- ## OrdersEA Found and Committed **Date:** March 24, 2026 ### Files Located - `~/mql/OrdersEA (1).mq4` - Original MT4 version (v1.1) - `~/mql/OrdersEA.mq5` - MT5 version ### Committed to Repository - Commit: `9fac45a` - Files: `OrdersEA (1).mq4`, `OrdersEA.mq5` - Location: `~/mql-trading-bots/` ### OrdersEA Strategy **Type:** Grid/Layering/Basket Trading EA **How it works:** 1. Defines a price range with `HIGH` and `LOW` parameters (central zone) 2. Places multiple small pending orders at intervals (`Entry` spacing) 3. Above HIGH: Layer of BUY STOP orders 4. Below LOW: Layer of SELL STOP orders 5. Manages basket of up to 600 trades 6. Calculates average price for exit 7. Equity-based lot sizing option **Key Parameters:** - `HIGH` / `LOW` - Central range boundaries - `Entry` - Spacing between trade levels - `Lots` - Size per trade - `TP` - Take profit per level - `TRADE_RANGE` - Trading range in pips - `MaxTrades` - Up to 600 **Risk Management:** - `EquityFactorPercent` - Dynamic lot sizing - `TakeProfitLevelDollarAmount` - Basket profit target - `GetOut` - Emergency exit flag **Status:** Ready for use on MT4 or MT5 --- ## OrdersEA Cleaned and Updated **Date:** March 24, 2026 ### Changes Made: 1. **Removed WinAPI dependency** - MT4: Removed `#include ` - MT5: Removed `#include "include\WinAPI\winuser.mqh"` - Replaced `MessageBox()` with `Print()` for margin info display 2. **Removed license checking** - Removed web.mq5/web.mq4 includes - Bypassed `IsOK()` license validation - Removed customer monitoring code 3. **Updated notifications** - MT4: `SendNotificationEx()` uses `Alert()` and `Print()` - MT5: `SendNotificationEx()` uses `SendNotification()` and `Print()` - Replaced all `SendMail()` calls with native alternatives 4. **Updated metadata** - Copyright: "Copyright 2024, Garfield Heron" - Website: "https://fetcherpay.com" - Default Email: "garfield@fetcherpay.com" ### Files Updated: - `OrdersEA.mq5` (MT5 version) - `OrdersEA (1).mq4` (MT4 version) ### Commits: - `bf70b79` - Clean up OrdersEA.mq5 - `c342966` - Clean up OrdersEA MT4 version --- ## Oanda MT4 Status & OrdersEA Conversion **Date:** March 24, 2026 ### Oanda Platform Status (Verified) - **MT4:** ✅ Fully supported globally (Oanda's primary platform) - **MT5:** ⚠️ Available only in select regions (Japan, UK, Europe, BVI) - **MT5 US:** ❌ NOT available for Oanda US clients - **Rating:** Oanda rated "Best MetaTrader 4 Broker 2026" ### MT4 Environment Setup - Attempted Docker MT4 setup - image not publicly available - Created MT4 directory in Wine prefix: `~/mt5-docker/config/.wine/drive_c/Program Files/MetaTrader 4/` - **Note:** MT4 installer must be downloaded from Oanda directly (MetaQuotes removed public downloads) ### OrdersEA Conversion to MT5 **Files Created:** - `OrdersEA.mq5` - Converted MT5 version (v2.0) - `OrdersEA_MT4_Original.mq5` - Original MT4 backup - `OrdersEA_MT5_Converted.mq5` - Conversion reference **Key Conversions Made:** | MT4 | MT5 | |-----|-----| | `OrderSelect()` | `PositionGet()` / `HistorySelect()` | | `MarketInfo()` | `SymbolInfoDouble/Integer()` | | `Bid`, `Ask`, `Digits`, `Point` | `SymbolInfoDouble(_Symbol, SYMBOL_BID/ASK/POINT)` | | `OrderSend()` | `CTrade::OrderSend()` | | `OrderClose()` | `CTrade::PositionClose()` | | `int ticket` | `ulong ticket` | | `WindowExpertName()` | `MQLInfoString(MQL_PROGRAM_NAME)` | | `IsOptimization()` | `MQLInfoInteger(MQL_OPTIMIZATION)` | **Commit:** `c415cd9`