Logo

Вход

Войти с помощью соц. сетей
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
  • #1 Свернуть

    Помогите пожалуйста добавить алерт в индикатор

    Помогите пожалуйста добавить алерт при появлении стрелок


    //+------------------------------------------------------------------+
    //| MA Signal.mq4 |
    //| Copyright 2017, cmillion@narod.ru |
    //| http://cmillion.ru |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2017, cmillion@narod.ru"
    #property link "http://cmillion.ru"
    #property version "1.00"
    #property strict
    #property indicator_chart_window
    #property indicator_buffers 3
    #property indicator_color1 clrBlue
    #property indicator_color2 clrBlue
    #property indicator_color3 clrRed
    #property description "стрелка при пересечении МА свечей"
    //+------------------------------------------------------------------+
    extern int MA_1 = 5; //период 1 МА
    extern int shift_1 = 0; //Сдвиг 1 МА относительно ценового графика.
    input ENUM_MA_METHOD method_1 = MODE_SMMA; //Методы скользящих 1 МА
    input ENUM_APPLIED_PRICE applied_price_1 = PRICE_OPEN; //Используемая цена 1 МА.

    double MA1[];
    double MA2[];
    double MA3[];
    double SignalBufferRed[];
    double SignalBufferBlue[];
    //+------------------------------------------------------------------+
    int OnInit()
    {
    IndicatorBuffers(5);
    SetIndexStyle(0,DRAW_LINE);
    SetIndexStyle(1,DRAW_ARROW,0,2);
    SetIndexArrow(1,233);
    SetIndexStyle(2,DRAW_ARROW,0,2);
    SetIndexArrow(2,234);

    SetIndexBuffer(0,MA1);
    SetIndexBuffer(1,SignalBufferBlue);
    SetIndexBuffer(2,SignalBufferRed);

    IndicatorShortName(StringConcatenate("MA (",MA_1,")"));
    SetIndexLabel(0,"MA_1");
    return(INIT_SUCCEEDED);
    }
    //+------------------------------------------------------------------+
    int OnCalculate(const int rates_total,
    const int prev_calculated,// обработано баров на предыдущем вызове
    const datetime &time[],
    const double &open[],
    const double &high[],
    const double &low[],
    const double &close[],
    const long &tick_volume[],
    const long &volume[],
    const int &spread[])
    {
    int i,limit;

    limit=rates_total-prev_calculated-1;
    if(rates_total<1) return(0);
    for(i=0; i<limit; i++)
    {
    MA1[i]=iMA(NULL,0,MA_1,shift_1,method_1,applied_price_1, i);
    }

    for(i=0; i<limit; i++)
    {
    if (MA1[i]<close[i] && MA1[i]>low[i] && open[i]<close[i]) SignalBufferBlue[i]=open[i];
    if (MA1[i]<high[i] && MA1[i]>close[i] && open[i]>close[i]) SignalBufferRed[i]=open[i];
    }

    return(rates_total);
    }
    //+------------------------------------------------------------------+
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Сообщение от profitniy Посмотреть сообщение
    Помогите пожалуйста добавить алерт при появлении стрелок


    //+------------------------------------------------------------------+
    //| MA Signal.mq4 |
    //| Copyright 2017, cmillion@narod.ru |
    //| http://cmillion.ru |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2017, cmillion@narod.ru"
    #property link "http://cmillion.ru"
    #property version "1.00"
    #property strict
    #property indicator_chart_window
    #property indicator_buffers 3
    #property indicator_color1 clrBlue
    #property indicator_color2 clrBlue
    #property indicator_color3 clrRed
    #property description "стрелка при пересечении МА свечей"
    //+------------------------------------------------------------------+
    extern int MA_1 = 5; //период 1 МА
    extern int shift_1 = 0; //Сдвиг 1 МА относительно ценового графика.
    input ENUM_MA_METHOD method_1 = MODE_SMMA; //Методы скользящих 1 МА
    input ENUM_APPLIED_PRICE applied_price_1 = PRICE_OPEN; //Используемая цена 1 МА.

    double MA1[];
    double MA2[];
    double MA3[];
    double SignalBufferRed[];
    double SignalBufferBlue[];
    //+------------------------------------------------------------------+
    int OnInit()
    {
    IndicatorBuffers(5);
    SetIndexStyle(0,DRAW_LINE);
    SetIndexStyle(1,DRAW_ARROW,0,2);
    SetIndexArrow(1,233);
    SetIndexStyle(2,DRAW_ARROW,0,2);
    SetIndexArrow(2,234);

    SetIndexBuffer(0,MA1);
    SetIndexBuffer(1,SignalBufferBlue);
    SetIndexBuffer(2,SignalBufferRed);

    IndicatorShortName(StringConcatenate("MA (",MA_1,")"));
    SetIndexLabel(0,"MA_1");
    return(INIT_SUCCEEDED);
    }
    //+------------------------------------------------------------------+
    int OnCalculate(const int rates_total,
    const int prev_calculated,// обработано баров на предыдущем вызове
    const datetime &time[],
    const double &open[],
    const double &high[],
    const double &low[],
    const double &close[],
    const long &tick_volume[],
    const long &volume[],
    const int &spread[])
    {
    int i,limit;

    limit=rates_total-prev_calculated-1;
    if(rates_total<1) return(0);
    for(i=0; i<limit; i++)
    {
    MA1[i]=iMA(NULL,0,MA_1,shift_1,method_1,applied_price_1, i);
    }

    for(i=0; i<limit; i++)
    {
    if (MA1[i]<close[i] && MA1[i]>low[i] && open[i]<close[i]) SignalBufferBlue[i]=open[i];
    if (MA1[i]<high[i] && MA1[i]>close[i] && open[i]>close[i]) SignalBufferRed[i]=open[i];
    }

    return(rates_total);
    }
    //+------------------------------------------------------------------+
    А к автору почему бы не обратиться? Он как раз и на на этом форуме тоже присутствует, может твою доработку в официальный релиз включить, будет версия 1.01, со звуком. Обратиться можно и на почту, или на сайте также. В заголовке индикатора все учётные данные есть. И сложности это никакой не вызывает

    Комментарий

    Сейчас онлайн

    working...
    X