extern double TakeProfit = 10; extern double Lots = 0.1; extern double TrailingStop = 0; extern double StopLoss = 15; extern double MM = 0; extern double Risk = 30; extern double LotLimit = 50; extern double Per = 3; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { double s=GlobalVariableGet("SELLLIMIT"); double b=GlobalVariableGet("BUYLIMIT"); double ds=GlobalVariableGet("DateS"); double db=GlobalVariableGet("DateB"); if (ds != DayOfWeek()) { GlobalVariableDel("SELLLIMIT"); GlobalVariableDel("BUYLIMIT"); GlobalVariableDel("DatesS"); GlobalVariableDel("DatesB"); } double H3,H4,L3,L4,SH4,SH3,BL3,BL4; if ( OrdersTotal() < 1 && Hour() == 23 && Minute() == 59 ) return(0); if ( OrdersTotal() > 0 && Hour() == 23 && Minute() == 59 ) { int total = OrdersTotal(); for(int i=total-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); int type = OrderType(); bool result = false; switch(type) { //Close opened long positions case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); break; //Close opened short positions case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); break; //Close pending orders case OP_BUYLIMIT : case OP_BUYSTOP : case OP_SELLLIMIT : case OP_SELLSTOP : result = OrderDelete( OrderTicket() ); } if(result == false) { Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() ); Sleep(3000); } } } H4= ((((High[1]-Low[1])*1.1)/2)+Close[1]); H3= ((((High[1]-Low[1])*1.1)/4)+Close[1]); L3= (Close[1]-((High[1]-Low[1])*1.1)/4); L4= (Close[1]-((High[1]-Low[1])*1.1)/2); if (db != DayOfWeek() && s == 0) { SH3 = OrderSend(Symbol(),OP_SELLLIMIT,Lots,NormalizeDouble(H4,4),3,NormalizeDouble(H4,4)+StopLoss*Point,NormalizeDouble(H4,4)-TakeProfit*Point,"H3",0,0,Red); if (SH3 < 0){ GlobalVariableSet("SELLLIMIT",0); } else { GlobalVariableSet("SELLLIMIT",1); GlobalVariableSet("DateS",DayOfWeek()); } } //SH4 = OrderSend(Symbol(),OP_SELLLIMIT,Lots,H4,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"H4",0,0,Red); if (db != DayOfWeek() && b == 0) { BL3 = OrderSend(Symbol(),OP_BUYLIMIT,Lots,NormalizeDouble(L4,4),3,NormalizeDouble(L4,4)-StopLoss*Point,NormalizeDouble(L4,4)+TakeProfit*Point,"L3",0,0,Green); if (BL3 < 0){ GlobalVariableSet("BUYLIMIT",0); } else { GlobalVariableSet("BUYLIMIT",1); GlobalVariableSet("DateB",DayOfWeek()); } } //BL4 = OrderSend(Symbol(),OP_BUYLIMIT,Lots,L4,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,"L4",0,0,Green); }