Specification
// === INPUT PARAMETERS ===
input int FastMA = 9; // Fast moving average for trend
input int SlowMA = 21; // Slow moving average for trend
input double Risk = 1.0; // Risk percentage per trade
input int ATRPeriod = 14; // ATR period for dynamic SL/TP
input double ATRMultiplier = 1.5; // Multiplier for ATR-based SL/TP
input int RSI_Period = 14; // RSI period
input int RSI_Overbought = 70;
input int RSI_Oversold = 30;
input int MACD_Fast = 12, MACD_Slow = 26, MACD_Signal = 9; // MACD settings
// === STRUCTURE DETECTION ===
double HighPrev, LowPrev, HighCurrent, LowCurrent;
bool BreakOfStructure;
// === FAIR VALUE GAP DETECTION ===
bool FairValueGapFound(double high1, double low1, double high2, double low2) {
return (low2 > high1); // FVG occurs when the second candle's low is above the first candle's high
}
// === ORDER BLOCK DETECTION ===
bool IsOrderBlock(double open1, double close1, double open2, double close2) {
return (close1 < open1 && close2 > open2); // Bullish order block: Strong rejection from a bearish candle
}
// === MAIN FUNCTION ===
void OnTick() {
// Get latest candle data
HighPrev = iHigh(Symbol(), PERIOD_M15, 1);
LowPrev = iLow(Symbol(), PERIOD_M15, 1);
HighCurrent = iHigh(Symbol(), PERIOD_M15, 0);
LowCurrent = iLow(Symbol(), PERIOD_M15, 0);
// === CHECK FOR BREAK OF STRUCTURE (BOS) ===
BreakOfStructure = (HighCurrent > HighPrev || LowCurrent < LowPrev);
// === CHECK FOR FAIR VALUE GAP (FVG) ===
bool FVG = FairValueGapFound(HighPrev, LowPrev, HighCurrent, LowCurrent);
// === CHECK FOR ORDER BLOCKS ===
bool OrderBlock = IsOrderBlock(iOpen(Symbol(), PERIOD_M15, 1), iClose(Symbol(), PERIOD_M15, 1),
iOpen(Symbol(), PERIOD_M15, 0), iClose(Symbol(), PERIOD_M15, 0));
// === TREND FILTER USING MOVING AVERAGES ===
double maFast = iMA(Symbol(), PERIOD_M15, FastMA, 0, MODE_SMA, PRICE_CLOSE, 0);
double maSlow = iMA(Symbol(), PERIOD_M15, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 0);
bool Uptrend = (maFast > maSlow);
bool Downtrend = (maFast < maSlow);
// === RSI FILTER ===
double RSI_Value = iRSI(Symbol(), PERIOD_M15, RSI_Period, PRICE_CLOSE, 0);
bool RSI_Buy = (RSI_Value < RSI_Oversold);
bool RSI_Sell = (RSI_Value > RSI_Overbought);
// === MACD FILTER ===
double macdMain, macdSignal, macdHist;
iMACD(Symbol(), PERIOD_M15, MACD_Fast, MACD_Slow, MACD_Signal, PRICE_CLOSE, macdMain, macdSignal, macdHist);
bool MACD_Buy = (macdMain > macdSignal);
bool MACD_Sell = (macdMain < macdSignal);
// === ATR for DYNAMIC SL/TP ===
double ATR_Value = iATR(Symbol(), PERIOD_M15, ATRPeriod, 0);
double DynamicSL = ATRMultiplier * ATR_Value;
double DynamicTP = 4 * DynamicSL; // 1:4 Risk-Reward
// === TRADE CONDITIONS ===
if (BreakOfStructure && FVG && OrderBlock && Uptrend && RSI_Buy && MACD_Buy && OrdersTotal() == 0) {
// Buy Setup
double lotSize = 0.1;
double entryPrice = Ask;
double stopLoss = entryPrice - DynamicSL;
double takeProfit1 = entryPrice + (DynamicTP * 0.5); // 50% TP
double takeProfit2 = entryPrice + (DynamicTP); // 100% TP
// Place Buy Order
int orderTicket = OrderSend(Symbol(), OP_BUY, lotSize, entryPrice, 10, stopLoss, takeProfit2, "BUY Order", 0, 0, clrBlue);
// Set Partial TP
if (orderTicket > 0) {
Sleep(5000); // Wait before modifying order
OrderModify(orderTicket, entryPrice, stopLoss, takeProfit1, 0, clrBlue);
}
}
if (BreakOfStructure && FVG && OrderBlock && Downtrend && RSI_Sell && MACD_Sell && OrdersTotal() == 0) {
// Sell Setup
double lotSize = 0.1;
double entryPrice = Bid;
double stopLoss = entryPrice + DynamicSL;
double takeProfit1 = entryPrice - (DynamicTP * 0.5); // 50% TP
double takeProfit2 = entryPrice - (DynamicTP); // 100% TP
// Place Sell Order
int orderTicket = OrderSend(Symbol(), OP_SELL, lotSize, entryPrice, 10, stopLoss, takeProfit2, "SELL Order", 0, 0, clrRed);
// Set Partial TP
if (orderTicket > 0) {
Sleep(5000);
OrderModify(orderTicket, entryPrice, stopLoss, takeProfit1, 0, clrRed);
}
}
}
Responded
1
Rating
Projects
346
29%
Arbitration
36
28%
/
64%
Overdue
10
3%
Working
2
Rating
Projects
38
21%
Arbitration
5
0%
/
60%
Overdue
0
Free
3
Rating
Projects
34
53%
Arbitration
1
100%
/
0%
Overdue
1
3%
Free
4
Rating
Projects
21
14%
Arbitration
8
38%
/
38%
Overdue
3
14%
Loaded
5
Rating
Projects
515
19%
Arbitration
35
46%
/
31%
Overdue
34
7%
Working
6
Rating
Projects
20
40%
Arbitration
1
0%
/
100%
Overdue
1
5%
Free
7
Rating
Projects
90
29%
Arbitration
24
13%
/
58%
Overdue
7
8%
Working
8
Rating
Projects
26
73%
Arbitration
1
0%
/
100%
Overdue
0
Free
9
Rating
Projects
35
20%
Arbitration
5
40%
/
40%
Overdue
0
Free
Published: 1 code
10
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
11
Rating
Projects
3
0%
Arbitration
8
13%
/
88%
Overdue
1
33%
Free
12
Rating
Projects
716
33%
Arbitration
46
48%
/
41%
Overdue
14
2%
Loaded
13
Rating
Projects
6
0%
Arbitration
4
25%
/
75%
Overdue
2
33%
Free
14
Rating
Projects
267
21%
Arbitration
24
50%
/
17%
Overdue
0
Working
15
Rating
Projects
1
0%
Arbitration
5
0%
/
100%
Overdue
0
Free
16
Rating
Projects
289
35%
Arbitration
18
22%
/
61%
Overdue
43
15%
Free
17
Rating
Projects
246
74%
Arbitration
7
100%
/
0%
Overdue
1
0%
Free
Published: 1 article
18
Rating
Projects
91
13%
Arbitration
34
26%
/
59%
Overdue
37
41%
Free
19
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
20
Rating
Projects
8
0%
Arbitration
4
0%
/
100%
Overdue
3
38%
Free
21
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
22
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
23
Rating
Projects
945
47%
Arbitration
309
58%
/
27%
Overdue
125
13%
Free
Similar orders
I am looking for an experienced MQL5 / MetaTrader 5 (MT5) developer to make targeted improvements to an existing, fast-execution Expert Advisor (EA). The EA is already functional and actively trades Gold (XAUUSD) . The main objective is not to build a new EA from scratch , but to review the existing code and make a few precise improvements, particularly around risk management and risk-to-reward (RR) logic . Current
Modification of an existing MQL5 EA TH-05
30 - 300 USD
I Have an existing Mql5 Expert advisor (source code), I want a professional programmer to help me Modify the EA... so that it can stop taking new trades once it Gets to a Pacific Lots Size or Floating loss
Hi, can you define entry conditions based on 100 or 200 trades? If you need more history, i can give you more trades. It is EURUSD with great results! If you can do it, contact me
The Ultimate Trading Bot
30+ USD
take your time better make it for days and have good bot than never benefits both of us. Make the bot have zero errors and backtest it for a 2 year period
Wise Legend
30 - 500 USD
I want this robot to alert me on a good entry point on the trading flat form ether to buy or to sell. And also alert me when to close the market. And alert me on market continuations
I have an existing MT5 Expert Advisor with the original MQ5 source code. I need an experienced MQL5 developer to review, debug and professionally improve the existing EA, not build an unrelated EA from scratch. The EA is mainly for XAUUSD and already contains entry signals, EMA filters, automatic lot sizing, basket profit management, spread/margin protection, news filtering and recovery logic. The main problem is the
Exact Pine Script Conversion: The EA must replicate my Pine Script exactly — including Support/Resistance, Liquidity Grab/Sweep, 30 EMA, Entry, SL, TP, Partial Booking and Breakeven . No assumptions or changes to the logic. Accurate Entries: The EA must enter exactly according to the Pine Script conditions, including the correct candle and price level after the Support/Resistance or Liquidity Sweep setup. SL & TP: SL
I buy EA for USDEUR or XAUUSD for FTMO with proven backtest. Send me images with backtest reports where daily max dd is 1% on 200k account. I can buy several eas if you have them with proofs. Need images of backtesting for 5 years
Cerco uno sviluppatore MQL5 esperto per lavorare su un Expert Advisor (EA) XAUUSD per MetaTrader 5 già esistente , versione attuale XAU_V59.mq5 . L'obiettivo è modificare, correggere e sviluppare il codice esistente senza stravolgere la logica già presente , mantenendo le regole ei parametri già definiti, salvo le modifiche espressamente richieste. REQUISITI FONDAMENTALI Il codice deve essere scritto in MQL5 nativo e
I need an MT5 Expert Advisor for a mean-reversion strategy on EURUSD: single entry at local price extremes, fixed stop loss and take profit, no grid and no averaging. Position size must be calculated automatically so that risk per trade is capped at a fixed USD amount, with a daily loss limit and a pause after consecutive losses. I will send the full specification — entry conditions, filters and all input parameters
Project information
Budget
30 - 200 USD