//+------------------------------------------------------------------+
//| bar-close-alarm_V1.mq4 |
//| by mibl |
//+------------------------------------------------------------------+
//
// Indicator gives a sound signal or message when the next bar closes
// within the denoted Time
// Indicator only reacts on the refreshment time of the chart. There
// is no realtime function used to estimate the totally correct time.
#property copyright "Copyright � 2006, mibl"
#property indicator_chart_window
//---- input parameters
extern int MinutesBeforeCandleClose = 2;
extern bool AlarmWithBox = false;
extern string SoundWAV = "alert2.wav";
//---- buffers
int MsgOnFlag = 1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
}
return(0);
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int min, sec;
min = Time[0] + Period()*60 - CurTime();
sec = min%60;
min =(min - min%60) / 60;
Comment("Balanced Time to next bar close: " + min + " min " + sec + " sec");
//Message or Sound min minutes before the candle closes
if(min < MinutesBeforeCandleClose && MsgOnFlag == 1)
{
if(AlarmWithBox)
{
Alert("Less than " + min + " minute(s) " + sec + " second(s) to bar close!");
}
else
{
PlaySound(SoundWAV);
}
MsgOnFlag = 0;
}
if(min > MinutesBeforeCandleClose)
{
MsgOnFlag = 1;
}
return(0);
}
//+------------------------------------------------------------------+