Trabajo finalizado

Plazo de ejecución 3 horas
Comentario del Ejecutor
Thank you for an interesting task! Wish you all the best!
Comentario del Cliente
The task was done correctly, professionally and on time. Fixed bugs in the code I had him fix for me. All recommendations.

Tarea técnica

Hello everyone,

I need help debugging and fixing a MetaTrader 5 Expert Advisor (EA). The file compiles with several errors in MetaEditor, mostly "undeclared identifier" and "some operator expected".

I’m learning step-by-step and building this EA gradually, so I would really appreciate if someone could review it and tell me what is wrong in the syntax.

I use these codes for a demo account to test my strategy. If someone can review the codes and fix them, I would be very grateful.



wrong parameters count STEP2.mq5 274 15

   built-in: double AccountInfoDouble(ENUM_ACCOUNT_INFO_DOUBLE) STEP2.mq5 274 15

wrong parameters count STEP2.mq5 290 16

   built-in: double AccountInfoDouble(ENUM_ACCOUNT_INFO_DOUBLE) STEP2.mq5 290 16

possible use of uninitialized variable 'eq' STEP2.mq5 291 8

undeclared identifier STEP2.mq5 306 16

'StringSubstr' - some operator expected STEP2.mq5 306 28

implicit conversion from 'unknown' to 'string' STEP2.mq5 306 16

wrong parameters count STEP2.mq5 201 14

   built-in: double AccountInfoDouble(ENUM_ACCOUNT_INFO_DOUBLE) STEP2.mq5 201 14

possible use of uninitialized variable 'eq' STEP2.mq5 202 37

wrong parameters count STEP2.mq5 206 14

   built-in: double AccountInfoDouble(ENUM_ACCOUNT_INFO_DOUBLE) STEP2.mq5 206 14

possible use of uninitialized variable 'eq' STEP2.mq5 207 22

wrong parameters count STEP2.mq5 224 5

   built-in: double AccountInfoDouble(ENUM_ACCOUNT_INFO_DOUBLE) STEP2.mq5 224 5

wrong parameters count STEP2.mq5 229 14

   built-in: double AccountInfoDouble(ENUM_ACCOUNT_INFO_DOUBLE) STEP2.mq5 229 14

possible use of uninitialized variable 'eq' STEP2.mq5 231 31

8 errors, 5 warnings 8 5





goldfxsafebot code
//+------------------------------------------------------------------+
//| GoldFX_SafeBot.mq5|
//| DEMO/EDU EA: EMA(9/21/200) + RSI(14) + MACD(12,26,9) |
//| Risk mgmt: 1%/trade, max 3% total, daily stop -2% |
//| Protections: ATR filter + vol-halt, Smart TP trailing, BE, |
//| Friday cutoff 18:00, force-close 21:55, symbol windows |
//| NOTE: Testiraj na DEMO. Ti odlučuješ da li i kada ide na LIVE. |
//+------------------------------------------------------------------+
#property copyright "For demo/education"
#property version "1.0"
#проперти стриц


т

#include
CTrade trade;

//============================== INPUTS ==============================
input string __A__ = "----- Risk i limiti -----";
input double RiskPercentPerTrade = 1.0; // % equity po trejdu
input double MaxTotalOpenRiskPercent = 3.0; // % equity ukupni rizik otvorenih pozicija
input double DailyLossStopPercent = 2.0; // -2% dnevni stop
input int MaxConsecutiveLosses = 4; // pauza 24h nakon X gubitaka zaredom

input string __B__ = "----- TP/SL zaštite -----";
input double MinRiskReward = 2.0; // TP = RR * SL (start)
input bool UseSmartTP = true; // trailing po % od MFE
input double SmartTP_TrailingPercent = 5.0; // zatvori ako profit padne >5% od vrha
input double BreakevenBufferCurrency = 5.0; // prebaci SL iznad nule kad profit > 5 EUR

input string __C__ = "----- Izvršenje / spread -----";
input bool UseMaxSlippage = true;
input int MaxSlippagePoints = 20; // 2.0 pips = 20 pts na 5-digit
input int MaxPositionsPerSymbol = 1; // 1 pozicija po simbolu (preporučeno)

input string __D__ = "----- Equity/DD zaštita -----";
input bool UseEquityProtection = true; // lokalni peak-based equity stop
input double EquityProtectionPercent = 10.0; // pauza 24h ako eq padne >10% od vrha

input string __E__ = "----- Volatilnost (ATR) -----";
input bool UseATRFilterGlobal = true;
input int ATR_Period = 14;
input double ATR_MultipleHalt = 2.5; // ako je ATR >= 2.5x SMA(ATR) -> pauza
input int VolHaltPauseMinutes = 30; // minuta pauze nakon vol-halt

input string __F__ = "----- Vremenski prozori -----";
input bool UseTradingWindows = true;
input int DefaultStartHour = 8; // CET
input int DefaultEndHour = 22; // CET

input string __G__ = "----- Petak sigurnosno -----";
input int FridayCutoffHour = 18; // nema novih ulaza posle 18:00
input int FridayForceCloseHour = 21; // zatvaranje do 21:55
input int FridayForceCloseMinute = 55;

input string __H__ = "----- Indikatori -----";
input int EMA_Fast = 9;
input int EMA_Slow = 21;
input int EMA_Trend = 200;
input int RSI_Period = 14;
input int RSI_BuyLevel = 50; // koristimo centerline (50)
input int RSI_SellLevel = 50;
input int MACD_Fast = 12;
input int MACD_Slow = 26;
input int MACD_Signal = 9;

input string __I__ = "----- Simboli (lista, zarez) -----";
input string Symbols = "XAUUSD,EURUSD,GBPUSD,USDJPY";

input string __J__ = "----- Po-simbolu pragovi -----";
// XAUUSD
input ENUM_TIMEFRAMES XAU_TF = PERIOD_M15;
input double XAU_ATR_Min = 0.60; // minimalni ATR u USD
input int XAU_MaxSpreadPoints = 40; // ~0.40 na 3-digit
input int XAU_Start = 8, XAU_End = 22;
// EURUSD
input ENUM_TIMEFRAMES EU_TF = PERIOD_M15;
input double EU_ATR_MinPips = 10;
input int EU_MaxSpreadPoints = 20;
input int EU_Start = 8, EU_End = 22;
// GBPUSD
input ENUM_TIMEFRAMES GU_TF = PERIOD_M15;
input double GU_ATR_MinPips = 14;
input int GU_MaxSpreadPoints = 30;
input int GU_Start = 9, GU_End = 18;
// USDJPY
input ENUM_TIMEFRAMES UJ_TF = PERIOD_M15;
input double UJ_ATR_MinPips = 12;
input int UJ_MaxSpreadPoints = 20;
input int UJ_Start = 1, UJ_End = 12;

//=========================== STATE VARS =============================
datetime g_pauseUntil = 0, g_volHaltUntil = 0;
double g_equityPeak = 0, g_dayStartEquity = 0;
int g_lastYMD = -1, g_consecLosses = 0;

//=========================== HELPERS ================================
int HourNow(){ MqlDateTime t; TimeToStruct(TimeCurrent(), t); return t.hour; }
int MinNow(){ MqlDateTime t; TimeToStruct(TimeCurrent(), t); return t.min; }
int WDayNow(){ MqlDateTime t; TimeToStruct(TimeCurrent(), t); return t.day_of_week; }
int YMD(){ MqlDateTime t; TimeToStruct(TimeCurrent(), t); return (t.year*10000 + t.mon*100 + t.day); }

bool InWindow(const string s){
if(!UseTradingWindows) return true;
int h=HourNow();
if(s=="XAUUSD") return (h>=XAU_Start && h if(s=="EURUSD") return (h>=EU_Start && h if(s=="GBPUSD") return (h>=GU_Start && h if(s=="USDJPY") return (h>=UJ_Start && h return (h>=DefaultStartHour && h }
bool FridayNoNew() { return (WDayNow()==5 && HourNow()>=FridayCutoffHour); }
bool FridayForceClose(){ if(WDayNow()!=5) return false; int h=HourNow(), m=MinNow(); return (h>FridayForceCloseHour || (h==FridayForceCloseHour && m>=FridayForceCloseMinute)); }

bool SpreadOK(const string s){
int limit=50;
if(s=="XAUUSD") limit=XAU_MaxSpreadPoints;
else if(s=="EURUSD") limit=EU_MaxSpreadPoints;
else if(s=="GBPUSD") limit=GU_MaxSpreadPoints;
else if(s=="USDJPY") limit=UJ_MaxSpreadPoints;
return ( (int)SymbolInfoInteger(s, SYMBOL_SPREAD) <= limit );
}

double ATR(const string s, ENUM_TIMEFRAMES tf, const int period){
int h=iATR(s, tf, period); if(h==INVALID_HANDLE) return 0;
double b[]; if(CopyBuffer(h,0,0,1,b) }

bool ATR_OK(const string s){
ENUM_TIMEFRAMES tf=PERIOD_M15; double minNeed=0;
if(s=="XAUUSD"){ tf=XAU_TF; minNeed=XAU_ATR_Min; }
else if(s=="EURUSD"){ tf=EU_TF; minNeed=EU_ATR_MinPips*_Point; }
else if(s=="GBPUSD"){ tf=GU_TF; minNeed=GU_ATR_MinPips*_Point; }
else if(s=="USDJPY"){ tf=UJ_TF; minNeed=UJ_ATR_MinPips*_Point; }
double a=ATR(s, tf, ATR_Period);
if(a<=minNeed) return false;

// volatility halt: ATR / SMA(ATR) >= ATR_MultipleHalt
if(UseATRFilterGlobal){
int h=iATR(s, tf, ATR_Period); double arr[30];
if(h!=INVALID_HANDLE && CopyBuffer(h,0,0,30,arr)==30){
double sma=0; for(int i=1;i if(sma>0.0 && arr[0]/sma >= ATR_MultipleHalt){
g_volHaltUntil = TimeCurrent() + VolHaltPauseMinutes*60;
return false;
}
}
if(TimeCurrent() < g_volHaltUntil) return false;
}
return true;
}

bool IndicatorsSignal(const string s, int &dir){
// TF po simbolu
ENUM_TIMEFRAMES tf=PERIOD_M15;
if(s=="XAUUSD") tf=XAU_TF; else if(s=="EURUSD") tf=EU_TF; else if(s=="GBPUSD") tf=GU_TF; else if(s=="USDJPY") tf=UJ_TF;

// EMA
int hF=iMA(s,tf,EMA_Fast,0,MODE_EMA,PRICE_CLOSE);
int hS=iMA(s,tf,EMA_Slow,0,MODE_EMA,PRICE_CLOSE);
int hT=iMA(s,tf,EMA_Trend,0,MODE_EMA,PRICE_CLOSE);
double eF[1],eS[1],eT[1];
if(CopyBuffer(hF,0,0,1,eF)
// RSI
int hR=iRSI(s,tf,RSI_Period,PRICE_CLOSE); double r[1];
if(CopyBuffer(hR,0,0,1,r)
// MACD histogram
int hM=iMACD(s,tf,MACD_Fast,MACD_Slow,MACD_Signal,PRICE_CLOSE); double hist[1];
if(CopyBuffer(hM,2,0,1,hist)
// trenutna cena (srednja)
double bid,ask; SymbolInfoDouble(s,SYMBOL_BID,bid); SymbolInfoDouble(s,SYMBOL_ASK,ask); double price=(bid+ask)/2.0;

bool bull = (eF[0]>eS[0] && price>eT[0] && r[0]>=RSI_BuyLevel && hist[0]>0);
bool bear = (eF[0]
dir = bull? 1 : (bear? -1 : 0);
return (dir!=0);
}

double TotalOpenRiskCurrency(){
double tot=0;
for(int i=0;i ulong t=PositionGetTicket(i); if(!PositionSelectByTicket(t)) continue;
string s=PositionGetString(POSITION_SYMBOL);
double vol=PositionGetDouble(POSITION_VOLUME);
double sl =PositionGetDouble(POSITION_SL);
double po =PositionGetDouble(POSITION_PRICE_OPEN);
long tp =(long)PositionGetInteger(POSITION_TYPE);
double tv; SymbolInfoDouble(s,SYMBOL_TRADE_TICK_VALUE,tv);
double ts; SymbolInfoDouble(s,SYMBOL_TRADE_TICK_SIZE,ts);
if(sl<=0||tv<=0||ts<=0) continue;
double dist=(tp==POSITION_TYPE_BUY)? (po-sl):(sl-po);
if(dist<=0) continue;
double money_per_point = tv/(ts/_Point);
tot += (dist/_Point)*money_per_point*vol;
}
return tot;
}
bool CanOpenMoreRisk(){
double eq; AccountInfoDouble(ACCOUNT_EQUITY,eq);
return TotalOpenRiskCurrency() < (eq*MaxTotalOpenRiskPercent/100.0)*0.98;
}

double LotForRisk(const string s, const double sl_points){
double eq; AccountInfoDouble(ACCOUNT_EQUITY,eq);
double riskMoney = eq*RiskPercentPerTrade/100.0;
double tv; SymbolInfoDouble(s,SYMBOL_TRADE_TICK_VALUE,tv);
double ts; SymbolInfoDouble(s,SYMBOL_TRADE_TICK_SIZE,ts);
if(sl_points<=0||tv<=0||ts<=0) return 0;
double money_per_point = tv/(ts/_Point);
double vol = riskMoney/(sl_points*money_per_point);
double step; SymbolInfoDouble(s,SYMBOL_VOLUME_STEP,step);
double minl; SymbolInfoDouble(s,SYMBOL_VOLUME_MIN,minl);
double maxl; SymbolInfoDouble(s,SYMBOL_VOLUME_MAX,maxl);
vol = MathMax(minl, MathMin(maxl, MathFloor(vol/step)*step));
return vol;
}

void UpdateDay(){
int ymd=YMD();
if(ymd!=g_lastYMD){
g_lastYMD=ymd;
AccountInfoDouble(ACCOUNT_EQUITY,g_dayStartEquity);
// reset serije na početku dana (ako želiš strože: ostavi g_consecLosses)
}
}
bool DailyStop(){
double eq; AccountInfoDouble(ACCOUNT_EQUITY,eq);
if(g_dayStartEquity<=0) return false;
double dd=(g_dayStartEquity-eq)/g_dayStartEquity*100.0;
return (dd>=DailyLossStopPercent);
}

void ManagePositions(){
for(int i=PositionsTotal()-1;i>=0;i--){
ulong t=PositionGetTicket(i); if(!PositionSelectByTicket(t)) continue;
string s=PositionGetString(POSITION_SYMBOL);
long type=(long)PositionGetInteger(POSITION_TYPE);
double open=PositionGetDouble(POSITION_PRICE_OPEN);
double sl =PositionGetDouble(POSITION_SL);
double profit=PositionGetDouble(POSITION_PROFIT);

// Breakeven (jednostavan buffer)
if(profit > BreakevenBufferCurrency && sl>0){
double newSL = (type==POSITION_TYPE_BUY)? open + 10*_Point : open - 10*_Point; // simboličan BE > 0
if( (type==POSITION_TYPE_BUY && newSL>sl) || (type==POSITION_TYPE_SELL && newSL trade.PositionModify(s, newSL, PositionGetDouble(POSITION_TP));
}
// Smart TP: trailing po % pada od MFE
if(UseSmartTP){
string key="MFE_"+(string)t;
double mfe = GlobalVariableCheck(key)? GlobalVariableGet(key) : 0;
if(profit>mfe) GlobalVariableSet(key,profit);
else{
double peak = GlobalVariableGet(key);
if(peak>0 && profit < peak*(1.0 - SmartTP_TrailingPercent/100.0)){
trade.PositionClose(s);
}
}
}
}
}

void CloseAll(const string reason){
for(int i=PositionsTotal()-1;i>=0;i--){
ulong t=PositionGetTicket(i); if(!PositionSelectByTicket(t)) continue;
trade.PositionClose( PositionGetString(POSITION_SYMBOL) );
}
Print("CloseAll: ", reason);
}

//=========================== EVENTS =================================
int OnInit(){ AccountInfoDouble(ACCOUNT_EQUITY,g_equityPeak); return(INIT_SUCCEEDED); }
void OnDeinit(const int r){}

void OnTick(){
UpdateDay();
ManagePositions();

// Petak force-close
if(FridayForceClose()){ CloseAll("Friday force close"); return; }

// Pauze i dnevni stop
if(TimeCurrent() if(DailyStop()){ g_pauseUntil = TimeCurrent() + 24*60*60; return; }

// Equity protection (peak-based)
if(UseEquityProtection){
double eq; AccountInfoDouble(ACCOUNT_EQUITY,eq);
if(eq>g_equityPeak) g_equityPeak=eq;
if(g_equityPeak>0 && (g_equityPeak-eq)/g_equityPeak*100.0 >= EquityProtectionPercent){
CloseAll("Equity protection");
g_pauseUntil = TimeCurrent() + 24*60*60;
return;
}
}

// Posle cutoff-a petkom nema novih ulaza
if(FridayNoNew()) return;

// Skener simbola
string list=Symbols; int p=0;
while(p int q = StringFind(list,",",p); if(q==-1) q=StringLen(list);
string s = StringTrim( StringSubstr(list,p,q-p) ); p=q+1;
if(s=="") continue;

// ograničenja
if(!InWindow(s)) continue;
if(!SpreadOK(s)) continue;
if(!ATR_OK(s)) continue;
if(!CanOpenMoreRisk()) continue;

// ograniči broj pozicija po simbolu
int cntSym=0;
for(int i=0;i ulong tk=PositionGetTicket(i); if(!PositionSelectByTicket(tk)) continue;
if(PositionGetString(POSITION_SYMBOL)==s) cntSym++;
}
if(cntSym>=MaxPositionsPerSymbol) continue;

// ulazni signal
int dir=0; if(!IndicatorsSignal(s,dir)) continue;

// SL = 2*ATR; TP = RR*SL
ENUM_TIMEFRAMES tf=PERIOD_M15;
if(s=="XAUUSD") tf=XAU_TF; else if(s=="EURUSD") tf=EU_TF; else if(s=="GBPUSD") tf=GU_TF; else if(s=="USDJPY") tf=UJ_TF;
double a = ATR(s, tf, ATR_Period);
double sl_pts = (a>0? 2.0*(a/_Point) : 200.0);

double bid,ask; SymbolInfoDouble(s,SYMBOL_BID,bid); SymbolInfoDouble(s,SYMBOL_ASK,ask);
double price = (dir>0)? ask : bid;
double sl = (dir>0)? price - sl_pts*_Point : price + sl_pts*_Point;
double tp = (dir>0)? price + sl_pts*MinRiskReward*_Point : price - sl_pts*MinRiskReward*_Point;

double lot = LotForRisk(s, sl_pts);
if(lot<=0) continue;

trade.SetDeviationInPoints( UseMaxSlippage? MaxSlippagePoints: 100 );
bool ok = (dir>0)? trade.Buy(lot,s,price,sl,tp) : trade.Sell(lot,s,price,sl,tp);
if(ok) Print("Opened ", (dir>0?"BUY ":"SELL "), s, " lot=", DoubleToString(lot,2));
}
}

void OnTradeTransaction(const MqlTradeTransaction& trans,const MqlTradeRequest& req,const MqlTradeResult& res){
if(trans.type==TRADE_TRANSACTION_DEAL_ADD){
long dt = (long)HistoryDealGetInteger(trans.deal, DEAL_TYPE);
double pf = HistoryDealGetDouble(trans.deal, DEAL_PROFIT);
if(dt==DEAL_TYPE_BUY || dt==DEAL_TYPE_SELL){
if(pf g_consecLosses++;
if(g_consecLosses>=MaxConsecutiveLosses){
g_pauseUntil = TimeCurrent() + 24*60*60; // pauza 24h
g_consecLosses = 0; // reset streak
Print("Pause due to max consecutive losses reached.");
}
}else{
g_consecLosses=0;
}
}
}
}
//+------------------------------------------------------------------+


eamultysimbol bot code
RiskPercentPerTrade=1.0
MaxTotalOpenRiskPercent=3.0
DailyLossStopPercent=2.0
MaxConsecutiveLosses=4
MinRiskReward=2.0
UseSmartTP=true
SmartTP_TrailingPercent=5.0
BreakevenBufferCurrency=5.0
UseMaxSlippage=true
MaxSlippagePoints=20
MaxPositionsPerSymbol=1
UseEquityProtection=true
EquityProtectionPercent=10.0
UseATRFilterGlobal=true
ATR_Period=14
ATR_MultipleHalt=2.5
VolHaltPauseMinutes=30
UseTradingWindows=true
DefaultStartHour=8
DefaultEndHour=22
FridayCutoffHour=18
FridayForceCloseHour=21
FridayForceCloseMinute=55
EMA_Fast=9
EMA_Slow=21
EMA_Trend=200
RSI_Period=14
RSI_BuyLevel=50
RSI_SellLevel=50
MACD_Fast=12
MACD_Slow=26
MACD_Signal=9
Symbols=XAUUSD,EURUSD,GBPUSD,USDJPY
XAU_TF=PERIOD_M15
XAU_ATR_Min=0.60
XAU_MaxSpreadPoints=40
XAU_Start=8
XAU_End=22
EU_TF=PERIOD_M15
EU_ATR_MinPips=10
EU_MaxSpreadPoints=20
EU_Start=8
EU_End=22
GU_TF=PERIOD_M15
GU_ATR_MinPips=14
GU_MaxSpreadPoints=30
GU_Start=9
GU_End=18
UJ_TF=PERIOD_M15
UJ_ATR_MinPips=12
UJ_MaxSpreadPoints=20
UJ_Start=1
UJ_End=12

Han respondido

1
Desarrollador 1
Evaluación
(18)
Proyectos
22
9%
Arbitraje
6
33% / 33%
Caducado
1
5%
Trabajando
2
Desarrollador 2
Evaluación
(7)
Proyectos
9
0%
Arbitraje
2
0% / 100%
Caducado
0
Libre
Ha publicado: 1 artículo
3
Desarrollador 3
Evaluación
(47)
Proyectos
67
37%
Arbitraje
5
40% / 40%
Caducado
1
1%
Libre
4
Desarrollador 4
Evaluación
(28)
Proyectos
31
45%
Arbitraje
1
100% / 0%
Caducado
3
10%
Libre
5
Desarrollador 5
Evaluación
(14)
Proyectos
14
21%
Arbitraje
0
Caducado
0
Trabaja
6
Desarrollador 6
Evaluación
(4)
Proyectos
3
33%
Arbitraje
2
0% / 100%
Caducado
0
Libre
7
Desarrollador 7
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
8
Desarrollador 8
Evaluación
(1)
Proyectos
3
0%
Arbitraje
0
Caducado
0
Libre
9
Desarrollador 9
Evaluación
(2)
Proyectos
0
0%
Arbitraje
5
0% / 60%
Caducado
0
Libre
10
Desarrollador 10
Evaluación
(15)
Proyectos
18
6%
Arbitraje
8
38% / 38%
Caducado
2
11%
Trabajando
11
Desarrollador 11
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
12
Desarrollador 12
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
13
Desarrollador 13
Evaluación
(14)
Proyectos
17
18%
Arbitraje
2
0% / 100%
Caducado
3
18%
Libre
14
Desarrollador 14
Evaluación
(6)
Proyectos
5
0%
Arbitraje
2
50% / 50%
Caducado
2
40%
Libre
15
Desarrollador 15
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
16
Desarrollador 16
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
17
Desarrollador 17
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
18
Desarrollador 18
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
19
Desarrollador 19
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
20
Desarrollador 20
Evaluación
(176)
Proyectos
228
19%
Arbitraje
20
40% / 20%
Caducado
0
Ocupado
21
Desarrollador 21
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
Solicitudes similares
EA Expert MTA 4 30+ USD
I have my own indicator and needs to create EA expert working smoothly with it to hit the targets as defined in indicator: Technical approach: - The EA will read the indicator signals using Copy Buffer on the selected timeframe - The EA should hit indicator variable targets factor -​Auto-Entry: Instant execution when the signal appears. ​-Alerts: Mobile Push Notifications + Pop-up alerts. -​Money Management Auto-lot
I am looking for an experienced MQL5 developer to build a very fast AI-assisted scalping Expert Advisor, with special focus on XAUUSD (Gold). Core Strategy Designed mainly for XAUUSD, but should also work on all forex pairs and metals Opens multiple trades in the same direction Closes trades immediately once they are in profit (very small, fast profits) Optimized for high-speed scalping No martingale and no risky
hello great developer I’m hiring a developer to build a local-only trade copier that sends trades from MT4 and MT5 to NinjaTrader 8 (NT8) in real-time. This copier must be reliable, fast, and fully executable without cloud dependence. I require a short test/demo period before full delivery to ensure quality and performance. here is the full project specs in the file check it please
I need a reliable, clean-coded Expert Advisor built for both MetaTrader 4 and MetaTrader 5 platforms. Main trading behavior: The EA follows buy and sell arrows produced by my custom indicator. Whenever a buy arrow shows up on the chart: if a sell position is currently open → close that sell immediately and enter a buy trade in its place. Whenever a sell arrow appears: if a buy position exists → close the buy and
Hello I'm looking for professional to create a robot to me that will enter us30 or nasdaq around 16H29-minute55-Second New York session opening Monday to Friday and put stop loss 3800 points away from entry hedging strategy
*I am looking for an experienced MQL5 developer to build a custom Expert Advisor (EA) for MetaTrader 5 based on my proprietary trading strategy. The full strategy details will be shared privately with the selected developer after agreement. The EA must be designed for automated trade execution with a strong focus on accuracy, speed, and stability. It should support flexible input settings and allow for future
📋 Project Description I am looking for an experienced MT5 (MQL5) developer to code a fully automated Expert Advisor for NASDAQ (US100) based on a fixed, rule-based opening range breakout strategy. The strategy is mechanical, uses no discretionary logic, and must be coded exactly as specified below. 🕒 Time & Session Rules Market: NASDAQ (US100) Trading days: Monday–Friday Session open: 9:30 EST EA must convert
hi every one i need to get the source code from this ea for modification in meta trader 4 or meta trader 5. because i need to put in settings the number of open trades , as this is now opening unlimited trades
hello great developer I need help developing an ICT 2022 model indicator and testing it thoroughly to ensure optimal performance and accuracy. Scope of work - Create an ICT 2022 model indicator with specified features. - Conduct repeated tests and strategy tests to refine the indicator. - Implement midnight to 9:30 box high and low range settings. - Include signal settings for major liquidity and structure break with
Floating bot 30+ USD
I need someone to build an easy bot for me. Whenever the candle closes outside a particular horizonal line I will put on my mt5 chart then immediately after the candle close there will be an instant execution trade after the close of the candle and the sl will be at the current last low or high below or above for buy or sell. I will have a place where I will input the amount to be risked by one pair. For instance in

Información sobre el proyecto

Presupuesto
30+ USD