Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre Performance jeanjo est sur la route de la réputation...
    Date d'inscription
    November 2010
    Messages
    181
    Pouvoir de réputation
    3

    Demande aide pour un indicateur linear regression Demande aide pour un indicateur linear regression

    TrendLinearReg - MQL4 Code Base

    //-------------------------------------------------------------------
    // TrendLinearReg.mq4
    // Copyright © 2008 Sergej Solujanov
    //--------------------------------------------------------------------
    #property copyright "Copyright © 2008 Sergej Solujanov"
    #property link "irasol@bk.ru"
    #property indicator_separate_window

    #property indicator_buffers 2
    #property indicator_color1 LimeGreen
    #property indicator_color2 Red

    extern int barsToCount=34; // Период
    extern int CountBars = 500; // Количество баров для прорисовки

    double buffer0[];
    double buffer1[];
    //--------------------------------------------------------------------
    int init()
    {
    IndicatorShortName(StringConcatenate("TrendLR (",barsToCount,")"));
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0,buffer0);
    SetIndexStyle(1,DRAW_HISTOGRAM);
    SetIndexBuffer(1,buffer1);
    return(0);
    }

    //--------------------------------------------------------------------
    int deinit()
    {
    return(0);
    }

    //--------------------------------------------------------------------
    int start()
    {
    //
    int counted_bars = IndicatorCounted();
    double a, b, c, sumy, sumx, sumxy, sumx2;
    double prev;
    double current;
    if(Bars <= CountBars + barsToCount+1) return(0);
    int limit=Bars-counted_bars-1;
    if (limit>CountBars) limit=CountBars;

    for(int shift = limit; shift >= 0; shift--)
    {
    sumy=0.0; sumx=0.0; sumxy=0.0; sumx2=0.0;

    for(int i=0; i<barsToCount; i++)
    {
    sumy+=Close[i+shift];
    sumxy+=Close[i+shift]*i;
    sumx+=i;
    sumx2+=i*i;
    }

    c=sumx2*barsToCount-sumx*sumx;
    if (c==0) c=0.1;
    b=(sumxy*barsToCount-sumx*sumy)/c;
    // a=(sumy-sumx*b)/barsToCount;
    current=-1000*b;
    prev=current;

    if ((buffer0[shift+1] !=EMPTY_VALUE) || (buffer1[shift+1] !=EMPTY_VALUE))
    if (buffer1[shift+1] !=EMPTY_VALUE) prev=buffer1[shift+1];
    else prev=buffer0[shift+1];

    if (current>=prev)
    {
    buffer0[shift]= current;
    buffer1[shift]= EMPTY_VALUE;
    }
    else
    if(current<prev)
    {
    buffer1[shift]= current;
    buffer0[shift]= EMPTY_VALUE;
    }
    }
    return(0);
    }

    Pour éviter les faux signaux comme ici :

    Images attachées
    Dernière modification par jeanjo ; 03/02/2011 à 11h27.

  2. #2
    Membre Performance jeanjo est sur la route de la réputation...
    Date d'inscription
    November 2010
    Messages
    181
    Pouvoir de réputation
    3

    iii iii

    Problème résolu, il suffit de mettre une IMAOnArray de la même façon que pour l'indicateur stochastic.

  3. #3
    Membre Performance jeanjo est sur la route de la réputation...
    Date d'inscription
    November 2010
    Messages
    181
    Pouvoir de réputation
    3

    voila : voila :

    résultats avec achat sur le croisement- ligne et son signal -et sortie quand linear<0 :
    Images attachées
    Fichiers attachés

Discussions similaires

  1. Aide pour programmation indicateur stochastique
    Par hanzooo dans le forum Systèmes de Trading Auto
    Réponses: 7
    Dernier message: 12/02/2011, 14h05
  2. Aide pour indicateur de force
    Par pipsforever dans le forum Trading Divers
    Réponses: 1
    Dernier message: 20/07/2009, 01h42
  3. Demande d'aide pour Indicateur Prorealtime
    Par FuturPicsou dans le forum Programmation
    Réponses: 2
    Dernier message: 03/05/2009, 03h22
  4. Aide pour vérification indicateur
    Par hanzooo dans le forum Systèmes de Trading Auto
    Réponses: 0
    Dernier message: 04/02/2009, 05h32

Ajouter aux Favoris | Plan du site | Archives | Forex | Contact