Lavoro terminato

Tempo di esecuzione 3 ore
Feedback del cliente
The task was done correctly, professionally and on time. Fixed bugs in the code I had him fix for me. All recommendations.
Feedback del dipendente
Thank you for an interesting task! Wish you all the best!

Specifiche

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

Con risposta

1
Sviluppatore 1
Valutazioni
(22)
Progetti
28
7%
Arbitraggio
9
33% / 33%
In ritardo
1
4%
In elaborazione
2
Sviluppatore 2
Valutazioni
(16)
Progetti
17
47%
Arbitraggio
3
0% / 100%
In ritardo
0
Gratuito
Pubblicati: 1 articolo
3
Sviluppatore 3
Valutazioni
(47)
Progetti
67
37%
Arbitraggio
5
40% / 40%
In ritardo
1
1%
Gratuito
4
Sviluppatore 4
Valutazioni
(28)
Progetti
31
45%
Arbitraggio
1
100% / 0%
In ritardo
3
10%
Gratuito
5
Sviluppatore 5
Valutazioni
(14)
Progetti
15
20%
Arbitraggio
1
100% / 0%
In ritardo
0
Gratuito
6
Sviluppatore 6
Valutazioni
(4)
Progetti
3
33%
Arbitraggio
2
0% / 100%
In ritardo
0
Gratuito
7
Sviluppatore 7
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
8
Sviluppatore 8
Valutazioni
(1)
Progetti
3
0%
Arbitraggio
0
In ritardo
0
Gratuito
9
Sviluppatore 9
Valutazioni
(2)
Progetti
0
0%
Arbitraggio
5
0% / 60%
In ritardo
0
Gratuito
10
Sviluppatore 10
Valutazioni
(19)
Progetti
22
18%
Arbitraggio
9
33% / 44%
In ritardo
3
14%
In elaborazione
Pubblicati: 1 codice
11
Sviluppatore 11
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
12
Sviluppatore 12
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
13
Sviluppatore 13
Valutazioni
(14)
Progetti
17
18%
Arbitraggio
2
0% / 100%
In ritardo
3
18%
Gratuito
14
Sviluppatore 14
Valutazioni
(7)
Progetti
6
0%
Arbitraggio
4
25% / 75%
In ritardo
2
33%
Gratuito
15
Sviluppatore 15
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
16
Sviluppatore 16
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
17
Sviluppatore 17
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
18
Sviluppatore 18
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
19
Sviluppatore 19
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
20
Sviluppatore 20
Valutazioni
(216)
Progetti
283
20%
Arbitraggio
28
57% / 14%
In ritardo
0
In elaborazione
21
Sviluppatore 21
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
Ordini simili
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
Specification 1. Objective To acquire or develop a technological solution that allows the generation of temporary “FLASH” USDT on the TRON (TRC20) network, with an on-chain lifespan equal to or greater than 180 days . 2. Functional Scope 2.1 FLASH USDT Generation Creation of temporary USDT tokens visible on the TRON TRC20 blockchain. Minimum lifespan: 180 days (or higher, depending on configuration). 2.2
RA_BOT 2.0 36+ USD
//@version=4 study(title="UT Bot Alerts", overlay = true) // Inputs a = input(1, title = "Key Vaule. 'This changes the sensitivity'") c = input(10, title = "ATR Period") h = input(false, title = "Signals from Heikin Ashi Candles") xATR = atr(c) nLoss = a * xATR src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close xATRTrailingStop = 0.0 xATRTrailingStop := iff(src >
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
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
O Trading Ventures 30 - 2000 USD
a trading bot that can open and close trade by its self a stop loss of 1.2 lot size and good tp it should be able to learn trends and learn from its mistakes
I have a Telegram signal bot that trades SPX 0DTE options. Each signal includes: entry time, strike, entry price range, stop (~45% of entry), stepped targets (T1..T10, each step ~50% of entry), and a cancel rule. I have the full archive of its signals and its daily chart images (6 support/resistance lines). Task: Build a Python bot that produces the same entries as the original bot in real time and sends them to
Hello, I need a high-quality, reliable, and well-coded Expert Advisor (EA) for MetaTrader 5. The code must be clean, without errors, and optimized for safe trading. The robot needs to trade based on basic technical indicators. Every trade must have a strict Stop Loss and Take Profit for risk management. Please apply only if you are an experienced MT5 developer with a high rating and clean coding history. Best
I'm looking for a developer to build a simple cloud-based monitoring and alert system for a trading account whose performance statistics are displayed on a third-party website. The system should: 1. Monitor the account's balance, equity and open positions. 2. Calculate the current floating drawdown as a percentage of account balance. 3. Send a single alert, preferably via WhatsApp or alternatively email, when

Informazioni sul progetto

Budget
30+ USD