breadandbutter

Author: Ron Thompson
Profit factor:
4.47
Price Data Components
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself It automatically opens orders when conditions are reached
Indicators Used
Moving average indicator
10 Views
1 Downloads
0 Favorites
breadandbutter
/*-----------------------------+
|			       |
| Shared by www.Aptrafx.com    |
|			       |
+------------------------------*/

//+------------------------------------------+
//| 3MA Expert
//+------------------------------------------+


/*

Ok its on a 4 hr chart, 
3 emas 100, 15, 2

Enter a position when emaF and emaS 
both cross through the 100ema (thats it!!)

ok the exit, i feel this needs a little work, 
but at the moment it is as follows

Exit half your position when 2ema cross through 15ema, 
close all of your positon when emaF crosses back through emaS.

*/



#property copyright "Ron Thompson"
#property link      "http://www.lightpatch.com/forex"

// User Input
extern double        Lots = 1.0 ;
extern int     TakeProfit = 0   ;
extern int       StopLoss = 0   ;

// Global scope
double barmove0 = 0;
double barmove1 = 0;


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//|------------------------------------------------------------------|

int init()
  {
   return(0);
  }


//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }


//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+

int start()
  {

   bool      found=false;
   bool     rising=false;
   bool    falling=false;
   bool      cross=false;

   double slA=0, slB=0, tpA=0, tpB=0;
   double p=Point();
   
   double emaF, emaM, emaS;
   double PemaF, PemaM, PemaS;
   
   int      cnt=0;

   // Error checking
   if(AccountFreeMargin()<(1000*Lots))        {Print("-----NO MONEY"); return(0);}
   if(Bars<100)                               {Print("-----NO BARS "); return(0);}
   if(barmove0==Open[0] && barmove1==Open[1]) {                        return(0);}

   // bars moved, update current position
   barmove0=Open[0];
   barmove1=Open[1];

   // since the bar just moved
   // calculate TP and SL for (B)id and (A)sk
   tpA=Ask+(p*TakeProfit);
   slA=Ask-(p*StopLoss);
   tpB=Bid-(p*TakeProfit);
   slB=Bid+(p*StopLoss);
   if (TakeProfit<=0) {tpA=0; tpB=0;}           
   if (StopLoss<=0)   {slA=0; slB=0;}           
   

   // Hourly chart
   // 3 WMA's 5/10/15
   // ADX (14)
   
   emaM= iMA(Symbol(),PERIOD_H4, 15,0,PRICE_OPEN,MODE_EMA,0);
   emaS= iMA(Symbol(),PERIOD_H4,100,0,PRICE_OPEN,MODE_EMA,0);
   
   PemaM=iMA(Symbol(),PERIOD_H4, 15,0,PRICE_OPEN,MODE_EMA,1);
   PemaS=iMA(Symbol(),PERIOD_H4,100,0,PRICE_OPEN,MODE_EMA,1);
   
   if (PemaM<emaS && emaM>emaS) { rising=true;  cross=true; Print("p=",PemaM," c=",emaM," s=",emaS);}
   if (PemaM>emaS && emaM<emaS) { falling=true; cross=true; Print("p=",PemaM," c=",emaM," s=",emaS);}

   // close then open orders based on cross
   if (cross)
     {
      // Close ALL the open orders 
      for(cnt=OrdersTotal();cnt>=0;cnt--)
        {
         OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
         if(OrderSymbol()==Symbol())
           {
            if (OrderType()==0) {OrderClose(OrderTicket(),Lots,Bid,3,White);}
            if (OrderType()==1) {OrderClose(OrderTicket(),Lots,Ask,3,Red);}
           }
        }
      // Open new order based on direction of cross
      if (rising)  OrderSend(Symbol(),OP_BUY,Lots,Ask,3,slA,tpA,"ZZZ100",11123,0,White);
      if (falling) OrderSend(Symbol(),OP_SELL,Lots,Bid,3,slB,tpB,"ZZZ100",11321,0,Red);

      return(0);
     }
     
   return(0);
  }


Profitability Reports

NZD/USD Jul 2025 - Sep 2025
0.15
Total Trades 64
Won Trades 22
Lost trades 42
Win Rate 34.38 %
Expected payoff -66.19
Gross Profit 758.00
Gross Loss -4994.00
Total Net Profit -4236.00
-100%
-50%
0%
50%
100%
GBP/USD Jul 2025 - Sep 2025
0.25
Total Trades 80
Won Trades 34
Lost trades 46
Win Rate 42.50 %
Expected payoff -65.97
Gross Profit 1741.00
Gross Loss -7019.00
Total Net Profit -5278.00
-100%
-50%
0%
50%
100%
GBP/CAD Jul 2025 - Sep 2025
0.16
Total Trades 56
Won Trades 9
Lost trades 47
Win Rate 16.07 %
Expected payoff -120.32
Gross Profit 1253.31
Gross Loss -7991.15
Total Net Profit -6737.84
-100%
-50%
0%
50%
100%
GBP/AUD Jul 2025 - Sep 2025
0.77
Total Trades 40
Won Trades 20
Lost trades 20
Win Rate 50.00 %
Expected payoff -25.56
Gross Profit 3464.03
Gross Loss -4486.51
Total Net Profit -1022.48
-100%
-50%
0%
50%
100%
EUR/USD Jul 2025 - Sep 2025
0.20
Total Trades 80
Won Trades 25
Lost trades 55
Win Rate 31.25 %
Expected payoff -94.34
Gross Profit 1908.00
Gross Loss -9455.00
Total Net Profit -7547.00
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
0.60
Total Trades 48
Won Trades 18
Lost trades 30
Win Rate 37.50 %
Expected payoff -20.04
Gross Profit 1457.00
Gross Loss -2419.00
Total Net Profit -962.00
-100%
-50%
0%
50%
100%
USD/JPY Jul 2025 - Sep 2025
0.30
Total Trades 68
Won Trades 31
Lost trades 37
Win Rate 45.59 %
Expected payoff -99.86
Gross Profit 2914.52
Gross Loss -9704.97
Total Net Profit -6790.45
-100%
-50%
0%
50%
100%
USD/CHF Jul 2025 - Sep 2025
0.28
Total Trades 32
Won Trades 12
Lost trades 20
Win Rate 37.50 %
Expected payoff -127.11
Gross Profit 1597.58
Gross Loss -5665.00
Total Net Profit -4067.42
-100%
-50%
0%
50%
100%
USD/CAD Jul 2025 - Sep 2025
0.18
Total Trades 24
Won Trades 7
Lost trades 17
Win Rate 29.17 %
Expected payoff -113.60
Gross Profit 603.69
Gross Loss -3330.14
Total Net Profit -2726.45
-100%
-50%
0%
50%
100%
NZD/USD Jul 2025 - Sep 2025
0.11
Total Trades 32
Won Trades 10
Lost trades 22
Win Rate 31.25 %
Expected payoff -115.38
Gross Profit 473.00
Gross Loss -4165.00
Total Net Profit -3692.00
-100%
-50%
0%
50%
100%

Comments