Author: Copyright � 2011, MetaQuotes Software Corp.
Profit factor:
0.00
Price Data Components
Series array that contains the highest prices of each barSeries array that contains the lowest prices of each bar
Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reached
Indicators Used
Moving average indicator
0 Views
0 Downloads
0 Favorites
Day_level
//+------------------------------------------------------------------+
//|                                                    Day_level.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double    Risk=0.1;
extern int       tp=50;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  
  if (Hour()<9)
  return(0);
  
  double lot=Risk*AccountBalance()/1000;
  double h=iHigh(Symbol(),PERIOD_D1,1);
  double l=iLow(Symbol(),PERIOD_D1,1);
  double spread=MarketInfo(Symbol(),MODE_SPREAD);
  double ma=iMA(Symbol(),PERIOD_D1,21,0,MODE_SMA,PRICE_CLOSE,0);

  for(int k=1; k<=OrdersTotal(); k++)
 bool select=OrderSelect(k-1,SELECT_BY_POS);
  
   if(select)
   {
  int type=OrderType();
  int ticket=OrderTicket();
  
  if (Bid<ma && type==4)
  OrderDelete(ticket);
  if (Bid>ma && type==5)
  OrderDelete(ticket);
  }
  
  for(int m=1; m<=OrdersTotal(); m++)         
     OrderSelect(m-1,SELECT_BY_POS,MODE_HISTORY);
     datetime time=OrderOpenTime();
     int day=TimeDay(time);
     if (day==Day())
     return(0);
     
  for(int i=1; i<=OrdersTotal(); i++)          
  if (OrderSelect(i-1,SELECT_BY_POS)==true)
  return(0);
  
  if (iHigh(Symbol(),PERIOD_D1,0)>h)
  return(0);
  if (iLow(Symbol(),PERIOD_D1,0)<l)
  return(0);
  
  if (Bid>l && Bid<h && Bid<ma)
  OrderSend(Symbol(),OP_SELLSTOP,lot,l,0,h+spread*Point,l-tp*Point,"Dl",777);
  
  if (Bid>l && Bid<h && Bid>ma)
  OrderSend(Symbol(),OP_BUYSTOP,lot,h+spread*Point,0,l,h+spread*Point+tp*Point,"Dl",777);
  
  
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

Comments