Zenith-FX/v4.0_Enhanced/SCALPER_IMPLEMENTATION_NOTES.md
copilot-swe-agent[bot] 7d14726a75 Add v4.0 Enhanced Scalper variant with initial enhancements
Co-authored-by: simonokwundue-ops <243668919+simonokwundue-ops@users.noreply.github.com>
2025-11-14 16:48:22 +00:00

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

  1. Compile in MetaEditor - verify 0 errors
  2. Test on M1/M5 timeframes with high-liquidity pairs
  3. Verify regime detection updates every 3 minutes
  4. Confirm tighter SL/TP bounds (5-25 pips)
  5. Validate higher signal frequency (scalping appropriate)
  6. 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

  1. Complete implementation of remaining functions
  2. Test compilation
  3. Create configuration files
  4. Backtest on M1/M5 data
  5. Validate scalping performance metrics