//+------------------------------------------------------------------+ //| XXX.mq4 | //| Akhmad | //| | //+------------------------------------------------------------------+ #property copyright "Akhmad" #property link "" extern string StrGetPosition = "19:55"; extern string StrStartOrderTime = "20:00"; extern string StrEndOrderTime = "23:59"; extern double MyBidPrice = 1.3620; int CountOrder = 0, BuyMagicNumber, SellMagicNumber; extern double Lots = 1; extern int StopLoss = 35; extern int TakeProfit = 8; extern bool FlagSell = true; extern bool FlagBuy = true; int x, b, FindMagicSell, TicketSell, FindMagicBuy, TicketBuy; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- int GetPosition, StartOrderTime, EndOrderTime; GetPosition = StrToTime(StrGetPosition); StartOrderTime = StrToTime(StrStartOrderTime); EndOrderTime = StrToTime(StrEndOrderTime); if (TimeCurrent() >= StartOrderTime && TimeCurrent() <= EndOrderTime) { //+------------ //| Posisi BUY //+------------ if (FlagBuy == true) { if ((MyBidPrice == Bid) && (CountOrder < 6)) { CountOrder++; BuyMagicNumber = StrToInteger("1" + CountOrder + Day() + Month() + Year()); OrderSend(Symbol(),OP_BUY,Lots,Bid,2,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Ichimoku",BuyMagicNumber,0,Green); if (CountOrder > 1) ModifyBuy(); if (CountOrder == 5) FlagBuy = false; MyBidPrice = Bid - (2*Point); } ShowComment(); } } //---- return(0); } //+------------------------------------------------------------------+ void ModifyBuy() { for (x = 1; x < CountOrder; x++) { FindMagicBuy = StrToInteger("1" + x + Day() + Month() + Year()); for (b = 0; b < OrdersTotal(); b++) { OrderSelect(b,SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber() == FindMagicBuy) { TicketBuy = OrderTicket(); OrderSelect(TicketBuy,SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit()-(2*Point),0); break; } } } } void ShowComment() { Comment("DayOfWeek = ",DayOfWeek(),"\nFLAG BUY : ",FlagBuy,"\nCount Order ",CountOrder,"\nNext order = ",MyBidPrice,"\nBID = ",Bid,"\nTime : ",TimeToStr(TimeCurrent(),TIME_MINUTES)); }