Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

Indicateur Laguerre avec ALerte

  • matconi

    bonjour, j'ai un indicateur laguerre avec une alerte mais celui ci n'attends pas la cloture de la bougie pour donner son alerte. Quelqu'un saurait-il modifier le code pour ne le faire sonner que lorsque la bougie est terminé ??? merci

    //+------------------------------------------------------------------+
    //| LaguerreALERTE.mq4 |
    //+------------------------------------------------------------------+



    #property indicator_separate_window
    #property indicator_minimum -0.1
    #property indicator_maximum 1.1
    #property indicator_color1 DodgerBlue
    #property indicator_width1 3
    #property indicator_level2 0.85
    #property indicator_level3 0.45
    #property indicator_level4 0.15

    //---- input parameters
    extern double gamma=0.55;
    extern int CountBars=9500;
    extern double BuyLevel=0.15;
    extern double SellLevel=0.85;
    extern bool UseAlertSound=true;
    datetime TimeStamp;

    double L0 = 0;
    double L1 = 0;
    double L2 = 0;
    double L3 = 0;
    double L0A = 0;
    double L1A = 0;
    double L2A = 0;
    double L3A = 0;
    double LRSI = 0;
    double CU = 0;
    double CD = 0;

    double val1[],
    ValBar1=0;
    double alertBar;
    double prev;

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

    int init()
    {
    //---- indicators
    //----
    SetIndexBuffer(0,val1);
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custor indicator deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //---- TODO: add your code here

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function |
    //+------------------------------------------------------------------+
    int start()
    {

    if (CountBars>Bars) CountBars=Bars;
    SetIndexDrawBegin(0,Bars-CountBars);

    int i;
    int counted_bars=IndicatorCounted();

    i=CountBars-1;

    while(i>=0)
    {
    L0A = L0;
    L1A = L1;
    L2A = L2;
    L3A = L3;
    L0 = (1 - gamma)*Close[i] + gamma*L0A;
    L1 = - gamma *L0 + L0A + gamma *L1A;
    L2 = - gamma *L1 + L1A + gamma *L2A;
    L3 = - gamma *L2 + L2A + gamma *L3A;

    CU = 0;
    CD = 0;

    if (L0 >= L1) CU = L0 - L1; else CD = L1 - L0;
    if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 - L1;
    if (L2 >= L3) CU = CU + L2 - L3; else CD = CD + L3 - L2;

    if (CU + CD != 0) LRSI = CU / (CU + CD);
    val1[i] = LRSI;

    if(i==1) ValBar1=LRSI;
    if(prev != 1 && i==0 && ValBar1>SellLevel && LRSI<=SellLevel && Bars>alertBar)
    {
    Alert("Lagerre Sell "+ Symbol()+" Curr: ", LRSI," on ",Period());
    alertBar = Bars;prev = 2;
    }

    if(prev != 2 && i==0 && ValBar1<BuyLevel && LRSI>=BuyLevel && Bars>alertBar)
    {
    Alert("Lagerre Buy "+ Symbol()+" Curr: ", LRSI," On ",Period());
    alertBar = Bars;prev = 1;
    }

    i--;
    }
    return(0);
    }
    //+------------------------------------------------------------------+
  • Yougo76

    Comment utilise-t-on cet indicateur ?
    Modifié le 2013-06-28 10:08:51 par Yougo76