작업 종료됨

실행 시간 3 시간
고객의 피드백
The task was done correctly, professionally and on time. Fixed bugs in the code I had him fix for me. All recommendations.
피고용인의 피드백
Thank you for an interesting task! Wish you all the best!

명시

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

응답함

1
개발자 1
등급
(22)
프로젝트
28
7%
중재
9
33% / 33%
기한 초과
1
4%
작업중
2
개발자 2
등급
(16)
프로젝트
17
47%
중재
3
0% / 100%
기한 초과
0
무료
게재됨: 1 기고글
3
개발자 3
등급
(47)
프로젝트
67
37%
중재
5
40% / 40%
기한 초과
1
1%
무료
4
개발자 4
등급
(28)
프로젝트
31
45%
중재
1
100% / 0%
기한 초과
3
10%
무료
5
개발자 5
등급
(14)
프로젝트
15
20%
중재
1
100% / 0%
기한 초과
0
무료
6
개발자 6
등급
(4)
프로젝트
3
33%
중재
2
0% / 100%
기한 초과
0
무료
7
개발자 7
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
8
개발자 8
등급
(1)
프로젝트
3
0%
중재
0
기한 초과
0
무료
9
개발자 9
등급
(2)
프로젝트
0
0%
중재
5
0% / 60%
기한 초과
0
무료
10
개발자 10
등급
(19)
프로젝트
22
18%
중재
9
33% / 44%
기한 초과
3
14%
작업중
게재됨: 1 코드
11
개발자 11
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
12
개발자 12
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
13
개발자 13
등급
(14)
프로젝트
17
18%
중재
2
0% / 100%
기한 초과
3
18%
무료
14
개발자 14
등급
(7)
프로젝트
6
0%
중재
4
25% / 75%
기한 초과
2
33%
무료
15
개발자 15
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
16
개발자 16
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
17
개발자 17
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
18
개발자 18
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
19
개발자 19
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
20
개발자 20
등급
(216)
프로젝트
283
20%
중재
28
57% / 14%
기한 초과
0
작업중
21
개발자 21
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
비슷한 주문
un écosystème logiciel asynchrone multi-comptes dopé par un module de supervision par Intelligence Artificielle (Guardian AI). La solution assure le pilotage automatisé, le filtrage de marché en temps réel et le contrôle des risques pour 20+ comptes MetaTrader 4/5 (via MetaApi) et Deriv sur VPS Equinix NY4. vous aurez plus de detail dans les échanges
Hello, I need an MQL5 Expert Advisor for MetaTrader 5. STRATEGY: Pair: XAUUSD / EURUSD Timeframe: M5 and M15 (selectable) 1. Wait for a strong rejection wick at Support / Resistance or Supply / Demand zone. 2. Wait for a Fair Value Gap (FVG) in the same direction. 3. Enter on FVG retest with confirmation candle close. 4. Only 1 trade at a time, no martingale, no grid. RISK MANAGEMENT: - Lot: Fixed lot or % Risk
We’re building our team for an upcoming crypto project and are looking for skilled professionals to help us move development forward. We’re especially interested in developers experienced with React.js and Node.js, with Web3 knowledge being a strong advantage. We plan to launch the MVP by the mid of Dec and complete the project by Christmas. Our budget is $20–$30 per hour, depending on experience and skill level
Metafix 50 - 200 USD
Here is a professional specification you can send directly to your developer. # Project Requirements Specification: MetaTrader 5 Trading Robot Development ### 1. Project Overview I want to develop an automated Forex trading robot (Expert Advisor) for MetaTrader 5 (MT5). The robot should analyse the financial markets, identify trading opportunities, and execute trades automatically based on predefined strategies. ###
1. Platform: MT4 The EA required is not linked, neither depending on trading strategy nor trading signals nor indicators. 2. Initial order is a pending order (buy stop/ sell stop) and it is created manually. It is open for a specified symbol (pair) at a specified price with a specified S/L 3. Example: buy stop 0.1 lot GBPUSD @ 1.3085 WITH S/L @1.3075 Once target price is reached, pending order will
Overview: Build an MT5 Expert Advisor that receives webhook alerts from TradingView (RayAlgo indicator) across three timeframes ( H1, M5, M1 ) for XAUUSD and executes a dual-position strategy when all three conditions align, including strict FTMO server-request limits and automated pre-market-close trade closures. 1. Webhook Receiver & Multi-Timeframe State Logic: H1 Bias State: Updates to BULLISH or BEARISH upon
I am looking for an experienced trading software developer interested in building a long-term working relationship. Im a professional Trader, Coach and Mentor, I work with traders and Student who require customized trading solutions, including automated trading bots, Expert Advisors, custom indicators, trading strategies and other algorithmic trading tools. I am looking for a technically skilled developer who can
Salman serhal 30 - 100 USD
MT5 ICT XAUUSD Sell-Only Trading Robot with Fibonacci Confirmation I am looking for an experienced MQL5 developer to create a custom Expert Advisor (EA) for MetaTrader 5, specifically for trading Gold (XAUUSD). 1. Trading Strategy The robot must use the ICT trading methodology and focus on SELL trades only. The strategy should include: * Identify important resistance and premium zones. * Use Fibonacci retracement
Objective: I am looking for an experienced MQL5 quantitative developer to code an Expert Advisor (EA) from scratch based on a fully defined, rule-based strategy, and then rigorously validate, optimize, and stress-test it before I deploy it on a live VPS environment. Note: The exact mathematical rules, indicator names, and chart screenshots will be shared privately with shortlisted candidates. Strategy Overview
Hi Team We are looking to commission an Expert Advisor (EA) for MetaTrader 5 (MT5) to trade XAUUSD (Gold) . The EA requires tight risk management with a strict $2.00 Stop Loss and a $3.00 to $5.00 Take Profit target. The goal is to achieve a 60%+ Win Rate . Please propose or implement a strategy algorithm capable of meeting the following performance requirements on XAUUSD tick data: Target Performance: $\ge 60\%$ Win

프로젝트 정보

예산
30+ USD