4.5 KiB
4.5 KiB
ForexTrader v4.0 Enhanced Scalper - Implementation Notes
Status: In Progress
The v4.0 Enhanced Scalper version is being created based on the v3.2 Scalper with the same enhancements applied to the MultiStrategy version.
Changes Applied So Far
1. Header & Version Information ✅
- Updated to v4.0 Enhanced Scalper
- Professional production-ready branding
- Enhanced descriptions
2. Market Regime Enumeration ✅
- Added 5 regime types: STRONG_UPTREND, STRONG_DOWNTREND, RANGING_LOW_VOL, RANGING_HIGH_VOL, NEUTRAL
3. Input Parameters ✅
- Added Market Regime Detection parameters (M15 timeframe for scalping)
- Added UseAdaptiveScoring parameter
- Added SignalConfluenceBonus parameter
- Reduced MA_SlopeMinimum to 1.5 pips (from 2.0) for scalping sensitivity
- Added MA_DistanceMinimum = 1.0 pips
- Added MomentumBars parameter
- Added Breakout Detection parameters (3.0 pip threshold for scalping)
4. Global Variables ✅
- Added lastBuyTime and lastSellTime
- Added currentMarketRegime variable
- Added regime indicator handles
- Added regime update tracking
- Set regime update interval to 180 seconds (3 minutes) for scalping
5. Forward Declarations ✅
- Added forward declarations for all new functions
Changes Still Needed
6. OnInit() Function
- Initialize regime detection indicators (M15 timeframe)
- Set array series for regime buffers
- Update initialization logging
7. OnTick() Function
- Add regime update call every 3 minutes
- Existing scalping logic should remain
8. Implement New Functions
Must add these functions (same logic as MultiStrategy but optimized for scalping):
void UpdateMarketRegime()
{
// Analyze M15 timeframe
// Copy regime indicators
// Classify into 5 regimes
// Log regime changes
}
bool IsStrategyEnabledForRegime(ENUM_STRATEGY_TYPE strategy)
{
// Filter strategies based on regime
// Trending → MA/MACD
// Ranging low-vol → RSI/BB
// Ranging high-vol → Block all
}
int GetRegimeAdjustedThreshold()
{
// Adaptive threshold based on regime
// Trends: -20% (16 for scalping)
// Normal: 20 (baseline)
// Neutral: +30% (26 for scalping)
}
int CheckMomentum(string symbol, double pipSz)
{
// 3-bar momentum filter
// >2 pips in 3 bars = bullish
// <-2 pips = bearish
}
int CheckBreakout(string symbol, double pipSz)
{
// 5-bar range breakout
// Min 3 pips for scalping
}
9. Enhanced Signal Generation
Update CheckEntrySignals() or equivalent to:
- Add regime filtering:
IsStrategyEnabledForRegime(STRATEGY_MA) - Add adaptive threshold:
GetRegimeAdjustedThreshold() - Enhanced MA scoring: 35 base + slope +10 + momentum +10 + breakout +10
- MA distance check: Must be >1 pip apart
- Confluence bonus: +15 when 2+ strategies agree
- Regime logging in signal output
10. Enhanced Position Sizing
Update CalculateStopLoss():
- Add MinSL_Pips and MaxSL_Pips bounds
- For scalping: MinSL = 5 pips, MaxSL = 25 pips (tighter than MultiStrategy)
Update CalculateTakeProfit():
- Add minimum TP validation (1.5x MinSL)
11. Configuration Files
Create:
ForexTrader_v4.0_Enhanced_Scalper.set(Balanced scalping)ForexTrader_v4.0_Scalper_Aggressive.set(High-frequency)
Scalping-Specific Optimizations
Key Differences from MultiStrategy
| Parameter | MultiStrategy v4.0 | Scalper v4.0 |
|---|---|---|
| RegimeTimeframe | H1 | M15 |
| Regime Update Interval | 300s (5 min) | 180s (3 min) |
| MinSignalScore | 25 | 20 |
| MA_SlopeMinimum | 3.0 pips | 1.5 pips |
| MA_DistanceMinimum | 2.0 pips | 1.0 pips |
| BreakoutThresholdPips | 5.0 | 3.0 |
| MomentumThreshold | 3.0 pips | 2.0 pips |
| MinSL_Pips | 15 | 5 |
| MaxSL_Pips | 100 | 25 |
| CooldownMinutes | 1 | 0 (no cooldown) |
| MaxDailyTrades | 100 | 200 |
Testing Requirements
- Compile in MetaEditor - verify 0 errors
- Test on M1/M5 timeframes with high-liquidity pairs
- Verify regime detection updates every 3 minutes
- Confirm tighter SL/TP bounds (5-25 pips)
- Validate higher signal frequency (scalping appropriate)
- Check risk controls maintain tight drawdown
Expected Performance
- Signals: 15-30/day per symbol (vs 8-15 for MultiStrategy)
- Win Rate: 50-60% (slightly lower due to scalping)
- Average trade duration: 5-30 minutes
- Daily trades: 50-100+ across all symbols
- Max SL: 25 pips (vs 100 for MultiStrategy)
Next Steps
- Complete implementation of remaining functions
- Test compilation
- Create configuration files
- Backtest on M1/M5 data
- Validate scalping performance metrics