//+------------------------------------------------------------------+
//|                                              AlertCloseOrder.mq4 |
//|                               Copyright © 2010, Vladimir Hlystov |
//|                                         http://cmillion.narod.ru |
//|v1 - сигналит при закрытии ордера до удаления текста сообщения    |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Vladimir Hlystov"
#property link      "http://cmillion.narod.ru"
#property show_inputs
#property indicator_chart_window
extern int Кол.во.повторов = 100000;
extern int Размер.шрифта = 20;
extern string NameAlert  = "alert.wav";
extern string _ = "";
extern string Для.остановки.сигнала = "удалите текст сообщения";

int Orders,n;
string txt="1";
//+------------------------------------------------------------------+
int start()
{
   if (ObjectFind("alert")==-1) {txt="";Comment("AlertCloseOrder");}
   if (n>Кол.во.повторов) 
   {
      txt="";ObjectDelete("alert");
      Comment("сигнала прекращен после ",Кол.во.повторов," повторов");
   }
   if (Orders>OrdersTotal()) {txt=AlertOrder();n=0;}
   Orders=OrdersTotal();
   if (txt!="") 
   {  n++;
      PlaySound(NameAlert);
      Comment("Для остановки сигнала ",Для.остановки.сигнала);
      if (ObjectFind("alert")==-1)
      {
         ObjectCreate("alert", OBJ_LABEL, 0, 0, 0);
         ObjectSet("alert", OBJPROP_CORNER, 0);      
         ObjectSet("alert", OBJPROP_XDISTANCE, 10 ); 
         ObjectSet("alert", OBJPROP_YDISTANCE, 25);
         ObjectSetText("alert",txt,Размер.шрифта,"Arial",Red);
      }
   }
   return(0);
}
//+------------------------------------------------------------------+
string AlertOrder()
{
   double OCP;
   int i=OrdersHistoryTotal()-1;
   if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
   {                                     
      OCP=OrderClosePrice();
      if (OCP==OrderStopLoss()  ) txt="SL";
      if (OCP==OrderTakeProfit()) txt="TP";
      txt=StringConcatenate(Symbol(),"  Ордер N ",OrderTicket()," закрыт по ",txt," ",
      DoubleToStr(OCP,Digits)," прибыль ",DoubleToStr(OrderProfit(),2),"   ",
      TimeToStr(TimeCurrent(),TIME_SECONDS));
      return(txt);
}  }
//+------------------------------------------------------------------+
int deinit()
{
   ObjectDelete("alert");
   Comment("");
return;
}  
//+------------------------------------------------------------------+
 

