Job finished

Execution time 3 hours
Feedback from employee
Thank you for an interesting task! Wish you all the best!
Feedback from customer
The task was done correctly, professionally and on time. Fixed bugs in the code I had him fix for me. All recommendations.

Specification

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

Responded

1
Developer 1
Rating
(21)
Projects
27
7%
Arbitration
9
33% / 33%
Overdue
1
4%
Working
2
Developer 2
Rating
(12)
Projects
13
31%
Arbitration
3
0% / 100%
Overdue
0
Working
Published: 1 article
3
Developer 3
Rating
(47)
Projects
67
37%
Arbitration
5
40% / 40%
Overdue
1
1%
Free
4
Developer 4
Rating
(28)
Projects
31
45%
Arbitration
1
100% / 0%
Overdue
3
10%
Free
5
Developer 5
Rating
(14)
Projects
15
20%
Arbitration
1
100% / 0%
Overdue
0
Free
6
Developer 6
Rating
(4)
Projects
3
33%
Arbitration
2
0% / 100%
Overdue
0
Free
7
Developer 7
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
8
Developer 8
Rating
(1)
Projects
3
0%
Arbitration
0
Overdue
0
Free
9
Developer 9
Rating
(2)
Projects
0
0%
Arbitration
5
0% / 60%
Overdue
0
Free
10
Developer 10
Rating
(17)
Projects
21
14%
Arbitration
8
38% / 38%
Overdue
3
14%
Loaded
11
Developer 11
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
12
Developer 12
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
13
Developer 13
Rating
(14)
Projects
17
18%
Arbitration
2
0% / 100%
Overdue
3
18%
Free
14
Developer 14
Rating
(7)
Projects
6
0%
Arbitration
4
25% / 75%
Overdue
2
33%
Free
15
Developer 15
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
16
Developer 16
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
17
Developer 17
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
18
Developer 18
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
19
Developer 19
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
20
Developer 20
Rating
(203)
Projects
264
22%
Arbitration
24
50% / 17%
Overdue
0
Loaded
21
Developer 21
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Similar orders
Jona copilot v12 30 - 40 USD
Hi, I'm interested in ordering an MT4 trading bot. Before we begin, could you please send me the technical specifications and requirements you'll need? Specifically, I'd like to know: - The trading strategy the bot will use. - The currency pairs or instruments it will trade. - The timeframes it supports. - Risk management features (lot sizing, stop loss, take profit, trailing stop, maximum drawdown). - Whether it
Iconic Boy 300 - 400 USD
Am looking for a bot to trade .so that I can be able to trade and become very successful and make some profit so that I cannot sleep on a empty stomach
Привіт. Шукаю когось, хто б застосував мій код як бота . Я торгую індексом Aus_200 SFE (не XJO). Бот базується на MACD входу/виходу, RSI, стохастиці та vwap. Як тільки роботу приймуть, мені потрібно внести кілька коректив; однак, нічого суттєвого. Дякую
MT4/MT5 HFT EA us30 30 - 3000 USD
Hello everybody, I'm looking for an experienced MQL4/MQL5 developer to optimize a High-Frequency Trading (HFT) Expert Advisor for both MT4 and MT5. The EA performs consistently and profitably on demo accounts, but when it is run on Raw and Standard live accounts under what appear to be the same trading conditions, it begins generating losses. I do not have the original source code (.mq4/.mq5); I only have the
8 cap prop firm passing 30 - 3000 USD
I am looking for an experienced MQL4/MQL5 HFT developer to build or optimize a High-Frequency Trading (HFT) Expert Advisor that can successfully pass proprietary trading firm challenges and perform consistently under live trading conditions with brokers such as 8cap or BlackBull Markets . The developer should have proven experience with HFT execution, ultra-low-latency trading, broker execution, slippage, spreads
I have a High-Frequency Trading (HFT) Expert Advisor for both MT4 and MT5 designed primarily for US30 (Dow Jones Index) . The EA performs consistently and profitably on demo accounts, but when I run it on an IC Markets Raw or Standard live account, it starts generating losses under what appear to be the same trading conditions. At this time, I cannot provide the source code (.mq4/.mq5). I can only provide the
I want to build a fundamental news trading bot that trade off economic news data, as we know every economic news data released always have effect on the asset associated with it, so this bot will take a trade instantly based on the news data released either to buy or sell, it will come with good money management and also SL and TP target based on price and pips value
TumiiFX 30 - 20000 USD
1. Use two EMAs: 20 and 50. If EMA 20 is above EMA 50 → uptrend (look for buys) If EMA 20 is below EMA 50 → downtrend (look for sells) 2. Wait for a pullback into the area between the two EMAs. - For buys: price must touch or move between EMA 20 and EMA 50 during the last few candles. - For stils: same idea, but in a downtrend. 3. Entry signal: Buy: a bullish engulfing candle in an uptrend after the pullback
I am looking for an experienced MQL5 developer to build a high-frequency (HFT) latency arbitrage Expert Advisor for Pepperstone MT5 , using LMAX as the leading price feed. The initial focus will be on US30 (Dow Jones) , and if the strategy proves successful, I want the EA to be easily expandable to additional symbols such as NAS100, GER40, XAUUSD, major forex pairs, and other supported instruments. The EA should
I am looking for an experienced MQL5 or MQL4 developer with a strong understanding of high-frequency trading (HFT) concepts who can explain how certain HFT-style strategies have historically been able to pass proprietary firm evaluations while also being profitable on demo accounts and capable of transitioning successfully to live trading. I am interested in understanding the legitimate trading logic, execution

Project information

Budget
30+ USD