Author: Ron Thompson
Profit factor:
0.40
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
Commodity channel index
11 Views
0 Downloads
0 Favorites
zzz006c
/*-----------------------------+
|			       |
| Shared by www.Aptrafx.com    |
|			       |
+------------------------------*/

//+------------------------------------------------------------------+
//| 1MA Expert                               |
//+------------------------------------------------------------------+
#property copyright "Ron Thompson"
#property link      "http://www.lightpatch.com/forex"

// User Input
extern double Lots = 0.1;
extern int    TakeProfit=92;
extern int    StopLoss=0;
extern int    Interval=4;
extern int       myCCI=28;


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


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

int init()
  {
   itv=Interval;
   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 cCI0;
   double cCI1;
   
   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];

   // interval (bar) counter
   // used to pyramid orders during trend
   itv++;
   
   // 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;}           
   
   // get CCI based on OPEN
   cCI0=iCCI(Symbol(),0,myCCI,PRICE_OPEN,0);
   cCI1=iCCI(Symbol(),0,myCCI,PRICE_OPEN,1);

   // is it crossing zero up or down
   if (cCI1<=0 && cCI0>=0) { rising=true; cross=true; Print("Rising  Cross");}
   if (cCI1>=0 && cCI0<=0) {falling=true; cross=true; Print("Falling Cross");}
   
   // close then open orders based on cross
   // pyramid below based on itv
   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);}
            itv=0;
           }
        }
      // 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);
      
      // clear the interval counter
      itv=0;
      return(0);
     }
   
   // Only pyramid if order already open
   found=false;
   for(cnt=OrdersTotal();cnt>0;cnt--)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderSymbol()==Symbol())
        {
         if (OrderType()==0)  //BUY
           {
            if (itv >= Interval)
              {
               OrderSend(Symbol(),OP_BUY,Lots,Ask,3,slA,tpA,"ZZZ100",11123,0,White);
               itv=0;
              }
           }
         if (OrderType()==1)  //SELL
           {
            if (itv >= Interval)
              {
               OrderSend(Symbol(),OP_SELL,Lots,Bid,3,slB,tpB,"ZZZ100",11321,0,Red);
               itv=0;
              }
           }
         found=true;
         break;
        }
     }
   return(0);
  }

Profitability Reports

NZD/USD Jul 2025 - Sep 2025
0.82
Total Trades 458
Won Trades 191
Lost trades 267
Win Rate 41.70 %
Expected payoff -0.83
Gross Profit 1741.60
Gross Loss -2121.80
Total Net Profit -380.20
-100%
-50%
0%
50%
100%
GBP/USD Jul 2025 - Sep 2025
0.46
Total Trades 367
Won Trades 142
Lost trades 225
Win Rate 38.69 %
Expected payoff -4.14
Gross Profit 1306.40
Gross Loss -2824.20
Total Net Profit -1517.80
-100%
-50%
0%
50%
100%
GBP/CAD Jul 2025 - Sep 2025
0.18
Total Trades 511
Won Trades 166
Lost trades 345
Win Rate 32.49 %
Expected payoff -9.93
Gross Profit 1090.71
Gross Loss -6163.94
Total Net Profit -5073.23
-100%
-50%
0%
50%
100%
GBP/AUD Jul 2025 - Sep 2025
0.27
Total Trades 407
Won Trades 181
Lost trades 226
Win Rate 44.47 %
Expected payoff -7.22
Gross Profit 1084.27
Gross Loss -4021.30
Total Net Profit -2937.03
-100%
-50%
0%
50%
100%
EUR/USD Jul 2025 - Sep 2025
0.00
Total Trades 32
Won Trades 16
Lost trades 16
Win Rate 50.00 %
Expected payoff -3291.75
Gross Profit 147.20
Gross Loss -105483.10
Total Net Profit -105335.90
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
0.67
Total Trades 473
Won Trades 162
Lost trades 311
Win Rate 34.25 %
Expected payoff -1.55
Gross Profit 1490.40
Gross Loss -2224.20
Total Net Profit -733.80
-100%
-50%
0%
50%
100%
USD/CAD Oct 2024 - Jan 2025
0.46
Total Trades 160
Won Trades 82
Lost trades 78
Win Rate 51.25 %
Expected payoff -3.93
Gross Profit 535.79
Gross Loss -1164.25
Total Net Profit -628.46
-100%
-50%
0%
50%
100%
GBP/USD Oct 2024 - Jan 2025
0.38
Total Trades 184
Won Trades 97
Lost trades 87
Win Rate 52.72 %
Expected payoff -8.02
Gross Profit 892.40
Gross Loss -2368.30
Total Net Profit -1475.90
-100%
-50%
0%
50%
100%
GBP/CAD Oct 2024 - Jan 2025
0.61
Total Trades 157
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff -2.68
Gross Profit 645.76
Gross Loss -1065.80
Total Net Profit -420.04
-100%
-50%
0%
50%
100%
AUD/USD Oct 2024 - Jan 2025
0.54
Total Trades 197
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff -3.71
Gross Profit 855.60
Gross Loss -1587.20
Total Net Profit -731.60
-100%
-50%
0%
50%
100%

Comments