Better to take advice from pro programmers.
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Dear Friends,
I'm not a programmer, but I want to make mq4 based on rsi 14, on level 30 & 70 alert with a pop up appear "sell or Buy on every pair curency".
So if I put this mq4 into eur/usd : when the candle reach rsi "14" into 30 area on eur/usd, it will be an alert with the pop up "Buy eur/usd",
And if I put this mq4 into gbp/usd : when the candle touch rsi "14" into 70 area on gbp/usd, it will be an alert with the pop up "Sell gbp/usd".
At this moment, I can make just & only an alert for each pair, but unfortunately I can not make any pop up appear "Sell or Buy" on every pair!
Could any one help me please, how to make a pop up "Sell or Buy" appear on every pair curency when it touch rsi "14" into 30 & 70 area
Below are the mq4, please help me to make the pop up "Sell or Buy on every pair appear", .. Thank you for all of your kindness, and forgive me for my poor english ...
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_buffers 3
#property indicator_color1 Lime
#property indicator_color2 FireBrick
#property indicator_color3 FireBrick
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1
#property indicator_style1 DRAW_LINE
#property indicator_style2 DRAW_LINE
#property indicator_style3 DRAW_LINE
//---- input parameters
int RSIPeriod=14;
int ApplyTo=0;
extern bool AlertMode=true;
extern int OverBought=70;
extern int OverSold=30;
//---- buffers
double RSIBuffer[];
double RSIOBBuffer[];
double RSIOSBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator lines
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,RSIBuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,RSIOBBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,RSIOSBuffer);
//---- name for DataWindow and indicator subwindow label
short_name="EKO";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexLabel(1,"");
SetIndexLabel(2,"");
//----
SetIndexDrawBegin(0,RSIPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Relative Strength Index |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
//----
if(Bars<=RSIPeriod) return(0);
//----
i=Bars-RSIPeriod-1;
if(counted_bars>=RSIPeriod) i=Bars-counted_bars-1;
while(i>=0)
{
RSIBuffer=iRSI(NULL,0,RSIPeriod,ApplyTo,i);
RSIOBBuffer=OverBought;
RSIOSBuffer=OverSold;
i--;
}
if(AlertMode)
{
if(RSIBuffer[1]=OverBought)
Alert("RSI = "+ RSIBuffer+ ", Sell.");
else if(RSIBuffer[1]>OverSold && RSIBuffer[0]<=OverSold)
Alert("RSI = "+ RSIBuffer+ ", Buy.");
}
//----
return(0);
}
//+------------------------------------------------------------------+