Update recovery logic EA

MQL5 Göstergeler Uzmanlar

İş tamamlandı

Tamamlanma süresi: 11 gün
Müşteri tarafından geri bildirim
Mahdi is an excellent developer! Already working with him in some improvement points and will work together in the next projects. 5* +++
Geliştirici tarafından geri bildirim
MMIMMI,One of the best clients I've worked with. Very understanding, cooperative, and fair.Recommended A++

Şartname

Hi Developers!


Looking for an experienced dev ( 50 jobs + on the platform ) to make an update on the recovery logic I currently have.


The logic as per now is not a classic recovery martingale, is computing the loss diving by 2 and computing automatically the lots needs to do it in order to make the recovery. ( You can have a look at in the attachments )

Now the logic is done at a daily level ( in case is touching the max entries or the trading day is finished the EA it stops trading ) the update needs to recover a loss in case there are some previous days losses.

Bellow you can find the logic of the actual recovery implementation

Some more details about the core of the EA

🔁 Where and how the recovery is implemented in the code

The recovery system is not in a single line. It is implemented through three components that work together:


1️⃣ Loss tracking – UpdateHistory()

👉 This is where the EA decides which trades were losses and stores their lot sizes

📍 Function:

void UpdateHistory(int idx, int jdx)

📍 Key code:

LotSizes[nTrades] = HistoryDealGetDouble(tk, DEAL_VOLUME); if (pro >= 0) IsLoss[nTrades] = false; else IsLoss[nTrades] = true; nTrades++;

What this does:

  • Reads account trade history

  • Filters only trades:

    • with the current Magic Number

    • after SeqStartTime[idx][jdx] (current sequence only)

  • For every closed trade (DEAL_ENTRY_OUT):

    • stores:

      • LotSizes[] → used volume

      • IsLoss[] → whether it was a loss

📌 Without UpdateHistory() there is no recovery, because GetLot() would have no data.


2️⃣ Recovery lot calculation – GetLot()

👉 THIS is the actual recovery engine

📍 Function:

double GetLot()


🔹 Recovery activation

v = LotSizes[CurIdx]; if (IsLoss[CurIdx]) { ... }

➡️ Recovery starts only if the last trade was a loss.


🔹 Core recovery formula

vv = v / nRecov * SL / TP;

Where:

  • v = lot size of the losing trade

  • nRecov =

    • 2 for the first recovery

    • 4 for chained recoveries

  • SL / TP = risk-to-reward compensation ratio

📌 This is NOT classic martingale
✔ Lot size does not double
✔ Lot grows proportionally to SL / TP


🔹 Recursive recovery (loss chains)

CurIdx++; if (CurIdx == nTrades) { return vv; } else { if (IsLoss[CurIdx]) { res = GetLot(); if (res > 0) break; } }

📌 Meaning:

  • For multiple consecutive losses:

    • the EA walks through the loss chain

    • calculates a controlled recovery volume

    • avoids explosive growth

👉 Recursive but capped recovery


🔹 Safety limits

if (AddInitLot) limit += LotSize; if (Vol > MaxLot) Vol = MaxLot; if (Vol > 0.0001 && Vol < 0.01) Vol = 0.01;

✔ Maximum lot cap
✔ Minimum volume enforcement
✔ Optional addition of initial lot


3️⃣ Applying recovery to real trades – OnTick()

👉 This is where recovery becomes an actual trade

📍 Key code:

Vol = GetLot(); cmnt = "r "; if (Vol < 0 || nTrades == 0) { cmnt = "i "; Vol = UpdatedLotSize(); SeqStartTime[i][k] = TimeCurrent() - 1; }

Decision logic:

Condition Action
GetLot() > 0 Recovery trade ( "r " )
GetLot() < 0 Initial trade
nTrades == 0 Initial trade
Profit achieved Sequence resets

Order comments:

  • "i " = initial

  • "r " = recovery


❌ What this recovery system does NOT do

❌ No forced trades
❌ No grid entries
❌ No lot doubling
❌ No guaranteed breakeven
❌ No recovery without a valid signal

✔ Recovery only affects position sizing, not entries


🧠 Final conclusion

  • Loss detection → UpdateHistory()

  • Recovery math → GetLot()

  • Execution decision → OnTick()

👉 Recovery is volume-based, signal-dependent, and risk-capped.


Yanıtlandı

1
Geliştirici 1
Derecelendirme
(16)
Projeler
20
15%
Arabuluculuk
5
40% / 40%
Süresi dolmuş
0
Serbest
2
Geliştirici 2
Derecelendirme
(21)
Projeler
27
7%
Arabuluculuk
9
33% / 33%
Süresi dolmuş
1
4%
Çalışıyor
3
Geliştirici 3
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
4
Geliştirici 4
Derecelendirme
(75)
Projeler
80
6%
Arabuluculuk
46
11% / 54%
Süresi dolmuş
7
9%
Çalışıyor
5
Geliştirici 5
Derecelendirme
(318)
Projeler
565
35%
Arabuluculuk
81
31% / 44%
Süresi dolmuş
204
36%
Serbest
6
Geliştirici 6
Derecelendirme
(4)
Projeler
3
33%
Arabuluculuk
2
0% / 100%
Süresi dolmuş
0
Serbest
7
Geliştirici 7
Derecelendirme
(10)
Projeler
14
43%
Arabuluculuk
0
Süresi dolmuş
3
21%
Serbest
8
Geliştirici 8
Derecelendirme
(3)
Projeler
1
100%
Arabuluculuk
3
0% / 100%
Süresi dolmuş
0
Serbest
9
Geliştirici 9
Derecelendirme
(144)
Projeler
186
41%
Arabuluculuk
24
58% / 21%
Süresi dolmuş
13
7%
Serbest
10
Geliştirici 10
Derecelendirme
(16)
Projeler
35
23%
Arabuluculuk
4
0% / 50%
Süresi dolmuş
2
6%
Çalışıyor
11
Geliştirici 11
Derecelendirme
(4)
Projeler
4
25%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
Yayınlandı: 2 makale
12
Geliştirici 12
Derecelendirme
(2672)
Projeler
3408
68%
Arabuluculuk
77
48% / 14%
Süresi dolmuş
342
10%
Serbest
Yayınlandı: 1 kod
13
Geliştirici 13
Derecelendirme
(11)
Projeler
18
28%
Arabuluculuk
4
50% / 50%
Süresi dolmuş
1
6%
Serbest
14
Geliştirici 14
Derecelendirme
(14)
Projeler
18
22%
Arabuluculuk
1
100% / 0%
Süresi dolmuş
4
22%
Çalışıyor
15
Geliştirici 15
Derecelendirme
(1)
Projeler
1
0%
Arabuluculuk
3
0% / 100%
Süresi dolmuş
1
100%
Serbest
16
Geliştirici 16
Derecelendirme
(2)
Projeler
2
0%
Arabuluculuk
3
0% / 100%
Süresi dolmuş
1
50%
Serbest
17
Geliştirici 17
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
18
Geliştirici 18
Derecelendirme
(27)
Projeler
33
42%
Arabuluculuk
4
50% / 50%
Süresi dolmuş
3
9%
Çalışıyor
19
Geliştirici 19
Derecelendirme
(390)
Projeler
416
30%
Arabuluculuk
74
19% / 72%
Süresi dolmuş
52
13%
Çalışıyor
20
Geliştirici 20
Derecelendirme
(13)
Projeler
20
40%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
1
5%
Serbest
Benzer siparişler
Only programmers with experience with orderflow please, it's not the easiest project, I don't want to have arbitration etc. I am not expert in orderflow yet, if you have suggestion about strategy it would be very nice. Source of code required, I am searching a programmer for a longer co-operation
Please create an simple EA in mql5 based on RSI indicator with e-mail, sounds and push notification alerts, of course can't be any bugs, errors, but I think it's obvious. I am searching a programmer for longer co-operation. Thank you for your attention, Have a nice day
Hi, I am looking for an already made profitable EA. It can be an indicator but then it must be possible to make an EA from the indicator. Will need to test before payment (this can be in demo or limited time test). I will pay up to $6000. Do not apply if you want an upfront payment. I need to test for a few times first. Mostly only pips matters. I look much the risk safety, money management, risk reward, and overall
Привіт. Шукаю когось, хто б застосував мій код як бота . Я торгую індексом Aus_200 SFE (не XJO). Бот базується на MACD входу/виходу, RSI, стохастиці та vwap. Як тільки роботу приймуть, мені потрібно внести кілька коректив; однак, нічого суттєвого. Дякую
SMC Martingale Pro is an advanced MetaTrader 5 Expert Advisor designed for high-volatility markets like XAU/USD. It combines institutional Smart Money Concepts with a dynamic risk recovery system. Key Features Dual FVG Engine: Automatically identifies and renders both bullish and bearish Fair Value Gaps in real time. Multi-Timeframe Flexibility: Operates independently of the active chart timeframe to target
I am looking for an experienced Sierra Chart ACSIL (C++) developer to create a custom indicator that measures the average Prior Day High-Low range over a configurable number of trading days (default: 7 days) using a 23-hour trading session
I have a technical specification ready for a custom alert indicator in NinjaTrader 8 (NinjaScript / C#). Important clarification: it is NOT an automatic trading bot, it is solely a visual indicator (arrows/lines on the chart) and sound alerts (notifications) based on EMA crossovers and range breakouts (ORB 15m) on lower timeframes for futures (MES). I already have the exact rules written out unambiguously
Custom MT5 EA for buy stop and sell stop breakout strategy.’ ‘Requirements, develop a custom Expert Advisor for MetaTrader 5 that places buy-stop and sell-stop pending orders based on defined breakout rules.’ ‘All important values adjustable via inputs.’ ‘Includes stop loss, take profit, trailing stop, and configurable risk management.’ ‘One trade at a time, works on demo before live.’ Provide source code and
I have an automated trading strategy in NinjaTrader 8 (C# / NinjaScript) that is currently under development. Before diving into technical details, I’d like to ask a quick question from someone who's interested. Do you work on existing / in-progress codebases to debug, refactor, or add new features, or do you strictly build projects from scratch? NOTE : Only professional Developer should apply for this project
السلام عليكم ورحمة الله وبركاته، ​أبحث عن مبرمج MQL5 خبير ومتمكن جداً لتطوير روبوت تداول (Expert Advisor) محترف لمنصة MetaTrader 5 يعمل باستراتيجية هيدج محددة بصفقة واحدة فقط في كل اتجاه (1 Buy & 1 Sell Max) مع إدارة مخاطر صارمة. ​المواصفات والاستراتيجية المطلوبة: ​1. آلية الهيدج المحدود (Single Position Hedging Limit): ​الحد الأقصى للصفقات: يُسمح للروبوت بفتح صفقة شراء واحدة (1 Buy) وصفقة بيع واحدة (1 Sell) فقط كحد

Proje bilgisi

Bütçe
30 - 80 USD