_FT_Fractal_MA





//+------------------------------------------------------------------+
//|                                                FT_Fractal_MA.mq4 |
//|                            FORTRADER.RU, Þðèé, ftyuriy@gmail.com |
//|                          http://FORTRADER.RU, Ôðàêòàëû + Ñðåäíèå |
//+------------------------------------------------------------------+
#property copyright "FORTRADER.RU, Þðèé, ftyuriy@gmail.com"
#property link      "http://FORTRADER.RU, Ôðàêòàëû + Ñðåäíèå"

/*Ðàçðàáîòàíî äëÿ 49 âûïóñêà æóðíàëà FORTRADER.Ru. Ñèñòåìà ïî ôðàêòàëàì è ñðåäíåé. 
Îò÷åòû: http://finfile.ru/index.php/files/get/6qQW8tgENy/fracralma1.zip , http://finfile.ru/index.php/files/get/_glRYiHkQi/fracralma2.zip
Ñåò ôàéëû: http://finfile.ru/index.php/files/get/k2w2e92iCI/eurusd1h.zip
Îáñóæäåíèå: http://fxnow.ru/group_discussion_view.php?group_id=49&grouptopic_id=266&grouppost_id=2667#post_2667
Àðõèâ æóðíàëà: http://www.fortrader.ru/arhiv.php
49 âûïóñê: http://www.fortrader.ru/
*/

extern int lwmaper1=4;
extern int lwmaper2=8;

extern int lwmapertrend=40;
extern int lwmatrendchart=1;

extern int SL=150;
extern int TP=150;

extern int mn=1;

int err;

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

extern int maxpos=1;

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

int okbuy,oksell;

int OpenPattern()
  {
  double op,sl,tp;
  
  double upf=iFractals(NULL, 0, MODE_UPPER, 3);
  double dwf=iFractals(NULL, 0, MODE_LOWER, 3);
  
  double lwma1=iMA(NULL,0,lwmaper1,0,MODE_LWMA,PRICE_CLOSE,1);
  double lwma2=iMA(NULL,0,lwmaper2,0,MODE_LWMA,PRICE_CLOSE,1);
  double lwma1Last=iMA(NULL,0,lwmaper1,0,MODE_LWMA,PRICE_CLOSE,2);
  double lwma2Last=iMA(NULL,0,lwmaper2,0,MODE_LWMA,PRICE_CLOSE,2);
  double lwmatrend=iMA(NULL,GetPeriod(lwmatrendchart),lwmapertrend,0,MODE_LWMA,PRICE_CLOSE,1);
  double lwmatrendLast=iMA(NULL,0,GetPeriod(lwmatrendchart),0,MODE_LWMA,PRICE_CLOSE,2);
  
  if(upf!=0){oksell=1;okbuy=0;}
  if(dwf!=0){okbuy=1;oksell=0;}
  
  if(oksell==1 && lwma1<lwma2 && lwma1Last>lwma2Last && CountPos(0)<maxpos && lwmatrend>lwmatrendLast)
  {
   op=Bid;if(SL>0){sl=Bid+SL*Point*mn;}if(TP>0){tp=Bid-TP*Point*mn;}
   err=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(op,Digits),3,NormalizeDouble(sl,Digits),NormalizeDouble(tp,Digits),"4 FORTRADER.RU",MG,0,Red);
   if(err<0){Print("OrderSend()-  Îøèáêà OP_SELL.  op "+op+" sl "+sl+" tp "+tp+" "+GetLastError());return(-1);}
   oksell=0;
  }
  
  if(okbuy==1 && lwma1>lwma2 && lwma1Last<lwma2Last && CountPos(1)<maxpos && lwmatrend<lwmatrendLast)
  {
   op=Ask;if(SL>0){sl=Ask-SL*Point*mn;}if(TP>0){tp=Ask+TP*Point*mn;}
   err=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(op,Digits),3,NormalizeDouble(sl,Digits),NormalizeDouble(tp,Digits),"6 FORTRADER.RU",MG,0,Red);
   if(err<0){Print("OrderSend()-  Îøèáêà OP_BUY.  op "+op+" sl "+sl+" tp "+tp+" "+GetLastError());return(-1);}
   okbuy=0;
  }
  
 return(err);
 }
  
//Ïðîâåðÿåì êîëè÷åñâòî ïîçèöèé.
int CountPos(int type) 
{//Îïèñàíèå http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=66

int i;
int col;
int count=0 ;
for( i=0; i<=OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && type==1 && OrderMagicNumber()==MG){count++;}
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && type==0 && OrderMagicNumber()==MG){count++;}
}
} 
return(count);
}

int GetPeriod(int GrafOpen)
{int GrafOpenT;
 switch(GrafOpen)
  {
   case 1: GrafOpenT=1;break;
   case 2: GrafOpenT=5;break;
   case 3: GrafOpenT=15;break;
   case 4: GrafOpenT=30;break;
   case 5: GrafOpenT=60;break;
   case 6: GrafOpenT=240;break;
   case 7: GrafOpenT=1440;break;
   default: GrafOpenT=1;break;
  }
return(GrafOpenT);
}



Sample





Analysis



Market Information Used:



Indicator Curves created:


Indicators Used:

Fractals
Moving average indicator


Custom Indicators Used:

Order Management characteristics:
It automatically opens orders when conditions are reached
Checks for the total of open orders


Other Features:

BackTest : EURUSD on H1

From 2009-11-01 to 2009-11-30 Profit Factor:0.80 Total Net Profit:-1.50

BackTest : USDJPY on H1

From 2009-11-01 to 2009-11-30 Profit Factor:0.43 Total Net Profit:-20.19

BackTest : EURUSD on H1

From 2009-12-01 to 2010-01-17 Profit Factor:0.58 Total Net Profit:-14.99

BackTest : USDCAD on H1

From 2009-12-01 to 2010-01-01 Profit Factor:0.50 Total Net Profit:-14.29

BackTest : EURUSD on H1

From 2009-08-01 to 2009-10-01 Profit Factor:0.80 Total Net Profit:-10.51

BackTest : GBPUSD on H1

From 2010-01-01 to 2010-02-27 Profit Factor:0.33 Total Net Profit:-42.00

BackTest : USDCAD on H1

From 2009-01-01 to 2010-01-01 Profit Factor:0.24 Total Net Profit:-283.42

BackTest : EURUSD on H1

From 2010-03-01 to 2010-03-27 Profit Factor:0.50 Total Net Profit:-6.01

BackTest : GBPUSD on H1

From 2010-01-01 to 2010-04-16 Profit Factor:0.00 Total Net Profit:0.00

BackTest : EURUSD on H1

From 2010-04-01 to 2010-04-30 Profit Factor:0.83 Total Net Profit:-1.50

BackTest : EURUSD on H1

From 2010-05-01 to 2010-05-31 Profit Factor:0.67 Total Net Profit:-7.51

BackTest : EURUSD on H1

From 2010-06-01 to 2010-06-30 Profit Factor:1.80 Total Net Profit:6.00

Request Backtest for _FT_Fractal_MA


From : (yyyy/mm/dd) To: (yyyy/mm/dd)

Pair: Period: