Job finished
Execution time 3 days

Feedback from customer
Super job I recommend, very professionnal, thank you. :)

Feedback from employee
Great client! Hope to work with you in the future!
thnx
Specification
Hello, I would need to mix these two EAs together, and SUPER TAKE only works with GBPUSD example: once the two EAs together I want that when SUPER TAKE reaches "1" (that the profit is 1 €) then all open positions on the GBPUSD are closed and only for GBPUSD.
here are the two EAs
Balbuzia, and SUPER TAKE//+------------------------------------------------------------------+
//| Balbuzia_3_in_1.mq4 |
//| Copyright 2018, GCN ltd. |
//| http://www.it-labmd.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, GCN ltd."
#property link "http://www.it-labmd.com"
#property version "1.00"
#property strict
extern double lots1_1 = 0.01;
extern double lots2_1 = 0.02;
extern double lots3_1 = 0.04;
input int TakeProfit1_1 = 10;
input int StopLoss1_1 = 400;
input int TakeProfit2_1 = 10;
input int StopLoss2_1 = 400;
input int TakeProfit3_1 = 10;
input int StopLoss3_1 = 400;
extern int magic_1=000013;
extern double Level_1=1.2885;
extern double MaxDeviation_1=9; // Max Deviation, points
bool RunOnce_1=false;
int last_order_check_1=false;
datetime EaStartTime_1=TimeCurrent();
double takeprofit1_1=TakeProfit1_1;
double stoploss1_1=StopLoss1_1;
double takeprofit2_1=TakeProfit2_1;
double stoploss2_1=StopLoss2_1;
double takeprofit3_1=TakeProfit3_1;
double stoploss3_1=StopLoss3_1;
extern double lots1_2 = 0.01;
extern double lots2_2 = 0.02;
extern double lots3_2 = 0.04;
input int TakeProfit1_2 = 10;
input int StopLoss1_2 = 400;
input int TakeProfit2_2 = 10;
input int StopLoss2_2 = 400;
input int TakeProfit3_2 = 10;
input int StopLoss3_2 = 400;
extern int magic_2=000014;
extern int Distance_2= 10;
double Level_2 = 0;
extern double MaxDeviation_2=9; // Max Deviation, points
bool RunOnce_2=false;
int last_order_check_2=false;
datetime EaStartTime_2=TimeCurrent();
double takeprofit1_2=TakeProfit1_2;
double stoploss1_2=StopLoss1_2;
double takeprofit2_2=TakeProfit2_2;
double stoploss2_2=StopLoss2_2;
double takeprofit3_2=TakeProfit3_2;
double stoploss3_2=StopLoss3_2;
int distance_2=Distance_2;
extern double lots1_3 = 0.01;
extern double lots2_3 = 0.02;
extern double lots3_3 = 0.04;
input int TakeProfit1_3 = 10;
input int StopLoss1_3 = 400;
input int TakeProfit2_3 = 10;
input int StopLoss2_3 = 400;
input int TakeProfit3_3 = 10;
input int StopLoss3_3 = 400;
extern int magic_3=000015;
extern int Distance_3= 10;
double Level_3 = 0;
extern double MaxDeviation_3=9; // Max Deviation, points
bool RunOnce_3=false;
int last_order_check_3=false;
datetime EaStartTime_3=TimeCurrent();
double takeprofit1_3=TakeProfit1_3;
double stoploss1_3=StopLoss1_3;
double takeprofit2_3=TakeProfit2_3;
double stoploss2_3=StopLoss2_3;
double takeprofit3_3=TakeProfit3_3;
double stoploss3_3=StopLoss3_3;
int distance_3=Distance_3;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- create timer
MathSrand(GetTickCount());
if(Digits==5 || Digits==3)
{
takeprofit1_1 =TakeProfit1_1*10;
stoploss1_1 =StopLoss1_1*10;
takeprofit2_1 =TakeProfit2_1*10;
stoploss2_1 =StopLoss2_1*10;
takeprofit3_1 =TakeProfit3_1*10;
stoploss3_1 =StopLoss3_1*10;
takeprofit1_2=TakeProfit1_2*10;
stoploss1_2 =StopLoss1_2*10;
takeprofit2_2 =TakeProfit2_2*10;
stoploss2_2 =StopLoss2_2*10;
takeprofit3_2 =TakeProfit3_2*10;
stoploss3_2 =StopLoss3_2*10;
distance_2=Distance_2*10;
takeprofit1_3=TakeProfit1_3*10;
stoploss1_3 =StopLoss1_3*10;
takeprofit2_3 =TakeProfit2_3*10;
stoploss2_3 =StopLoss2_3*10;
takeprofit3_3 =TakeProfit3_3*10;
stoploss3_3 =StopLoss3_3*10;
distance_3=Distance_3*10;
}
Level_2=Level_1+Point()*distance_2;
Level_3=Level_1-Point()*distance_3;
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
OnTick_1();
OnTick_2();
OnTick_3();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick_1()
{
if(IsLastOrderClose(magic_1,EaStartTime_1))
{
OnInit();
Print("Ea Closed Manually ");
EaStartTime_1=TimeCurrent();
}
int ticet;
int t=MathRand();
double MA_Fast1,MA_Low1;
if(CountVsego(magic_1)==0)
{
MA_Fast1=iMA( NULL,0,5, 0, MODE_SMA, PRICE_TYPICAL, 0);
MA_Low1=iMA( NULL, 0, 14, 0, MODE_SMA, PRICE_CLOSE, 1);
if(Counts(magic_1,EaStartTime_1,RunOnce_1)==0 && MA_Fast1>MA_Low1 && (RunOnce_1 || (Ask>=Level_1 && Ask<=Level_1+(MaxDeviation_1*_Point) && Level_1!=0)))
{
ticet=OrderSend(Symbol(),OP_BUY,lots1_1,Ask,3,Bid-stoploss1_1*Point,Ask+takeprofit1_1*Point,"1.1",magic_1,0,clrGreen);
}
if(Counts(magic_1,EaStartTime_1,RunOnce_1)==0 && MA_Fast1<MA_Low1 && (RunOnce_1 || (Bid<=Level_1 && Bid>=Level_1-(MaxDeviation_1*_Point) && Level_1!=0)))
{
ticet=OrderSend(Symbol(),OP_SELL,lots1_1,Bid,3,Ask+stoploss1_1*Point,Bid-takeprofit1_1*Point,"1.1",magic_1,0,clrRed);
}
if(Counts(magic_1,EaStartTime_1,RunOnce_1)==1)
{
if(getLastOrderCloseType(magic_1)==1) ticet=OrderSend(Symbol(),OP_BUY,lots2_1,Ask,3,Bid-stoploss2_1*Point,Ask+takeprofit2_1*Point,"1.2",magic_1,0,clrGreen);
if(getLastOrderCloseType(magic_1)==0) ticet=OrderSend(Symbol(),OP_SELL,lots2_1,Bid,3,Ask+stoploss2_1*Point,Bid-takeprofit2_1*Point,"1.2",magic_1,0,clrRed);
}
if(Counts(magic_1,EaStartTime_1,RunOnce_1)==2)
{
if(getLastOrderCloseType(magic_1)==1) ticet=OrderSend(Symbol(),OP_BUY,lots3_1,Ask,3,Bid-stoploss3_1*Point,Ask+takeprofit3_1*Point,"1.3",magic_1,0,clrGreen);
if(getLastOrderCloseType(magic_1)==0) ticet=OrderSend(Symbol(),OP_SELL,lots3_1,Bid,3,Ask+stoploss3_1*Point,Bid-takeprofit3_1*Point,"1.3",magic_1,0,clrRed);
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick_2()
{
if(IsLastOrderClose(magic_2,EaStartTime_2))
{
OnInit();
Print("Ea Closed Manually ");
EaStartTime_2=TimeCurrent();
}
int ticet;
int t=MathRand();
double MA_Fast1,MA_Low1;
if(CountVsego(magic_2)==0)
{
MA_Fast1=iMA( NULL,0,5, 0, MODE_SMA, PRICE_TYPICAL, 0);
MA_Low1=iMA( NULL, 0, 14, 0, MODE_SMA, PRICE_CLOSE, 1);
if(Counts(magic_2,EaStartTime_2,RunOnce_2)==0 && MA_Fast1>MA_Low1 && (RunOnce_2 || (Ask>=Level_2 && Ask<=Level_2+(MaxDeviation_2*_Point) && Level_2!=0)))
{
ticet=OrderSend(Symbol(),OP_BUY,lots1_2,Ask,3,Bid-stoploss1_2*Point,Ask+takeprofit1_2*Point,"2.1",magic_2,0,clrGreen);
}
if(Counts(magic_2,EaStartTime_2,RunOnce_2)==0 && MA_Fast1<MA_Low1 && (RunOnce_2 || (Bid<=Level_2 && Bid>=Level_2-(MaxDeviation_2*_Point) && Level_2!=0)))
{
ticet=OrderSend(Symbol(),OP_SELL,lots1_2,Bid,3,Ask+stoploss1_2*Point,Bid-takeprofit1_2*Point,"2.1",magic_2,0,clrRed);
}
if(Counts(magic_2,EaStartTime_2,RunOnce_2)==1)
{
if(getLastOrderCloseType(magic_2)==1) ticet=OrderSend(Symbol(),OP_BUY,lots2_2,Ask,3,Bid-stoploss2_2*Point,Ask+takeprofit2_2*Point,"2.2",magic_2,0,clrGreen);
if(getLastOrderCloseType(magic_2)==0) ticet=OrderSend(Symbol(),OP_SELL,lots2_2,Bid,3,Ask+stoploss2_2*Point,Bid-takeprofit2_2*Point,"2.2",magic_2,0,clrRed);
}
if(Counts(magic_2,EaStartTime_2,RunOnce_2)==2)
{
if(getLastOrderCloseType(magic_2)==1) ticet=OrderSend(Symbol(),OP_BUY,lots3_2,Ask,3,Bid-stoploss3_2*Point,Ask+takeprofit3_2*Point,"2.3",magic_2,0,clrGreen);
if(getLastOrderCloseType(magic_2)==0) ticet=OrderSend(Symbol(),OP_SELL,lots3_2,Bid,3,Ask+stoploss3_2*Point,Bid-takeprofit3_2*Point,"2.3",magic_2,0,clrRed);
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick_3()
{
if(IsLastOrderClose(magic_3,EaStartTime_3))
{
OnInit();
Print("Ea Closed Manually ");
EaStartTime_3=TimeCurrent();
}
int ticet;
int t=MathRand();
double MA_Fast1,MA_Low1;
if(CountVsego(magic_3)==0)
{
MA_Fast1=iMA( NULL,0,5, 0, MODE_SMA, PRICE_TYPICAL, 0); // áûñòðàÿ ÌÀ
MA_Low1=iMA( NULL, 0, 14, 0, MODE_SMA, PRICE_CLOSE, 1); // ìåäëåííàÿ ÌÀ
if(Counts(magic_3,EaStartTime_3,RunOnce_3)==0 && MA_Fast1>MA_Low1 && (RunOnce_3 || (Ask>=Level_3 && Ask<=Level_3+(MaxDeviation_3*_Point) && Level_3!=0)))
{
ticet=OrderSend(Symbol(),OP_BUY,lots1_3,Ask,3,Bid-stoploss1_3*Point,Ask+takeprofit1_3*Point,"3.1",magic_3,0,clrGreen);
}
if(Counts(magic_3,EaStartTime_3,RunOnce_3)==0 && MA_Fast1<MA_Low1 && (RunOnce_3 || (Bid<=Level_3 && Bid>=Level_3-(MaxDeviation_3*_Point) && Level_3!=0)))
{
ticet=OrderSend(Symbol(),OP_SELL,lots1_3,Bid,3,Ask+stoploss1_3*Point,Bid-takeprofit1_3*Point,"3.1",magic_3,0,clrRed);
}
if(Counts(magic_3,EaStartTime_3,RunOnce_3)==1)
{
if(getLastOrderCloseType(magic_3)==1) ticet=OrderSend(Symbol(),OP_BUY,lots2_3,Ask,3,Bid-stoploss2_3*Point,Ask+takeprofit2_3*Point,"3.2",magic_3,0,clrGreen);
if(getLastOrderCloseType(magic_3)==0) ticet=OrderSend(Symbol(),OP_SELL,lots2_3,Bid,3,Ask+stoploss2_3*Point,Bid-takeprofit2_3*Point,"3.2",magic_3,0,clrRed);
}
if(Counts(magic_3,EaStartTime_3,RunOnce_3)==2)
{
if(getLastOrderCloseType(magic_3)==1) ticet=OrderSend(Symbol(),OP_BUY,lots3_3,Ask,3,Bid-stoploss3_3*Point,Ask+takeprofit3_3*Point,"3.3",magic_3,0,clrGreen);
if(getLastOrderCloseType(magic_3)==0) ticet=OrderSend(Symbol(),OP_SELL,lots3_3,Bid,3,Ask+stoploss3_3*Point,Bid-takeprofit3_3*Point,"3.3",magic_3,0,clrRed);
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int getLastOrderCloseType(int magic)
{
datetime t=0;
int tick=-1;
int i,total=OrdersHistoryTotal();
for(i=0; i<total; i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
{
if(t<OrderCloseTime())
{
t=OrderCloseTime();
tick=OrderTicket();
}
}
}
}
for(i=0; i<total; i++)
{
if(OrderSelect(tick,SELECT_BY_TICKET))
{
return OrderType();
}
}
return tick;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int CountSELL(int magic)
{
int count=0;
int i;
for(i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_SELL)
count++;
}
}
return(count);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int CountBUY(int magic)
{
int count=0;
int i;
for(i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUY)
count++;
}
}
return(count);
}
//+------------------------------------------------------------------+
int Counts(int magic,datetime &EaStartTime,bool &RunOnce)
{
int count=0,i;
for(i=OrdersHistoryTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderOpenTime()>=EaStartTime)
{
if(OrderProfit()<0)
{
if(count==0)
{
OnInit();
EaStartTime=TimeCurrent();
RunOnce=true;
return(count);
}
}
else
{
count++;
}
}
if(count>2)
{
OnInit();
EaStartTime=TimeCurrent();
RunOnce=true;
return(count);
}
}
}
return(count);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int CountVsego(int magic)
{
int Vsego;
Vsego=CountBUY(magic)+CountSELL(magic);
return(Vsego);
}
//+------------------------------------------------------------------+
bool IsLastOrderClose(int magic,datetime &EaStartTime)
{
bool signal=false;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(select && OrderSymbol()==_Symbol && OrderMagicNumber()==magic)
{
if(OrderType()==OP_BUY && OrderOpenTime()>=EaStartTime)
{
if(OrderClosePrice()>OrderStopLoss() && OrderClosePrice()<OrderTakeProfit())
{
signal=true;
}
break;
}
else if(OrderType()==OP_SELL && OrderOpenTime()>=EaStartTime)
{
if(OrderClosePrice()<OrderStopLoss() && OrderClosePrice()>OrderTakeProfit())
{
signal=true;
}
break;
}
}
}
return(signal);
}
//+------------------------------------------------------------------+
SUPER TAKE
//+------------------------------------------------------------------+
//| TakeProfit 1 |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
extern double My_Money_Equity_Target=1;
int Slippage=4;
int i;
double EquityTarget;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int init()
{
//----
EquityTarget = AccountEquity()+My_Money_Equity_Target;
//----
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int start()
{
if (AccountEquity()>= EquityTarget)
{
for(i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS))
{
bool Res=false;
if(OrderType()==OP_BUY)
{
Res = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,clrNONE);
}else if(OrderType()==OP_SELL)
{
Res = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,clrNONE);
}else
{
Res = OrderDelete(OrderTicket());
}
}
}
Print ("Equity reached to ",DoubleToStr(AccountEquity(),2));
if(!Res) return(0);
EquityTarget = AccountEquity()+My_Money_Equity_Target;
}
Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(),
"\nMy Account Equity Target: ",EquityTarget);
return(0);
}
Responded
1
Rating
Projects
326
43%
Arbitration
34
32%
/
29%
Overdue
83
25%
Free
Similar orders
MT4 to MT5 indicators convertion
30+ USD
Hi Need the attached mql4 indicator to be converted 1:1 to mql5, need this done asap No changes to the mql5, need a 100% 1.1 convertion if this is possibly Thanks
Francis frank
30 - 300 USD
I need a Forex trading robot (Expert Advisor) for MT4/MT5 with the following features: Strategy: Buy when fast MA crosses above slow MA, Sell when fast MA crosses below slow MA. Adjustable inputs: Lot size, Stop Loss, Take Profit, Trailing Stop. Works on EUR/USD (but adjustable to other pairs). Should allow me to choose the timeframe (M15, H1, H4). Sends alert/notification when trade is opened or closed. Code should
I want EA 'Prop Firm limiter' for protecting account not breached. Below is the preset of the EA which I want made by ChatGPT. There is a lot of EA like this in MQL5 Market or elsewhere. You can refer one of these here. Drawdown Limiter Advanced | Buy Trading Utility for MetaTrader 5 Also in some webpages you can refer the source code. Account Protector for MetaTrader You can suggest better idea even though I don't
PLEASE READ: IF YOU ARE NOT GOING TO ACCEPT THE BELOW THEN PLEASE MOVE ON TO THE NEXT CLIENT. I NEED SOMEONE WHO WILL DO THE WORK FIRST AND THEN CREATE A BUILT-IN DEMO INDI AS PER SPECIFICATIONS BELOW WHICH HAS AN EXPIRY (A DAY OR 2) SO THAT I TEST THE INDI BEFORE WE CREATE THE ORDER. I HAVE HAD PEOPLE WHO PRESSURE ME TO CREATE THE ORDER AND THEN THEY END UP DEVELOPING A FAULTY INDICATOR. AND I HAVE GIVEN THEM THE
FRESHBOT
30+ USD
I want an EA for Gold (XAU/USD) with trend prediction and trade execution. Timeframe: 1H and 4H Indicators: - 50 EMA & 200 EMA (trend) - RSI (above 50 = bullish, below 50 = bearish) - MACD (for momentum) Entry Rules: - Buy if: - 50 EMA > 200 EMA - RSI > 50 - MACD line > signal line - Sell if: - 50 EMA < 200 EMA - RSI < 50 - MACD line < signal line Trade Settings: - Stop Loss: 30 pips - Take
A consistently profitable and safe EA needed
100 - 500 USD
I need an EA that can consistently make profits with low drawdowns and no dangerous martingale or grid. Requirements: - EA needs to open trades with dynamic lotsizes based on account balance or some other measure. - Minimum 15-30% growth monthly. - Open to any and all strategies, including advanced stuff like AI/SVM/HMM/etc or moderate/light martingale mechanism - No lower than 5mins timeframe for trading. - EA can
Pocket option bot
50 - 100 USD
I want a developer that can build a pocket option bot, You can only send application if you are experienced pocket option bot developer The bot should be develop base on my details that I will provided to the person that send application Best Regard
Job Description: · I am looking for an experienced MQL4 developer to create a high-speed scalping EA for US30 and DE40. The EA must be optimized for ultra-fast execution and should not rely on any indicators—only price action and pending orders (Buy Stop & Sell Stop). · I have written a complete and detailed documentation outlining the logic, execution flow, risk management, and required settings
Mthizo trades
30 - 200 USD
- *Currency Pairs*: Major pairs such as EUR/USD, XAU/USD and GBP/USD - *Funding Currency*: South African Rand (ZAR) - *Initial Deposit*: R100 (may require additional deposit for live trading) - *Risk Management*: Basic risk management features, such as stop loss and take profit - *Strategy*: Pre-defined strategy based on Smart Money Concept principles - *Cost*: Approximately R100-R200 (one-time cost or
Robot (metatrader5)
30 - 200 USD
I need an Expert Advisor (EA) for MetaTrader 5 that trades only XAUUSD (Gold). The strategy should include: • EMA (50) on M15 timeframe • RSI (14) with overbought = 70 and oversold = 30 • ATR (14) for Stop Loss and Take Profit calculation • Higher timeframe EMA (200 on H1) as trend filter • Lot size calculation based on risk percentage (% of balance) • Magic number for trade identification • Trading hours: 07:00 –
Project information
Budget
30+ USD
VAT (20%):
6
USD
Total:
36
USD
For the developer
27
USD
Deadline
to 2 day(s)