- merge 2.1 optimisation work into 2x line - add ERMT_PME_2.2_M5.mq5 source - include ERMT PMEx code updates in 2.1 file and core modules - include project knowledge/design documentation updates - exclude logs, snapshots, and chart/profile noise from commit
8.3 KiB
| noteId | tags |
|---|---|
| 47f2668027dd11f19754a37e3f6df08f |
Entry Assessment — Implementation Plan (29.10)
Tier 1: Immediate Optimizations (enable a working EA first)
1.1 Complete missing strategy implementations
Priority: CRITICAL • Impact: Enable 3 additional entry modes
-
A) Mean Reversion Strategy (
EntrySystem_Optimised.mqh:1027-1039) -
Check RSI < 30 (oversold) or RSI > 70 (overbought)
-
Verify Bollinger Band touches (price beyond bands)
-
Confirm market is RANGING or QUIET
-
Enter on reversion to mean (BB middle or key MA)
-
Tight stops at extreme, targets at mean
-
B) MA Pullback Strategy (
EntrySystem_Optimised.mqh:1015-1024) -
Identify primary trend (MA 50 > MA 200)
-
Wait for price pullback to MA 20/50
-
Confirm momentum resumption (MACD or RSI turn)
-
Enter in trend direction with tight stop below pullback low
-
C) Contrarian Strategy (
EntrySystem_Optimised.mqh:1042-1051) -
Detect extreme readings (RSI < 20 or > 80)
-
Stochastic oversold/overbought
-
Volume climax detection
-
Divergence confirmation (price vs RSI)
-
Counter-trend entry with wider stops
1.2 Optimize existing strategy parameters
Priority: HIGH • Impact: Increase signal frequency 2–3x without quality loss
| Parameter | Current | Scalping (M1–M5) | Intraday (M15–H1) | Daily (H4–D1) |
|---|---|---|---|---|
| MinTimeBetweenTrades | 60 min | 5–15 min | 30–60 min | 120–240 min |
| MA Fast | EMA 20 | EMA 8–12 | EMA 20 | EMA 50 |
| MA Slow | EMA 50 | EMA 21–34 | EMA 50 | EMA 200 |
| RSI Period | 14 | 7–9 | 14 | 21 |
| ADX Threshold | 25 | 20 | 25 | 30 |
| BB Period | 20 | 10–15 | 20 | 30 |
| ATR Multiplier (SL) | 2.0 | 1.5 | 2.0 | 2.5–3.0 |
| Signal Threshold | 60% | 70% | 65% | 60% |
1.3 Add adaptive timeframe logic
Priority: HIGH • File: EntrySystem_Optimised.mqh
// ADD NEW METHOD:
void CEntrySystem::AdaptParametersToTimeframe()
{
int current_period = Period();
// Scalping timeframes (M1-M5)
if(current_period <= PERIOD_M5)
{
m_config.min_time_between = 10; // 10 minutes
m_config.signal_threshold = 70; // Higher quality required
// Recreate indicators with faster periods
}
// Intraday timeframes (M15-H1)
else if(current_period <= PERIOD_H1)
{
m_config.min_time_between = 30;
m_config.signal_threshold = 65;
}
// Daily timeframes (H4+)
else
{
m_config.min_time_between = 120;
m_config.signal_threshold = 60;
}
}
Tier 2: Enhanced signal generation
2.1 Enable intra-bar scanning for breakout mode
Priority: MEDIUM • Impact: 3–5x more breakout signals • File: EntrySystem_Optimised.mqh:296-300
// MODIFY:
// Only check on new bar for most strategies (except breakout)
if(!m_new_bar && m_config.entry_mode != ENTRY_BREAKOUT &&
m_config.entry_mode != ENTRY_MOMENTUM) // Add momentum for scalping
{
return signal;
}
2.2 Multi-timeframe signal confirmation
Priority: MEDIUM • Impact: Higher quality signals, better win rate
bool CEntrySystem::ConfirmWithHigherTimeframe(ENUM_SIGNAL_TYPE signal_type)
{
// Check 1-2 timeframes higher for trend alignment
ENUM_TIMEFRAMES htf = GetHigherTimeframe(PERIOD_CURRENT);
// Simple MA trend check on HTF
double ma_fast_htf[], ma_slow_htf[];
// Copy and compare
if(signal_type == SIGNAL_BUY)
return (ma_fast_htf[0] > ma_slow_htf[0]); // HTF uptrend
else
return (ma_fast_htf[0] < ma_slow_htf[0]); // HTF downtrend
}
Integration:
- Add HTF filter to
ValidateSignal() - Optional bonus to confidence score if HTF aligned
2.3 Add market session awareness
Priority: MEDIUM • Impact: Better signal timing, avoid low-liquidity periods
enum ENUM_SESSION
{
SESSION_ASIAN, // 00:00-09:00 GMT
SESSION_LONDON, // 08:00-17:00 GMT
SESSION_NY, // 13:00-22:00 GMT
SESSION_OVERLAP // London/NY overlap
};
Session-driven strategy selection:
- Breakout strategies during overlaps (high volatility)
- Mean reversion during Asian session (low volatility)
- Momentum during London/NY sessions
Tier 3: Advanced enhancements
3.1 Volume profile integration
Priority: LOW • Impact: Identify high-probability zones (Technical Analysis)
- Volume-weighted price zones
- POC (Point of Control) levels
- Value Area High/Low
- Entry at VA boundaries
3.2 Smart order flow detection
Priority: LOW • Impact: Institutional trade detection
- Large order detection (volume spikes)
- Bid/Ask imbalance analysis
- Absorption/exhaustion patterns
- Hidden liquidity detection
3.3 Correlation-based signal filtering
Priority: MEDIUM • Impact: Avoid correlated entries
// Before opening new position:
// 1. Check correlation of new symbol with existing positions
// 2. If correlation > 0.7, reduce position size or skip
// 3. Track symbol pair correlations dynamically
Implementation roadmap
Phase 1: Foundation (Week 1–2)
- Complete Mean Reversion strategy
- Complete MA Pullback strategy
- Complete Contrarian strategy
- Add adaptive timeframe parameter logic
- [] Test all strategies on M15/H1 independently
Phase 2: Optimization (Week 3–4)
- [] Implement intra-bar scanning for selected strategies
- [] Add multi-timeframe confirmation system
- [] Optimize parameters per timeframe
- [] Backtest across all timeframes
- [] Compare signal frequency and quality metrics
Phase 3: Advanced features (Week 5–6)
- Add market session logic
- Implement correlation filtering
- Volume profile analysis (optional)
- Final optimization and stress testing
Expected outcomes
Signal frequency improvements
| Timeframe | Current | After Phase 1 | After Phase 2 |
|---|---|---|---|
| M1–M5 (Scalping) | 0.5–2/day | 5–10/day | 10–20/day |
| M15–M30 (Intraday) | 2–8/day | 6–12/day | 8–15/day |
| H1–H4 (Swing) | 1–5/day | 3–8/day | 4–10/day |
| D1 (Position) | 1–5/week | 2–7/week | 3–10/week |
Quality metrics targets
- Win Rate: 45–55% (maintain or improve)
- Profit Factor: > 1.5 (target 1.8–2.2)
- Sharpe Ratio: > 1.2
- Max Drawdown: < 20%
- Avg R:R: > 1:1.5 (target 1:2)
Update TODOs
- Assess EA signal generation for scalping timeframes
- Assess EA signal generation for intraday timeframes
- Assess EA signal generation for daily timeframes
- Evaluate robustness and filtering mechanisms
- Create improvement plan document
Summary & recommendations
Current state assessment
Your ERMT 7.1 EA is institutionally robust with excellent risk management, but signal generation is optimized primarily for intraday trading (M15–H1).
Strengths:
- Exceptional modular architecture
- Multiple entry strategies with consensus capability
- Sophisticated risk and trade management
- Multi-symbol external trade handling
Weaknesses:
- 3 strategies have incomplete implementations
- Fixed parameters don't adapt to timeframe
- New-bar requirement limits scalping potential
- Conservative time restrictions reduce signal frequency
Priority recommendation
START WITH TIER 1 (Phase 1):
- Complete the 3 incomplete strategies first
- Add adaptive parameter logic based on timeframe
- Test each strategy independently on M15/H1 (your sweet spot)
- Once working reliably, expand to other timeframes
This approach follows your learning point: "Rework and optimize existing code and modules first enabling a working EA before advancing to new architecture."
Next steps
- Implement the missing strategy completions (Mean Reversion, MA Pullback, Contrarian)
- Add the adaptive timeframe logic to automatically adjust parameters
- Create a testing framework to evaluate signal frequency and quality
- Proceed with any other specific improvement from the plan