MQL5 Expert Advisor Development for MT5 – EL VASCO OIL – Breakout Strategy & Advanced Prop Firm Risk Management

Техническое задание


Hello,

I am looking for an experienced MQL5 developer to develop a custom Expert Advisor (EA) for MetaTrader 5, specifically designed to trade Oil (WTI/Brent) under strict risk management rules required by Prop Firms.

The official name of the project and the EA file must be:

EL VASCO OIL

The EA must be professionally developed, properly commented, tested and delivered with both the complete .mq5 source code and compiled .ex5 file.


1. GENERAL EA CONFIGURATION

The EA must expose the following input variables in MT5:

//+------------------------------------------------------------------+

//|                                                 El Vasco OIL.mq5 |

//|                       Copyright 2026, CARLOS GASTON LAVAYEN       |

//+------------------------------------------------------------------+

#property copyright   "Carlos Gaston Lavayen"

#property version     "1.00"

#property description "Professional Expert Advisor for Funded Accounts"

#property description "Strategy: Range Breakout"


//+------------------------------------------------------------------+

//| GENERAL CONFIGURATION                                            |

//+------------------------------------------------------------------+

input string Inp_MagicGroup       = "--- GENERAL CONFIGURATION ---";

input int    Inp_MagicNumber      = 88250;

input string Inp_TradeComment     = "Oil_Breakout_Prop";


//+------------------------------------------------------------------+

//| RISK MANAGEMENT                                                  |

//+------------------------------------------------------------------+

input string Inp_RiskGroup        = "--- RISK MANAGEMENT (PROP FIRM) ---";


input double Inp_RiskPercent      = 0.5;

// Risk percentage per trade


input double Inp_MaxDailyLoss     = 4.0;

// Maximum allowed daily drawdown %


input int    Inp_StopLossPoints   = 300;

// Fixed Stop Loss in points


input int    Inp_TakeProfitPoints = 600;

// Fixed Take Profit in points


input bool   Inp_UseBreakeven     = true;

// Enable automatic Breakeven


input int    Inp_BreakevenTrigger = 300;

// Profit in points required to activate Breakeven


input int    Inp_MaxSpreadAllowed = 40;

// Maximum allowed spread in points


//+------------------------------------------------------------------+

//| BREAKOUT CONFIGURATION                                           |

//+------------------------------------------------------------------+

input string Inp_BreakoutGroup          = "--- BREAKOUT CONFIGURATION ---";


input int    Inp_BreakoutBufferPoints  = 10;

// Distance above/below Asian High/Low for pending orders


//+------------------------------------------------------------------+

//| TIME AND SESSION CONFIGURATION                                   |

//+------------------------------------------------------------------+

input string Inp_TimeGroup          = "--- TIME CONFIGURATION ---";


input string Inp_AsiaStart          = "01:00";

input string Inp_AsiaEnd            = "07:00";


input string Inp_ExecutionStart    = "08:00";

input string Inp_ExecutionEnd      = "16:00";


input bool   Inp_FridayClose       = true;

input string Inp_FridayCloseTime   = "15:30";


// All times must use Broker/Server Time.


//+------------------------------------------------------------------+

//| NEWS FILTER                                                      |

//+------------------------------------------------------------------+

input string Inp_NewsGroup          = "--- NEWS FILTER (EIA / USD) ---";


input bool   Inp_AvoidNews          = true;


input int    Inp_MinutesBefore      = 30;


input int    Inp_MinutesAfter       = 30;


2. BREAKOUT STRATEGY

Asian Range Calculation

The EA must calculate the highest High and lowest Low of the trading symbol between:

  • Inp_AsiaStart
  • Inp_AsiaEnd

All calculations must use Broker/Server Time.

The resulting values must be displayed on the graphical dashboard.

Breakout Pending Orders

At Inp_ExecutionStart , the EA must place:

Buy Stop

The Buy Stop must be placed:

Asian Session High + Inp_BreakoutBufferPoints

Sell Stop

The Sell Stop must be placed:

Asian Session Low - Inp_BreakoutBufferPoints

The breakout buffer must be configurable through:

Inp_BreakoutBufferPoints

The EA must automatically calculate the correct price according to the symbol's digits and point size.


3. OCO LOGIC

The EA must use an OCO (One Cancels the Other) system.

If the Buy Stop is triggered:

  • The Sell Stop must be immediately cancelled.

If the Sell Stop is triggered:

  • The Buy Stop must be immediately cancelled.

If neither order is triggered before Inp_ExecutionEnd :

  • Delete the Buy Stop.
  • Delete the Sell Stop.
  • Do not place new breakout orders for that trading day.

The EA must never create duplicate pending orders.


4. AUTOMATIC LOT SIZE CALCULATION

The lot size must be calculated dynamically based on:

  • Current account balance.
  • Inp_RiskPercent .
  • Stop Loss distance.
  • Symbol tick value.
  • Symbol tick size.
  • Symbol contract specifications.
  • Minimum lot.
  • Maximum lot.
  • Lot step.

The EA must calculate the correct position size according to the actual monetary risk.

The calculated lot size must never exceed the broker's allowed limits.

The final calculated lot size must be normalized according to the symbol's minimum, maximum and lot-step requirements.


5. DAILY DRAWDOWN / PROP FIRM PROTECTION

This is a critical requirement.

The EA must continuously monitor the account's daily drawdown.

The daily loss calculation must include:

  • Realized losses from trades closed during the current trading day.
  • Floating losses from currently open positions.

The daily drawdown must be calculated using the account's equity and the defined daily loss limit.

The reference point for the daily calculation must be established at the beginning of each Broker/Server trading day.

If the account equity reaches or falls below the maximum permitted daily drawdown level defined by:

Inp_MaxDailyLoss

the EA must immediately:

  1. Close all open positions managed by this EA.
  2. Delete all pending orders managed by this EA.
  3. Stop opening any new trades.
  4. Stop placing new pending orders.
  5. Display DAILY LOSS LIMIT REACHED on the dashboard.
  6. Remain disabled until the beginning of the next Broker/Server trading day.

The EA must not reset the daily drawdown calculation because of:

  • EA restart.
  • MT5 restart.
  • Chart refresh.
  • Internet reconnection.
  • Manual order activity.

The EA must correctly preserve and recalculate the daily protection state after being restarted.


6. SPREAD FILTER

The EA must not place or trigger new trading activity when the current spread exceeds:

Inp_MaxSpreadAllowed

The current spread must be displayed in the dashboard.

If the spread is above the configured maximum, the dashboard must clearly indicate:

SPREAD TOO HIGH


7. BREAKEVEN

If:

Inp_UseBreakeven = true

the EA must automatically move the Stop Loss to Breakeven once the position reaches:

Inp_BreakevenTrigger

positive points.

The Breakeven status must be displayed on the dashboard.


8. FRIDAY FORCED CLOSE

If:

Inp_FridayClose = true

the EA must close all open positions managed by this EA at:

Inp_FridayCloseTime

using Broker/Server Time.

It must also delete any remaining pending orders.

The purpose is to prevent exposure to weekend gaps.


9. NEWS FILTER

The EA must include a high-impact news filter.

The filter should use the MT5 Economic Calendar whenever available.

It should identify high-impact USD events, with particular attention to:

  • EIA oil inventory releases.
  • Major USD economic events.
  • Other high-impact USD events relevant to oil trading.

If:

Inp_AvoidNews = true

the EA must pause trading during the configured protection window.

Before a high-impact event:

Inp_MinutesBefore

the EA must stop opening new trades and must cancel existing pending breakout orders.

After the event:

Inp_MinutesAfter

the EA may resume normal operation.

The dashboard must display:

  • News Filter ON/OFF.
  • News protection status.
  • Next relevant high-impact event, when available.
  • Minutes before/after news.

If MT5 Economic Calendar data is unavailable, the EA must fail safely and clearly indicate the news-filter status on the dashboard rather than silently assuming that no news exists.


10. DAILY SESSION / DUPLICATE ORDER PROTECTION

The EA must place breakout pending orders only once per trading day/session.

It must never duplicate orders because of:

  • MT5 restart.
  • EA restart.
  • Chart refresh.
  • Reconnection.
  • EA reinitialization.

The EA must use the configured Magic Number to identify and manage its own positions and pending orders.

The EA must not interfere with trades belonging to other EAs or manually opened trades unless explicitly configured to do so.


11. EA RESTART / RECOVERY

If MT5 or the EA is restarted while there are active positions or pending orders belonging to this EA, the EA must correctly detect and continue managing them.

The EA must not create duplicate pending orders after a restart.

The EA must recover the correct trading state using:

  • Magic Number.
  • Symbol.
  • Existing positions.
  • Existing pending orders.
  • Current trading day/session.

12. PROFESSIONAL TRADING DASHBOARD

The EA must have a professional graphical dashboard displayed directly on the MT5 chart whenever the EA is running.

The dashboard should have a modern Prop Firm / Professional Trading appearance.

Preferred design:

  • Dark/black background.
  • Gold accents.
  • White text.
  • Green for active/positive conditions.
  • Red for danger or disabled trading.
  • Yellow/orange for warnings.
  • Clean typography.
  • Professional spacing.
  • Clearly separated sections.
  • Modern commercial EA appearance.

The dashboard must not look like a basic default MQL5 interface.


13. EL VASCO OIL LOGO

I will provide my custom EL VASCO OIL logo.

The logo must be displayed prominently at the top of the dashboard.

Please integrate the logo directly into the EA as an MQL5 resource.

The EA must not depend on:

  • External image files.
  • Specific Windows folders.
  • External file paths.

The logo must therefore be included in the .mq5 source and compiled into the final .ex5 .

Please preserve the original proportions and visual quality of the logo.


14. DASHBOARD INFORMATION

The dashboard should display the following information:

EA STATUS

  • RUNNING / ACTIVE
  • PAUSED
  • NEWS FILTER
  • DAILY LOSS LIMIT REACHED
  • SPREAD TOO HIGH

ACCOUNT INFORMATION

  • Balance
  • Equity
  • Today's P/L
  • Today's P/L %
  • Current Drawdown %
  • Maximum Daily Loss %

RISK MANAGEMENT

  • Risk per Trade %
  • Calculated Lot Size
  • Stop Loss
  • Take Profit
  • Risk/Reward Ratio
  • Breakeven Status

MARKET INFORMATION

  • Symbol
  • Current Price
  • Spread
  • Current Session
  • Trading Hours Status

BREAKOUT INFORMATION

  • Asian Session High
  • Asian Session Low
  • Buy Stop Price
  • Sell Stop Price
  • Breakout Buffer
  • Pending Order Status

NEWS FILTER

  • News Filter ON/OFF
  • News Protection Status
  • Next High-Impact News, if available
  • Minutes Before News
  • Minutes After News

TRADING STATUS

  • Buy Stop: WAITING / ACTIVE / TRIGGERED / CANCELLED
  • Sell Stop: WAITING / ACTIVE / TRIGGERED / CANCELLED
  • OCO Status

15. DASHBOARD FUNCTIONALITY

The dashboard must update dynamically in real time.

It should preferably be:

  • Movable on the chart.
  • Scalable/resizable.
  • Compatible with different MT5 chart sizes.
  • Properly aligned when the chart is resized.
  • Persistent while the EA is running.

The dashboard must be purely informational and must not interfere with the EA's trading logic.

If the daily loss limit is reached, the dashboard must clearly display:

⛔ DAILY LOSS LIMIT REACHED

and indicate that trading has been disabled until the next trading day.


16. EXAMPLE DASHBOARD

Example:

EL VASCO OIL

🟢 EA ACTIVE

Balance: $100,000
Equity: $99,750
Today's P/L: -$250 (-0.25%)
Daily Loss Limit: 4.00%
Risk/Trade: 0.50%
Lot Size: 2.50
Spread: 18 points

Asian High: 79.850
Asian Low: 79.420
Buy Stop: 79.880
Sell Stop: 79.390

News Filter: ON
Session: London
OCO: ACTIVE


17. TIME CONFIGURATION

All trading session times, execution times and Friday closing times must use Broker/Server Time.

The EA must not assume that the broker uses EST, UTC or any other fixed timezone.

The dashboard should clearly indicate that the configured times are based on Broker/Server Time.


18. SAFETY AND ERROR HANDLING

The EA must handle trading errors correctly and safely.

The developer should implement appropriate checks for:

  • Invalid lot size.
  • Invalid stops.
  • Insufficient margin.
  • Maximum spread.
  • Market closed.
  • Trading disabled.
  • Broker restrictions.
  • Minimum stop distance.
  • Symbol trading specifications.
  • Failed order placement.
  • Failed order cancellation.
  • Failed position closure.

The EA should not repeatedly send failed orders in an uncontrolled loop.

Important trading events and errors should be recorded in the MT5 Experts/Journal log with clear messages.


19. TESTING REQUIREMENTS

Before final delivery, the EA must be tested using the MT5 Strategy Tester.

The developer must verify at minimum:

  1. Correct Asian range calculation.
  2. Correct Buy Stop placement.
  3. Correct Sell Stop placement.
  4. Correct OCO cancellation.
  5. Correct lot size calculation.
  6. Correct daily drawdown protection.
  7. Correct pending-order cancellation.
  8. Correct spread filter.
  9. Correct Breakeven.
  10. Correct Friday close.
  11. Correct news filter behavior.
  12. Correct EA recovery after restart.
  13. No duplicate orders.
  14. Correct dashboard updates.
  15. Correct logo display.
  16. Correct compilation.

The final .mq5 file must compile with:

0 Errors / 0 Warnings


20. FINAL DELIVERY REQUIREMENTS

The developer must provide:

1. Complete MQL5 source code

.mq5

The source code must be properly commented and fully editable.

2. Compiled EA

.ex5

Compiled successfully with:

0 Errors / 0 Warnings

3. Working graphical dashboard

The final EA must include the complete EL VASCO OIL dashboard and logo.

4. Testing evidence

Before final delivery, please provide screenshots or a short video showing the EA running on an MT5 chart with:

  • Complete dashboard visible.
  • EL VASCO OIL logo visible.
  • Breakout levels.
  • Pending orders.
  • EA status.
  • Risk management information.

5. Technical documentation

Please provide a short explanation of:

  • How the daily drawdown calculation works.
  • How the lot size is calculated.
  • How the news filter works.
  • How the EA handles restarts.
  • How the trading sessions are calculated.
  • How to install and configure the EA.

21. IMPORTANT DEVELOPMENT REQUIREMENT

The EA must be developed specifically for MT5/MQL5.

The code must be clean, structured, maintainable and properly commented.

The developer must not replace or simplify any of the critical risk-management requirements without discussing it with me first.

If there are any technical limitations or ambiguities in the specifications, please identify them before starting development.


22. BUDGET AND DEADLINE

Budget: $500–$700 USD

Preferred target budget: $600 USD

Estimated delivery time: 30 days

The deadline includes:

  • Development.
  • Testing.
  • Debugging.
  • Corrections.
  • Dashboard implementation.
  • Final compilation.
  • Final delivery of .mq5 and .ex5 .

If the EA is completed and fully tested before the deadline, early delivery is welcome.


23. DEVELOPER QUESTIONS

When submitting your proposal, please provide:

  1. Your total price.
  2. Estimated delivery time.
  3. Your experience developing MQL5 Expert Advisors.
  4. Examples of previous EAs you have developed, especially for Prop Firms.
  5. Whether you have experience implementing daily drawdown/equity protection.
  6. Whether you have experience with MT5 Economic Calendar/news filters.
  7. Whether you have experience creating custom graphical dashboards in MQL5.
  8. Any technical questions or concerns regarding this specification.

Please do not start development until any technical questions have been discussed and agreed upon.

Before final delivery, please provide a screenshot or short video showing the complete EL VASCO OIL EA running on an MT5 chart with the dashboard visible.

Thank you very much.


Файлы:

Откликнулись

1
Разработчик 1
Оценка
(269)
Проекты
338
29%
Арбитраж
36
28% / 64%
Просрочено
10
3%
Загружен
2
Разработчик 2
Оценка
(202)
Проекты
263
22%
Арбитраж
23
52% / 17%
Просрочено
0
Загружен
3
Разработчик 3
Оценка
(549)
Проекты
838
61%
Арбитраж
33
27% / 45%
Просрочено
24
3%
Свободен
Опубликовал: 1 пример
4
Разработчик 4
Оценка
(13)
Проекты
13
38%
Арбитраж
1
0% / 100%
Просрочено
1
8%
Свободен
5
Разработчик 5
Оценка
(28)
Проекты
34
35%
Арбитраж
0
Просрочено
2
6%
Свободен
6
Разработчик 6
Оценка
(3)
Проекты
4
0%
Арбитраж
1
100% / 0%
Просрочено
1
25%
Свободен
Похожие заказы
Hola, Busco un programador experimentado en MQL5 para desarrollar un Expert Advisor (EA) personalizado para MetaTrader 5, diseñado específicamente para operar Petróleo (WTI/Brent) bajo las estrictas reglas de gestión de riesgo de las empresas de fondeo ( Prop Firms ). El nombre oficial del proyecto y del archivo debe ser: El Vasco OIL . A continuación, detallo las especificaciones lógicas y las variables de entrada
Yo quiero que puedan realizar los 2 siguientes indicadores en uno solo, los mismos esta en Trading View con el codigo abierto osea que se pueden guiar perfectamente. 1) Indicador ATR Fibonacci Trend Envelopes de BigBeluga 2) Indicador Adaptive S/R de BigBeluga Los dos indicadores tienen que tener los mismo campos que estan en trading view para poder modificar los campos y alertas al momento de cruzar cualquiera de

Информация о проекте

Бюджет
500 - 700 USD
Сроки выполнения
до 30 дн.

Заказчик

Размещено заказов2
Количество арбитражей0