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

Ressources Indicateurs MQL4 ?

  • thecastle2609

    Bonjour à tous,

    Je me suis formé sur les principales fonctions des EA car je veux en créer un à partir d'un indicateur. Le problème, c'est que je ne comprends pas le code de cet indicateur donc je suis bloqué...

    Connaîtriez-vous par hasard des ebooks (en français de préférence) qui enseignent les fonctions pour en créer (sur les buffers, bars, etc...) ou pour les comprendre ?

    Merci d'éclairer ma lanterne.

    Bien à vous :)
  • Mikiburger

    Si tu nous partageais l'indicateur en question, ont pourrait peut être regarder.
  • thecastle2609 — en réponse à Mikiburger dans son message #120861

    Mikiburger, le 31/01/2021 dit :
    Si tu nous partageais l'indicateur en question, ont pourrait peut être regarder.


    Merci beaucoup pour ta réponse et pour ton aide Mikiburger !

    Après le but, c'est que j'apprenne à répondre un maximun à répondre à mes propres questions. J'ai juste expliquer pourquoi j'avais besoin de ces ressources pour contextualiser.

    Du coup, comment as-tu appris ce que tu sais sur le langage MQL4 ? Qu'est-ce-que tu as utilisé pour te former ?

    Bien à toi ;)
  • thecastle2609

    Sinon, dans l'indicateur suivant:

    "#property indicator_separate_window
    #property indicator_buffers 3
    #property indicator_color1 Black
    #property indicator_color2 Lime
    #property indicator_color3 Red

    extern int period=10;

    double ExtBuffer0[];
    double ExtBuffer1[];
    double ExtBuffer2[];


    int init()
    {


    SetIndexStyle(0,DRAW_NONE);
    SetIndexStyle(1,DRAW_HISTOGRAM);
    SetIndexStyle(2,DRAW_HISTOGRAM);
    IndicatorDigits(Digits+1);

    SetIndexBuffer(0,ExtBuffer0);
    SetIndexBuffer(1,ExtBuffer1);
    SetIndexBuffer(2,ExtBuffer2);

    IndicatorShortName("SOLAR WIND";);
    SetIndexLabel(1,NULL);
    SetIndexLabel(2,NULL);

    return(0);
    }


    int start()
    {
    //int period=10;
    int limit;
    int counted_bars=IndicatorCounted();
    double prev,current,old;
    double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0;
    double price;
    double MinL=0;
    double MaxH=0;


    if(counted_bars>0) counted_bars--;
    limit=Bars-counted_bars;


    for(int i=0; i<limit; i++)
    { MaxH = High[Highest(NULL,0,MODE_HIGH,period,i)];
    MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)];
    price = (High[i]+Low[i])/2;
    Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1;
    Value=MathMin(MathMax(Value,-0.999),0.999);
    ExtBuffer0[i]=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1;
    Value1=Value;
    Fish1=ExtBuffer0[i];

    }


    bool up=true;
    for(i=limit-2; i>=0; i--)
    {
    current=ExtBuffer0[i];
    prev=ExtBuffer0[i+1];

    if (((current<0)&&(prev>0))||(current<0)) up= false;
    if (((current>0)&&(prev<0))||(current>0)) up= true;

    if(!up)
    {
    ExtBuffer2[i]=current;
    ExtBuffer1[i]=0.0;
    }

    else
    {
    ExtBuffer1[i]=current;
    ExtBuffer2[i]=0.0;
    }
    }

    return(0);
    }"

    Je ne comprends ni les mots "ExtBuffer[ ]", ni ce que représente les "[ ]", ni pourquoi ExtBuffer[i] prend cette valeur i dans la boucle et ce que ça veut dire dans le code.

    Si quelqu'un peut m'aider, ce serait sympa. :)