7.1 KiB
7.1 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
- 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)
- Verify MT5 Compilation - Check Journal for successful v1.12 compile
- Monitor New Trades - Watch for "Volatility filter BLOCKED" messages
- Compare Performance - Expect fewer trades but higher quality
- 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:
InpMinATRPercentorInpMinADX
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:
- Stop the current ollama service
- Backup existing binary
- Download latest version (currently v0.18.2)
- Install and start the new version
- 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:
- Defines a price range with
HIGHandLOWparameters (central zone) - Places multiple small pending orders at intervals (
Entryspacing) - Above HIGH: Layer of BUY STOP orders
- Below LOW: Layer of SELL STOP orders
- Manages basket of up to 600 trades
- Calculates average price for exit
- Equity-based lot sizing option
Key Parameters:
HIGH/LOW- Central range boundariesEntry- Spacing between trade levelsLots- Size per tradeTP- Take profit per levelTRADE_RANGE- Trading range in pipsMaxTrades- Up to 600
Risk Management:
EquityFactorPercent- Dynamic lot sizingTakeProfitLevelDollarAmount- Basket profit targetGetOut- Emergency exit flag
Status: Ready for use on MT4 or MT5
OrdersEA Cleaned and Updated
Date: March 24, 2026
Changes Made:
-
Removed WinAPI dependency
- MT4: Removed
#include <WinUser32.mqh> - MT5: Removed
#include "include\WinAPI\winuser.mqh" - Replaced
MessageBox()withPrint()for margin info display
- MT4: Removed
-
Removed license checking
- Removed web.mq5/web.mq4 includes
- Bypassed
IsOK()license validation - Removed customer monitoring code
-
Updated notifications
- MT4:
SendNotificationEx()usesAlert()andPrint() - MT5:
SendNotificationEx()usesSendNotification()andPrint() - Replaced all
SendMail()calls with native alternatives
- MT4:
-
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.mq5c342966- 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 backupOrdersEA_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