MomentumVT_alert





//+--------------------------------------------------------------------+
//|                                                     MomentumVT.mq4 |
//|                        Copyright © 2004, MetaQuotes Software Corp. |
//|                                         http://www.metaquotes.net/ |
//|             Conversion from VT to MT4 by Skyline (glicci@yahoo.it) |
//+--------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue

//#property indicator_level1 0
#property indicator_levelcolor SlateGray

//---- input parameters
extern bool AlertsEnabled = true;
extern string AlertsSound = "alert.wav";

extern int MomPeriod = 10;

//---- buffers
double MomBuffer[];
datetime AlertTime;


void init()
{
	//---- indicator line
	SetIndexStyle(0, DRAW_LINE);
	SetIndexBuffer(0, MomBuffer);
	
	//---- name for DataWindow and indicator subwindow label
	string short_name="MomentumVT alert(" + MomPeriod + ")";
	IndicatorShortName(short_name);
	SetIndexLabel(0, short_name);
	
	//----
	SetIndexDrawBegin(0, MomPeriod);
}

//+------------------------------------------------------------------+
//| Momentum                                                         |
//+------------------------------------------------------------------+
void start()
{
	
	int counted_bars = IndicatorCounted();
	if (Bars <= MomPeriod)
		return;
	
	//---- initial zero
	if (counted_bars < 1)
		for (int i = 1; i <= MomPeriod; i++)
			MomBuffer[Bars - i] = 0.0;
	
	//----
	i = Bars - MomPeriod - 1;
	if (counted_bars >= MomPeriod)
		i = Bars - counted_bars - 1;
	while (i >= 0) {
		MomBuffer[i] = Close[i] - Close[i + MomPeriod];
		i--;
		
		if (AlertsEnabled  && AlertTime != Time[0] && Volume[0]>1) {
			if ((MomBuffer[0] > 0 && MomBuffer[1] <= 0) || (MomBuffer[0] < 0 && MomBuffer[1] >= 0)) {
				AlertTime = Time[0];
				Alert("MomentumVT Cross 0 ", Symbol(), " M", Period());
		    if (StringLen(AlertsSound) > 0)
					PlaySound(AlertsSound);
			}
		}
	}
}





Sample





Analysis



Market Information Used:

Series array that contains close prices for each bar
Series array that contains open time of each bar
Series array that contains tick volumes of each bar


Indicator Curves created:

Implements a curve of type DRAW_LINE


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features:

It issuies visual alerts to the screen
It plays sound alerts