Miscellaneous
0
Views
0
Downloads
0
Favorites
pricealert_v2
//+------------------------------------------------------------------+
//| PriceAlert.mq4 |
//| Copyright © 2009-2011, www.earnforex.com |
//| Issues sound alerts when price reaches certain levels. |
//| modded by Mn ------------------------ |
//+------------------------------------------------------------------+
#property copyright "EarnForex.com"
#property link "http://www.earnforex.com"
#property indicator_chart_window
extern double SoundWhenPriceGoesAbove = 0;
extern double SoundWhenPriceGoesBelow = 0;
extern double SoundWhenPriceIsExactly = 0;
extern bool SendEmail=false; //If true e-mail is sent to the e-mail address set in your MT4. E-mail SMTP Server settings should also be configured in your MT4
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
if(SoundWhenPriceIsExactly>0)
{
ObjectCreate("SoundWhenPriceIsExactly",OBJ_HLINE,0,Time[0],SoundWhenPriceIsExactly);
ObjectSet("SoundWhenPriceIsExactly",OBJPROP_STYLE,STYLE_SOLID);
ObjectSet("SoundWhenPriceIsExactly",OBJPROP_COLOR,Yellow);
ObjectSet("SoundWhenPriceIsExactly",OBJPROP_WIDTH,1);
}
if(SoundWhenPriceGoesAbove>0)
{
ObjectCreate("SoundWhenPriceGoesAbove",OBJ_HLINE,0,Time[0],SoundWhenPriceGoesAbove);
ObjectSet("SoundWhenPriceGoesAbove",OBJPROP_STYLE,STYLE_SOLID);
ObjectSet("SoundWhenPriceGoesAbove",OBJPROP_COLOR,Green);
ObjectSet("SoundWhenPriceGoesAbove",OBJPROP_WIDTH,1);
}
if(SoundWhenPriceGoesBelow>0)
{
ObjectCreate("SoundWhenPriceGoesBelow",OBJ_HLINE,0,Time[0],SoundWhenPriceGoesBelow);
ObjectSet("SoundWhenPriceGoesBelow",OBJPROP_STYLE,STYLE_SOLID);
ObjectSet("SoundWhenPriceGoesBelow",OBJPROP_COLOR,Red);
ObjectSet("SoundWhenPriceGoesBelow",OBJPROP_WIDTH,1);
}
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
ObjectDelete("SoundWhenPriceIsExactly");
ObjectDelete("SoundWhenPriceGoesAbove");
ObjectDelete("SoundWhenPriceGoesBelow");
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
// added by Mn -----------------------------------------------------------
if(ObjectGet("SoundWhenPriceGoesAbove",1)!=SoundWhenPriceGoesAbove)
SoundWhenPriceGoesAbove=ObjectGet("SoundWhenPriceGoesAbove",1);
if(ObjectGet("SoundWhenPriceGoesBelow",1)!=SoundWhenPriceGoesBelow)
SoundWhenPriceGoesBelow=ObjectGet("SoundWhenPriceGoesBelow",1);
if(ObjectGet("SoundWhenPriceIsExactly",1)!=SoundWhenPriceIsExactly)
SoundWhenPriceIsExactly=ObjectGet("SoundWhenPriceIsExactly",1);
// added by Mn -----------------------------------------------------------
if((Ask>SoundWhenPriceGoesAbove) && (SoundWhenPriceGoesAbove>0))
{
Alert("Price above the alert level.");
PlaySound("alert.wav");
SendMail("Price for "+Symbol()+" above the alert level "+Ask,"Price for "+Symbol()+" reached "+Ask+" level, which is above your alert level of "+SoundWhenPriceGoesAbove);
ObjectDelete("SoundWhenPriceGoesAbove");
SoundWhenPriceGoesAbove=0;
}
if((Bid<SoundWhenPriceGoesBelow) && (SoundWhenPriceGoesBelow>0))
{
Alert("Price below the alert level.");
PlaySound("alert.wav");
SendMail("Price for "+Symbol()+" below the alert level "+Bid,"Price for "+Symbol()+" reached "+Bid+" level, which is below your alert level of "+SoundWhenPriceGoesBelow);
ObjectDelete("SoundWhenPriceGoesBelow");
SoundWhenPriceGoesBelow=0;
}
if((Bid==SoundWhenPriceIsExactly) || (Ask==SoundWhenPriceIsExactly))
{
Alert("Price is exactly at the alert level.");
PlaySound("alert.wav");
SendMail("Price for "+Symbol()+" exactly at the alert level "+Ask,"Price for "+Symbol()+" reached "+Ask+"/"+Bid+" level, which is exactly your alert level of "+SoundWhenPriceIsExactly);
ObjectDelete("SoundWhenPriceIsExactly");
SoundWhenPriceIsExactly=0;
}
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---