Предложение по добавлению двух индикаторов, используемых док.А Элдером

Тема в разделе "Приём предложений", создана пользователем t330, 10 май 2018.

  1. t330

    t330 Новичок

    Регистрация:
    7 апр 2018
    Сообщения:
    1
    Симпатии:
    0
    1. Добавить в ТайгерПро Индикатор «Impuls System»

    Система работает на основании показателей Двух индикаторов MACD и EMA.

    Когда показатели этих двух индикаторов повышаются то Бар становиться зеленым, когда понижаются- Красным, в случае разнонаправленного движения бар становиться Голубым (см скриншот).


    В MQL5 этот индикатор выглядит вот так, но его было бы неплохо модифицировать так, чтобы Периоды ЕМА и МАКДИ и цвета свечей были бы не жестко зашиты в коде, а их можно было бы менять в Менеджере Индикатора в Тайгер Про:
    #property indicator_chart_window
    #property indicator_buffers 6
    #property indicator_color1 Green
    #property indicator_width1 2
    #property indicator_color2 Green
    #property indicator_width2 2
    #property indicator_color3 Red
    #property indicator_width3 2
    #property indicator_color4 Red
    #property indicator_width4 2
    #property indicator_color5 Aqua
    #property indicator_width5 2
    #property indicator_color6 Aqua
    #property indicator_width6 2
    extern int period = 13;
    extern int ma_shift = 0;
    extern int ma_method = 1;//0-3
    extern int fast_ema_period = 12;
    extern int slow_ema_period = 26;
    //---- buffers
    double ExtMapBuffer1[];
    double ExtMapBuffer2[];
    double ExtMapBuffer3[];
    double ExtMapBuffer4[];
    double ExtMapBuffer5[];
    double ExtMapBuffer6[];

    int init()
    {
    //---- indicators
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0,ExtMapBuffer1);
    SetIndexStyle(1,DRAW_HISTOGRAM);
    SetIndexBuffer(1,ExtMapBuffer2);
    SetIndexStyle(2,DRAW_HISTOGRAM);
    SetIndexBuffer(2,ExtMapBuffer3);
    SetIndexStyle(3,DRAW_HISTOGRAM);
    SetIndexBuffer(3,ExtMapBuffer4);
    SetIndexStyle(4,DRAW_HISTOGRAM);
    SetIndexBuffer(4,ExtMapBuffer5);
    SetIndexStyle(5,DRAW_HISTOGRAM);
    SetIndexBuffer(5,ExtMapBuffer6);
    //----
    return(0);
    }

    int start()
    {
    int i,counted_bars=IndicatorCounted();
    //----
    i=Bars-counted_bars-1;
    while(i>=0)
    {
    double MA_0 = iMA(NULL,0,period,ma_shift,ma_method,PRICE_CLOSE,i);
    // applied_price_ma - по какой цене расщитывать среднюю
    // i - сдвиг относительно текущего бара
    double MA_1 = iMA(NULL,0,period,ma_shift,ma_method,PRICE_CLOSE,i+1);
    double MACD_main1 = iMACD(NULL,0,fast_ema_period,slow_ema_period,9,PRICE_CLOSE,MODE_MAIN,i);
    double MACD_signal1 = iMACD(NULL,0,fast_ema_period,slow_ema_period,9,PRICE_CLOSE,MODE_SIGNAL,i);
    double MACD_main2 = iMACD(NULL,0,fast_ema_period,slow_ema_period,9,PRICE_CLOSE,MODE_MAIN,i+1);
    double MACD_signal2 = iMACD(NULL,0,fast_ema_period,slow_ema_period,9,PRICE_CLOSE,MODE_SIGNAL,i+1);
    // MODE_MAIN - основная линия MACD, MODE_SIGNAL - сигнальная

    if(MA_0>MA_1 && (MACD_main1-MACD_signal1)>(MACD_main2-MACD_signal2) && ((MACD_main1-MACD_signal1)>0))
    {
    ExtMapBuffer1=High;
    ExtMapBuffer2=Low;
    }
    if(MA_0<MA_1 && (MACD_main1-MACD_signal1)<(MACD_main2-MACD_signal2) && ((MACD_main1-MACD_signal1)<0))
    {
    ExtMapBuffer3=High;
    ExtMapBuffer4=Low;
    }
    if(MA_0<=MA_1 && (MACD_main1-MACD_signal1)>0)
    {
    ExtMapBuffer5=High;
    ExtMapBuffer6=Low;
    }
    if(MA_0<=MA_1 && (MACD_main1-MACD_signal1)>(MACD_main2-MACD_signal2))
    {
    ExtMapBuffer5=High;
    ExtMapBuffer6=Low;
    }
    if(MA_0>=MA_1 && (MACD_main1-MACD_signal1)<0)
    {
    ExtMapBuffer5=High;
    ExtMapBuffer6=Low[i];
    }
    if(MA_0>=MA_1 && (MACD_main1-MACD_signal1)<(MACD_main2-MACD_signal2))
    {
    ExtMapBuffer5[i]=High[i];
    ExtMapBuffer6[i]=Low[i];
    }
    i--;
    }
    //----
    return(0);
    }

    [/i][/i][/i][/i][/i]
    [i][i][i][i]
    [/I][/I][/I][/I]

    [​IMG]
    [I][I][I][I]



    2. Второй индикатор под названием «Strength Index»

    Индекс силы помогает обнаружить точки разворота, связывая три фактора: направление изменения цен, его размер и объем торгов.

    Индекс силы = (Цена закр.сегодня — Цена закр.вчера) Объем торговсего

    Значения индекса силы лучше сгладить с помощью ЕМА (который можно было бы настраивать через Менеджер Индикаторов в Тайгер Про) и вывести на график в виде линии.



    Описание обоих индикаторов есть в книге «Трейдинг с доктором Элдером» на 81 странице и на 122странице (если нужно подробнее то вот ссылка на книгу

    [URL][URL]https://yadi.sk/i/bBZkL8wQ3VfBuj[/URL][/URL]


    [/I][/I][/I][/I]