Files
conversation-history/SESSION_SAVE_2026-03-22.md
2026-03-24 09:45:23 -04:00

4.7 KiB

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

conversation-history


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)

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)

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:

~/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