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

Alerte Croisement du W% sur le StoDinapoli

  • matconi

    Bonjour, je cherche à créer une alerte lorsque le W% croise le Sto, j'ai ce code que j'ai trouvé dans le topic de Jvalau concernant sa stratégie (je n'arrive pas à retrouver dans les 72 pages où j'ai pris ça). A la base ce code sert pour le croisement avec le SMI. Je l'ai modifié comme indiqué pour le Sto mais cela ne fonctionne pas. Quelqu'un qui s'y connait en programmation pourrait-il me dire ce qui cloche dans le code svp ? merci

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

    extern bool alert_mail = false;
    extern bool alert_popup = true;
    extern bool alert_niveau = true;
    extern int niveau = 0;
    int savedVolume;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //---- indicators
    //----
    savedVolume=Volume[0];
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----
    if(newBarFormed())
    {
    double valueIndic1 = iWPR(NULL,0,26,0);
    double PrevValueIndic1 = iWPR(NULL,0,26,1);
    /*
    Pour changer d'indicateur il suffit de modifier la fonction iCustom
    Pour ce faire, il faut changer le nom entre les guillemets avec le nom du fichier de l'indicateur
    Par exemple si votre indicateur s'appelle blabla.mq4 alors il faut remplacer "SMI_v1.1" par "blabla"
    Ensuite vient les paramètres de l'indicateur, vous reconnaitrez le 14,25,2,4 de la stratégie actuelle.
    Il suffit de supprimer ces paramètres et de les remplacer par ceux du nouvel indicateur. Par exemple:
    Si l'indicateur blabla a 2 paramètres que vous utilisez avec les valeurs 100 et 4 alors la fonction
    deviendra iCustom(NULL,0,"blabla",100,4,0,2);
    Le chiffre qui suit (ici 0) est le mode de votre indicateur qui est en fait le buffer contenant les
    valeurs de votre indics, en général vous n'avez pas à le toucher.
    Le dernier chiffre correspond au shift comme pour les MA, c'est le numéro de la bougie pour laquelle
    vous voulez la valeur de l'indic, ici ce sera l'avant avant dernière bougie car la bougie actuelle est la 0.
    Si ca ne fonctionne pas contactez moi ou ce reporter à la page suviante :http://docs.mql4.com/indicators/iCustom
    Donc pour l'indicateur blabla on aura les lignes suivantes:
    double valueIndic2 = iCustom(NULL,0,"blabla",100,4,0,1);
    double PrevValueIndic2 = iCustom(NULL,0,"blabla",100,4,0,2);
    */
    double valueIndic2 = iCustom(NULL,0,"StochasticDiNapoli_v1",26,9,4,0,0);
    double PrevValueIndic2 = iCustom(NULL,0,"StochasticDiNapoli_v1",26,9,4,0,1);

    if(valueIndic1 > valueIndic2 && PrevValueIndic1 < PrevValueIndic2 )
    {
    if(alert_popup)
    Alert("Buy signal on ", Symbol()," !!!";);
    if(alert_mail)
    SendMail("Buy signal on "+ Symbol(),"Buy signal on "+ Symbol()+" !!!";);
    }
    if(valueIndic1 < valueIndic2 && PrevValueIndic1 > PrevValueIndic2 )
    {
    if(alert_popup)
    Alert("Sell signal on ", Symbol()," !!!";);
    if(alert_mail)
    SendMail("Sell signal on "+ Symbol(),"Sell signal on "+ Symbol()+" !!!";);
    }
    if(alert_niveau)
    {
    if(valueIndic2>=niveau && PrevValueIndic2<=niveau)
    Alert("Croisement à la hausse sur ", Symbol()," !!!";);
    if(valueIndic2<=niveau && PrevValueIndic2>=niveau)
    Alert("Croisement à la baisse sur ", Symbol()," !!!";);
    }
    //---- done
    }


    //----
    return(0);
    }
    //+------------------------------------------------------------------+

    bool newBarFormed() {
    bool ret=Volume[0] < savedVolume;
    savedVolume = Volume[0];
    return(ret);
    }
  • matconi

    dsl ça m'a tout collé dans le message, comment faites vous pour envoyer un code de programmation dans une cellule différente de votre message ?