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

Décalage Donchian (indicateur experimental)

  • fog

    salut a tous
    j'ai bricolé un petit indicateur à partir du canal donchian.

    concept:
    suivre la tendance grâce à une moyenne qui ne repeint pas, et identifier les pics d'intensité et donc possiblement les breakouts, sur un même indicateur, c'est un travail qui peut être fait sur un graphe nu à l’œil ou en traçant des lignes, mais je trouve personnellement plus pratique de le faire d'un seul coup d’œil avec un indicateur.

    principe:
    on utilise la difference entre le prix (cloture) et la moyenne des plus hauts plus hauts et des plus bas plus bas sur x periodes et decalée de z pour la tendance.

    et la difference entre le prix (cloture) et les plus hauts plus hauts ainsi que les plus bas plus bas sur x periodes et decalée de z pour pics.

    parametres:
    -periods et shift concernent les breakouts rouge et bleu.
    -period long et shift long la tendance jaune.
    -amp sert à modifier la taille de l'histogramme jaune (purement visuel)
    -set up de base M5.
    utilisation:
    voir image
    comme outil de décision fonctionne bien en tendance , pas mal à peu risqué en bidirectionnel, et pas tété en range, comme un peu tout les indics ;).


    n'hésitez pas à tester et à dire si vous trouvez de meilleur réglages, et aussi si vous connaissez d'autres indicateurs qui font le même boulot en mieux.




    //+------------------------------------------------------------------+
    //| décalage donchian.mq4 |
    //| fog |
    //+------------------------------------------------------------------+
    #property copyright "none"
    #property link ""


    #property indicator_separate_window
    #property indicator_buffers 3
    #property indicator_color1 Yellow
    #property indicator_width1 3
    #property indicator_color2 Blue
    #property indicator_width2 3
    #property indicator_color3 Red
    #property indicator_width3 3


    extern int periods=12;
    extern int periodlong=24;
    extern int Shift=3;
    extern int Shiftlong=12;
    extern double amp=0.6;


    //---- buffers
    double BufferGreen[];
    double BufferYellow[];
    double BufferRed[];

    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init() {
    int i;
    for (i=0;i<3;i++) {
    SetIndexStyle(i,DRAW_HISTOGRAM);
    SetIndexDrawBegin(i,periods);
    SetIndexShift(i,Shift);
    }
    IndicatorShortName("décalage histo("+periods+","+Shift+","+amp+";)";);
    SetIndexBuffer(0,BufferYellow);
    SetIndexBuffer(1,BufferGreen);
    SetIndexBuffer(2,BufferRed);

    SetIndexShift(0,0);
    SetIndexShift(1,0);
    SetIndexShift(2,0);



    return(0); }//int init()
    //+------------------------------------------------------------------+
    int start() {
    int limit;
    double tmp1,tmp2,tmp3;
    int tmpBar, tmpTime;
    int counted_bars=IndicatorCounted();
    int i, j,k;
    if(counted_bars<0) return(-1);
    if(counted_bars>0) counted_bars--;
    limit=Bars-counted_bars;
    int cmd;
    for (i = limit;i>=0;i--){
    tmp3=Close[i]-iLow(Symbol(),Period(),iLowest(Symbol(),Period(),MODE_HIGH,periods,i+Shift));
    tmp2=Close[i]-(iLow(Symbol(),Period(),iLowest(Symbol(),Period(),MODE_HIGH,periodlong,i+Shiftlong))+iHigh(Symbol(),Period(),iHighest(Symbol(),Period(),MODE_HIGH,periodlong,i+Shiftlong)))/2;
    tmp1=Close[i]-iHigh(Symbol(),Period(),iHighest(Symbol(),Period(),MODE_HIGH,periods,i+Shift));
    BufferGreen[i] =tmp1;
    BufferYellow[i]=tmp2*amp;
    BufferRed[i] =tmp3;
    if (BufferGreen[i]>0){
    BufferRed[i]=EMPTY_VALUE;
    } else if (BufferRed[i] <0){
    BufferGreen[i] =EMPTY_VALUE;
    } else {
    BufferRed[i]=EMPTY_VALUE;
    BufferGreen[i] =EMPTY_VALUE;
    }
    }
    return(0);
    }
    fog a joint une image
    decalage-donchian-indicateur-experimental-6757
  • greg3395

    salut fog

    pas mal mais je pense qu'il possède le même problème que l'indicateur Super_Trend.
    quand le marcher est en consolidation ou dans un range , il a trop de faux signal.

    certes un indicateur comme le tient quand le marcher est dans un range , faut jouer le breakout du range pour prendre position, peu importe le sens de la sortie.

    Greg
  • fog

    salut greg
    merci de ton commentaire, oui en effet l'histogramme jaune est assez similaire au supertrend, c'est pour ça que j'ai rajouté la partie pic d'intensité, à la base comme tu l'a fait remarqué je l'avais codé pour etudier l'historique des breakouts de range intraday, donc pour l'instant c'est du dow sur histogramme.

    l’inconvénient c'est que la fréquence est fixe ,à l'avenir j'envisage de le coupler avec un indicateur de fréquence (j'y travaille...) et des stats , là je pense qu'on pourra commencer à parler de stratégie.