canal-m_a_sim-v2





//+------------------------------------------------------------------+
//|                                             canal-m_a_sim-v2.mq4 |
//|                                  m_a_sim@mail.ru - Ñèìàêîâ Ìèõàèë|
//|                             http://www.mql4.com/ru/users/m_a_sim |
//+------------------------------------------------------------------+

#property copyright "m_a_sim@mail.ru - Ñèìàêîâ Ìèõàèë"
#property link      "http://www.mql4.com/ru/users/m_a_sim"


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
extern int period =200;
extern int period1 =6;
extern int period2 =6;
extern int stopmax=200;
extern int stopmin=100;
extern int Hours=72;
extern int Hours1=72;
extern double lot=0.1;
extern int magicBUY=101;
extern int magicSELL=201;
extern int magicBUY1=102;
extern int magicSELL1=202;
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int bar;
double MAX,MIN,H,A0,A1,A2;
int start()
  {
//----
      int   i, j,jj, k, g, q, ticket,l;
    double stop;
if (bar!=Bars ){
MAX=iCustom(NULL,0,"trend_v3_5",period,1,1);
MIN=iCustom(NULL,0,"trend_v3_5",period,2,1);
H=(MAX-MIN)/2;
A0=iCustom(NULL,0,"trend_v3",period1,0,1);
A2=iCustom(NULL,0,"trend_v3",period1,0,2);
A1=iCustom(NULL,0,"trend_v2",period2,0,1);
bar=Bars;
}

//BUY=====================================

jj=0;
 if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++){
 OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
 if(OrderMagicNumber()==magicBUY){jj=1;}
 }}


if (jj==0 ){
if (A0<MIN && A1>=0){
stop=H;
if (H>stopmax*Point){stop=stopmax*Point;}
if (H<stopmin*Point){stop=stopmin*Point;}
ticket=OrderSend(Symbol(),OP_BUY ,lot,NormalizeDouble(Ask, Digits),5,Bid-stop,0," ",magicBUY,0, Blue );
}}
  
  if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
       if(OrderMagicNumber()==magicBUY){
      if ( Time[0]-OrderOpenTime()>Hours*60*60 ) {
      if (OrderOpenPrice()<Bid ){OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid, Digits),5,Violet); }
    }}}}
  
   
 jj=0;
 if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++){
 OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
 if(OrderMagicNumber()==magicBUY1){jj=1;}
 }}


if (jj==0 ){
if (A0>MAX && A2<=MAX){
stop=H;
if (H>stopmax*Point){stop=stopmax*Point;}
if (H<stopmin*Point){stop=stopmin*Point;}
ticket=OrderSend(Symbol(),OP_BUY ,lot,NormalizeDouble(Ask, Digits),5,Bid-stop,0," ",magicBUY1,0, Blue );
}}

if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
       if(OrderMagicNumber()==magicBUY1){
      if ( Time[0]-OrderOpenTime()>Hours1*60*60 ) {
      if (OrderOpenPrice()<Bid ){OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid, Digits),5,Violet); }
    }}}}    
//SELL================================

jj=0;
 if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++){
 OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
 if(OrderMagicNumber()==magicSELL){jj=1;}
 }}


if (jj==0 ){
if (A0>MAX && A1<=0){
stop=H;
if (H>stopmax*Point){stop=stopmax*Point;}
if (H<stopmin*Point){stop=stopmin*Point;}
ticket=OrderSend(Symbol(),OP_SELL ,lot,NormalizeDouble(Bid, Digits),5,Ask+stop,0," ",magicSELL,0, Blue );
}}

if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
       if(OrderMagicNumber()==magicSELL){
      if ( Time[0]-OrderOpenTime()>Hours*60*60  ) {
      if (OrderOpenPrice()>Ask ){OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask, Digits),5,Violet); }
    }}}}
//----
jj=0;
 if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++){
 OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
 if(OrderMagicNumber()==magicSELL1){jj=1;}
 }}


if (jj==0 ){
if (A0<MIN && A2>=MIN){
stop=H;
if (H>stopmax*Point){stop=stopmax*Point;}
if (H<stopmin*Point){stop=stopmin*Point;}
ticket=OrderSend(Symbol(),OP_SELL ,lot,NormalizeDouble(Bid, Digits),5,Ask+stop,0," ",magicSELL1,0, Blue );
}}
   if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
       if(OrderMagicNumber()==magicSELL1){
      if ( Time[0]-OrderOpenTime()>Hours1*60*60  ) {
      if (OrderOpenPrice()>Ask ){OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask, Digits),5,Violet); }
    }}}}
   return(0);
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:

Series array that contains open time of each bar


Indicator Curves created:


Indicators Used:




Custom Indicators Used:
trend_v3_5
trend_v3
trend_v2

Order Management characteristics:
Checks for the total of open orders

It automatically opens orders when conditions are reached
It Closes Orders by itself

Other Features:

BackTest : EURUSD on H1

From 2009-08-01 to 2009-10-01 Profit Factor:1.42 Total Net Profit:474.56

BackTest : EURUSD on H1

From 2009-12-01 to 2010-01-17 Profit Factor:0.68 Total Net Profit:-372.16

BackTest : EURUSD on H1

From 2010-03-01 to 2010-03-27 Profit Factor:0.87 Total Net Profit:-97.99

BackTest : EURUSD on H1

From 2010-04-01 to 2010-04-30 Profit Factor:0.75 Total Net Profit:-213.36

BackTest : EURUSD on H1

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

BackTest : EURUSD on H1

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

BackTest : GBPUSD on H1

From 2010-01-01 to 2010-02-27 Profit Factor:0.52 Total Net Profit:-884.75

BackTest : GBPUSD on H1

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

BackTest : USDCAD on H1

From 2009-01-01 to 2010-01-01 Profit Factor:0.85 Total Net Profit:-1451.59

BackTest : USDCAD on H1

From 2009-12-01 to 2010-01-01 Profit Factor:0.66 Total Net Profit:-214.69

BackTest : USDCHF on H1

From 2009-12-01 to 2010-01-01 Profit Factor:1.71 Total Net Profit:272.36

BackTest : USDJPY on H1

From 2009-11-01 to 2009-11-30 Profit Factor:0.48 Total Net Profit:-322.67

Request Backtest for canal-m_a_sim-v2


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

Pair: Period: