ADX Indicatore with Alert

Back to topics list To post a new topic, please log in or register
avatar
5
Dario-81 2015.07.10 17:10
 

Hello everyone, I downloaded several ADX indicator Cross. I enclose what I'm using. But I want more than that to see alerts on the screen when they occur crossovers between -Of + DI and I wish I would open an alert sound. I found other but are very invasive. I would simply like that once crossed the lines I was out one alert. Can anyone help me? thanks

The code I'm using the indicator


//+------------------------------------------------------------------+
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+

#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
extern int ADXcrossesPeriod = 14;
extern int CountBars=350;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double b4plusdi, b4minusdi, nowplusdi, nowminusdi;
int    nShift;  

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+

int init()
  {

    SetIndexStyle(0, DRAW_ARROW, 0, 1);
    SetIndexArrow(0, 225);
    SetIndexBuffer(0, ExtMapBuffer1);

    SetIndexStyle(1, DRAW_ARROW, 0, 1);
    SetIndexArrow(1, 226);
    SetIndexBuffer(1, ExtMapBuffer2);

    IndicatorShortName("ADXcrosses(" + ADXcrossesPeriod + ")");
    SetIndexLabel(0, "ADXcrUp");
    SetIndexLabel(1, "ADXcrDn");

    switch(Period())
      {
        case     1: nShift = 1;   break;   
        case     5: nShift = 3;   break;
        case    15: nShift = 5;   break;
        case    30: nShift = 10;  break;
        case    60: nShift = 15;  break;
        case   240: nShift = 20;  break;
        case  1440: nShift = 80;  break;
        case 10080: nShift = 100; break;
        case 43200: nShift = 200; break;              
      }

    return(0);
  }

//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+

int deinit()
  {

    return(0);
  }

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+

int start()
  {
    int limit;
    int counted_bars = IndicatorCounted();

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

    if(counted_bars > 0)
        counted_bars--;
    limit = Bars - counted_bars;

    for(int i = 0; i < limit; i++)
      {
        b4plusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_PLUSDI, i - 1);
        nowplusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_PLUSDI, i);
        b4minusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_MINUSDI, i - 1);
        nowminusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_MINUSDI, i); 

        if(b4plusdi > b4minusdi && nowplusdi < nowminusdi)
            ExtMapBuffer1[i] = Low[i] - nShift*Point;

        if(b4plusdi < b4minusdi && nowplusdi > nowminusdi)
            ExtMapBuffer2[i] = High[i] + nShift*Point;
      }

    return(0);

  }





avatar
313
JD4 2015.07.10 19:42 #
 
In the future, when posting large amounts of code, use the "SRC" button at the top of your comment entry area.
Back to topics list  

To add comments, please log in or register