TSI_MACD traduzione codice in prorealtime

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #112662 quote
    Luca LeonardiLuca Leonardi
    Participant
    New

    //Incrocio tra indicatore e segnale in acquisto e vendita

    ——————————————————————+
    //| TSI_MACD.mq4 |
    //+——————————————————————+
    #property indicator_separate_window
    #property indicator_buffers 2
    #property indicator_color1 Red
    #property indicator_color2 Green
    #property indicator_maximum 110
    #property indicator_minimum -110
    #property indicator_level1 0
    //—- input parameters
    extern int Fast = 8;
    extern int Slow = 21;
    extern int Signal = 5;
    extern int First_R = 8;
    extern int Second_S = 5;
    extern int SignalPeriod = 5;
    extern int Mode_Smooth = 2;
    //—- buffers
    double TSI_Buffer[];
    double SignalBuffer[];
    double MTM_Buffer[];
    double EMA_MTM_Buffer[];
    double EMA2_MTM_Buffer[];
    double ABSMTM_Buffer[];
    double EMA_ABSMTM_Buffer[];
    double EMA2_ABSMTM_Buffer[];
    //+——————————————————————+
    //| Custom indicator initialization function |
    //+——————————————————————+
    int init()
    {
    //—- indicators
    IndicatorBuffers(8);
    SetIndexBuffer(2, MTM_Buffer);
    SetIndexBuffer(3, EMA_MTM_Buffer);
    SetIndexBuffer(4, EMA2_MTM_Buffer);
    SetIndexBuffer(5, ABSMTM_Buffer);
    SetIndexBuffer(6, EMA_ABSMTM_Buffer);
    SetIndexBuffer(7, EMA2_ABSMTM_Buffer);
    //—-
    SetIndexStyle(0, DRAW_LINE);
    SetIndexBuffer(0, TSI_Buffer);
    SetIndexLabel(1, “TSI_MACD”);
    SetIndexStyle(1, DRAW_LINE);
    SetIndexBuffer(1, SignalBuffer);
    SetIndexLabel(1, “Signal”);
    IndicatorShortName(“TSI_MACD(” + Fast + “, ” + Slow + “, ” + Signal + “; ” +
    First_R + “, ” + Second_S + “, ” + SignalPeriod + “)”);
    //—-
    return(0);
    }
    //+——————————————————————+
    //| Custor indicator deinitialization function |
    //+——————————————————————+
    int deinit()
    {
    //—-
    return(0);
    }
    //+——————————————————————+
    //| Custom indicator iteration function |
    //+——————————————————————+
    int start()
    {
    int counted_bars = IndicatorCounted();
    int limit, i;
    limit = Bars – counted_bars – 1;
    //—-
    for(i = Bars – 1; i >= 0; i–)
    {
    MTM_Buffer[i] = iMACD(NULL, 0, Fast, Slow, Signal, PRICE_CLOSE, MODE_MAIN, i – 1) –
    iMACD(NULL, 0, Fast, Slow, Signal, PRICE_CLOSE, MODE_MAIN, i);
    ABSMTM_Buffer[i] = MathAbs(MTM_Buffer[i]);
    }
    //—-
    for(i=Bars-1;i>=0;i–)
    {
    EMA_MTM_Buffer[i] = iMAOnArray(MTM_Buffer, 0, First_R, 0, MODE_EMA, i);
    EMA_ABSMTM_Buffer[i] = iMAOnArray(ABSMTM_Buffer, 0, First_R, 0, MODE_EMA, i);
    }
    //—-
    for(i = Bars – 1; i >= 0; i–)
    {
    EMA2_MTM_Buffer[i] = iMAOnArray(EMA_MTM_Buffer, 0, Second_S, 0, MODE_EMA, i);
    EMA2_ABSMTM_Buffer[i] = iMAOnArray(EMA_ABSMTM_Buffer, 0, Second_S, 0, MODE_EMA, i);
    }
    //—-
    for(i = limit; i >= 0; i–)
    TSI_Buffer[i] = 100.0*EMA2_MTM_Buffer[i] / EMA2_ABSMTM_Buffer[i];
    //—-
    for(i = limit; i >= 0; i–)
    {
    SignalBuffer[i] = iMAOnArray(TSI_Buffer, 0, SignalPeriod, 0, Mode_Smooth, i);
    }
    //—-
    return(0);

    }
    //+——————————————————————+

    Cattura-1.png Cattura-1.png
Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

TSI_MACD traduzione codice in prorealtime


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
Summary

This topic contains 1 voice and has 0 replies.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 11/13/2019
Status: Active
Attachments: 1 files
ProRealCode ProRealCode
Loading...