EMA cross over sound alert needed ( pop up on window and sound )

 

hello, can any one add sound alert lines on this indicator, i really need it so much, thanks.


//+------------------------------------------------------------------+

//|                                         EMA-Crossover_Signal.mq4 |

//|         Copyright © 2005, Jason Robinson (jnrtrading)            |

//|                   http://www.jnrtading.co.uk                     |

//+------------------------------------------------------------------+

/*

  +------------------------------------------------------------------+

  | Allows you to enter two ema periods and it will then show you at |

  | Which point they crossed over. It is more usful on the shorter   |

  | periods that get obscured by the bars / candlesticks and when    |

  | the zoom level is out. Also allows you then to remove the emas   |

  | from the chart. (emas are initially set at 5 and 6)              |

  +------------------------------------------------------------------+

*/

#property copyright "Copyright © 2005, Jason Robinson (jnrtrading)"

#property link      "http://www.jnrtrading.co.uk"

//----

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 SpringGreen

#property indicator_color2 Red

//----

double CrossUp[];

double CrossDown[];

extern int FasterEMA=5;

extern int SlowerEMA=6;

//+------------------------------------------------------------------+

//| Custom indicator initialization function                         |

//+------------------------------------------------------------------+

int init()

  {

//---- indicators

   SetIndexStyle(0,DRAW_ARROW,EMPTY);

   SetIndexArrow(0,233);

   SetIndexBuffer(0,CrossUp);

   SetIndexStyle(1,DRAW_ARROW,EMPTY);

   SetIndexArrow(1,234);

   SetIndexBuffer(1,CrossDown);

//----

   return(0);

  }

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function                       |

//+------------------------------------------------------------------+

int deinit()

  {

//---- 

//----

   return(0);

  }

//+------------------------------------------------------------------+

//| Custom indicator iteration function                              |

//+------------------------------------------------------------------+

int start()

  {

   int limit,i,counter;

   double fasterEMAnow,slowerEMAnow,fasterEMAprevious,slowerEMAprevious,fasterEMAafter,slowerEMAafter;

   double Range,AvgRange;


   int counted_bars=IndicatorCounted();

   if(counted_bars<0) return(-1);

   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;

   if(counted_bars==0) limit-=1+9;

//----

   for(i=0; i<=limit; i++)

     {

      counter=i;

      Range=0;

      AvgRange=0;

      for(counter=i;counter<=i+9;counter++)

        {

         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);

        }

      Range=AvgRange/10;

      //----

      fasterEMAnow=iMA(NULL,0,FasterEMA,0,MODE_LWMA,PRICE_CLOSE,i);

      fasterEMAprevious=iMA(NULL,0,FasterEMA,0,MODE_LWMA,PRICE_CLOSE,i+1);

      fasterEMAafter=iMA(NULL,0,FasterEMA,0,MODE_LWMA,PRICE_CLOSE,i-1);

      //----

      slowerEMAnow=iMA(NULL,0,SlowerEMA,0,MODE_LWMA,PRICE_CLOSE,i);

      slowerEMAprevious=iMA(NULL,0,SlowerEMA,0,MODE_LWMA,PRICE_CLOSE,i+1);

      slowerEMAafter=iMA(NULL,0,SlowerEMA,0,MODE_LWMA,PRICE_CLOSE,i-1);

      //----

      if((fasterEMAnow>slowerEMAnow) && (fasterEMAprevious<slowerEMAprevious) && (fasterEMAafter>slowerEMAafter))

        {

         CrossUp[i]=Low[i]-Range*0.5;

        }

      else if((fasterEMAnow<slowerEMAnow) && (fasterEMAprevious>slowerEMAprevious) && (fasterEMAafter<slowerEMAafter))

        {

         CrossDown[i]=High[i]+Range*0.5;

        }

     }

   return(0);

  }

//+------------------------------------------------------------------+


 


Please use the SRC button to be easier for readers

 
Yasseen Ahmed: can any one add sound alert lines on this indicator,
  1. Don't paste code
    Play video
    Please edit your post.
    For large amounts of code, attach it

  2. You have only three choices: Search for it, learn to code it, or pay (Freelance) someone to code it. We're not going to code it for you (although it could happen if you are lucky or the problem is interesting.) We are willing to help you when you post your attempt (using SRC) and the nature of your problem.
Reason: