Author: mandorr@gmail.com
Profit factor:
0.47
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself It automatically opens orders when conditions are reached
9 Views
0 Downloads
0 Favorites
Hedge Hog
// Hedge Hog.mq4
// Ñîâåòíèê

/*
 íà÷àëå ÷àñà StartHour îòêðûâàþòñÿ 1 îðäåð BUY è 1 îðäåð SELL
ExpirationDays: âðåìÿ æèçíè îðäåðà â äíÿõ
TimeZoneOfData: âðåìÿ äèëåðà ìèíóñ âðåìÿ ïî Ãðèíâè÷ó (äëÿ Alpari = 1, äëÿ FXTeam = 2, äëÿ FIBO = 1, äëÿ LiteForex = 1)
*/

#property copyright   "mandorr@gmail.com"

extern int StartHour=0;
extern int TimeZone=1;
extern int OrderExpirationDays=2;
extern int TakeProfit=14;
extern int StopLoss=0;
extern double Lots=0.1;

int set_buy=0;
int set_sell=0;

void start()
   {
   if (Bars<100 || IsTradeAllowed()==false) return;
   if (TimeZone<-23 || TimeZone>23) return;
   TestOrderExpirationDays();
   int hour=Hour()-TimeZone;
   if (hour==StartHour)
      {
      if (set_buy ==0 && TotalBuy ()==0) { if (OpenBuy ()>0) {set_buy =1; return;} }
      if (set_sell==0 && TotalSell()==0) { if (OpenSell()>0) {set_sell=1; return;} }
      }
   else
      {
      set_buy=0;
      set_sell=0;
      }
   }

void TestOrderExpirationDays()
   {
   int set_double_buy =0;
   int set_double_sell=0;
   int ticket, slippage;
   double loss, profit;
   for (int i=OrdersTotal()-1; i>=0; i--)
      {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderType()!=OP_BUY && OrderType()!=OP_SELL) continue;
      if (CurTime()-OrderOpenTime()<86400*OrderExpirationDays) continue;
         {
         if (OrderType()==OP_BUY )
            { if (OrderClose(OrderTicket(),OrderLots(),Bid,slippage)) set_double_buy =1; }
         if (OrderType()==OP_SELL)
            { if (OrderClose(OrderTicket(),OrderLots(),Ask,slippage)) set_double_sell=1; }
         }
      }
   if (set_double_buy>0)
      {
      slippage=2;
      loss=0; if (StopLoss>0) loss=Ask-StopLoss*Point;
      profit=0; if (TakeProfit>0) profit=Ask+TakeProfit*Point;
      ticket=OrderSend(Symbol(),OP_BUY,10*Lots,Ask,slippage,loss,profit,"",0,0);
      if (ticket>0) set_buy=0;
      else Print("Open a order failed with error #",GetLastError());
      }
   if (set_double_sell>0)
      {
      slippage=2;
      loss=0; if (StopLoss>0) loss=Bid+StopLoss*Point;
      profit=0; if (TakeProfit>0) profit=Bid-TakeProfit*Point;
      ticket=OrderSend(Symbol(),OP_SELL,10*Lots,Bid,slippage,loss,profit,"",0,0);
      if (ticket>0) set_sell=0;
      else Print("Open a order failed with error #",GetLastError());
      }
   }

int OpenBuy()
   {
   int slippage=2;
   double loss=0; if (StopLoss>0) loss=Ask-StopLoss*Point;
   double profit=0; if (TakeProfit>0) profit=Ask+TakeProfit*Point;
   int ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,slippage,loss,profit,"",0,0);
   if (ticket==0) Print("Open a order failed with error #",GetLastError());
   return (ticket);
   }

int OpenSell()
   {
   int slippage=2;
   double loss=0; if (StopLoss>0) loss=Bid+StopLoss*Point;
   double profit=0; if (TakeProfit>0) profit=Bid-TakeProfit*Point;
   int ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,slippage,loss,profit,"",0,0);
   if (ticket==0) Print("Open a order failed with error #",GetLastError());
   return (ticket);
   }

int TotalBuy()
   {
   int count=0;
   for (int i=0; i<OrdersTotal(); i++)
      {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if (OrderSymbol()==Symbol() && OrderType()==OP_BUY) count++;
      }
   return (count);
   }

int TotalSell()
   {
   int count=0;
   for (int i=0; i<OrdersTotal(); i++)
      {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if (OrderSymbol()==Symbol() && OrderType()==OP_SELL) count++;
      }
   return (count);
   }

Profitability Reports

USD/CAD Jul 2025 - Sep 2025
0.33
Total Trades 111
Won Trades 104
Lost trades 7
Win Rate 93.69 %
Expected payoff -2.95
Gross Profit 160.97
Gross Loss -488.30
Total Net Profit -327.33
-100%
-50%
0%
50%
100%
NZD/USD Jul 2025 - Sep 2025
0.87
Total Trades 117
Won Trades 112
Lost trades 5
Win Rate 95.73 %
Expected payoff -0.26
Gross Profit 207.20
Gross Loss -237.40
Total Net Profit -30.20
-100%
-50%
0%
50%
100%
GBP/USD Jul 2025 - Sep 2025
0.65
Total Trades 115
Won Trades 112
Lost trades 3
Win Rate 97.39 %
Expected payoff -0.84
Gross Profit 182.00
Gross Loss -279.00
Total Net Profit -97.00
-100%
-50%
0%
50%
100%
GBP/CAD Jul 2025 - Sep 2025
0.04
Total Trades 96
Won Trades 76
Lost trades 20
Win Rate 79.17 %
Expected payoff -52.73
Gross Profit 192.96
Gross Loss -5255.47
Total Net Profit -5062.51
-100%
-50%
0%
50%
100%
GBP/AUD Jul 2025 - Sep 2025
0.52
Total Trades 113
Won Trades 107
Lost trades 6
Win Rate 94.69 %
Expected payoff -1.18
Gross Profit 146.70
Gross Loss -279.67
Total Net Profit -132.97
-100%
-50%
0%
50%
100%
EUR/USD Jul 2025 - Sep 2025
0.85
Total Trades 116
Won Trades 112
Lost trades 4
Win Rate 96.55 %
Expected payoff -0.31
Gross Profit 207.20
Gross Loss -243.70
Total Net Profit -36.50
-100%
-50%
0%
50%
100%
AUD/USD Jul 2025 - Sep 2025
0.42
Total Trades 110
Won Trades 101
Lost trades 9
Win Rate 91.82 %
Expected payoff -3.00
Gross Profit 242.20
Gross Loss -572.20
Total Net Profit -330.00
-100%
-50%
0%
50%
100%
USD/CAD Oct 2024 - Jan 2025
0.30
Total Trades 127
Won Trades 119
Lost trades 8
Win Rate 93.70 %
Expected payoff -3.14
Gross Profit 173.08
Gross Loss -571.63
Total Net Profit -398.55
-100%
-50%
0%
50%
100%
NZD/USD Oct 2024 - Jan 2025
0.67
Total Trades 128
Won Trades 119
Lost trades 9
Win Rate 92.97 %
Expected payoff -1.02
Gross Profit 267.40
Gross Loss -397.50
Total Net Profit -130.10
-100%
-50%
0%
50%
100%
GBP/USD Oct 2024 - Jan 2025
0.21
Total Trades 127
Won Trades 117
Lost trades 10
Win Rate 92.13 %
Expected payoff -7.75
Gross Profit 264.60
Gross Loss -1249.30
Total Net Profit -984.70
-100%
-50%
0%
50%
100%

Comments