Author: Copyright � 2012, www.FxAutomated.com
Profit factor:
144.14
Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reachedIt can change open orders parameters, due to possible stepping strategy
Indicators Used
Moving average indicator
Miscellaneous
It issuies visual alerts to the screen
10 Views
0 Downloads
0 Favorites
X trader
//+------------------------------------------------------------------+
//|                                                      X trader.mq4 |
//|                            Copyright © 2012, www.FxAutomated.com |
//|                                       http://www.FxAutomated.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, www.FxAutomated.com"
#property link      "http://www.FxAutomated.com"

//---- input parameters
extern double    Lots=0.1;
extern int       TakeProfit=150;
extern int       StopLoss=100;
extern string    Ma1="First Ma settings";
extern int       Ma1Period=16;
extern int       Ma1Shift=8;
extern int       Ma1Method=0;
extern int       Ma1AppliedPrice=4;
extern string    Ma2="Second Ma settings";
extern int       Ma2Period=1;
extern int       Ma2Shift=0;
extern int       Ma2Method=0;
extern int       Ma2AppliedPrice=4;
extern int       MagicNumber=320101;


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   Alert("Visit www.FxAutomated.com for more goodies!");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert starts                                  |
//+------------------------------------------------------------------+
int start()
  {
//----
int StopMultd,Slip=5;


int digits=MarketInfo("EURUSD",MODE_DIGITS);
StopMultd=10;
double TP=NormalizeDouble(TakeProfit*StopMultd,Digits);
// stop loss
double SL=NormalizeDouble(StopLoss*StopMultd,Digits); 

double Slippage=NormalizeDouble(Slip*StopMultd,Digits);

// Calculate stop loss
double slb=NormalizeDouble(Ask-SL*Point,Digits);
double sls=NormalizeDouble(Bid+SL*Point,Digits);

// Calculate take profit
double tpb=NormalizeDouble(Ask+TP*Point,Digits);
double tps=NormalizeDouble(Bid-TP*Point,Digits);

// Ma strategy one
double MA1_bc=iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1AppliedPrice,0);
double MA1_bp=iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1AppliedPrice,1);
double MA1_bl=iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1AppliedPrice,2);



// Ma constant
double MA2_bc=iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2AppliedPrice,0);
double MA2_bp=iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2AppliedPrice,1);
double MA2_bl=iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2AppliedPrice,2);



//-------------------------------------------------------------------+
//Check open orders
//-------------------------------------------------------------------+
if(OrdersTotal()>0){
  for(int i=1; i<=OrdersTotal(); i++)          // Cycle searching in orders
     {
      if (OrderSelect(i-1,SELECT_BY_POS)==true) // If the next is available
        {
          if(OrderMagicNumber()==MagicNumber) {int halt1=1;}
 
        }
     }
}
//-------------------------------------------------------------------+

//-------------------------------------------------------------------+
// trading strategy
//-------------------------------------------------------------------+

Comment("For more goodies, managed accounts, forex signals and premium EAs visit www.FxAutomated.com");


if(halt1!=1){// halt1

// Sell criteria
if ((MA1_bc>MA2_bc)&&(MA1_bp>MA2_bp)&&(MA1_bl<MA2_bl)) //Signal Sell
 {
   int opensell=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"X trader order ",MagicNumber,0,Green);
   if(opensell<1){int sellfail=1;}
 }
 
 // Buy criteria
 if ((MA1_bc<MA2_bc)&&(MA1_bp<MA2_bp)&&(MA1_bl>MA2_bl)) //Signal Buy
 {
   int openbuy=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"X trader order ",MagicNumber,0,Blue);
   if(openbuy<1){int buyfail=1;}
 }
 
 }// halt1

//-----------------------------------------------------------------------------------------------------
if(OrdersTotal()>0){
  for(i=1; i<=OrdersTotal(); i++){          // Cycle searching in orders
  
      if (OrderSelect(i-1,SELECT_BY_POS)==true){ // If the next is available
        
          if((OrderMagicNumber()==MagicNumber&&OrderType()==OP_BUY)&&(OrderTakeProfit()==0||OrderStopLoss()==0)) { OrderModify(OrderTicket(),0,slb,tpb,0,CLR_NONE); }
          if((OrderMagicNumber()==MagicNumber&&OrderType()==OP_SELL)&&(OrderTakeProfit()==0||OrderStopLoss()==0)) { OrderModify(OrderTicket(),0,sls,tps,0,CLR_NONE); }

        }
     }
}

//-------------------------------------------------------------------+
// Error processing
//-------------------------------------------------------------------+
if(buyfail==1||sellfail==1){
int Error=GetLastError();
  if(Error==130){Alert("Wrong stops. Retrying."); RefreshRates();}
  if(Error==133){Alert("Trading prohibited.");}
  if(Error==2){Alert("Common error.");}
  if(Error==146){Alert("Trading subsystem is busy. Retrying."); Sleep(500); RefreshRates();}

}

//-------------------------------------------------------------------
   return(0);
  }
//+-----------------------------------

Profitability Reports

USD/JPY Jul 2025 - Sep 2025
1.24
Total Trades 13
Won Trades 6
Lost trades 7
Win Rate 46.15 %
Expected payoff 8.87
Gross Profit 590.25
Gross Loss -474.95
Total Net Profit 115.30
-100%
-50%
0%
50%
100%
USD/CHF Jul 2025 - Sep 2025
3.39
Total Trades 4
Won Trades 3
Lost trades 1
Win Rate 75.00 %
Expected payoff 74.78
Gross Profit 424.32
Gross Loss -125.18
Total Net Profit 299.14
-100%
-50%
0%
50%
100%
USD/CAD Jul 2025 - Sep 2025
0.00
Total Trades 2
Won Trades 2
Lost trades 0
Win Rate 100.00 %
Expected payoff 62.23
Gross Profit 124.47
Gross Loss 0.00
Total Net Profit 124.47
-100%
-50%
0%
50%
100%
NZD/USD Jul 2025 - Sep 2025
1.56
Total Trades 5
Won Trades 3
Lost trades 2
Win Rate 60.00 %
Expected payoff 22.36
Gross Profit 311.80
Gross Loss -200.00
Total Net Profit 111.80
-100%
-50%
0%
50%
100%
GBP/USD Jul 2025 - Sep 2025
1.14
Total Trades 11
Won Trades 5
Lost trades 6
Win Rate 45.45 %
Expected payoff 7.83
Gross Profit 686.10
Gross Loss -600.00
Total Net Profit 86.10
-100%
-50%
0%
50%
100%
GBP/CAD Jul 2025 - Sep 2025
0.50
Total Trades 10
Won Trades 3
Lost trades 7
Win Rate 30.00 %
Expected payoff -25.48
Gross Profit 251.42
Gross Loss -506.18
Total Net Profit -254.76
-100%
-50%
0%
50%
100%
GBP/AUD Jul 2025 - Sep 2025
2.12
Total Trades 16
Won Trades 9
Lost trades 7
Win Rate 56.25 %
Expected payoff 29.40
Gross Profit 890.96
Gross Loss -420.60
Total Net Profit 470.36
-100%
-50%
0%
50%
100%
EUR/USD Jul 2025 - Sep 2025
1.51
Total Trades 129
Won Trades 65
Lost trades 64
Win Rate 50.39 %
Expected payoff 25.27
Gross Profit 9659.50
Gross Loss -6400.00
Total Net Profit 3259.50
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
3000.00
Total Trades 3
Won Trades 2
Lost trades 1
Win Rate 66.67 %
Expected payoff 99.97
Gross Profit 300.00
Gross Loss -0.10
Total Net Profit 299.90
-100%
-50%
0%
50%
100%
USD/CHF Jan 2025 - Jul 2025
0.28
Total Trades 20
Won Trades 3
Lost trades 17
Win Rate 15.00 %
Expected payoff -71.54
Gross Profit 544.50
Gross Loss -1975.31
Total Net Profit -1430.81
-100%
-50%
0%
50%
100%

Comments