Morning Break Out

Author: Akhmad
Profit factor:
0.00
Orders Execution
It automatically opens orders when conditions are reached
1 Views
0 Downloads
0 Favorites
Morning Break Out
//+------------------------------------------------------------------+
//|                                            Morning Break Out.mq4 |
//|                                                           Akhmad |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Akhmad"
#property link      ""
extern int StartTime;
extern int EndTime;

extern double    TakeProfit=5;
extern double    StopLoss = 25;
extern double    Lots=1;

int RunningTime;
double BidPrice, HighPrice, LowPrice;
bool TakeData = false, FlagFirst = true, FlagOrder = false;
string StartString, EndString;

int BuyStop, SellStop;
double MyAskPrice, MyBidPrice;

double StopLevel, DiffAsk, DiffBid;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   StartString = "00:00";
   EndString = "07:59";
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   StartTime = StrToTime(StartString);
   EndTime = StrToTime(EndString);
   
   RunningTime = TimeCurrent();
   
   if (RunningTime >= StartTime && RunningTime <= EndTime)
      {
         TakeData = true;
         BidPrice = MarketInfo("GBPUSD",MODE_BID);
         FlagOrder = true;
         
            if (TakeData == true)
               {
                  if (FlagFirst == true)
                     {
                        HighPrice = MarketInfo("GBPUSD",MODE_BID);
                        LowPrice = MarketInfo("GBPUSD",MODE_BID);
                        FlagFirst = false;
                     }
                  else
                     {
                        if (HighPrice < BidPrice) HighPrice = BidPrice;
                        if (LowPrice > BidPrice) LowPrice = BidPrice;
                        
                        Comment("HIGH : ",HighPrice,"\nLOW : ",LowPrice);
                     }
               }
      }
   else
      {
         if (FlagOrder == true)
            {
               Order();
               //x();
               FlagOrder = false;
               //Print("ORDER");
            }
         
         TakeData = false;
         FlagFirst = true;
      }
                                                
//----
   return(0);
  }
//+------------------------------------------------------------------+
void Order()
   {
                       
      MyAskPrice = HighPrice + (Point*2);
      MyBidPrice = LowPrice - (Point*2);
      TakeProfit = TakeProfit * Point;
                    
      StopLevel = MarketInfo("GBPUSD",MODE_STOPLEVEL);
                
      //+----------------------------------------------
      //| Check MyAskPrice and MyBidPrice
      //+----------------------------------------------
      DiffAsk = (MyAskPrice - Ask)/Point;
      DiffBid = (Bid - MyBidPrice)/Point;
         
      //+------------------------------------------
      //| If Diff < StopLevel then make Correction
      //+------------------------------------------
      if (DiffAsk < StopLevel) MyAskPrice = MyAskPrice + (StopLevel - DiffAsk)*Point;
      if (DiffBid < StopLevel) MyBidPrice = MyBidPrice - (StopLevel - DiffBid)*Point;
         
      
      //+-------------------------------------------------------------------------------------------
      //|BUY STOP
      //+-------------------------------------------------------------------------------------------
      BuyStop = OrderSend(Symbol(),OP_BUYSTOP,1,MyAskPrice,3,0,MyAskPrice+TakeProfit,"BUY STOP",123,0,Green);
      
      if (BuyStop > 0)
         {
            Print("OK BUY STOP. My Ask Price : ",MyAskPrice,"  .ASK : ",Ask);
         }
      else
         {
            Print("FAILED BUY STOP. My Ask Price : ",MyAskPrice,"  .ASK : ",Ask,"  .Error : ",GetLastError());
         }
                  
      
      //+-------------------------------------------------------------------------------------------
      //|SELL STOP
      //+-------------------------------------------------------------------------------------------
      SellStop = OrderSend(Symbol(),OP_SELLSTOP,1,MyBidPrice,3,0,MyBidPrice-TakeProfit,"SELL STOP",321,0,Red);
      
      if (SellStop > 0)
         {
            Print("OK SELL STOP. My Bid Price : ",MyBidPrice,"  .Bid : ",Bid);
         }
      else
         {
            Print("FAILED SELL STOP. My Bid Price : ",MyBidPrice,"  .Bid : ",Bid,"  .Error : ",GetLastError());
         }
   
   }
/*   
void x()
   {
      MyAskPrice = HighPrice + (Point*2);
      MyBidPrice = LowPrice - (Point*2);
      TakeProfit = TakeProfit * Point;
                    
      StopLevel = MarketInfo("GBPUSD",MODE_STOPLEVEL);
                
      DiffAsk = ((MyAskPrice) - Ask)/Point;
      DiffBid = (Bid - MyBidPrice)/Point;
      
      Print("MY ASK : ",MyAskPrice," .ASK : ",Ask," .DIFF ASK : ",DiffAsk);
      Print("MY BID : ",MyBidPrice," .BID : ",Bid," .DIFF BID : ",DiffBid);
         
      if (DiffAsk < StopLevel) MyAskPrice = MyAskPrice + (StopLevel - DiffAsk)*Point;
      if (DiffBid < StopLevel) MyBidPrice = MyBidPrice - (StopLevel - DiffBid)*Point;
      
      Print("MY NEW ASK : ",MyAskPrice," .ASK : ",Ask);
      Print("MY NEW BID : ",MyBidPrice," .BID : ",Bid);
      
    }
*/

Profitability Reports

USD/CAD Oct 2024 - Jan 2025
0.00
Total Trades 33
Won Trades 33
Lost trades 0
Win Rate 100.00 %
Expected payoff 0.11
Gross Profit 3.70
Gross Loss 0.00
Total Net Profit 3.70
-100%
-50%
0%
50%
100%
NZD/USD Oct 2024 - Jan 2025
0.00
Total Trades 38
Won Trades 34
Lost trades 4
Win Rate 89.47 %
Expected payoff -244.76
Gross Profit 5.00
Gross Loss -9306.00
Total Net Profit -9301.00
-100%
-50%
0%
50%
100%
GBP/USD Oct 2024 - Jan 2025
0.00
Total Trades 57
Won Trades 55
Lost trades 2
Win Rate 96.49 %
Expected payoff -162.32
Gross Profit 5.00
Gross Loss -9257.00
Total Net Profit -9252.00
-100%
-50%
0%
50%
100%
AUD/USD Oct 2024 - Jan 2025
0.00
Total Trades 55
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff -175.47
Gross Profit 5.00
Gross Loss -9656.00
Total Net Profit -9651.00
-100%
-50%
0%
50%
100%

Comments