BeginnerAlert - MetaTrader 5 Script | Forex Indicator Download - MT4/MT5 Resources




The indicator shows trend extremes (maximum and minimum values), which can be used as support and resistance points. It is useful for determining the channel of the current trend. It features alerts, emails to mobile devices, and push notifications.
This is a simple indicator that uses a certain period to find the minimum and maximum values and marks them with points.
In order to implement alerts, email messages and push notifications, the following changes were made to the indicator code:
Input unit number = 1 ; //The number of bars of the signal Input boolean sound on = true ; //enable alert Input unit alarm number = 2 ; //Alarm number input boolean email-on = false ; //enable mailing signal input boolean pressed = false ; //enable signaling to mobile devices
//+------------------------------------------------------------------+ //|Buy signal function | //+------------------------------------------------------------------+ Blank buy signal( string signal sir name, // Indicator name text for emails and push messages double buy arrow(&B)[], // Indicator buffer with buy signal constant integer rate_total, // Current number of bars constant integer ex_calculation, // Number of bars for the previous price move constant double & close [], // Closing price constant integer & spread[]) // spread { //--- stationary unit counter = 0 ; if (Rates_total!=Prev_calculated) counter = 0 ; boolean buysignal = false ; booleanSeriesTest = array getSeries (BuyArrow); integer exponent; if (series test) index = integer (number of items); Other indexes=Rates_total- integer (number of items) -1 ; if ( Normalized Double (BuyArrow[index], _number ) && BuyArrow[index]!= null_VALUE ) BuySignal= True ; if (BuySignal && counter<=NumberofAlerts) { counter++; MqlDateTimeTM ; BuildTime ( timecurrent (),tm); string literal = string time ( timecurrent (), TIME_DATE ) + "" + string (tm.hour) + ":" + string (tm.minute); SeriesTest = arrayGetSeries ( close ); if (series test) index = integer (number of items); Other indexes=Rates_total- integer (number of items) -1 ; double question = close [index]; double bid = close [index]; SeriesTest = arrayGetSeries (spread); if (series test) index = integer (number of items); Other indexes=Rates_total- integer (number of items) -1 ; bid += spread[index]; Thin string question = double to string ( question , _number ); stringbid = double to string ( bid , _number ); String sPeriod=GetStringTimeframe( ChartPeriod ()); if (sound on) alert ( "buy signal\n ask=" , ask , "\n bid=" , bid , "\n current time=" , text, "\n symbol=" , symbol (), "period=" ,s period); if (email) send mail (signal sir name + ": buy signal alert" , "buy signal at inquiry =" + ask + ", bid =" + bid + ", date = " + text + " symbol = " + symbol () + " period = " + s period); s="keyword">If (push) send notification (Signal Mr. Name + ": Buy signal at Ask=" + Ask + ", Bid = " + Bid + ", Date = " + Text + " Symbol = " + Symbol () + "Period = " + sPeriod); } //--- } //+--------------------------------------------------------------------------------+ // | Sell Signal Function | //+--------------------------------------------------------------------------------+ Blank Sell Signal( String Signal Mr. Name, // Indicator name text for emails and push messages Double Sales Arrows (&S)[], // Indicator buffer with sell signals constant integer rates_total, // Current number of bars constant integer prev_calculated, // Number of bars for the previous price movement constant double & close [], // Close price constant integer &spread[]) // spread { //--- resting unit counter = 0 ; if (Rates_total!=Prev_calculated) counter = 0 ; boolean SellSignal = False ; boolean Series Test = Array Get Series (Sell Arrow); integer index; if (SeriesTest) index = integer (number of bars); else index = Rates_total - integer (number of bars) - 1 ; if ( normalized double (SellArrow[index], _Number ) && SellArrow[index]!= null_VALUE ) sell signal = true ; if (SellSignal && Counter<=NumberofAlerts) { Counter++; MqlDateTimeTM ; BuildTime ( timecurrent (),tm); string literal = string time ( timecurrent (), TIME_DATE ) + "" + string (tm.hour) + ":" + string (tm.minute); Series test = array to get series ( closed ); if (series test) index = integer (number of bars); other indexes = Rates_total- integer (number of bars) - 1 ; double ask = close [index]; double bid = close [index]; series test = array to get series (propagation); if (series test) index = integer (number of bars); other indexes = Rates_total- integer (number of bars) - 1 ; bid +=spread[index]; string ask = Double to String(ask, _number);string bid=Double to String ( bid , _number ) ; string sPeriod=GetStringTimeframe( ChartPeriod ()); if (sound on) alert ( "sell signal\n ask=" , ask , "\n bid =" , bid , "\n current time= " ,text, "\n symbol= " , symbol (), "period =" ,s period); if (email) send mail (signal sir name+> ": sell signal alert", "sell signal on ask=" + ask + ", bid = " + bid + ", date = " + text + " symbol = " + symbol () + " period = " + s period); if ( push) send notification ( signal sir name + ": sell signal on ask= " + ask + ", bid = " + bid + ", date = " + text + " symbol = " + symbol ( ) + " period = " + s period); ;
//--- buy signal( "beginner alert" ,BuyBuffer,rates_total,prev_calculated, close ,propagate); sell signal( "beginner alert" ,SellBuffer,rates_total,prev_calculated, close ,spread); //---
Where BuyBuffer and SellBuffer are the names of the indicator buffers used to store buy and sell signals. Due to empty values in the indicator buffer must be set to zero or EMPTY_VALUE.
It is assumed that the only calls to the BuySignal() and SellSignal() functions will be used in the OnCalculate() block of the indicator code.
The indicator was originally written in MQL4 and first published in the code base on September 3, 2008.

Figure 1. BeginnerAlert indicator on the chart
Figure 2. The BeginnerAlert indicator generates an alert.
Attachment download
📎 beginneralert.mq5 (24.78 KB)
Source: MQL5 #16448
💡 Featured Recommendations
✍️ Latest by the author
- •
- •
- •
- •
- •
- •
📌 Popular topics
- •
- •
- •
- •
- •
- •
- •
- •
🔗 You May Be Interested In
- •
- •
- •
- •
- •
- •