EA to buy 0.5 lots of BTCUSD on MT5 for Exness Broker

Spécifications

I need you to develop an MT5 Expert Advisor (EA) in MQL5 specifically for BTCUSD, primarily trading on the 1-minute timeframe (M1).

The goal is to build a professional, rule-based automated trading system that trades strong impulsive BTCUSD moves in the direction of the trend, while using strict risk and money management.

1. CORE STRATEGY

The EA should NOT randomly buy or sell.

The basic sequence should be:

Trend → Impulse → Momentum confirmation → Entry → Risk-based position sizing → Trade management

The EA should be capable of trading both:

  • BUY/Bullish moves

  • SELL/Bearish moves

It should work across different market conditions and avoid trading when the market is too choppy or the signal quality is poor.

2. TIMEFRAME

Primary execution timeframe:

M1 / 1-minute

The EA should also be capable of checking higher timeframes for trend confirmation:

  • M5

  • M15

  • Optional H1

All timeframe settings should be configurable.

For example:

UseM5TrendFilter = true/false
UseM15TrendFilter = true/false
UseH1TrendFilter = true/false

3. TREND DETECTION

Use EMA alignment as one of the main trend filters.

Default:

  • EMA 9

  • EMA 21

  • EMA 50

Bullish trend:

EMA 9 > EMA 21 > EMA 50

and price should preferably be above EMA 50.

Bearish trend:

EMA 9 < EMA 21 < EMA 50

and price should preferably be below EMA 50.

The EA should NOT enter solely because of EMA alignment. EMA alignment is a directional filter.

4. IMPULSE DETECTION

The main strategy is based on identifying strong impulsive movements.

Use ATR on M1.

Default:

ATR Period = 14

Calculate:

Candle Body = ABS(Close - Open)

Candle Range = High - Low

An impulse candle should satisfy conditions such as:

Body >= ATR × ImpulseATRMultiplier

Default:

ImpulseATRMultiplier = 1.20

Also require a strong body relative to the total candle range.

Default:

MinimumBodyRatio = 0.65

For bullish impulses:

  • Close > Open

  • Large candle body

  • Body >= ATR × multiplier

  • Close near the upper portion of the candle

  • Preferably increased volume/tick volume

For bearish impulses:

  • Close < Open

  • Large candle body

  • Body >= ATR × multiplier

  • Close near the lower portion of the candle

  • Preferably increased volume/tick volume

All these parameters need to be adjustable.

5. VOLUME CONFIRMATION

Use available BTCUSD tick volume from the broker.

Compare current volume with the average volume over a configurable period.

Default:

VolumePeriod = 20
VolumeMultiplier = 1.30

Example:

Current volume >= Average volume × 1.30

If volume confirmation is enabled and the requirement isn't met, the EA should reject the trade.

Make the volume filter optional.

6. RSI MOMENTUM FILTER

Use RSI as a momentum confirmation rather than a reversal signal.

Default:

RSI Period = 14

BUY:

RSI > 55

SELL:

RSI < 45

Do NOT use the logic:

RSI > 70 = automatically sell
RSI < 30 = automatically buy

The strategy is trying to participate in momentum, not automatically fade it.

All RSI levels should be adjustable.

7. ADX FILTER

Add an optional ADX filter to help avoid extremely weak/choppy markets.

Default:

ADX Period = 14
Minimum ADX = 20

Only allow trades when:

ADX >= MinimumADX

Make this filter optional.

8. ENTRY MODES

I want two configurable entry modes.

MODE 1 — IMPULSE CLOSE

Wait for the impulse candle to close.

If all conditions are satisfied, enter in the direction of the impulse.

MODE 2 — BREAKOUT

For bullish setups:

Wait for price to break above the impulse candle high.

For bearish setups:

Wait for price to break below the impulse candle low.

Make this an input:

EntryMode:

0 = Candle Close
1 = Breakout

9. DON'T CHASE EXTREME MOVES

The EA should avoid entering after BTC has already moved too far away from the original signal.

Create an adjustable:

MaxEntryExtensionATR

Default:

0.50 ATR

If price has already extended beyond the allowed distance before entry, cancel the setup.

This is intended to prevent chasing extremely extended M1 candles.

10. SIGNAL SCORING

I want a configurable scoring system.

Example:

Bullish EMA alignment = +2
Strong bullish impulse = +3
RSI confirmation = +1
Volume confirmation = +1
M5 bullish trend = +2
M15 bullish trend = +1
ADX confirmation = +1

Maximum score = 11.

Default minimum score:

7

The same logic should be reversed for SELL signals.

The minimum score must be adjustable.

This allows me to make the EA more selective or more aggressive during testing.

11. RISK MANAGEMENT

This is extremely important.

The EA must use percentage-based risk, NOT fixed lot sizes.

Default:

RiskPerTrade = 0.50%

The lot size should automatically be calculated using:

  • Account equity

  • Risk percentage

  • Stop-loss distance

  • Tick size

  • Tick value

  • Minimum lot

  • Maximum lot

  • Lot step

  • Broker symbol specifications

Do NOT hard-code BTCUSD contract specifications because different brokers can use different specifications.

12. MAXIMUM LOSS PROTECTION

Add:

MaximumDailyLoss = 2%

MaximumWeeklyLoss = 5%

MaximumDrawdown = 10%

If the daily loss limit is reached:

STOP OPENING NEW TRADES FOR THE REST OF THE DAY.

If weekly loss is reached:

STOP OPENING NEW TRADES UNTIL THE NEXT WEEK.

If maximum account drawdown is reached:

STOP THE EA FROM OPENING NEW TRADES.

These must be configurable.

13. CONSECUTIVE LOSS PROTECTION

Default:

MaxConsecutiveLosses = 3

After 3 consecutive losing trades:

Stop opening new trades.

Optionally use:

CooldownAfterLosses = 60 minutes

Do NOT increase the lot size after a loss.

14. ABSOLUTELY NO MARTINGALE

The EA must NEVER:

  • Double the lot after a loss

  • Increase lot size to recover losses

  • Open progressively larger trades after losing

  • Use a recovery grid

  • Use unlimited averaging down

Every trade should calculate its risk independently.

15. STOP LOSS

Use dynamic ATR-based stop loss.

Default:

ATR Period = 14
SL ATR Multiplier = 1.50

The stop should also consider the structure of the impulse candle.

For BUY:

Stop should be below a logical bullish invalidation point, such as the impulse candle low, with an appropriate ATR-based buffer.

For SELL:

Stop should be above a logical bearish invalidation point, such as the impulse candle high, with an appropriate ATR-based buffer.

The final SL calculation should avoid stops that are unrealistically tight.

16. TAKE PROFIT

Use risk/reward based TP.

Default:

RiskReward = 2.0

Example:

If the trade risks $5:

TP should initially target approximately $10.

The risk/reward ratio must be adjustable.

17. BREAK-EVEN

Add optional break-even management.

Default:

UseBreakEven = true

BreakEvenAtR = 1.0

Once the trade reaches +1R, move the stop toward breakeven.

Allow an adjustable small offset so the trade can potentially cover costs.

Do not move to breakeven too early.

18. TRAILING STOP

Add optional ATR-based trailing stop.

Default:

UseTrailingStop = true

TrailingATRMultiplier = 1.0

The trailing stop should follow the market while allowing reasonable M1 pullbacks.

19. PARTIAL PROFIT

Add optional partial closing.

Example:

UsePartialClose = false by default.

If enabled:

PartialCloseAtR = 1.5
PartialClosePercent = 50%

At +1.5R:

Close 50% of the position.

Allow the remaining position to continue using TP/trailing management.

20. MAXIMUM OPEN POSITIONS

Default:

MaxPositions = 1

I do NOT want the EA opening many positions from the same signal.

Also add:

OneTradePerImpulse = true

Once an impulse has been traded, don't repeatedly enter the same impulse.

21. COOLDOWN

After a position closes:

Default:

CooldownMinutes = 5

Do not immediately open another trade unless the cooldown has expired and a completely new valid setup exists.

Make it adjustable from 0–60 minutes.

22. SPREAD FILTER

Before entering a trade, check the current BTCUSD spread.

If spread is above the configured maximum:

DO NOT ENTER.

The maximum spread should be adjustable.

23. SLIPPAGE / DEVIATION

Add maximum allowed execution deviation.

If the requested execution price is significantly different from the acceptable price:

Reject the trade rather than chasing the market.

24. TRADING SESSION

BTCUSD operates 24/7, so the EA should support 24-hour operation.

However, allow an optional trading-session filter.

Inputs:

UseTradingSession = true/false
StartTime
EndTime

If disabled, the EA can operate continuously.

25. MARKET REGIME FILTER

The EA should distinguish between:

  1. Bullish trend

  2. Bearish trend

  3. Choppy/sideways market

Bullish:

EMA alignment + bullish momentum.

Bearish:

EMA alignment + bearish momentum.

Choppy:

Weak trend, conflicting indicators, low directional movement.

In a choppy environment, preferably NO TRADE.

26. DAILY PROFIT LOCK

Add an optional daily profit target.

Example:

UseDailyProfitLock = false by default.

DailyProfitTarget = 3%

If enabled and the account reaches the daily profit target:

Stop opening new trades for the rest of the day.

This is a capital-protection feature, not a guaranteed profit target.

27. EMERGENCY PROTECTION

Add an emergency equity protection system.

If account drawdown reaches the configured maximum:

  • Stop opening trades

  • Optionally close EA-managed positions

  • Display a clear warning

  • Require a reset/new trading period before trading resumes

28. TRADE IDENTIFICATION

Use a unique Magic Number.

Example:

MagicNumber = 25092501

The EA should only manage positions that belong to its own Magic Number.

It must NOT accidentally modify manual trades or trades belonging to another EA.

29. LOGGING

For every trade, log:

  • Date/time

  • BUY/SELL

  • Entry price

  • Stop loss

  • Take profit

  • Lot size

  • Account equity

  • Risk percentage

  • ATR

  • RSI

  • ADX

  • Volume ratio

  • Signal score

  • Spread

  • Reason for entry

  • Reason for exit

  • Profit/loss

  • R multiple

  • Maximum favorable excursion if possible

  • Maximum adverse excursion if possible

Also log rejected signals and the reason.

Example:

"BUY rejected — score 6/7"

"SELL rejected — spread too high"

"BUY rejected — daily loss limit reached"

This will make debugging and optimization much easier.

30. ON-CHART DASHBOARD

If possible, create an MT5 dashboard showing:

BTCUSD
Current timeframe
Current trend
Current ATR
RSI
ADX
Volume ratio
Signal score
Current spread
Account balance
Account equity
Risk per trade
Today's P/L
Today's number of trades
Consecutive losses
Current position
EA status

Example:

TREND: BULLISH
SIGNAL SCORE: 8/11
ATR: ...
RSI: 61
ADX: 27
VOLUME: 1.45x
SPREAD: ...
RISK: 0.50%
DAILY P/L: +1.2%
STATUS: WAITING FOR ENTRY

31. EA INPUTS

Please make these configurable:

GENERAL

  • Symbol

  • Timeframe

  • Magic Number

  • Enable/Disable EA

TREND

  • Fast EMA

  • Medium EMA

  • Slow EMA

  • M5 filter

  • M15 filter

  • H1 filter

IMPULSE

  • ATR period

  • Impulse ATR multiplier

  • Minimum body ratio

  • Minimum close location

  • Volume period

  • Volume multiplier

MOMENTUM

  • RSI period

  • Bullish RSI level

  • Bearish RSI level

  • ADX period

  • Minimum ADX

ENTRY

  • Entry mode

  • Minimum signal score

  • Maximum entry extension

RISK

  • Risk per trade

  • Maximum daily loss

  • Maximum weekly loss

  • Maximum drawdown

  • Maximum consecutive losses

TRADE MANAGEMENT

  • SL ATR multiplier

  • Risk/reward

  • Break-even

  • Break-even R

  • Trailing stop

  • Trailing ATR multiplier

  • Partial close

  • Partial close percentage

SAFETY

  • Maximum positions

  • One trade per impulse

  • Cooldown

  • Maximum spread

  • Maximum deviation

SESSION

  • Trading session enabled/disabled

  • Start time

  • End time

32. CODE QUALITY

Please write the EA using clean, modular MQL5 code.

Separate functions for:

  • Trend detection

  • Impulse detection

  • Volume analysis

  • RSI analysis

  • ADX analysis

  • Signal scoring

  • Risk calculation

  • Lot calculation

  • Entry

  • SL calculation

  • TP calculation

  • Break-even

  • Trailing stop

  • Partial close

  • Daily loss protection

  • Drawdown protection

  • Trade logging

Use proper error handling.

After every trade operation, verify the trade-server response/retcode rather than assuming the operation succeeded.

33. BACKTESTING

I want the EA designed specifically so it can be tested and optimized in MT5 Strategy Tester.

Test:

  • Bull markets

  • Bear markets

  • Sideways markets

  • High volatility

  • Low volatility

  • Different BTCUSD conditions

  • Different spreads

  • Slippage

  • Different periods

Do NOT optimize only for maximum historical profit.

The goal is:

Robustness + controlled drawdown + realistic execution + consistent behavior.

Use out-of-sample/forward testing after optimization to reduce overfitting.

34. IMPORTANT — NO GUARANTEED PROFIT

I understand that no EA can guarantee a specific weekly/monthly return.

I do NOT want the code artificially optimized to produce a certain percentage such as 30% every week.

I want the strategy to have:

  • Controlled risk

  • Strict money management

  • Clear entry rules

  • Clear exit rules

  • Limited drawdown

  • No martingale

  • No revenge trading

  • No unlimited positions

  • Robust testing

  • Adjustable parameters

35. FINAL STRATEGY LOGIC

The EA should essentially operate like this:

NEW M1 CANDLE

↓

Check EA enabled

↓

Check daily/weekly loss limits

↓

Check maximum drawdown

↓

Check consecutive losses

↓

Check cooldown

↓

Check existing positions

↓

Check spread

↓

Determine M5/M15/H1 trend

↓

Determine M1 trend

↓

Calculate ATR

↓

Detect bullish/bearish impulse

↓

Check RSI

↓

Check volume

↓

Check ADX

↓

Calculate signal score

↓

If score is below minimum → NO TRADE

↓

Check price isn't overextended

↓

Determine entry

↓

Calculate structural/ATR stop

↓

Calculate TP

↓

Calculate position size based on account risk

↓

Check maximum exposure

↓

Execute trade

↓

Monitor trade

↓

Break-even / trailing / partial close

↓

Close at SL/TP/management rule

↓

Record result

↓

Cooldown

↓

Wait for NEW setup

The most important requirement is that the EA should trade high-quality impulsive BTCUSD moves rather than continuously trading every M1 candle.


Répondu

1
Développeur 1
Évaluation
(2676)
Projets
3415
68%
Arbitrage
77
48% / 14%
En retard
343
10%
Travail
Publié : 1 code
2
Développeur 2
Évaluation
(1)
Projets
1
0%
Arbitrage
0
En retard
1
100%
Gratuit
3
Développeur 3
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
4
Développeur 4
Évaluation
(73)
Projets
94
56%
Arbitrage
5
80% / 20%
En retard
2
2%
Chargé
5
Développeur 5
Évaluation
(20)
Projets
28
39%
Arbitrage
8
25% / 38%
En retard
2
7%
Occupé
Publié : 8 articles, 35 codes
6
Développeur 6
Évaluation
(55)
Projets
92
24%
Arbitrage
8
75% / 13%
En retard
44
48%
Gratuit
7
Développeur 7
Évaluation
(64)
Projets
144
46%
Arbitrage
21
38% / 24%
En retard
32
22%
Gratuit
8
Développeur 8
Évaluation
(852)
Projets
1466
72%
Arbitrage
122
29% / 48%
En retard
359
24%
Travail
Publié : 3 articles
9
Développeur 9
Évaluation
(556)
Projets
848
61%
Arbitrage
33
27% / 45%
En retard
24
3%
Gratuit
Publié : 1 code
10
Développeur 10
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
11
Développeur 11
Évaluation
(19)
Projets
22
18%
Arbitrage
9
33% / 44%
En retard
3
14%
Travail
Publié : 1 code
12
Développeur 12
Évaluation
(1)
Projets
2
50%
Arbitrage
0
En retard
1
50%
Travail
13
Développeur 13
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
14
Développeur 14
Évaluation
(9)
Projets
11
27%
Arbitrage
0
En retard
2
18%
Travail
Publié : 1 code
15
Développeur 15
Évaluation
(4)
Projets
5
0%
Arbitrage
3
0% / 33%
En retard
1
20%
Gratuit
16
Développeur 16
Évaluation
(16)
Projets
30
40%
Arbitrage
3
33% / 67%
En retard
7
23%
Travail
17
Développeur 17
Évaluation
(78)
Projets
246
74%
Arbitrage
7
100% / 0%
En retard
1
0%
Gratuit
Publié : 1 article
18
Développeur 18
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
19
Développeur 19
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
20
Développeur 20
Évaluation
(400)
Projets
518
24%
Arbitrage
61
57% / 25%
En retard
60
12%
Travail
21
Développeur 21
Évaluation
(90)
Projets
118
17%
Arbitrage
44
23% / 39%
En retard
20
17%
Gratuit
22
Développeur 22
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
23
Développeur 23
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
24
Développeur 24
Évaluation
(11)
Projets
16
38%
Arbitrage
0
En retard
1
6%
Travail
25
Développeur 25
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
26
Développeur 26
Évaluation
(262)
Projets
308
76%
Arbitrage
13
77% / 0%
En retard
6
2%
Chargé
27
Développeur 27
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
28
Développeur 28
Évaluation
(13)
Projets
18
44%
Arbitrage
2
50% / 50%
En retard
0
Gratuit
29
Développeur 29
Évaluation
(2348)
Projets
2954
63%
Arbitrage
125
44% / 26%
En retard
429
15%
Travail
30
Développeur 30
Évaluation
(319)
Projets
571
35%
Arbitrage
83
31% / 45%
En retard
206
36%
Travail
31
Développeur 31
Évaluation
(7)
Projets
6
0%
Arbitrage
4
25% / 75%
En retard
2
33%
Gratuit
32
Développeur 32
Évaluation
(13)
Projets
14
64%
Arbitrage
0
En retard
0
Gratuit
33
Développeur 33
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
34
Développeur 34
Évaluation
(1)
Projets
1
0%
Arbitrage
0
En retard
0
Gratuit
35
Développeur 35
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
36
Développeur 36
Évaluation
(183)
Projets
197
46%
Arbitrage
4
50% / 25%
En retard
1
1%
Travail
37
Développeur 37
Évaluation
(1)
Projets
1
0%
Arbitrage
0
En retard
0
Gratuit
38
Développeur 38
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
39
Développeur 39
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 2 codes
40
Développeur 40
Évaluation
(258)
Projets
269
29%
Arbitrage
2
50% / 0%
En retard
3
1%
Travail
Publié : 2 codes
41
Développeur 41
Évaluation
(25)
Projets
31
13%
Arbitrage
14
0% / 79%
En retard
9
29%
Gratuit
42
Développeur 42
Évaluation
(54)
Projets
67
42%
Arbitrage
15
27% / 60%
En retard
1
1%
Travail
43
Développeur 43
Évaluation
(60)
Projets
94
43%
Arbitrage
4
0% / 100%
En retard
4
4%
Gratuit
44
Développeur 44
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
45
Développeur 45
Évaluation
(369)
Projets
457
55%
Arbitrage
24
54% / 17%
En retard
31
7%
Travail
Commandes similaires
I need an Expert Advisor based on Vantage signals.It must have check and handling of trade operation errors. The main criteria for opening and closing a position: moving average direction the price is higher the previous bar Trade lots is an input parameter
I need an experienced MQL5 developer to build a fully automated MT4 Expert Advisor designed to generate relatively high daily trading volume on small account balances while prioritizing capital preservation. I will need the EX4 and MQ4 file to be delivered. Main objective: The EA should be capable of generating approximately 1–3 standard lots of cumulative trading volume per day on accounts around $100–$200, where
Expert Needs to integrate Volume Density ( Ticks Per Point ) Adaptive Volume Baseline ( Apply with experience ) , Order Flow Tick Volume Based ( required integration is for smooth execution ) , Every other requirement already exists by the expert , True Objective : To identify the true transition from Accumulation to Expansion/Distribution leading to Breakout capturing participation while eliminating false breakouts
I need a professional XAUUSD signal indicator for MetaTrader 5, written entirely in MQL5 (.mq5). IMPORTANT: This is NOT an auto-trading EA. It must never open, close or modify trades. It only analyzes XAUUSD and generates signals + MT5 push notifications. 1. Multi-timeframe analysis: H4 → H1 → M30 → M15 → M10 → M5 → M1. 2. Detect market structure: - Swing High / Swing Low - BOS - MSS - CHOCH - Bullish/Bearish HTF
Hi. I am looking for an experienced MQL5 developer for an advanced XAUUSD MT5 indicator. Before choosing a developer, I would like to see a small proof-of-concept or an example of a similar indicator you have already developed. My final indicator must be written from scratch in MQL5 and I must receive the complete .mq5 source code + compiled .ex5 . Main requirements: XAUUSD MT5 / MQL5 Indicator only — NO AutoTrading
Title: Advanced XAUUSD MT5 Indicator – MQL5 Source Code Required I need a professional MT5 indicator written from scratch in MQL5 (.mq5) for XAUUSD. The indicator must be signals/analysis only — AutoTrading must remain OFF . I need the complete editable .mq5 source code, not only an .ex5 file. The system should analyze multiple timeframes: H4 → H1 → M30 → M15 → M5 → M1 . Required logic: Higher-timeframe
NextGen 30 - 50 USD
Hello, Before I select a developer, please confirm that you can implement the complete MT5 EA exactly according to my specification. The most important requirements are: 1. Strict NO-REPAINT / NO-HINDSIGHT logic. 2. Sweep, MSS/BOS, Displacement, FVG, Order Block and POI must be defined algorithmically before coding. 3. M1 and M5 confirmation logic. 4. Zero-Float Entry logic. 5. MT5 terminal alerts and immediate MT5
I need a professional XAUUSD signal indicator for MetaTrader 5, written entirely in MQL5 (.mq5). IMPORTANT: This is NOT an auto-trading EA. It must never open, close or modify trades. It only analyzes XAUUSD and generates signals + MT5 push notifications. 1. Multi-timeframe analysis: H4 → H1 → M30 → M15 → M10 → M5 → M1. 2. Detect market structure: - Swing High / Swing Low - BOS - MSS - CHOCH - Bullish/Bearish HTF
Order for an EA. Trade signals from 1 Buffer Needed is an EA which runs from one of my indicators. Indicator has 2 Buffers, we use only 1 of them. To use are the datas from Datawindow of the indicator buffers. BUFFER 1 in Datawindow = CCI-iRSI If value (of Buffer1) Candle = > 0 = LONG signal If value (of Buffer1) AT END of Candle = < 0 = Short signal If value (of BUffer1) AT END of Candle = 0 = the current signal
I would like to create a tradingview robot that will sync with tradovate. My strategy is as follows: Chart Setup - MES on left and MNQ on right. The MES chart has quarter levels on it. The MNQ has the volume indicator. Trading Session is from 9:30AM EST - 11:00AM EST If most recent price action has crossed *up* a quarter level on MES, I look for *sells* on MNQ. My trigger for a sell is a bearish engulfing candlestick

Informations sur le projet

Budget
100 - 150 USD
Délais
de 1 à 3 jour(s)

Client

(1)
Commandes passées2
Nombre d'arbitrages0