Trabajo finalizado
Plazo de ejecución 3 días
Comentario del Cliente
Super job I recommend, very professionnal, thank you. :)
Comentario del Ejecutor
Great client! Hope to work with you in the future!
thnx
Tarea técnica
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);
}
Han respondido
1
Evaluación
Proyectos
326
43%
Arbitraje
34
32%
/
29%
Caducado
83
25%
Libre
Solicitudes similares
An Expert Advisor for GOLD
50+ USD
MT5 Smart Money Trading EA | SMC • ICT • S&R • Scalping I develop and customize MetaTrader 5 (MT5) Expert Advisors (EAs) based on structured price-action and Smart Money trading strategies. My EA is designed around a multi-concept trading approach combining Smart Money Concepts (SMC), ICT principles, Support & Resistance (S&R), market structure, and selective scalping setups . The goal is to automate a disciplined
I am looking for an experienced MQL5 Expert Advisor (EA) developer to analyze an existing trading setup and develop a similar automated trading robot. Project Overview I have access to a demo trading account where trades are being executed automatically. The trading results look very promising, but I do not know exactly what strategy, logic, indicators, or trade-management rules are being used. I will provide access
Most of the expert is already coded . Create a panel to show the Ratio for the Range . Trigger is based on ratio . Show Distribution / project starts after we clear Distribution
Expert Advisors
300+ USD
double CRiskManager::CalculateLotSize(double slPoints) { double balance = AccountInfoDouble(ACCOUNT_BALANCE); double riskMoney = balance * (m_riskPercent / 100.0); double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE); double tickSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE); double pointValue = tickValue / tickSize; double lot = riskMoney / (slPoints * pointValue);
Trading Bot for MT5
30+ USD
i share my strategy i need a bot trending bot fo mt5 . i attached the photo with this it help to make bot. it basicly 1 hours time frame base. i try but failed to make it
Title: Simple background trading bot for my Oanda account (v20 REST API) Overview Hi, I need a simple, lightweight event based standalone trading bot that connects directly to my Oanda account using broker’s standard REST API (V20 account) via VPS The bot just needs to look at group of 5 currency pairs (manually selectable and adjustable) in different 4 baskets, do some basic percentage math every period, and place
Converting MT4 to MT5
30+ USD
Hi developer I want to convert my mt4 EA to mt5 EA . I have a mt4 ea with source code. i want developer to copy same mt4 code and create mt5 EA
Gold hunter v5
30+ USD
*TITLE:* 5 Trades EA - EMA20/50 + RSI - Safe for Small Account *SPECIFICATION:* I need MT5 EA - Source Code .mq5 *Logic:* Buy: EMA20 > EMA50 and RSI(14) 45-70 Sell: EMA20 < EMA50 and RSI(14) 30-55 Timeframe M15, Symbol XAUUSD and all Forex *Trade Management:* Max 5 trades at same time. Fixed lot 0.01. No martingale. No lot increase. Distance between trades 150 points. Do not open all 5 at same price. Max 5 total
Poverty
30+ USD
Develop the EA according to my provided trading strategy and rules. The EA must open and close trades automatically according to the specified conditions. Include configurable Stop Loss, Take Profit, lot size and risk-management settings. Include an option for fixed lot size or percentage-based risk. Include Magic Number and trade-comment settings. The EA must work correctly on the requested MT4/MT5 platform and
I need an Expert Advisor (EA) developed for MetaTrader 5 (MT5) tailored for trading on Exness accounts. Account & Server Details: Trading Platform: MetaTrader 5 (MT5) Broker: Exness Execution Type: Market / Pending Orders Account Type: [Specify: Standard / Pro / Raw Spread / Zero] Target Instruments: [Specify pairs, e.g., XAUUSD, EURUSD, BTCUSD] Strategy Requirements: Entry Rules: [Insert your buy/sell entry
Información sobre el proyecto
Presupuesto
30+ USD
Plazo límite de ejecución
a 2 día(s)