cm line alert

Author: Copyright 2021, cmillion@narod.ru
Miscellaneous
It issuies visual alerts to the screenIt sends emails
0 Views
0 Downloads
0 Favorites
cm line alert
ÿþ//+------------------------------------------------------------------+

//|                                                cm line alert.mq5 |

//|                                Copyright 2021, cmillion@narod.ru |

//|                                          https://www.cmillion.ru |

//+------------------------------------------------------------------+

#property copyright "Copyright 2021, cmillion@narod.ru"

#property link      "https://www.cmillion.ru"

#property version   "1.00"

//+------------------------------------------------------------------+

/*!>25B=8: >B?@02;O5B A>>1I5=85 ?@8 4>AB865=88 :064>9 ;8=88 =0 3@0D8:5. 

5@5A5G5=85 ;8=88 8 F5=K AG8B05BAO, 5A;8 Ask 2KH5 8;8 @025= ;8=88 8 Bid =865 8;8 @025= ;8=88.

# :064>9 ;8=88 <>6=> 7040BL ;N1>5 8<O 8 >=> 1C45B :0: @07 8 >B>1@060BLAO 2 A>>1I5=88.

>A;5 >B?@02:8 A>>1I5=8O ;8=8O C40;O5BAO.

 8AC5B5 3>@87>=B0;L=CN ;8=8N, 405B5 59 8<O, =0?@8<5@ "EURUSD 1.23545 50%" 8 :0: B>;L:> F5=0 55 F5?;O5B, B0: >B?@02;O5BAO A>>1I5=85 =0 ?>GBC. 

>6=> @8A>20BL ;N1>5 G8A;> ;8=89.

//+------------------------------------------------------------------+*/

void OnTick()

{

   double price;

   string name;

   //+------------------------------------------------------------------+

   //|                                                                  |

   //+------------------------------------------------------------------+

   #ifdef __MQL5__

   double Bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);

   double Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);

   #endif

   int n=0;

   for(int i=ObjectsTotal(#ifdef __MQL5__ 0#endif)-1; i>=0; i--)

   {

      name=ObjectName(0,i);

      if (StringFind(name,"#",0)!=-1) continue;

      if (ObjectGetInteger(0,name,OBJPROP_TYPE)!=OBJ_HLINE && ObjectGetInteger(0,name,OBJPROP_TYPE)!=OBJ_TREND) continue; 

      price=0;

      if (!ObjectGetDouble(0,name,OBJPROP_PRICE,0,price)) continue;

      if (price==0) continue;

      n++;

      if (Ask>=price && Bid<=price)

      {

         alert(name);

         ObjectDelete(0,name);

      }

   }

   if (n==0) Comment(TerminalInfoString(TERMINAL_LANGUAGE)=="Russian"?"#AB0=>28B5 =0 M:@0= ;N1CN 3>@87>=B0;L=CN ;8=8N":"Set horizontal line on the screen");

   else Comment(n," line ");

}

//+------------------------------------------------------------------+

void alert(string txt)

{

   Alert(txt);

   SendNotification(txt);

   SendMail("cm line alert",txt);

}

//+------------------------------------------------------------------+

Comments