//+------------------------------------------------------------------+ //| 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); } //+------------------------------------------------------------------+