VWAP + RSI Divergence EA with Martingale (MT4)

Tâche terminée

Temps d'exécution 2 jours
Commentaires du client
Hands down, AGI is the best developer I've ever worked with. He understands needs, delivers beyond expectations, and communicates perfectly. Simply outstanding – I'm in the best hands!
Commentaires de l'employé
Tested every build himself on a real account and reported back with precision. Spotted a signal edge case before I did. Patient while travelling. Rare client, would work with him again.

Spécifications

## 🎯 **Project Overview**

I need an **Expert Advisor (EA)** for **MetaTrader 4** that combines signals from a **VWAP indicator** (provided) with **RSI Divergence detection** and includes a **Martingale function** for averaging losing positions. The EA should execute trades when **BOTH** indicators confirm the same direction.

---

## 📊 **Indicators Used**

### 1. VWAP Indicator (Custom)
- **File:** `VWAP_MT4_Gold_Ultimate 2d.mq4` (provided)
- **Buffer Structure:**
  - Buffer 0: VWAP Line
  - Buffer 1: Upper Band
  - Buffer 2: Lower Band
  - Buffer 3: Buy Arrows (`0.0` = no signal, `>0.0` = arrow)
  - Buffer 4: Sell Arrows (`0.0` = no signal, `>0.0` = arrow)

### 2. RSI Divergence (Standard RSI)
- **Type:** Built-in `iRSI()` indicator
- **Divergence Types Required:**
  - **Regular Bullish:** Price makes lower low, RSI makes higher low
  - **Regular Bearish:** Price makes higher high, RSI makes lower high
  - **Hidden Divergences** (optional)
- **Detection:** Swing high/low pivots in RSI

### 3. Divergence Strength Calculation
The EA calculates a divergence strength score from 0 to 100 based on the following factors:

- **Price swing size (20% weight):** The magnitude of the price movement between the two pivot points, normalized by ATR
- **RSI swing size (20% weight):** The magnitude of the RSI movement between the two pivot points
- **Divergence difference (40% weight):** The difference between price and RSI movement directions
- **Trend strength (10% weight):** Based on ADX value
- **RSI context (10% weight):** Bonus if RSI is in overbought/oversold territory

A divergence is considered valid only when its calculated strength is greater than or equal to `MinDivergenceStrength`.

---

## 📈 **Entry Logic**

### Signal Timing: `SignalAtBarClose = true`
- **All signals are evaluated at bar close** (prevents repainting). If set to false, signals are evaluated immediately, which may cause repainting and unreliable backtest results. Use with caution.

### First Entry Signal
A **first trade** is opened when **BOTH** conditions are met on the **same bar**:

#### BUY Signal (LONG)
1. **VWAP:** Green BUY arrow appears (Buffer 3 > 0)
2. **RSI:** Bullish divergence detected

#### SELL Signal (SHORT)
1. **VWAP:** Red SELL arrow appears (Buffer 4 > 0)
2. **RSI:** Bearish divergence detected

---

## 📊 **Martingale Function**

### Concept
When a trade (BUY or SELL) is in loss, **additional trades in the same direction** are opened to improve the average entry price.

### Martingale Entry Conditions
Each Martingale trade requires **TWO conditions**:
1. **Pip Distance:** Price has moved `MartingalePipStep` pips against the position
2. **Signal Confirmation:** One of three modes (user-selectable)

### Martingale Signal Modes

| Mode | Description | Buy Signal | Sell Signal |
|------|-------------|------------|-------------|
| **0** | **Pips Only** | Pip step reached | Pip step reached |
| **1** | **Pips + VWAP Band** | Pip step reached AND price at lower VWAP band | Pip step reached AND price at upper VWAP band |
| **2** | **Pips + RSI Level** | Pip step reached AND RSI < Oversold Level | Pip step reached AND RSI > Overbought Level |

### Martingale Exit Logic
When the **weighted net profit of all open trades in the same direction** reaches `MartingaleMinProfitPips` pips:
- **ALL trades in that direction are closed immediately**

The weighted net profit is calculated as the sum of (pips profit or loss × lot size) for each individual trade. This ensures that larger positions have a greater impact on the closing decision, reflecting the true monetary profit or loss of the combined positions.

### Example (BUY):
```
InitialLotSize = 0.01
MartingaleMultiplier = 1.5
MartingalePipStep = 50
MartingaleMaxTrades = 3
MartingaleMinProfitPips = 20

Trade 1 Buy: 0.01 @ 1.2000
→ Martingale triggered at 1.1950 (-50 pips)
Trade 2 Buy: 0.015 @ 1.1950
→ Martingale triggered at 1.1900 (-50 pips)
Trade 3 Buy: 0.0225 @ 1.1900

At 1.1960:
- Trade 1: -40 pips × 0.01 = -0.4
- Trade 2: +10 pips × 0.015 = +0.15
- Trade 3: +60 pips × 0.0225 = +1.35
- Net = +1.10 (≈ 20 pips profit in weighted terms)

→ ALL trades close at 1.1960!
```

---

## ⚙️ **Full Parameter List**

### 1. VWAP Settings
| Parameter | Description | Default |
|-----------|-------------|---------|
| `VWAP_ResetPeriod` | Reset period (0=H1,1=H4,2=Daily,3=Weekly,4=Monthly) | 2 |
| `VWAP_StdDevDist` | Band distance in standard deviations | 2.0 |
| `VWAP_ArrowOffset` | Arrow offset in points | 150 |
| `VWAP_UseRealVolume` | Use real volume if available | false |

### 2. RSI Settings
| Parameter | Description | Default |
|-----------|-------------|---------|
| `RSI_Period` | RSI period | 14 |
| `RSI_Overbought` | Overbought level | 70 |
| `RSI_Oversold` | Oversold level | 30 |
| `PivotStrength` | Pivot detection strength (bars left/right) | 2 |
| `MinPivotDistance` | Minimum distance between pivots in bars | 5 |

### 3. Divergence Settings
| Parameter | Description | Default |
|-----------|-------------|---------|
| `EnableRegularDivergence` | Enable regular divergence detection | true |
| `EnableHiddenDivergence` | Enable hidden divergence detection | false |
| `MinDivergenceStrength` | Minimum divergence strength (0-100). Only divergences with a strength >= this value are considered valid signals. | 50 |

### 4. Signal Settings
| Parameter | Description | Default |
|-----------|-------------|---------|
| `SignalAtBarClose` | Evaluate signals at bar close (recommended to prevent repainting) | true |
| `SignalTimeframe` | Timeframe for signal detection | PERIOD_H4 |
| `TradeTimeframe` | Timeframe for trade execution | PERIOD_H4 |

### 5. Lot Size Settings
| Parameter | Description | Default |
|-----------|-------------|---------|
| `InitialLotSize` | Initial lot size for first trade | 0.01 |

### 6. Martingale Settings
| Parameter | Description | Default |
|-----------|-------------|---------|
| `MartingaleEnabled` | Enable Martingale | false |
| `MartingaleMaxTrades` | Maximum number of Martingale trades per direction | 3 |
| `MartingalePipStep` | Pip distance between Martingale trades | 50 |
| `MartingaleMultiplier` | Lot multiplier per step | 1.5 |
| `MartingaleMinProfitPips` | Minimum profit in pips to close all trades | 20 |
| `MartingaleRequiresSignal` | Martingale trade requires signal confirmation | true |
| `MartingaleSignalMode` | Signal mode (0=Pips only, 1=Pips+VWAP, 2=Pips+RSI) | 1 |
| `MartingaleMaxTotalLossPips` | Maximum loss in pips for Martingale positions | 200 |

### 7. Order Management Settings
| Parameter | Description | Default |
|-----------|-------------|---------|
| `StopLossPips` | Stop loss in pips | 50 |
| `TakeProfitPips` | Take profit in pips | 100 |
| `TrailingStopPips` | Trailing stop in pips (0 = disabled) | 0 |
| `OrderComment` | Order comment | "VWAP Divergence" |
| `MagicNumber` | Unique Magic Number | 20260817 |

### 8. Safety Settings
| Parameter | Description | Default |
|-----------|-------------|---------|
| `MaxSpread` | Maximum spread in points | 30 |
| `MaxSlippage` | Maximum slippage in points | 10 |
| `MaxTotalLoss` | Maximum total loss in account currency (EA STOPS COMPLETELY) | 500 |
| `MaxTradesPerDirection` | Maximum open trades per direction (excluding Martingale) | 1 |

### 9. Display Settings
| Parameter | Description | Default |
|-----------|-------------|---------|
| `ShowDivergenceLines` | Draw divergence lines on chart | true |
| `ShowSignalArrows` | Draw signal arrows on chart | true |
| `ShowInfoPanel` | Show info panel on chart | true |

---

## 🛠️ **Technical Requirements**

### Platform
- **MetaTrader 4 ONLY** (not MT5)
- Compatible with Windows 10/11

### Performance & Stability
- **NO repainting** of signals
- Use `iCustom()` to read VWAP indicator signals
- All parameters must be **optimizable** in Strategy Tester
- **Error handling** with `GetLastError()`
- **Logging** in Experts tab
- The EA must be stable and must not freeze MT4 even during periods of high volatility or when processing many historical bars. The developer should review the VWAP indicator code to ensure it runs efficiently without changing its layout or functionality.

### Code Quality
- **Modular structure:**
  - Signal Engine (VWAP + RSI)
  - Divergence Engine (Pivot detection)
  - Trade Manager (Order open/close)
  - Martingale Manager
  - Risk Manager (MaxLoss monitoring)
- `#property strict` required

- Well-commented code

  • The EA must be stable and must not freeze MT4 even during periods of high volatility or when processing many historical bars

  • The developer is expected to review and optimize the VWAP indicator code for performance without changing its layout or functionality. The indicator currently uses nested loops which may cause performance issues with large history. The developer should implement necessary optimizations to ensure smooth operation while preserving the indicator's visual appearance and signal logic.

  • The EA is primarily designed for XAUUSD (Gold)

  • All pip calculations, stop loss, take profit, Martingale steps, and profit targets must work correctly for XAUUSD

  • XAUUSD has a specific pip value (0.01 for 5-digit brokers) and the EA must handle this correctly

  • All parameters related to pips (StopLossPips, TakeProfitPips, MartingalePipStep, MartingaleMinProfitPips, MartingaleMaxTotalLossPips) must be calculated and applied correctly for this instrument

  • The developer must ensure that  Point  and pip calculations are properly handled for XAUUSD's decimal places


---

## 🛑 **Safety Features**

| Feature | Description |
|---------|-------------|
| **MaxTotalLoss** | If total loss reaches this amount, EA **STOPS ALL TRADING** permanently (until manually reactivated) |
| **MartingaleMaxTotalLossPips** | If Martingale positions reach this loss in pips, all Martingale trades close (EA continues trading) |

**No restrictions:** No `MaxTradesPerDay` restriction. No "only one position per direction" restriction beyond standard Martingale logic (Martingale requires multiple positions).

---

## 📦 **Delivery Requirements**

1. **Source Code:** `.mq4` file
2. **Compiled File:** `.ex4` file
3. **Parameter Set:** Optimized `.set` file
4. **User Guide:** PDF with all parameters explained (in English)
5. **Bugfix Support:** 14 days after delivery
6. **Installation Instructions:** Step-by-step guide

---

## 🔧 **Sample Logic (Pseudocode)**

```mql4
// MARTINGALE SIGNAL LOGIC
if (MartingaleRequiresSignal) {
    switch (MartingaleSignalMode) {
        case 0: // Pips Only
            martingaleSignal = true;
            break;
            
        case 1: // Pips + VWAP Band
            if (direction == BUY) {
                martingaleSignal = (close[i] <= VWAP_LowerBand[i]);
            } else {
                martingaleSignal = (close[i] >= VWAP_UpperBand[i]);
            }
            break;
            
        case 2: // Pips + RSI Level
            if (direction == BUY) {
                martingaleSignal = (RSI[i] < RSI_Oversold);
            } else {
                martingaleSignal = (RSI[i] > RSI_Overbought);
            }
            break;
    }
} else {
    martingaleSignal = true;
}

// ENTRY CONDITIONS
if (MartingaleEnabled && IsLossPosition() && martingaleSignal) {
    OpenMartingaleTrade();
}
```

---

## 📝 **Summary of Martingale Modes**

| Mode | Description | Best For |
|------|-------------|----------|
| **0** | Pips only | Aggressive traders, fast averaging |
| **1** | Pips + VWAP Band | Conservative traders, institutional support/resistance |
| **2** | Pips + RSI Level | Traders who want oversold/overbought confirmation |

---

## 💰 **Budget & Timeline**

- **Budget:** Please provide your quote
- **Timeline:** 2-7 days expected
- **Payment:** MQL5 escrow terms

---

## 📧 **Application Requirements**

Please include in your proposal:
1. **Estimated timeline** and delivery date
2. **Your experience** with Martingale EAs and divergence detection in MT4
3. **Confirmation** that you work with MT4 (not MT5)
4. **Any questions** or clarifications needed
5. **Examples** of similar EAs you have developed

---

## 📎 **Attachment**
- `VWAP_MT4_Gold_Ultimate 2d.mq4` (provided)

---

**Ready to hire!** 🚀
**Platform:** MetaTrader 4 ONLY

**Budget:** Open to negotiation


*********TO ALL APPLICANTS: I am currently on vacation and will be offline for a few hours but will get back to each of you soon again. Thank you so much for applying I will let you know soon and make a decision. Looking forward to working with you.*********

Dossiers :

Répondu

1
Développeur 1
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
2
Développeur 2
Évaluation
(111)
Projets
184
25%
Arbitrage
25
16% / 76%
En retard
16
9%
Gratuit
3
Développeur 3
Évaluation
(401)
Projets
519
24%
Arbitrage
61
57% / 25%
En retard
60
12%
Chargé
4
Développeur 4
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
5
Développeur 5
Évaluation
(22)
Projets
28
7%
Arbitrage
9
33% / 33%
En retard
1
4%
Travail
6
Développeur 6
Évaluation
(75)
Projets
99
57%
Arbitrage
5
80% / 20%
En retard
5
5%
Chargé
7
Développeur 7
Évaluation
(17)
Projets
21
19%
Arbitrage
5
40% / 40%
En retard
0
Gratuit
8
Développeur 8
Évaluation
(62)
Projets
90
29%
Arbitrage
24
13% / 58%
En retard
7
8%
Travail
9
Développeur 9
Évaluation
(631)
Projets
739
34%
Arbitrage
49
53% / 39%
En retard
15
2%
Travail
10
Développeur 10
Évaluation
(1)
Projets
1
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 3 codes
11
Développeur 11
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
12
Développeur 12
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
13
Développeur 13
Évaluation
(25)
Projets
31
13%
Arbitrage
14
0% / 79%
En retard
9
29%
Gratuit
14
Développeur 14
Évaluation
(10)
Projets
12
33%
Arbitrage
0
En retard
2
17%
Travail
Publié : 1 code
15
Développeur 15
Évaluation
(2)
Projets
2
0%
Arbitrage
1
0% / 100%
En retard
0
Gratuit
16
Développeur 16
Évaluation
(3)
Projets
9
67%
Arbitrage
0
En retard
0
Travail
17
Développeur 17
Évaluation
(212)
Projets
275
21%
Arbitrage
25
52% / 16%
En retard
0
Chargé
18
Développeur 18
Évaluation
(184)
Projets
198
46%
Arbitrage
4
50% / 25%
En retard
1
1%
Travail
19
Développeur 19
Évaluation
(1)
Projets
1
0%
Arbitrage
1
0% / 100%
En retard
0
Gratuit
20
Développeur 20
Évaluation
(12)
Projets
19
32%
Arbitrage
0
En retard
1
5%
Travail
21
Développeur 21
Évaluation
(13)
Projets
31
23%
Arbitrage
8
25% / 63%
En retard
5
16%
Gratuit
22
Développeur 22
Évaluation
(11)
Projets
11
0%
Arbitrage
5
20% / 60%
En retard
2
18%
Gratuit
23
Développeur 23
Évaluation
(54)
Projets
67
42%
Arbitrage
15
27% / 60%
En retard
1
1%
Chargé
24
Développeur 24
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
25
Développeur 25
Évaluation
(6)
Projets
8
38%
Arbitrage
2
50% / 50%
En retard
2
25%
Gratuit
26
Développeur 26
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
27
Développeur 27
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
28
Développeur 28
Évaluation
(64)
Projets
145
46%
Arbitrage
21
38% / 24%
En retard
32
22%
Gratuit
29
Développeur 29
Évaluation
(34)
Projets
35
40%
Arbitrage
0
En retard
3
9%
Gratuit
30
Développeur 30
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 1 code
31
Développeur 31
Évaluation
(4)
Projets
7
57%
Arbitrage
1
100% / 0%
En retard
0
Gratuit
32
Développeur 32
Évaluation
(6)
Projets
8
38%
Arbitrage
1
0% / 100%
En retard
0
Gratuit
33
Développeur 33
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
34
Développeur 34
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
35
Développeur 35
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 1 code
36
Développeur 36
Évaluation
(559)
Projets
853
61%
Arbitrage
33
27% / 45%
En retard
24
3%
Gratuit
Publié : 1 code
37
Développeur 37
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
38
Développeur 38
Évaluation
(10)
Projets
17
18%
Arbitrage
2
0% / 50%
En retard
3
18%
Chargé
39
Développeur 39
Évaluation
(1)
Projets
1
0%
Arbitrage
0
En retard
0
Gratuit
40
Développeur 40
Évaluation
(7)
Projets
6
0%
Arbitrage
4
25% / 75%
En retard
2
33%
Gratuit
41
Développeur 41
Évaluation
(170)
Projets
203
47%
Arbitrage
5
20% / 60%
En retard
3
1%
Gratuit
42
Développeur 42
Évaluation
(78)
Projets
246
74%
Arbitrage
7
100% / 0%
En retard
1
0%
Gratuit
Publié : 1 article
43
Développeur 43
Évaluation
(61)
Projets
83
45%
Arbitrage
27
11% / 70%
En retard
8
10%
Gratuit
44
Développeur 44
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 2 codes
45
Développeur 45
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
46
Développeur 46
Évaluation
(45)
Projets
53
57%
Arbitrage
2
100% / 0%
En retard
1
2%
Gratuit
Publié : 5 codes
47
Développeur 47
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
48
Développeur 48
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
49
Développeur 49
Évaluation
(271)
Projets
553
50%
Arbitrage
57
40% / 37%
En retard
227
41%
Travail
50
Développeur 50
Évaluation
(263)
Projets
309
76%
Arbitrage
15
67% / 0%
En retard
6
2%
Chargé
51
Développeur 51
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
52
Développeur 52
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
53
Développeur 53
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
54
Développeur 54
Évaluation
(4)
Projets
8
0%
Arbitrage
3
33% / 67%
En retard
4
50%
Gratuit
55
Développeur 55
Évaluation
(298)
Projets
478
40%
Arbitrage
105
40% / 24%
En retard
82
17%
Chargé
Publié : 2 codes
56
Développeur 56
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Commandes similaires
Scalping bort 30+ USD
GOLD SCALPING BOT STRATEGY Symbol: XAUUSD (Gold vs USD) Broker: Exness Account: Standard Starting Balance: $20 1. TIMEFRAME - Trend analysis: M15. - Entry timeframe: M5. - Trade only when the market has a clear direction. 2. INDICATORS - EMA 50 - EMA 200 - RSI 14 - Support and Resistance 3. BUY RULES The bot must open a BUY trade only when all these conditions are met: 1. EMA 50 is above EMA 200 on M15. 2. Price is
Hello, I am looking for an experienced MQL5 developer to create a professional, reliable, fully customizable Expert Advisor (EA) and trading signal system for MetaTrader 5. 1. Supported Markets The EA must support: Gold (XAUUSD) Silver (XAGUSD) Nasdaq 100 (NAS100/US100) Forex currency pairs Bitcoin (BTCUSD) It must work with MT5 brokers, including Tickmill, where these instruments are available. 2. Two Trading Modes
Hi all I'm looking for a good coder Existing Automated Trading System (Expert Advisor) This EA’s building block is the Bheurekso Pattern (which uses price action) indicators. 1. **Indicator Integration**: The EA should be developed utilizing the Bheurekso pattern indicator. 2. **Sell Signals**: The EA must execute a sell order upon the appearance of any of the following bearish signals or a down arrow that appears
Request for an Existing Automated Trading System (Expert Advisor) I am looking to acquire an existing, fully functional Expert Advisor (EA) that trades Forex CFDs, with the option of trading other CFDs if the strategy supports them safely. Performance objectives Target average net monthly return: 1.5%. A consistent 1.0% monthly return may be considered if the system demonstrates strong risk control and credible
Hi All, I am looking for a bot EA which makes good profit. If any having please share it for TEST. After proper TESTING only I will make the payment, no cheating no fraud. Please do not waste the time also
Allow me to set the daily trading bias manually to BUY or SELL. Check my defined 4H and 1H trend-alignment conditions. Execute entries based on my 15-minute pullback and continuation rules. Trade only between 06:00 and 16:00 Nigeria time, Monday to Friday. Calculate lot size based on my chosen risk percentage and stop-loss distance. Automatically place stop-loss and take-profit orders. Enforce my daily trade limits
Rebate robot 30 - 100 USD
Need rebate robot,for pairs like gbpusd,eurusd,usdjpy,usdchf,Spreads are like around 2.5 pip,MAy be better hedge ea both buy and sell,i will get benifit just from rebate,so try ur best to do what i want,and if u r not expert plz go away plz its not simple job,if u already have the robot so i can test it will be surely selected,also u can get some benifit from this screen shoots that i attached,its from another job in
Economic Event Analysis Back ground . I have an app which downloads economic event data from a website called MyFXBook, using a script. But currently this website does not allow any script to be used. So, I have to go back to manually downloading a .csv file that shows the economic events scheduled to occur in the coming week Python . This job requires Python. Execution of this job by any other method that does not
I am looking for an experienced MQL5 developer or development team to build a scalable Telegram-to-MT5 copy trading system. The main purpose of the system is to monitor trading signals from my Telegram channel and automatically execute those signals on connected client MT5 accounts. Core Requirements Receive and parse trading signals from Telegram Automatically execute trades on connected MT5 accounts Support more
Sami 30+ USD
I've built the bot as a single-page app that runs the three-step workflow you described. Since the page can't pull live broker data, it runs on simulated 5-minute candles or on a CSV you paste in.I've published the trading bot page. I haven't opened or run it, so I can't confirm the logic behaves as intended. It runs on simulated 5-minute candles (or a CSV you paste in) and builds the 4H and 30M charts from them. How

Informations sur le projet

Budget
50+ USD