e-Proboy





/*[[
Name := Òîðãîâëÿ íà ïðîðûâ
Author := 1
Link := 
Lots := 1.00
Stop Loss := 20
Take Profit := 35
Trailing Stop := 0
]]*/
#define MAGIC 20050830

extern double Lots = 0.1;
extern int    StopLoss = 20;
extern int    TakeProfit = 35;
extern int    risk = 20;// risk - ïðîöåíò èñïîëüçóåìîãî êàïèòàëà. Åñëè = 0 òî íå èñïîëüçóåòñÿ
extern int    HL = 85;// HL - ðàçíèöà ìåæäó ýêñòðåìàëüíûìè öåíàìè,
extern int    N = 9;// N - ïåðèîä
extern int    Zapas = 5;		// Zapas - çàïàñ â âûñòàâëåíèè îòëîæåííîãî îðäåðà

//,,,ho(0),i(0),,
bool   initialize=True, fl=False;
double lotsi, ho, lo;
int    b, s, i, iTmp=0;

void start() {
  if (risk==0) lotsi=Lots; else lotsi=MathCeil(AccountBalance()*risk/10000)/10;

  // Ïðîöåäóðà èíèöèàëèçàöèè (äëÿ óäàëåíèÿ ñëó÷àéíî îñòàâøåãîñÿ îòëîæåííîãî îðäåðà) 
  if (initialize) {						// íåîáõîäèìà èíèöèàëèçàöèÿ?
  	Comment ("Ïðîöåññ èíèöèàëèçàöèè - ...");
	  if (OrdersTotal()==0) {					// Åñëè íåò îðäåðîâ - "íå âðåìÿ ñåé÷àñ èíèöàëèçèðîâàòü, âîò êîí÷èòñÿ âîéíà..."
  		initialize = False;
  		fl=False;
  		Comment ("Ïðîöåññ èíèöèàëèçàöèè - çàêîí÷åí óñïåøíî (íå÷åãî óäàëÿòü");
		  return;
  	}
	
  	iTmp=0;									// Îáíóëÿåì ñ÷åò÷èê îòëîæåííûõ îðäåðîâ
  	for (i=0; i<OrdersTotal(); i++) { // Ñ÷èòàåì êîë-âî îæèäàþùèõ îðäåðîâ
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
        if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {
		    	if (OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP) iTmp++;
		    }
		  }
		}
  	Comment ("Ïðîöåññ èíèöèàëèçàöèè - âñåãî îòëîæåííûõ îðäåðîâ ", iTmp);
		
  	if (iTmp==0 || iTmp==2) {				// Åñëè îòëîæåííûõ îðäåðîâ íåò (èëè äâà)
  		initialize=0;						// áîëüøå íå ïûòàåìñÿ èíèöèàëèðîâàòüñÿ - ïóñòü òåïåðü ðàáîòàåò ñîâåòíèê
  		fl=0;
	  	Comment ("Ïðîöåññ èíèöèàëèçàöèè - çàêîí÷åí óñïåøíî (îòëîæåííûõ îðäåðîâ - ",iTmp,")");
  		return;								// è âûõîäèì
  	} 

  	for (i=0; i<OrdersTotal(); i++) {	//óäàëÿåì îñòàâøåéñÿ îòëîæåííûé îðäåð
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
        if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {
    			if (OrderType()==OP_SELLSTOP || OrderType()==OP_BUYSTOP) {
      			OrderDelete(OrderTicket());
      			Comment ("Ïðîöåññ èíèöèàëèçàöèè - ïûòàþñü óäàëèòü îðäåð ",OrderTicket());
      		}
      	}
			}
		}
		return;								// âûõîäèì (äîëáàííûé 10 ñåê. òàéìàóò âñå ðàâíî íå äàñò óäàëèòü åùå îäèí îðäåð)
  }

  // Åñëè âûñòàâëåí ïðèêàç íà ïîêóïêó, òî òóò æå âûñòàâëÿòü ïðèêàç íà ïðîäàæó	
  if (fl==1)	{
  	fl=0;
    OrderSend(Symbol(),OP_SELLSTOP,lotsi,lo-Zapas*Point,3,lo+StopLoss*Point,lo-TakeProfit*Point,"",MAGIC,0,Red);
	}

  //Îáíóëÿåì êîë-âî îæèäàþùèõ ïðèêàçîâ	
  b=0;
  s=0;

  if (OrdersTotal()!=0) {
  	for (i=0; i<OrdersTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
        if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {
    			if (OrderType()==OP_BUYSTOP) b++;  //Ñ÷èòàåì êîë-âî ïðèêàçîâ íà ïîêóïêó
    			if (OrderType()==OP_SELLSTOP) s++; // Ñ÷èòàåì êîë-âî ïðèêàçîâ íà ïðîäàæó
    			if (s+b==2) return;							  // Åñëè âñåãî 2, òî âûõîäèì.
    		}
    	}
		}
	}
	
	// Åñëè îñòàëñÿ îäèí îæèäàþùèé ïðèêàç íà ïîêóïêó/ïðîäàæó - óäàëÿåì åãî.
	if (OrdersTotal()!=0 && b+s==1)	{
		for (i=0; i<OrdersTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
        if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {
    			if (OrderType()==OP_SELLSTOP || OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket());
    		}
    	}
		}
		return;
	}
		
  // Åñëè íåò íè ãîòîâûõ, íè îæèäàþùèõ ïðèêàçîâ, òî íàõîäèì ìèíèìóì è ìàêñèìóì çà ïîñëåäíèå n áàðîâ
  if (OrdersTotal()==0 && b+s==0) {
  	ho=High[1];
	  lo=Low[1];
  	for (i=N; i>=1; i--) {
  		if (High[i]>ho) ho=High[i];
	  	if (Low[i]<lo) lo=Low[i];
	  }
	}
        
  if (OrdersTotal()==0 && b+s==0 && ho-lo<HL*Point)	{
  	fl=1;
    OrderSend(Symbol(),OP_BUYSTOP,lotsi,ho+Zapas*Point,3,ho-StopLoss*Point,ho+TakeProfit*Point,"",MAGIC,0,Blue);
  }
}



Sample





Analysis



Market Information Used:

Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar


Indicator Curves created:


Indicators Used:



Custom Indicators Used:

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

Other Features:


BackTest : USDJPY on H1

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

BackTest : USDCHF on H1

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

BackTest : EURUSD on H1

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

BackTest : USDCAD on H1

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

BackTest : EURUSD on H1

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

BackTest : GBPUSD on H1

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

BackTest : EURUSD on H1

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

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

Request Backtest for e-Proboy


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

Pair: Period: