Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reached
0 Views
0 Downloads
0 Favorites

Profitability Reports

AUD/USD Oct 2024 - Jan 2025
0.00 %
Total Trades 0
Won Trades 0
Lost trades 0
Win Rate 0.0 %
Expected payoff 0.00
Gross Profit 0.00
Gross Loss 0.00
Total Net Profit 0.00
-100%
-50%
0%
50%
100%
GBP/USD Oct 2024 - Jan 2025
0.00 %
Total Trades 0
Won Trades 0
Lost trades 0
Win Rate 0.0 %
Expected payoff 0.00
Gross Profit 0.00
Gross Loss 0.00
Total Net Profit 0.00
-100%
-50%
0%
50%
100%
NZD/USD Oct 2024 - Jan 2025
0.00 %
Total Trades 0
Won Trades 0
Lost trades 0
Win Rate 0.0 %
Expected payoff 0.00
Gross Profit 0.00
Gross Loss 0.00
Total Net Profit 0.00
-100%
-50%
0%
50%
100%
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);
  }
}

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---