indicateur osma macd

Forums ProRealTime forum Français Support ProBuilder indicateur osma macd

Viewing 12 posts - 1 through 12 (of 12 total)
  • #122233

    bonjour a tous

    je suis a la recherche de l indicateur osma

    j ai pu trouver différentes versions mais aucune ne me convient notamment celle ci

    fastMA = exponentialAverage[12](close)
    slowMA = exponentialAverage[26](close)
    myMACD = fastMA slowMA
    line = Average[9](myMACD)
    osc = myMACD line
    Return osc As “Osc” ,0 As “Null”

    a cette page

    https://www.prorealcode.com/reply/69948/

     

    ce que je recherche plus précisément c est de pouvoir convertir ce code MT4

    bien évidement sans les alertes  mais avec les lignes signal et macd et l histo qui change de couleur

    j ai essayer avec ce code mais l histogramme ne donne pas le bon schéma

    merci de l aide

     

    // Paramètres
    C = 12
    L = 26
    S = 9

    MMC = exponentialAverage[C](close)
    MML = exponentialAverage[L](close)

    MACDHisto = MMC – MML
    ligne = exponentialAverage[S](MACDHisto)
    IF MACDHisto >= MACDHisto[1] THEN
    r = 0
    g = 255
    b = 0
    ELSIF MACDHisto < MACDHisto[1] THEN
    r = 255
    g = 0
    b = 0
    ENDIF
    RETURN MACDHisto coloured(r,g,b) as “MACD Histogramme”, MACDhisto COLOURED(0,0,250) as “ligne”, ligne coloured(250,0,0) as “Signal”

    voici le code trouve sur mt4

    //+——————————————————————+
    //| MACD_ColorHist_Alert.mq4 |
    //| Copyright © 2006, Robert Hill |
    //| |
    //+——————————————————————+
    #property copyright “Copyright © 2006, Robert Hill”
    //—- indicator settings
    #property indicator_separate_window
    #property indicator_buffers 4
    #property indicator_color1 Blue
    #property indicator_color2 Red
    #property indicator_color3 Lime
    #property indicator_color4 Red

    #property indicator_width1 2
    #property indicator_width2 2
    #property indicator_width3 2
    #property indicator_width4 2

    //—- indicator parameters

    extern bool SoundON=False;
    extern bool EmailON=false;

    extern int FastEMA=12;
    extern int SlowEMA=26;
    extern int SignalSMA=9;
    //—- indicator buffers
    double ind_buffer1[];
    double ind_buffer2[];
    double HistogramBufferUp[];
    double HistogramBufferDown[];
    int flagval1 = 0;
    int flagval2 = 0;
    //—- variables

    //+——————————————————————+
    //| Custom indicator initialization function |
    //+——————————————————————+
    int init()
    {
    //—- drawing settings
    // IndicatorBuffers(3);
    IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+1);
    SetIndexStyle(0,DRAW_LINE,STYLE_SOLID);
    SetIndexBuffer(0,ind_buffer1);
    SetIndexDrawBegin(0,SlowEMA);
    SetIndexStyle(1,DRAW_LINE,STYLE_SOLID);
    SetIndexBuffer(1,ind_buffer2);
    SetIndexDrawBegin(1,SignalSMA);
    SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID);
    SetIndexBuffer(2,HistogramBufferUp);
    SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID);
    SetIndexBuffer(3,HistogramBufferDown);
    // SetIndexDrawBegin(2,SlowEMA + SignalSMA);
    //—- name for DataWindow and indicator subwindow label
    IndicatorShortName(“MACD(“+FastEMA+”,”+SlowEMA+”,”+SignalSMA+”)”);
    SetIndexLabel(0,”MACD”);
    SetIndexLabel(1,”Signal”);
    SetIndexLabel(2,”Histogram”);

    //—- initialization done
    return(0);
    }
    //+——————————————————————+
    //| Moving Averages Convergence/Divergence |
    //+——————————————————————+
    int start()
    {
    int limit;
    double temp;

    int counted_bars=IndicatorCounted();
    //—- check for possible errors
    if(counted_bars<0) return(-1);
    //—- last counted bar will be recounted
    if(counted_bars>0) counted_bars–;
    limit=Bars-counted_bars;
    //—- macd counted in the 1-st buffer
    for(int i=0; i<limit; i++)
    ind_buffer1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
    //—- signal line counted in the 2-nd buffer
    for(i=0; i<limit; i++)
    ind_buffer2[i]=iMAOnArray(ind_buffer1,Bars,SignalSMA,0,MODE_SMA,i);
    // ind_buffer2[i] = alpha*ind_buffer1[i] + alpha_1*ind_buffer2[i+1];

    for(i=0; i<limit; i++)
    {
    HistogramBufferUp[i] = 0;
    HistogramBufferDown[i] = 0;
    temp = ind_buffer1[i] – ind_buffer2[i];
    if (temp >= 0)
    HistogramBufferUp[i] = temp;
    else
    HistogramBufferDown[i] = temp;

    if (i == 1)
    {
    if (HistogramBufferUp[i] > 0 && HistogramBufferDown[i + 1] < 0)
    // if (HistogramBufferUp[i] > HistogramBufferUp[i + 1])
    {
    // Cross up
    if (flagval1==0)
    {
    flagval1=1;
    flagval2=0;
    if (SoundON) Alert (“Macd Cross Up! “,Symbol(),” “,Period(),” @ “,Bid);
    if (EmailON) SendMail(“MACD Crossed up”, “MACD Crossed up, Date=”+TimeToStr(CurTime(),TIME_DATE)+” “+TimeHour(CurTime())+”:”+TimeMinute(CurTime())+” Symbol=”+Symbol()+” Period=”+Period());
    }
    }
    else if (HistogramBufferDown[i] < 0 && HistogramBufferUp[i + 1] > 0)
    // else if (HistogramBufferUp[i] < HistogramBufferUp[i + 1] )
    {
    // Cross down
    if (flagval2==0)
    {
    flagval2=1;
    flagval1=0;
    if (SoundON) Alert (“Macd Cross Down! ” ,Symbol(),” “,Period(),” @ “,Bid);
    if (EmailON) SendMail(“MACD Crossed down”,”MACD Crossed Down, Date=”+TimeToStr(CurTime(),TIME_DATE)+” “+TimeHour(CurTime())+”:”+TimeMinute(CurTime())+” Symbol=”+Symbol()+” Period=”+Period());
    }
    }
    }

    }

    //—- done
    return(0);
    }

     

    #122240

    je viens de retrouver ce code aussi

    mais il me manque les deux lignes “signal et macd et les couleurs sur l histo ”

     

    #122241

    >> Pour la clarté des messages sur les forums de ProRealCode, merci d’utiliser le bouton “insert PRT code” pour séparer la partie texte de la partie code, merci ! << 🙂

    #122248

    merci pour la correction ca sera fait

    #122251

     

    #122256

    merci pour la reponse

    mais je cherche plutôt ceci

     

    #122261

    Ce sont deux lignes

    #122262

    ???

    #122266

    comme dans le fichier que j ai attache que l histo osma  puissent avoir 4 couleurs

    et en plus de la ligne signal la ligne macd

    comme ceci

    #122286

    oui il y a deux lignes

    #122287

    OsMa est la différence entre tous OScillators et sa MA (moyenne mobile).

    Dans le MACD, c’est l’histogramme affiché sous forme de ligne au lieu d’un histogramme. Vous devez utiliser les propriétés pour changer l’histogramme en ligne.

    Ensuite, sur l’oscillateur, vous verrez 3 lignes, vous pouvez rendre n’importe lequel d’entre eux INVISIBLE avec les propriétés.

    #122299

    merci pour la reponse

    en fait je viens de remarquer que l indicateur macd sous prorealtime est plutôt macd soma sous erreur de ma part

Viewing 12 posts - 1 through 12 (of 12 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login