FT_BollingerBands+RSI+SAR

Author: FORTRADER.RU, ����, ftyuriy@gmail.com
Profit factor:
0.64
Orders Execution
It automatically opens orders when conditions are reachedChecks for the total of open ordersIt can change open orders parameters, due to possible stepping strategy
Indicators Used
Relative strength indexFractalsParabolic Stop and Reverse system
11 Views
0 Downloads
0 Favorites
FT_BollingerBands+RSI+SAR
//+------------------------------------------------------------------+
//|                                    FT_BollingerBands+RSI+SAR.mq4 |
//|                            FORTRADER.RU, Þðèé, ftyuriy@gmail.com |
//|   http://FORTRADER.RU, òîðãîâëÿ ïî áîëëåíäæåðó, ïàðàáîëèêó è RSI |
//+------------------------------------------------------------------+
/*Ðàçðàáîòàíî äëÿ 51 âûïóñêà æóðíàëà FORTRADER.Ru. 
Îò÷åòû: http://finfile.ru/index.php/files/get/ZpUthihnKs/test2100809.rar
Ñåò ôàéëû: http://finfile.ru/index.php/files/get/0BF1iPGVQJ/eurusd4h.set
Îáñóæäåíèå: http://fxnow.ru/group_discussion_view.php?group_id=49&grouptopic_id=409&grouppost_id=3439#post_3439
Àðõèâ æóðíàëà: http://www.fortrader.ru/arhiv.php
51 âûïóñê: http://www.fortrader.ru/
*/

#property copyright "FORTRADER.RU, Þðèé, ftyuriy@gmail.com"
#property link      "http://FORTRADER.RU, òîðãîâëÿ ïî áîëëåíäæåðó, ïàðàáîëèêó è RSI"

double upfractal;
double dwfractal;

int bars;
int start()
  {
  if(Bars!=bars)
  {bars=Bars;
  Pattern();
  SarTrailingStop();
  }
   return(0);
  }

extern int rsiperiod=8;
extern int bbperiod=14;
extern int bbotcl=1;
extern int SL=50;
extern int TP=135;
int err;

extern int MG=564651;
extern double Lots=0.1;

extern int mn=10;
extern int otstup=105;
extern int rsiup=30;
extern int rsidw=70;

int okbuy,oksell;
 int Pattern()
 {
   double op,sl,tp;
   double rsi[101]; 
   double irsi;  
   double fractal;
   ArraySetAsSeries(rsi,true);
   for(int i=100; i>=0; i--)  
   {
   rsi[i]=iRSI(NULL,0,rsiperiod,PRICE_CLOSE,i);
   if(i==1){irsi=rsi[i];}
   }
   
   double bbup=iBandsOnArray(rsi,0,bbperiod,bbotcl,0,MODE_UPPER,1);
   double bblow=iBandsOnArray(rsi,0,bbperiod,bbotcl,0,MODE_LOWER,1); 
   
   fractal=iFractals(NULL, 0, MODE_UPPER, 3);
   if(fractal!=0)  upfractal=iFractals(NULL, 0, MODE_UPPER, 3); 
   fractal=iFractals(NULL, 0, MODE_LOWER, 3);
   if(fractal!=0)  dwfractal=iFractals(NULL, 0, MODE_LOWER, 3); 
   
   if(irsi>bbup && Close[1]<upfractal && okbuy==0) {
   op=upfractal+otstup*Point*mn;if(SL>0){sl=op-SL*Point*mn;}if(TP>0){tp=op+TP*Point*mn;}
   err=OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(op,Digits),3,NormalizeDouble(sl,Digits),NormalizeDouble(tp,Digits),"FT_BollingerBands",MG,0,Red);
   if(err<0){Print("OrderSend()-  Îøèáêà OP_BUYSTOP.  op "+op+" sl "+sl+" tp "+tp+" "+GetLastError());return(-1);}
   okbuy=1;
   }
   
   if(irsi<rsiup){
   _DeleteOrder(1);
   okbuy=0;
   }
   
   /*Ïðîäàæè*/
   
   if(irsi<bblow && Close[1]>dwfractal && oksell==0 ) {
   op=dwfractal-otstup*Point*mn;if(SL>0){sl=op+SL*Point*mn;}if(TP>0){tp=op-TP*Point*mn;}
   err=OrderSend(Symbol(),OP_SELLSTOP,Lots,NormalizeDouble(op,Digits),3,NormalizeDouble(sl,Digits),NormalizeDouble(tp,Digits),"FT_BollingerBands",MG,0,Red);
   if(err<0){Print("OrderSend()-  Îøèáêà OP_SELL.  op "+op+" sl "+sl+" tp "+tp+" "+GetLastError());return(-1);}
   oksell=1;
   }
   
   if(irsi>rsidw){
   _DeleteOrder(0);
   oksell=0;
   }
   
 //  Print("bbup "+bbup+" dwfractal "+dwfractal+" upfractal "+upfractal);
  
 
 return(0);
 }

//óäàëÿåò îòëîæåííûå ñòîï îðäåðà
int _DeleteOrder(int type)
{
   for( int i=1; i<=OrdersTotal(); i++)          
   {
    if(OrderSelect(i-1,SELECT_BY_POS)==true) 
    {                                       
     if(OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol() && type==0 && OrderMagicNumber()==MG)
     {
      OrderDelete(OrderTicket()); 
     }//if
  
    if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol() && type==1 && OrderMagicNumber()==MG)
     {
      OrderDelete(OrderTicket()); 
     }//if
    }//if
   }
   return(0);
}

//Òðåéäèíã ñòîï ïî ïàðàáîëèêó
extern double SARstep=0.003;
extern double SARmax=0.2;
extern int SarTrailingStop=1;
extern int TrailingStep=5;

int  SarTrailingStop()
{int i;bool err;

double sar=iSAR(NULL,0,SARstep,SARmax,1);

   for( i=1; i<=OrdersTotal(); i++)        
   {
      if(OrderSelect(i-1,SELECT_BY_POS)==true)
       {  
        if(SarTrailingStop>0 && OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==MG)  
        {                
         if(sar>OrderStopLoss())
          {
           if((sar-OrderStopLoss())>=TrailingStep*Point*mn && (Ask-sar)>MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
           {
            Print("ÒÐÅÉËÈÌ");
            err=OrderModify(OrderTicket(),OrderOpenPrice(),sar,OrderTakeProfit(),0,Green);
            if(err==false){return(-1);}
           }//if(Bid>=OrderStopLoss()
          }//if(Bid-OrderOpenPrice()
         }//if(BBUSize>0
        }//if(OrderSelect(i
           
       if(OrderSelect(i-1,SELECT_BY_POS)==true)
       {
        if(SarTrailingStop>0 && OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MG)  
        {        
         if(OrderStopLoss()>sar)
          {
           if((OrderStopLoss()-sar)>TrailingStep*Point*mn && (sar-Ask)>MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
           {
            Print("ÒÐÅÉËÈÌ");
            err=OrderModify(OrderTicket(),OrderOpenPrice(),sar,OrderTakeProfit(),0,Green);
            if(err==false){return(-1);}
           }//if(Ask<=OrderStopLoss()
          }//if(OrderOpenPrice()
         }//if(BBUSize>0 
       }// if(OrderSelect
    }// for( i=1;
return(0);
}

Profitability Reports

USD/JPY Jul 2025 - Sep 2025
0.37
Total Trades 13
Won Trades 2
Lost trades 11
Win Rate 15.38 %
Expected payoff -17.12
Gross Profit 131.37
Gross Loss -353.88
Total Net Profit -222.51
-100%
-50%
0%
50%
100%
USD/CHF Jul 2025 - Sep 2025
0.00
Total Trades 4
Won Trades 0
Lost trades 4
Win Rate 0.00 %
Expected payoff -33.52
Gross Profit 0.00
Gross Loss -134.06
Total Net Profit -134.06
-100%
-50%
0%
50%
100%
USD/CAD Jul 2025 - Sep 2025
0.61
Total Trades 4
Won Trades 1
Lost trades 3
Win Rate 25.00 %
Expected payoff -5.48
Gross Profit 34.15
Gross Loss -56.07
Total Net Profit -21.92
-100%
-50%
0%
50%
100%
NZD/USD Jul 2025 - Sep 2025
0.12
Total Trades 3
Won Trades 1
Lost trades 2
Win Rate 33.33 %
Expected payoff -5.57
Gross Profit 2.20
Gross Loss -18.90
Total Net Profit -16.70
-100%
-50%
0%
50%
100%
GBP/USD Jul 2025 - Sep 2025
1.30
Total Trades 9
Won Trades 4
Lost trades 5
Win Rate 44.44 %
Expected payoff 5.52
Gross Profit 214.10
Gross Loss -164.40
Total Net Profit 49.70
-100%
-50%
0%
50%
100%
GBP/CAD Jul 2025 - Sep 2025
1.27
Total Trades 7
Won Trades 3
Lost trades 4
Win Rate 42.86 %
Expected payoff 4.52
Gross Profit 149.85
Gross Loss -118.18
Total Net Profit 31.67
-100%
-50%
0%
50%
100%
GBP/AUD Jul 2025 - Sep 2025
0.05
Total Trades 11
Won Trades 2
Lost trades 9
Win Rate 18.18 %
Expected payoff -23.35
Gross Profit 14.38
Gross Loss -271.22
Total Net Profit -256.84
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
0.00
Total Trades 1
Won Trades 0
Lost trades 1
Win Rate 0.00 %
Expected payoff -3.10
Gross Profit 0.00
Gross Loss -3.10
Total Net Profit -3.10
-100%
-50%
0%
50%
100%
USD/JPY Jan 2025 - Jul 2025
0.80
Total Trades 37
Won Trades 8
Lost trades 29
Win Rate 21.62 %
Expected payoff -4.99
Gross Profit 734.58
Gross Loss -919.26
Total Net Profit -184.68
-100%
-50%
0%
50%
100%
USD/CHF Jan 2025 - Jul 2025
0.95
Total Trades 17
Won Trades 5
Lost trades 12
Win Rate 29.41 %
Expected payoff -1.14
Gross Profit 376.78
Gross Loss -396.17
Total Net Profit -19.39
-100%
-50%
0%
50%
100%

Comments