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

Besoin d'aide pour corriger mon indicateur de volatilité

  • fog

    Bonjour,
    j'ai eu l'idée de créer un indicateur de volatilité asser simple, qui donnerait sous forme d'histogramme à 4 niveaux ,une note à la volatilité :
    0, trop faible
    1et -1 faible
    2 et -2 tradable
    3 et -3 trés forte
    on pourrait regler la periode et les seuils pour chaque niveau , le résultat avait l'air assez interessant (voir image) mais pas de bol dés que je me connecte mt4 plante, est ce que quelqu'un pourrait jeter un oeil à mon code?

    //+------------------------------------------------------------------+
    //| volatility.mq4 |
    //| Copyright © 2012, fog. |
    //| http://www.metaquotes.net/ |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2012, MetaQuotes Software Corp."
    #property link "http://www.metaquotes.net/"

    #property indicator_separate_window
    #property indicator_buffers 1
    #property indicator_color1 Silver
    #property indicator_width1 3
    //---- input parameters
    extern int T=4;
    extern double Seuil1=0.0004;
    extern double Seuil2=0.0006;
    extern double Seuil3=0.0010;

    //---- buffers
    double VolatilityBuffer[];
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    string short_name;
    IndicatorBuffers(1);
    IndicatorDigits(Digits);
    //---- indicator line
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0,VolatilityBuffer);
    //---- name for DataWindow and indicator subwindow label
    short_name="volatility("+T+";)";
    IndicatorShortName(short_name);
    SetIndexLabel(0,short_name);

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| volatility |
    //+------------------------------------------------------------------+
    int start()
    {
    int i,counted_bars=IndicatorCounted();
    //----
    if(Bars<=T) return(0);
    //----
    int limit=Bars-counted_bars;
    if(counted_bars>0) limit++;
    for(i=0; i<limit; i++)

    //----
    i=Bars-counted_bars-1;
    while(i>=0)
    {
    if(Close[i]-Open[i+T]>=Seuil1&&Close[i]-Open[i+T]<Seuil2) VolatilityBuffer[i]=1;
    else if(Close[i]-Open[i+T]<=-Seuil1&&Close[i]-Open[i+T]>Seuil2) VolatilityBuffer[i]=-1;
    else if(Close[i]-Open[i+T]>=Seuil2&&Close[i]-Open[i+T]<Seuil3) VolatilityBuffer[i]=2;
    else if(Close[i]-Open[i+T]<=-Seuil2&&Close[i]-Open[i+T]>Seuil3) VolatilityBuffer[i]=-2;
    else if(Close[i]-Open[i+T]>=Seuil3) VolatilityBuffer[i]=3;
    else if(Close[i]-Open[i+T]<=-Seuil3) VolatilityBuffer[i]=-3;
    else VolatilityBuffer[i]=0;
    i--;
    }
    //----
    return(0);
    }

    //+------------------------------------------------------------------+
    fog a joint une image
    besoin-d-aide-pour-corriger-mon-indicateur-de-volatilite-5582
  • boursicoton

    une boutade :
    c'est difficile de corriger un code .... mais j'ai regardé ton graphe....si tu y trouves un interet statistique,chapeau bas !
    dis toi que la volatilité tu la vois deja en regardant les bougies, si tu veux la voir avec un indicateur, tu as l'atr, les bandes de mm, le kumo, tout cela te montre la volatilité,(j'evite de parler ds boll... dont l'auteur va suivre des formations chez cahen....faut le faire !) bref ton code ne t'apportera rien de plus, maintenant si tu me dis, je vais rechercher la vol sur un histo de 100 periodes par exemple pour savoir si on change de rythme, là je te dirais... ah oui... cela peut te donner une indication mais pas un sens.
    en regle générale, l'etude de la volatilité n'est pas recommandée pour de jeunes praticiens, il faut déjà avoir un sens du rythme aiguisé.
    je sais swing..pensée unique..... mais il y a tellement de choses qui sont utilisés de façon impropre ou dont l'outil ne vaut rien de plus qu'à faire "zoli" et dont les conclusions sont visibles avant avec d'autres reflexions..... fibo, points pivots etc....elliott..... je pourrais en ecrire des ebook la dessus !
  • fog — en réponse à boursicoton dans son message #55866

    boursicoton, le 18/08/2012 dit :
    une boutade : c'est difficile de corriger un code .... mais j'ai regardé ton graphe....si tu y trouves un interet statistique,chapeau bas !


    merci c'est gentil :)

    pour répondre sérieusement à ton commentaire si je peux effectivement connaitre la vol en observant les volumes l'heure de la journée la taille et le type d'enchainement de bougies c'est une tache un peu plus compliquée pour un bot qui s'il se base sur les volumes ne verra pas une occasion de nuit, alors on peut le programmer pour dormir la nuit mais autrement, si on veut qu'il bosse quand même il faut bien essayer de trouver une solution.

    ensuite l’intérêt statistique de cet indicateur et bien il ne repeint pas, a peu d'inertie ce qui est déjà d'un grand intérêt pour moi, après il faut observer sur plusieurs journées...

    maintenant dernière chose regarde à nouveau l'image, vers 14h il y a1 mouvement haussier en 2 phases, à chaque fin de phase l'indicateur passe à 0, donc comme signal de sortie ça peut etre utile.

    en tout cas merci de ta critique.
  • fog

    une autre image plus parlante, avec une version simplifiée de l'indicateur.
    periode 4
    seuil unique à 4 pips

    en rouge les bons points de sortie, en jaune les faux signaux
    fog a joint une image
    besoin-d-aide-pour-corriger-mon-indicateur-de-volatilite-5589
  • Amin — en réponse à fog dans son message #55899

    Concernant les barres en rouge, elles indiquent également les points d'entrées ? Car on peut voir par exemple, qu'une barre rouge débute à une position toujours inférieure à celle de la suivante.
  • fog — en réponse à Amin dans son message #55900

    Amin, le 19/08/2012 dit :
    Concernant les barres en rouge, elles indiquent également les points d'entrées ? Car on peut voir par exemple, qu'une barre rouge débute à une position toujours inférieure à celle de la suivante.

    c'est un peu tot pour le dire, ici le cours est en tendance, donc si on prends les signaux de sortie short comme point d'entrée long, dans le cas de cet exemple ça marche, le bon vieux trend is your friend. mais il faut vraiment que je corrige le code pour pouvoir faire des tests plus poussés.
  • boursicoton

    bonsoir fog,
    je persiste... et vais t'expliquer pourquoi ! c'est ma vue pas la verité....
    en fixant ton seuil de maniere univoque tu ne prends pas en compte le rythme de ton sous jacent. Tu vas devoir tatonner à chaque fois pour trouver le bon parametre, suivant l'ut, le sous jacent cela sent l'optimisation .... pas terrible cela.
    ensuite quand tu signales les traits verticaux on ne peut les utiliser que periode + 1 puisque le code est sur le close. Cela va amoindrir le signal.
    donc comme axe de travail trouve toi un parametre qui evolue selon les cours et que tu n'as pas à retoucher.
    autre pensée, si tu as choisi 4 pips, tu dois etre plutot scalpeur... alors là ne travaille que le prix tu seras bien plus efficient.

    et puis travail pour tout le monde, reprenez le graphe, tracer des simples sr horizontaux, vous aurez moins de signaux mais ô combien plus pertinent !
  • fog

    _________________________________________________________________________________________________________

    !!!PROBLEME DE CODE RESOLU!!
    _________________________________________________________________________________________________________

    bonjour Boursicoton,
    je n'utilise qu'une seule ut, un seul systeme donc mon parametre ne devrait pas trop varier, 4pips c'est ce qui a l'air de marcher pour eurusd en m5, je verrai par la suite si ce seuil est viable...
    sinon en effet je fais du court terme j'ai un autre indicateur qui me donne de bons signaux d'entrée sauf qu'en signal de sortie il n'est pas optimal c'est pour ça que j'explore d'autres voies le prix en est une en effet mais ce n'est pas l'objet de ce post.
    en tout cas merci de ta participation constructive