You didn't post a topic yet. Let us show you how to make your first topic and upload your favorite forex robot. Guide me

Skip to forum content

Quick Login / Register with Facebook Account!

Login with Facebook

Login with Username and Password!

     Username:       Password:  Login

Register  |  Forgot Password?

 

The latest topics with attached files (Forex robots, Forex Indicators, etc..)

Forums in this category with details of Replies, Views, last post

EA Asia Scalper

by vadvid

Moving GRID EA

by Querido

Indrafxscalping v8

by Fajar Hida

Hide

Highest Forex Leverage 1:3000!

Try your Forex Robot with the highest leverage 1:3000! All Forex robot strategies allowed! Scalping, hedging, martingale, etc...

If you make a deposit as small as $10 in your Forex account, you can enter trades with $30,000 buying power. If you deposit $200 you can enter trades with $600,000 buying power.


Pages 1

You must login or register to post a reply

RSS

Posts: 4
Please rate this topic
Current rating: 0
Votes: 0

Embed topic to your site

Muti_MA_Trading - MQ4 file (expert advisor)

Topic: Muti_MA_Trading - MQ4 file (expert advisor)

Buy when price is above 37 moving Average in the following time frame: M1,M5,M15,M30,H1. TakeProfit o=20 pips and stoploss=30pips Trailingstop=10pips.

Sell when price is above 37 moving Average in the following time frame: M1,M5,M15,M30,H1. TakeProfit o=20 pips and stoploss=30pips Trailingstop=10pips.

Check the 28 pairs for  Buy and Sell trade with alert

//+------------------------------------------------------------------+
//                        DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT 
//
//                   Copyright ©2017, https://mt4talk.com
//                     MT4talk Expert Advisor Generator
//                        https://mt4talk.com/eagenerator/
//
// THIS EXPERT ADVISOR (EA) HAS BEEN GENERATED USING MT4talk EA GENERATOR. 
// 
// Disclaimer: This EA is provided to you "AS-IS", and MT4talk disclaims any warranty
// or liability obligations to you of any kind. 
//
// FREE EA LICENSE
// This EA is provided to you for free of charge! You can share this EA on any website or any forums. 
//
// CFTC RULE 4.41
// HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED 
// RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-
// OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED TRADING PROGRAMS, 
// IN GENERAL, ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING 
// MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.
//
// U.S. Government Required Disclaimer.
// Commodity Futures Trading Commission Futures and Options trading has large potential rewards, but also large potential risk. 
// You must be aware the risks and be willing to accept them in order to invest in the futures and options markets. 
// Don't trade with money you can't afford to lose. This is neither a solicitation nor an offer to Buy/Sell futures or options.
// No representation is being made that any account will or is likely to achieve profits or losses similar 
// to those discussed on this website. The past performance of any trading system or methodology is not necessarily 
// indicative of future results.
//
// USE THIS EA AT YOUR OWN RISK. 
//
//                      DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT 
//+------------------------------------------------------------------+

#property copyright "Copyright 2017"
#property link      "https://mt4talk.com"
#property version   "1.00"
#property strict
extern double Lotsize=0.01;
extern double Stop_Loss=30;
extern double Take_Profit=20;
extern double Trailing_Stop=10;
extern int Magic_Number=12345;
extern string TimeStart="00:50";
extern string TimeStop="23:00";
extern int Max_Nr_Of_Sell_Trades=1;
extern int Max_Nr_Of_Buy_Trades=1;
extern bool Hidden=false;
extern int Martingale_Type=0;
extern bool Close_opposit_signal=true;
extern int Max_Nr_Of_Trades=0; 
extern bool DayFilter=true;
extern string SundayStart="00:00";
extern string SundayStop="00:00";
extern string MondayStart="02:00";
extern string MondayStop="23:00";
extern string TuesdayStart="02:00";
extern string TuesdayStop="23:00";
extern string WednesdayStart="02:00";
extern string WednesdayStop="23:00";
extern string ThursdayStart="02:00";
extern string ThursdayStop="23:00";
extern string FridayStart="02:00";
extern string FridayStop="23:00"; 
extern bool TimeFilter=true;
 
double Risk=0;

double Martingale_Value=0;

bool FixSL=0;
int Money_Management=0;

int cntmartin=0;
double ts=0;
double be=0;
double sl,tp;
int mp;
datetime lasttrade;


 

 

int OnInit() 
 
{ 
	mp=1;
	if (Digits==5 || Digits==3) mp=10; 
	lasttrade=TimeCurrent();
	cntmartin=0;
	
	if (Money_Management==1)   
	{
	   Stop_Loss=Stop_Loss/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
	   Take_Profit=Take_Profit/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
	   Break_Even=Break_Even/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
	   Trailing_Stop=Trailing_Stop/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
	}

	//---
	return(INIT_SUCCEEDED);

} 

 
void OnDeinit(const int reason)
 
{} 

 
void OnTick()
{
	bool TradeAllow=false;
	bool buy_signal=false;
	bool sell_signal=false;
	double sl;
	double tp;
	double lotsize;
	
 
	TradeAllow=sTimeFilter(TimeStart,TimeStop);
 
	if (((TradeAllow && TimeFilter) || !TimeFilter) && (!DayFilter ||  DayFilter && GetDayFilter()) )
	{
		buy_signal=GetSignal(OP_BUY);
		sell_signal=GetSignal(OP_SELL);
	}
 
	//---	   
	if((CloseSignal(OP_BUY)) ||
		(sell_signal && Close_opposit_signal))
	{
	  CloseOrders(OP_BUY);
	}
	if((CloseSignal(OP_SELL)) ||
		(buy_signal && Close_opposit_signal))
	{
	  CloseOrders(OP_SELL);
	}
 
	if(buy_signal)
	{
		if (Money_Management==2)
		{
			double entry;
		
			entry=MarketInfo(Symbol(),MODE_ASK);
			if(FixSL)
			{	
				sl=NormalizeDouble(entry-Stop_Loss*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 	
				Lotsize=NormalizeDouble(CalcLotsize(Symbol(),entry,sl,Risk),2);
				tp=NormalizeDouble(entry+CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
			}
			else
			{
				sl=NormalizeDouble(entry-CalcDistance(Stop_Loss,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 	
				tp=NormalizeDouble(entry+CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
			}
				
		}
				   
				   
		if (GetLastProfit(lotsize)<0 && Martingale_Type>0)
		{
			Lotsize=lotsize;
			cntmartin++;
		}
		else
		{
			cntmartin=0;
		}
		  
		if (Martingale_Type==1)//Increment
		{
			Lotsize+=Martingale_Value;
		}
				
		if (Martingale_Type==2)//Multipli
		{
			Lotsize*=Martingale_Value;
		}
		
		OpenOrder(OP_BUY);
	}
	if(sell_signal)
	{
		if (Money_Management==2)
		{
			double entry;
			entry=MarketInfo(Symbol(),MODE_BID);
			if(FixSL)
			{
				sl=NormalizeDouble(entry+Stop_Loss*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS));
				Lotsize=NormalizeDouble(CalcLotsize(Symbol(),entry,sl,Risk),2);
				tp=NormalizeDouble(entry-CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
			}
			else
			{
				sl=NormalizeDouble(entry+CalcDistance(Stop_Loss,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 	
				tp=NormalizeDouble(entry-CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
			}
		}
				
				
		if (GetLastProfit(lotsize)<0 && Martingale_Type>0)
		{
			Lotsize=lotsize;
			cntmartin++;
		}
		else
		{
			cntmartin=0;
		}
			  
		if (Martingale_Type==1)//Increment
		{
			Lotsize+=Martingale_Value;
		}
					
		if (Martingale_Type==2)//Multipli
		{
			Lotsize*=Martingale_Value;
		}
		OpenOrder(OP_SELL);
	}
}
 
bool sTimeFilter(string inStart,string inEnd,string inString=':')
{
   bool Result=true;
   int TimeHourStart,TimeMinuteStart,TimeHourEnd,TimeMinuteEnd;
   static datetime TimeStart,TimeEnd;

   sInputTimeConvert(TimeHourStart,TimeMinuteStart,inStart,inString);
   sInputTimeConvert(TimeHourEnd,TimeMinuteEnd,inEnd,inString);
   TimeStart=StrToTime(IntegerToString(TimeHourStart)+':'+IntegerToString(TimeMinuteStart));
   TimeEnd=StrToTime(IntegerToString(TimeHourEnd)+':'+IntegerToString(TimeMinuteEnd));

   if((TimeStart<=TimeEnd) && ((TimeCurrent()<TimeStart) || (TimeCurrent()>TimeEnd))) Result=false;
   if((TimeStart>TimeEnd) && (TimeCurrent()<TimeStart) && (TimeCurrent()>TimeEnd)) Result=false;

   return(Result);
}


int sInputTimeConvert(int &inHour,int &inMinute,string inInput,string inString=':')
{
   int PS;

   PS=StringFind(inInput,inString,0);
   inMinute=(int)StrToDouble(StringSubstr(inInput,PS+1,StringLen(inInput)-PS));
   inHour=(int)StrToDouble(StringSubstr(inInput,0,PS));

   return(PS);
}
 
bool GetDayFilter()
{
   switch (DayOfWeek())
   {
      case 0: return (sTimeFilter(SundayStart,SundayStop));
      case 1: return (sTimeFilter(MondayStart,MondayStop));
      case 2: return (sTimeFilter(TuesdayStart,TuesdayStop));
      case 3: return (sTimeFilter(WednesdayStart,WednesdayStop));
      case 4: return (sTimeFilter(ThursdayStart,ThursdayStop));
      case 5: return (sTimeFilter(FridayStart,FridayStop));
      
   }
   return (false);
} 
 
bool GetSignal(int type)
{
	bool b=false;
	 
 
	if(type==OP_BUY)
	{
 
 
			if((Bid>iMA(Symbol(),60,40,0,1,1,0)) &&() ||() )
			{
				b=true;
			}
			
		} 
 
	if(type==OP_SELL)
	{
			if(<iMA(Symbol(),60,40,0,1,1,0))
			{
			   b=true;
			}
		} 
 
	return(b);
} 
 
bool CloseSignal(int type)
{
	bool b=false;
	 
 
	if(type==OP_BUY)
	{
 
			if((Bid<iMA(Symbol(),15,40,0,1,1,0)) &&() )
			{
				b=true;
			}
			
		} 
 
	if(type==OP_SELL)
	{
			if(Bid>iMA(Symbol(),15,40,0,1,1,0))
			{
			   b=true;
			}
		} 
 
	return(b);
}
 
void OpenOrder(int type)
{
   int ticket=-1;
   int err=0;
  
	if(type==OP_BUY)
	{
		ticket = OrderSend(Symbol(), OP_BUY, Lotsize, MarketInfo(Symbol(), MODE_ASK), 10, 0, 0,"", Magic_Number);       
		if(ticket<0)
		{
			err=GetLastError();
			//Print ('Error!. Cannot Open BUY, failed with error : ',err);
		}
		else
		{
			if(Money_Management<2)
			{
				sl=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK)-Stop_Loss*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
				tp=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK)+Take_Profit*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
			}
			OrderModify(ticket, MarketInfo(Symbol(), MODE_ASK), sl, tp,0);//open price=MarketInfo(Symbol(), MODE_ASK)
		}
	}

	if(type==OP_SELL)
	{
		ticket = OrderSend(Symbol(), OP_BUY, Lotsize, MarketInfo(Symbol(), MODE_BID), 10, 0, 0,"", Magic_Number);       
		if(ticket<0)
		{
			err=GetLastError();
			//Print ('Error!. Cannot Open BUY, failed with error : ',err);
		}
		else
		{
			if(Money_Management<2)
			{
				sl=NormalizeDouble(MarketInfo(Symbol(), MODE_BID)+Stop_Loss*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
				tp=NormalizeDouble(MarketInfo(Symbol(), MODE_BID)-Take_Profit*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
			}
			OrderModify(ticket, MarketInfo(Symbol(), MODE_BID), sl, tp,0);//open price=MarketInfo(Symbol(), MODE_ASK)
		}
	}
}
 
void CloseOrders(int type)
{
   int total  = OrdersTotal();
   for (int i = total-1 ; i >=0 ; i--)
   {
	  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && 
		OrderMagicNumber() == Magic_Number && 
		OrderSymbol() == Symbol() && 
		type==OrderType()) 
		{
			switch(OrderType())
			{
				case OP_BUY:
				{
					OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),10);
					break;  
				}
								  
				case OP_SELL:
				{
					OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),10);
					break;
				}
			}             
		}
	}
}
 
bool IsNewBar()
{
	if (lasttrade<iTime(Symbol(),0,0))
	{
		lasttrade=iTime(Symbol(),0,0);
		return (true);
	}
	return (false);
}
int GetNrOfTrades(int type)
{
   int t=0;
   
   int total = OrdersTotal();
   int count;
   if(type==OP_BUY || type==OP_SELL)
   {
	   for(count = total - 1; count >= 0; count--)
	   {
		  if(!OrderSelect(count, SELECT_BY_POS, MODE_TRADES)) continue;
		  if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number && OrderType()==type)
		  {
			 t++;
		  }
	   }
	   return (t);
   }
   else if(type==6)
   {
	   for(count = total - 1; count >= 0; count--)
	   {
		  if(!OrderSelect(count, SELECT_BY_POS, MODE_TRADES)) continue;
		  if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number)
		  {
			 t++;
		  }
	   }
	   return (t);
   }
   return(t);
}
	
 
double CalcLotsize(string symbol,double entry, double sl,double risk)
{
   
   double qty,riskm,dist; 
   dist=MathAbs(entry-sl)/MarketInfo(symbol,MODE_POINT);
   riskm=AccountBalance()*risk/100;
   
   qty=riskm/(dist*MarketInfo(symbol,MODE_TICKVALUE));  
   return( NormalizeDouble(qty,2) );
}
	
 
void Trailing(double Trailing_Stop)
{
  int err;
   double sl = 0;
   bool result;
   
   //
   sl = OrderStopLoss();
   if(OrderType() == OP_BUY)
   {
      if((MarketInfo(Symbol(),MODE_BID) > (OrderOpenPrice() + Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT))) )
      {                        
         
         if(OrderStopLoss() == 0) sl = MarketInfo(Symbol(),MODE_BID) - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT);
         if(OrderStopLoss() != 0 && MarketInfo(Symbol(),MODE_BID) >= OrderStopLoss() + Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT)) sl = MarketInfo(Symbol(),MODE_BID) - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT);
         while(IsTradeContextBusy()) Sleep(100);
         if(sl > OrderStopLoss())
         {
            ResetLastError();
            result = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
            //
            if (result)
            {               
               Print("Trailing Stop updated: #", OrderTicket(), "; SL = ", DoubleToStr(OrderStopLoss(), MarketInfo(Symbol(),MODE_DIGITS)), "; Bid = ", DoubleToStr(MarketInfo(Symbol(),MODE_BID), MarketInfo(Symbol(),MODE_DIGITS)));
            }
            else
            {
               err = GetLastError();
               Print("Error!. Trailing Stop #", OrderTicket(), " order modify failed with error(",err,")");
            }
         }
      }
   }//if(OrderType() == OP_BUY)
   //
   if(OrderType() == OP_SELL)
   {
      
      if((MarketInfo(Symbol(),MODE_ASK) < (OrderOpenPrice() - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT))))
      {
         
         if(OrderStopLoss() == 0) sl = MarketInfo(Symbol(),MODE_ASK) + (Trailing_Stop*mp)*MarketInfo(Symbol(),MODE_POINT);
         if(OrderStopLoss() != 0 && MarketInfo(Symbol(),MODE_ASK) <= OrderStopLoss() - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT)) sl = MarketInfo(Symbol(),MODE_ASK) + (Trailing_Stop*mp)*MarketInfo(Symbol(),MODE_POINT);
         while(IsTradeContextBusy()) Sleep(100);
         if(sl < OrderStopLoss())
         {
            ResetLastError();
            result = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
            //
            if (result)
            {
               Print("Trailing Stop updated: #", OrderTicket(), "; SL = ", DoubleToStr(sl, MarketInfo(Symbol(),MODE_DIGITS)), "; Ask = ", DoubleToStr(MarketInfo(Symbol(),MODE_ASK), MarketInfo(Symbol(),MODE_DIGITS)));
            }
            else
            {
               err = GetLastError();
               Print("Error!. Trailing Stop #", OrderTicket(), " order modify failed with error(",err,")");
            }
         }
      }
   }
}
	
 
void ManageTrades()
{
   int t=OrdersTotal();
   for(int i=t-1;i>=0;i--)
   {
      if(OrderSelect(i,SELECT_BY_POS))
      {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number)
         {
            if (!Hidden)
            {
				if (Money_Management==2)
				{
					ts=CalcDistance(Trailing_Stop,OrderLots());//OrderLots
					be=CalcDistance(Break_Even,OrderLots()); 
				}
				else
				{
					ts=Trailing_Stop;
					be=Break_Even;
				}
				
				if (Break_Even>0)
				{
					BreakEven(be);
				}
				if (Trailing_Stop>0)
				{
					Trailing(ts);
				}
            }
           
         
         }
      }
   }//for end
}
	
 
	
void BreakEven(double Break_Even)
{
   bool result;
   double sl;
   int err;
   //
   ResetLastError();
   if(OrderType() == OP_BUY)
   {
	   if(OrderStopLoss() >= OrderOpenPrice()) return;
	   
	   if (MarketInfo(Symbol(),MODE_BID) >= OrderOpenPrice() + Break_Even*mp*MarketInfo(Symbol(),MODE_POINT))
	   {
         sl= OrderOpenPrice() ;
         while(IsTradeContextBusy()) Sleep(100);
         result = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
         if (result)
         {
            Print("Break Even stop updated: #", OrderTicket(), "; SL = ", DoubleToStr(sl, MarketInfo(Symbol(),MODE_DIGITS)), "; Bid = ", DoubleToStr(MarketInfo(Symbol(),MODE_BID), MarketInfo(Symbol(),MODE_DIGITS)));
         }
         else
         {
            err = GetLastError();
            Print("Error!. Break Even #", OrderTicket(), " order modify failed with error(",err,")");
         }
	   }
   }
   //
   if (OrderType() == OP_SELL) 
   {
	   if (OrderStopLoss() <= OrderOpenPrice() && OrderStopLoss() != 0) return;
	   
	   if (MarketInfo(Symbol(),MODE_ASK) <= OrderOpenPrice() - Break_Even*mp*MarketInfo(Symbol(),MODE_POINT))
	   {
         sl = OrderOpenPrice() ;
         while(IsTradeContextBusy()) Sleep(100);
         result = OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
         if (result)
         {           
            Print("Break Even stop updated: # ", OrderTicket(), "; SL = ", DoubleToStr(sl, MarketInfo(Symbol(),MODE_DIGITS)), "; Ask = ", DoubleToStr(MarketInfo(Symbol(),MODE_ASK), MarketInfo(Symbol(),MODE_DIGITS)));
         }
         else
         {
            err = GetLastError();
            Print("Error!. Break Even #", OrderTicket(), " order modify failed with error(",err,")");
         }
	   }
   }
}
	
 
double CalcDistance(double risk, double lotsize)
{
   risk=AccountBalance()*risk/100;
   return (risk/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/lotsize);
}

 
double GetLastProfit(double& lotsize)
{
   int t=OrdersTotal();
   double p=0;
   datetime mt=0;
   
   for (int i=t-1;i>=0;i--)
   {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
         if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number && OrderCloseTime()>mt)
         {
            mt=OrderCloseTime();
            p=OrderProfit();
            lotsize=OrderLots();
         }
      }
   }
   
   return (p);
}
Post's attachments

25693_Muti_MA_Trading.mq4 17.76 kb, 43 downloads since 2018-09-15 

Share

Thanked for the post: afsalme, Taposki99

Re: Muti_MA_Trading - MQ4 file (expert advisor)

am new to forex trading , how to can add the EA to meta 4 trader, any guide. thanks

Share

Re: Muti_MA_Trading - MQ4 file (expert advisor)

Chucksman Onuoha wrote:

Buy when price is above 37 moving Average in the following time frame: M1,M5,M15,M30,H1. TakeProfit o=20 pips and stoploss=30pips Trailingstop=10pips.

Sell when price is above 37 moving Average in the following time frame: M1,M5,M15,M30,H1. TakeProfit o=20 pips and stoploss=30pips Trailingstop=10pips.

Check the 28 pairs for  Buy and Sell trade with alert

//+------------------------------------------------------------------+
//                        DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT 
//
//                   Copyright ©2017, https://mt4talk.com
//                     MT4talk Expert Advisor Generator
//                        https://mt4talk.com/eagenerator/
//
// THIS EXPERT ADVISOR (EA) HAS BEEN GENERATED USING MT4talk EA GENERATOR. 
// 
// Disclaimer: This EA is provided to you "AS-IS", and MT4talk disclaims any warranty
// or liability obligations to you of any kind. 
//
// FREE EA LICENSE
// This EA is provided to you for free of charge! You can share this EA on any website or any forums. 
//
// CFTC RULE 4.41
// HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED 
// RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-
// OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED TRADING PROGRAMS, 
// IN GENERAL, ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING 
// MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.
//
// U.S. Government Required Disclaimer.
// Commodity Futures Trading Commission Futures and Options trading has large potential rewards, but also large potential risk. 
// You must be aware the risks and be willing to accept them in order to invest in the futures and options markets. 
// Don't trade with money you can't afford to lose. This is neither a solicitation nor an offer to Buy/Sell futures or options.
// No representation is being made that any account will or is likely to achieve profits or losses similar 
// to those discussed on this website. The past performance of any trading system or methodology is not necessarily 
// indicative of future results.
//
// USE THIS EA AT YOUR OWN RISK. 
//
//                      DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT 
//+------------------------------------------------------------------+

#property copyright "Copyright 2017"
#property link      "https://mt4talk.com"
#property version   "1.00"
#property strict
extern double Lotsize=0.01;
extern double Stop_Loss=30;
extern double Take_Profit=20;
extern double Trailing_Stop=10;
extern int Magic_Number=12345;
extern string TimeStart="00:50";
extern string TimeStop="23:00";
extern int Max_Nr_Of_Sell_Trades=1;
extern int Max_Nr_Of_Buy_Trades=1;
extern bool Hidden=false;
extern int Martingale_Type=0;
extern bool Close_opposit_signal=true;
extern int Max_Nr_Of_Trades=0; 
extern bool DayFilter=true;
extern string SundayStart="00:00";
extern string SundayStop="00:00";
extern string MondayStart="02:00";
extern string MondayStop="23:00";
extern string TuesdayStart="02:00";
extern string TuesdayStop="23:00";
extern string WednesdayStart="02:00";
extern string WednesdayStop="23:00";
extern string ThursdayStart="02:00";
extern string ThursdayStop="23:00";
extern string FridayStart="02:00";
extern string FridayStop="23:00"; 
extern bool TimeFilter=true;
 
double Risk=0;

double Martingale_Value=0;

bool FixSL=0;
int Money_Management=0;

int cntmartin=0;
double ts=0;
double be=0;
double sl,tp;
int mp;
datetime lasttrade;


 

 

int OnInit() 
 
{ 
    mp=1;
    if (Digits==5 || Digits==3) mp=10; 
    lasttrade=TimeCurrent();
    cntmartin=0;
    
    if (Money_Management==1)   
    {
       Stop_Loss=Stop_Loss/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
       Take_Profit=Take_Profit/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
       Break_Even=Break_Even/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
       Trailing_Stop=Trailing_Stop/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
    }

    //---
    return(INIT_SUCCEEDED);

} 

 
void OnDeinit(const int reason)
 
{} 

 
void OnTick()
{
    bool TradeAllow=false;
    bool buy_signal=false;
    bool sell_signal=false;
    double sl;
    double tp;
    double lotsize;
    
 
    TradeAllow=sTimeFilter(TimeStart,TimeStop);
 
    if (((TradeAllow && TimeFilter) || !TimeFilter) && (!DayFilter ||  DayFilter && GetDayFilter()) )
    {
        buy_signal=GetSignal(OP_BUY);
        sell_signal=GetSignal(OP_SELL);
    }
 
    //---       
    if((CloseSignal(OP_BUY)) ||
        (sell_signal && Close_opposit_signal))
    {
      CloseOrders(OP_BUY);
    }
    if((CloseSignal(OP_SELL)) ||
        (buy_signal && Close_opposit_signal))
    {
      CloseOrders(OP_SELL);
    }
 
    if(buy_signal)
    {
        if (Money_Management==2)
        {
            double entry;
        
            entry=MarketInfo(Symbol(),MODE_ASK);
            if(FixSL)
            {    
                sl=NormalizeDouble(entry-Stop_Loss*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS));     
                Lotsize=NormalizeDouble(CalcLotsize(Symbol(),entry,sl,Risk),2);
                tp=NormalizeDouble(entry+CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
            }
            else
            {
                sl=NormalizeDouble(entry-CalcDistance(Stop_Loss,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS));     
                tp=NormalizeDouble(entry+CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
            }
                
        }
                   
                   
        if (GetLastProfit(lotsize)<0 && Martingale_Type>0)
        {
            Lotsize=lotsize;
            cntmartin++;
        }
        else
        {
            cntmartin=0;
        }
          
        if (Martingale_Type==1)//Increment
        {
            Lotsize+=Martingale_Value;
        }
                
        if (Martingale_Type==2)//Multipli
        {
            Lotsize*=Martingale_Value;
        }
        
        OpenOrder(OP_BUY);
    }
    if(sell_signal)
    {
        if (Money_Management==2)
        {
            double entry;
            entry=MarketInfo(Symbol(),MODE_BID);
            if(FixSL)
            {
                sl=NormalizeDouble(entry+Stop_Loss*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS));
                Lotsize=NormalizeDouble(CalcLotsize(Symbol(),entry,sl,Risk),2);
                tp=NormalizeDouble(entry-CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
            }
            else
            {
                sl=NormalizeDouble(entry+CalcDistance(Stop_Loss,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS));     
                tp=NormalizeDouble(entry-CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
            }
        }
                
                
        if (GetLastProfit(lotsize)<0 && Martingale_Type>0)
        {
            Lotsize=lotsize;
            cntmartin++;
        }
        else
        {
            cntmartin=0;
        }
              
        if (Martingale_Type==1)//Increment
        {
            Lotsize+=Martingale_Value;
        }
                    
        if (Martingale_Type==2)//Multipli
        {
            Lotsize*=Martingale_Value;
        }
        OpenOrder(OP_SELL);
    }
}
 
bool sTimeFilter(string inStart,string inEnd,string inString=':')
{
   bool Result=true;
   int TimeHourStart,TimeMinuteStart,TimeHourEnd,TimeMinuteEnd;
   static datetime TimeStart,TimeEnd;

   sInputTimeConvert(TimeHourStart,TimeMinuteStart,inStart,inString);
   sInputTimeConvert(TimeHourEnd,TimeMinuteEnd,inEnd,inString);
   TimeStart=StrToTime(IntegerToString(TimeHourStart)+':'+IntegerToString(TimeMinuteStart));
   TimeEnd=StrToTime(IntegerToString(TimeHourEnd)+':'+IntegerToString(TimeMinuteEnd));

   if((TimeStart<=TimeEnd) && ((TimeCurrent()<TimeStart) || (TimeCurrent()>TimeEnd))) Result=false;
   if((TimeStart>TimeEnd) && (TimeCurrent()<TimeStart) && (TimeCurrent()>TimeEnd)) Result=false;

   return(Result);
}


int sInputTimeConvert(int &inHour,int &inMinute,string inInput,string inString=':')
{
   int PS;

   PS=StringFind(inInput,inString,0);
   inMinute=(int)StrToDouble(StringSubstr(inInput,PS+1,StringLen(inInput)-PS));
   inHour=(int)StrToDouble(StringSubstr(inInput,0,PS));

   return(PS);
}
 
bool GetDayFilter()
{
   switch (DayOfWeek())
   {
      case 0: return (sTimeFilter(SundayStart,SundayStop));
      case 1: return (sTimeFilter(MondayStart,MondayStop));
      case 2: return (sTimeFilter(TuesdayStart,TuesdayStop));
      case 3: return (sTimeFilter(WednesdayStart,WednesdayStop));
      case 4: return (sTimeFilter(ThursdayStart,ThursdayStop));
      case 5: return (sTimeFilter(FridayStart,FridayStop));
      
   }
   return (false);
} 
 
bool GetSignal(int type)
{
    bool b=false;
     
 
    if(type==OP_BUY)
    {
 
 
            if((Bid>iMA(Symbol(),60,40,0,1,1,0)) &&() ||() )
            {
                b=true;
            }
            
        } 
 
    if(type==OP_SELL)
    {
            if(<iMA(Symbol(),60,40,0,1,1,0))
            {
               b=true;
            }
        } 
 
    return(b);
} 
 
bool CloseSignal(int type)
{
    bool b=false;
     
 
    if(type==OP_BUY)
    {
 
            if((Bid<iMA(Symbol(),15,40,0,1,1,0)) &&() )
            {
                b=true;
            }
            
        } 
 
    if(type==OP_SELL)
    {
            if(Bid>iMA(Symbol(),15,40,0,1,1,0))
            {
               b=true;
            }
        } 
 
    return(b);
}
 
void OpenOrder(int type)
{
   int ticket=-1;
   int err=0;
  
    if(type==OP_BUY)
    {
        ticket = OrderSend(Symbol(), OP_BUY, Lotsize, MarketInfo(Symbol(), MODE_ASK), 10, 0, 0,"", Magic_Number);       
        if(ticket<0)
        {
            err=GetLastError();
            //Print ('Error!. Cannot Open BUY, failed with error : ',err);
        }
        else
        {
            if(Money_Management<2)
            {
                sl=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK)-Stop_Loss*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
                tp=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK)+Take_Profit*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
            }
            OrderModify(ticket, MarketInfo(Symbol(), MODE_ASK), sl, tp,0);//open price=MarketInfo(Symbol(), MODE_ASK)
        }
    }

    if(type==OP_SELL)
    {
        ticket = OrderSend(Symbol(), OP_BUY, Lotsize, MarketInfo(Symbol(), MODE_BID), 10, 0, 0,"", Magic_Number);       
        if(ticket<0)
        {
            err=GetLastError();
            //Print ('Error!. Cannot Open BUY, failed with error : ',err);
        }
        else
        {
            if(Money_Management<2)
            {
                sl=NormalizeDouble(MarketInfo(Symbol(), MODE_BID)+Stop_Loss*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
                tp=NormalizeDouble(MarketInfo(Symbol(), MODE_BID)-Take_Profit*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
            }
            OrderModify(ticket, MarketInfo(Symbol(), MODE_BID), sl, tp,0);//open price=MarketInfo(Symbol(), MODE_ASK)
        }
    }
}
 
void CloseOrders(int type)
{
   int total  = OrdersTotal();
   for (int i = total-1 ; i >=0 ; i--)
   {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && 
        OrderMagicNumber() == Magic_Number && 
        OrderSymbol() == Symbol() && 
        type==OrderType()) 
        {
            switch(OrderType())
            {
                case OP_BUY:
                {
                    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),10);
                    break;  
                }
                                  
                case OP_SELL:
                {
                    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),10);
                    break;
                }
            }             
        }
    }
}
 
bool IsNewBar()
{
    if (lasttrade<iTime(Symbol(),0,0))
    {
        lasttrade=iTime(Symbol(),0,0);
        return (true);
    }
    return (false);
}
int GetNrOfTrades(int type)
{
   int t=0;
   
   int total = OrdersTotal();
   int count;
   if(type==OP_BUY || type==OP_SELL)
   {
       for(count = total - 1; count >= 0; count--)
       {
          if(!OrderSelect(count, SELECT_BY_POS, MODE_TRADES)) continue;
          if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number && OrderType()==type)
          {
             t++;
          }
       }
       return (t);
   }
   else if(type==6)
   {
       for(count = total - 1; count >= 0; count--)
       {
          if(!OrderSelect(count, SELECT_BY_POS, MODE_TRADES)) continue;
          if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number)
          {
             t++;
          }
       }
       return (t);
   }
   return(t);
}
    
 
double CalcLotsize(string symbol,double entry, double sl,double risk)
{
   
   double qty,riskm,dist; 
   dist=MathAbs(entry-sl)/MarketInfo(symbol,MODE_POINT);
   riskm=AccountBalance()*risk/100;
   
   qty=riskm/(dist*MarketInfo(symbol,MODE_TICKVALUE));  
   return( NormalizeDouble(qty,2) );
}
    
 
void Trailing(double Trailing_Stop)
{
  int err;
   double sl = 0;
   bool result;
   
   //
   sl = OrderStopLoss();
   if(OrderType() == OP_BUY)
   {
      if((MarketInfo(Symbol(),MODE_BID) > (OrderOpenPrice() + Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT))) )
      {                        
         
         if(OrderStopLoss() == 0) sl = MarketInfo(Symbol(),MODE_BID) - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT);
         if(OrderStopLoss() != 0 && MarketInfo(Symbol(),MODE_BID) >= OrderStopLoss() + Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT)) sl = MarketInfo(Symbol(),MODE_BID) - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT);
         while(IsTradeContextBusy()) Sleep(100);
         if(sl > OrderStopLoss())
         {
            ResetLastError();
            result = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
            //
            if (result)
            {               
               Print("Trailing Stop updated: #", OrderTicket(), "; SL = ", DoubleToStr(OrderStopLoss(), MarketInfo(Symbol(),MODE_DIGITS)), "; Bid = ", DoubleToStr(MarketInfo(Symbol(),MODE_BID), MarketInfo(Symbol(),MODE_DIGITS)));
            }
            else
            {
               err = GetLastError();
               Print("Error!. Trailing Stop #", OrderTicket(), " order modify failed with error(",err,")");
            }
         }
      }
   }//if(OrderType() == OP_BUY)
   //
   if(OrderType() == OP_SELL)
   {
      
      if((MarketInfo(Symbol(),MODE_ASK) < (OrderOpenPrice() - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT))))
      {
         
         if(OrderStopLoss() == 0) sl = MarketInfo(Symbol(),MODE_ASK) + (Trailing_Stop*mp)*MarketInfo(Symbol(),MODE_POINT);
         if(OrderStopLoss() != 0 && MarketInfo(Symbol(),MODE_ASK) <= OrderStopLoss() - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT)) sl = MarketInfo(Symbol(),MODE_ASK) + (Trailing_Stop*mp)*MarketInfo(Symbol(),MODE_POINT);
         while(IsTradeContextBusy()) Sleep(100);
         if(sl < OrderStopLoss())
         {
            ResetLastError();
            result = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
            //
            if (result)
            {
               Print("Trailing Stop updated: #", OrderTicket(), "; SL = ", DoubleToStr(sl, MarketInfo(Symbol(),MODE_DIGITS)), "; Ask = ", DoubleToStr(MarketInfo(Symbol(),MODE_ASK), MarketInfo(Symbol(),MODE_DIGITS)));
            }
            else
            {
               err = GetLastError();
               Print("Error!. Trailing Stop #", OrderTicket(), " order modify failed with error(",err,")");
            }
         }
      }
   }
}
    
 
void ManageTrades()
{
   int t=OrdersTotal();
   for(int i=t-1;i>=0;i--)
   {
      if(OrderSelect(i,SELECT_BY_POS))
      {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number)
         {
            if (!Hidden)
            {
                if (Money_Management==2)
                {
                    ts=CalcDistance(Trailing_Stop,OrderLots());//OrderLots
                    be=CalcDistance(Break_Even,OrderLots()); 
                }
                else
                {
                    ts=Trailing_Stop;
                    be=Break_Even;
                }
                
                if (Break_Even>0)
                {
                    BreakEven(be);
                }
                if (Trailing_Stop>0)
                {
                    Trailing(ts);
                }
            }
           
         
         }
      }
   }//for end
}
    
 
    
void BreakEven(double Break_Even)
{
   bool result;
   double sl;
   int err;
   //
   ResetLastError();
   if(OrderType() == OP_BUY)
   {
       if(OrderStopLoss() >= OrderOpenPrice()) return;
       
       if (MarketInfo(Symbol(),MODE_BID) >= OrderOpenPrice() + Break_Even*mp*MarketInfo(Symbol(),MODE_POINT))
       {
         sl= OrderOpenPrice() ;
         while(IsTradeContextBusy()) Sleep(100);
         result = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
         if (result)
         {
            Print("Break Even stop updated: #", OrderTicket(), "; SL = ", DoubleToStr(sl, MarketInfo(Symbol(),MODE_DIGITS)), "; Bid = ", DoubleToStr(MarketInfo(Symbol(),MODE_BID), MarketInfo(Symbol(),MODE_DIGITS)));
         }
         else
         {
            err = GetLastError();
            Print("Error!. Break Even #", OrderTicket(), " order modify failed with error(",err,")");
         }
       }
   }
   //
   if (OrderType() == OP_SELL) 
   {
       if (OrderStopLoss() <= OrderOpenPrice() && OrderStopLoss() != 0) return;
       
       if (MarketInfo(Symbol(),MODE_ASK) <= OrderOpenPrice() - Break_Even*mp*MarketInfo(Symbol(),MODE_POINT))
       {
         sl = OrderOpenPrice() ;
         while(IsTradeContextBusy()) Sleep(100);
         result = OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
         if (result)
         {           
            Print("Break Even stop updated: # ", OrderTicket(), "; SL = ", DoubleToStr(sl, MarketInfo(Symbol(),MODE_DIGITS)), "; Ask = ", DoubleToStr(MarketInfo(Symbol(),MODE_ASK), MarketInfo(Symbol(),MODE_DIGITS)));
         }
         else
         {
            err = GetLastError();
            Print("Error!. Break Even #", OrderTicket(), " order modify failed with error(",err,")");
         }
       }
   }
}
    
 
double CalcDistance(double risk, double lotsize)
{
   risk=AccountBalance()*risk/100;
   return (risk/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/lotsize);
}

 
double GetLastProfit(double& lotsize)
{
   int t=OrdersTotal();
   double p=0;
   datetime mt=0;
   
   for (int i=t-1;i>=0;i--)
   {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
         if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number && OrderCloseTime()>mt)
         {
            mt=OrderCloseTime();
            p=OrderProfit();
            lotsize=OrderLots();
         }
      }
   }
   
   return (p);
}

I can not attach the EA to the chart. There is something that does not work.

Share

Re: Muti_MA_Trading - MQ4 file (expert advisor)

Compilation breaks.
'25693_Muti_MA_Trading.mq4' 25693_Muti_MA_Trading.mq4 1 1
'Break_Even' - undeclared identifier 25693_Muti_MA_Trading.mq4 101 5
')' - expression expected 25693_Muti_MA_Trading.mq4 286 44
'||' - operand expected 25693_Muti_MA_Trading.mq4 286 46
')' - expression expected 25693_Muti_MA_Trading.mq4 286 49
'&&' - operand expected 25693_Muti_MA_Trading.mq4 286 41
'<' - operand expected 25693_Muti_MA_Trading.mq4 295 7
')' - expression expected 25693_Muti_MA_Trading.mq4 312 44
'&&' - operand expected 25693_Muti_MA_Trading.mq4 312 41
'Break_Even' - undeclared identifier 25693_Muti_MA_Trading.mq4 534 22
'Break_Even' - undeclared identifier 25693_Muti_MA_Trading.mq4 539 9
'Break_Even' - undeclared identifier 25693_Muti_MA_Trading.mq4 542 9
11 error(s), 33 warning(s) 12 34

Share

Posts: 4

Pages 1

You must login or register to post a reply

MT4talk Advertising Rules!

How to advertise on the MT4talk forum?

Make your forum topic always on top! STICKY!

1) Register a forum account!

2) Create a forum topic for advertising purpose in any forum section!

3) Click on the "Make your topic sticky" button and choose the topic that you want to make sticky! €59.95 / Week or €199.95 / Month subscription.

You can cancel the subscription anytime.

NOTE: If you cancel the sticky subscription, your forum topic will be deleted automatically.

WARNING: If you create a forum topic for advertising purposes in any forum section, you must make your topic STICKY, otherwise, your topic will be deleted and you will be suspended to create further forum posts. There are no exceptions!

Last Posts

  • 10/12: Forexhackers-EA_V2
  • 10/12: To accomplish
  • 10/12: Facing losses
  • 10/12: PingTouGe,a fantastic EA
  • 10/12: XtreamForex Company News
  • 10/12: Due to the changes
  • 09/12: Awesome EA, with Cent account should be just fine
  • 09/12: EA Asia Scalper
  • 09/12: EA Generic A-TLP v.12.38
  • 09/12: Ronix v4 EA
  • 09/12: Help with EA inputs
  • 09/12: Automated trading system
  • 09/12: 500% profit per week! Forex Robot!
  • 09/12: abundant reasons
  • 08/12: Moving GRID EA
  • 08/12: trading at the right time
  • 08/12: Indrafxscalping v8
  • 08/12: EA Adenan Scalping. daily profit 10-30% TF M1 EUR
  • 08/12: EA PricelessGrid
  • 08/12: EA HIBRYD TT+F
  • 07/12: UOP Trader System
  • 07/12: EA Life Changer fixed
  • 07/12: TP High SCALPER
  • 07/12: Forexhackers-EA_V2
  • 07/12: This is a goood robot EA, it is very stable, with a stop loss.
  • 07/12: EUROBLASTER EA
  • 06/12: Not tested
  • 06/12: No Sleep EA
  • 06/12: Grid EA
  • 06/12: My first forex robot
  • Online Users & Stats

    • Total number of registered users: 25,841
    • Newest registered user: rarch2001
    • Total number of topics: 11,434
    • Total number of posts: 37,429

    Online users: 1,803 guests, 169 Members:

    777legrand, a.cavalca, admin, aj.alex9999, Alexey Kalyuzhnyy, andilenokwayi, andydrae67, ansrfire, Antonino Artino Innaria, Arif, Art Dejavu, atizaque, axel7969, aydewir, ball2goal, Bandeauman Gjc RG, bayard20, Bees, bestkid321, betuboxem, Bobby Hm, Bogil, boobo, BrandonBoyd, bruhin65, cabakgames, Cheng Weichi, Chris Wiley, crewtwelve12, cruelzhang, dancard84, dare79, Darshana Samaraweera, Donovan Sissing, dow017, dvorynen, ebi50, Eric Choong, eskre, estebancrok, eugenio.nabor, Fabien Stemnach, fatboy, femo, filo, flsekme, Forex Stock Trading, forexnfx, forexscalper2017, forexstrategy75, Franx, freewilly, fxvnpro, George Kourogiorgas, Gforceman2712, Giedrius Varnas, gynuxhxu, hanhtinhxanhdo, hendrikwong, Hoven AL, hussain.tradeexpress, ian.kungu, Inconito75, Joe0013, John Chatzis, joinbehar, Jordan Pritchett, José Luis Pérez, joskerone, judeekatherinexx, jweak83, jyameogo87, kalul, kangmasrowi, KatMan, Kemo Farag, kevinnc, kittipath.sam, kozura, Kyen Tan Kee Han, laszlolukee, laurent.teitgen, lecho80, leenazen, Lucas Alonso, m4162443, machs_nochmal, madanluhar, madcow, MagerMoLcH4, mak58, marbre, MarianNick123, Martin Kirschner, maxheadroom, Mduduzi, megaveloz25@gmail.com, meiyan, melchoirfxtrader, miazgal, mikeb4, mrmaggi007, Msigwa Fil, mushi1, myd1688, najib96, nakatama1, nazirhk55, Neosul, Nguyễn Tường Lâm, nine007, noeltg, Nueng One-hand, odc1977, ologunelizabethj, orlandog, pachu, paroucia, pritchi125, pukit3434, rarch2001, ravimujariya, Re Kristin, rkarsu, RMC, rochellebrown30, Rodrigo Oliveira, rr_108, Rweil, Sakhile.ndlovu, sayrom5955, sebastianvillenadubiel, serctes, Sibusiso Myeni, Simon Lucky, sinanao, sixsheeps, sprizzon, steward123, StonerTH, supertradingforexea, Sze Ko, Szwaj Kleofas, Taposki99, tatendamut, Thim Bérénice, tjan85914, trading1735, tradingralf, Trivaldi, trungtrucpham88, truongkhanhduy, Vadim007, vaverin, vergelb, viberjet, Victoriano, viet.hoangq, vodafone2066, Waliu Ajose, warrenteoh, weethegang, why, wtrbuff, xtreamforex, yahavuzan, yekta, yudhi, 振豪

     


    NOTE: Hacked or illegal versions of copyrighted Forex robots are highly prohibited on MT4talk.com. If you upload any illegal version of any copyrighted Forex robot, your forum account will be banned. No exceptions.

     

    IMPORTANT: MT4talk.com is a public Forex forum, where forum members can upload open source Forex robots to share with other members. MT4talk.com forum does not sell or rent Forex robots, and does not provide guarantee or support for the uploaded Forex robots! If you have any question about any Forex robot, please open a forum topic! If you have a question about your forum account, contact: mt4talk@gmail.com

    CFTC RULE 4.41 – HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED TRADING PROGRAMS, IN GENERAL, ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.

    Disclaimer - No representation is being made that any Forex account will or is likely to achieve profits or losses similar to those shown on backtests in this forum. In fact, there are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program. Hypothetical trading does not involve financial risk, and no hypothetical trading record can completely account for the impact of financial risk in actual trading. 
    All information on this forum is for educational purposes only and is not intended to provide financial advice. Any statements posted by forum members about profits or income expressed or implied, do not represent a guarantee. Your actual trading may result in losses as no trading system is guaranteed. You accept full responsibilities for your actions, trades, profit or loss, and agree to hold the MT4talk team and forum members of this information harmless in any and all ways.


    Copyright MT4talk.com Forum Rules - Privacy Policy.