Tâche terminée
Temps d'exécution 3 jours
Commentaires du client
Super job I recommend, very professionnal, thank you. :)
Commentaires de l'employé
Great client! Hope to work with you in the future!
thnx
Spécifications
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);
}
Répondu
1
Évaluation
Projets
326
43%
Arbitrage
34
32%
/
29%
En retard
83
25%
Gratuit
Commandes similaires
Hello, I am looking for an experienced developer who can build a professional EA suitable for long-term prop firm account passing and account management. I am NOT interested in risky strategies such as martingale, grid, or aggressive recovery systems. My main priorities are: very low and stable drawdown, strong and consistent risk management, strict news filter, long-term sustainability, realistic and stable monthly
Need a Profitable with a good trading system or strategy. would test the product first Looking for a professional MT5 Expert Advisor based on smart strategies. The EA should include session filters, risk management, trailing stop, multi-pair support, and low drawdown protection. I need a consistent, high-probability automated trading system optimized for long-term profitability and funded account compliance
Junior EA
30+ USD
1. EA for MT5, hedging allowed. 2. Entry: 50 EMA crosses 200 EMA on H1. Buy on bullish cross, sell on bearish. 3. SL: 100 pips, TP: 200 pips. No trailing stop. 4. Lot size: 0.01 fixed. Max 3 trades at once. 5. Trade only 08:00-18:00 GMT. No trades if spread > 20 points. 6. Inputs: EMA periods, SL, TP, lot size, start/end time
Semi Automated Gold Trading Signal System for MT5
300 - 800 USD
I need an experienced MQL5 developer to build a semi automated trading signal system for Gold (XAUUSD) on MT5. The system is NOT a martingale or grid EA. The goal is to build a clean rule based signal engine that detects high probability setups based on predefined strategy rules and sends trading alerts with optional pending order logic. Main Requirements: 1. Signal Generation - Buy and Sell signals - Buy Limit - Buy
Mambo
30+ USD
I need a bot that can trade weltrade synthetic indices that can be consistently making profits if you have one for deriv its also fine a bot that executes and closes trades automat Will be ideal
I am looking for an experienced MQL4/MQL5 developer to build a custom MT4 indicator from scratch or cracking my ex4 file that i provide to you. I already have an existing indicator (EX4) which produces highly accurate buy/sell signals. I want a similar indicator developed based on its observable behavior and signal structure. my existing indicator is pc id protected so you have to do PC ID security bypass and source
I am looking for an experienced MQL5 developer to build a professional Expert Advisor with the following specs: TECHNICAL REQUIREMENTS: - Platform: MetaTrader 5 (MT5) - Pairs: GBPUSD and EURUSD - Broker suffix support (e.g. GBPUSD@, EURUSD@) - Primary timeframe: M5 -Higher timeframe bias: H1 and H4 (for trend direction only) - One chart setup — manages both pairs from one chart STRATEGY: - Price action based: BOS
OBJETIVO Criar um Expert Advisor MT5 profissional para XAUUSD focado em: Consistência Baixo drawdown Scalping profissional Proteção da conta Crescimento sustentável Compatibilidade com conta micro e prop firms NÃO utilizar: Martingale Grid Hedge agressivo Recovery system Multiplicação de lotes após perda --- ATIVO XAUUSD apenas --- TIMEFRAMES Timeframe principal M5 Confirmação tendência M15 Confirmação macro opcional
Advanced ICT + CRT Smart Money Expert Advisor for MT5
300 - 1000 USD
I need a very advanced and intelligent MT5 Expert Advisor coded in MQL5 for XAUUSD, based on ICT + CRT + Smart Money Concepts. The goal is not a simple robot, but a professional decision-making system with strong filters, risk control, and high-quality trade selection. The EA must include: 1. Multi-Timeframe Analysis - D1 / H4 / H1 bias - M15 / M5 entry confirmation - Bullish or bearish market structure - BOS, CHoCH
An EA based on my INTRADAY TRADE NINJA system
30 - 35 USD
Intraday Trade Ninja EA — Complete Logic Structure This document maps the full architecture, execution logic, signal flow, trade management, and safety structure of the Intraday Trade Ninja MT4 Expert Advisor. 1. Core Indicators · ©Price Border (TMA bands) · MA-X Arrows · MA-Y Arrows · LeManSignal · EMA 49 & 89 - Per Candle Color Switching 2. EA Entry Architecture ·
Informations sur le projet
Budget
30+ USD
Délais
à 2 jour(s)