Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Nouveau membre flodoom est sur la route de la réputation...
    Date d'inscription
    August 2011
    Messages
    8
    Pouvoir de réputation
    2

    Besoin d'aide Besoin d'aide

    Bonjour,
    Je cherche à faire sonner une seule fois mon indicateur de croisement moyennes mobiles mais je ne vois pas ce que je dois modifier.
    Actuellement, il sonne 3 fois.
    Si quelqu'un peut m'éclairer. Merci d'avance.




    #property copyright "Copyright © 2005, Jason Robinson (jnrtrading)"
    #property link "http://www.jnrtrading.co.uk"

    #property indicator_chart_window
    #property indicator_buffers 2
    #property indicator_color1 Lime
    #property indicator_color2 Red

    double CrossUp[];
    double CrossDown[];
    extern int FasterMode = 1; //0=sma, 1=ema, 2=smma, 3=lwma
    extern int FasterMA = 5;
    extern int SlowerMode = 1; //0=sma, 1=ema, 2=smma, 3=lwma
    extern int SlowerMA = 10;
    alertTag;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //---- indicators
    SetIndexStyle(0, DRAW_ARROW, EMPTY);
    SetIndexArrow(0, 233);
    SetIndexBuffer(0, CrossUp);
    SetIndexStyle(1, DRAW_ARROW, EMPTY);
    SetIndexArrow(1, 234);
    SetIndexBuffer(1, CrossDown);
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function |
    //+------------------------------------------------------------------+
    int start() {
    int limit, i, counter;
    double fasterMAnow, slowerMAnow, fasterMAprevious, slowerMAprevious,
    fasterMAafter, slowerMAafter;
    double Range, AvgRange;
    int counted_bars=IndicatorCounted();
    //---- check for possible errors
    if(counted_bars<0) return(-1);
    //---- last counted bar will be recounted
    if(counted_bars>0) counted_bars--;

    limit=Bars-counted_bars;

    for(i = 0; i <= limit; i++) {

    counter=i;
    Range=0;
    AvgRange=0;
    for (counter=i ;counter<=i+9;counter++)
    {
    AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
    }
    Range=AvgRange/10;

    fasterMAnow = iMA(NULL, 0, FasterMA, 0, FasterMode, PRICE_CLOSE,
    i);
    fasterMAprevious = iMA(NULL, 0, FasterMA, 0, FasterMode,
    PRICE_CLOSE, i+1);
    fasterMAafter = iMA(NULL, 0, FasterMA, 0, FasterMode,
    PRICE_CLOSE, i-1);

    slowerMAnow = iMA(NULL, 0, SlowerMA, 0, SlowerMode, PRICE_CLOSE,
    i);
    slowerMAprevious = iMA(NULL, 0, SlowerMA, 0, SlowerMode,
    PRICE_CLOSE, i+1);
    slowerMAafter = iMA(NULL, 0, SlowerMA, 0, SlowerMode,
    PRICE_CLOSE, i-1);

    if ( (fasterMAnow > slowerMAnow) && (fasterMAprevious <
    slowerMAprevious) && (fasterMAafter > slowerMAafter)) {
    CrossUp[i] = Low[i] - Range*0.5;
    if ( alertTag!=Time[0])
    {
    PlaySound("news.wav");// buy wav
    Alert(Symbol()," M",Period()," MA cross BUY");
    }
    alertTag = Time[0];
    }
    else if ((fasterMAnow < slowerMAnow) && (fasterMAprevious >
    slowerMAprevious) && (fasterMAafter < slowerMAafter)) {
    CrossDown[i] = High[i] + Range*0.5;
    if ( alertTag!=Time[0])
    {
    PlaySound("news.wav"); //sell wav
    Alert(Symbol()," M",Period()," MA cross SELL");
    }
    alertTag = Time[0];
    }
    }
    return(0);
    }

  2. #2
    Membre lvl 50 Pacamo deviendra bientot célèbre... Avatar de Pacamo
    Date d'inscription
    February 2011
    Localisation
    Suisse
    Messages
    64
    Pouvoir de réputation
    4

    Bonjour

    ça dois le faire ...

    Code:
    #property copyright "Copyright © 2005, Jason Robinson (jnrtrading)"
    #property link "http://www.jnrtrading.co.uk"
    
    #property indicator_chart_window
    #property indicator_buffers 2
    #property indicator_color1 Lime
    #property indicator_color2 Red
    
    double CrossUp[];
    double CrossDown[];
    extern int FasterMode = 1; //0=sma, 1=ema, 2=smma, 3=lwma
    extern int FasterMA = 5;
    extern int SlowerMode = 1; //0=sma, 1=ema, 2=smma, 3=lwma
    extern int SlowerMA = 10;
    datetime  alertTag;
    int son;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //---- indicators
    SetIndexStyle(0, DRAW_ARROW, EMPTY);
    SetIndexArrow(0, 233);
    SetIndexBuffer(0, CrossUp);
    SetIndexStyle(1, DRAW_ARROW, EMPTY);
    SetIndexArrow(1, 234);
    SetIndexBuffer(1, CrossDown);
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----
    
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function |
    //+------------------------------------------------------------------+
    int start() {
    int limit, i, counter;
    double fasterMAnow, slowerMAnow, fasterMAprevious, slowerMAprevious,fasterMAafter, slowerMAafter;
    double Range, AvgRange;
    int counted_bars=IndicatorCounted();
       //---- check for possible errors
       if(counted_bars<0) return(-1);
       //---- last counted bar will be recounted
       if(counted_bars>0) counted_bars--;
    
       limit=Bars-counted_bars;
    
       for(i = 0; i <= limit; i++)
       {
    
       counter=i;
       Range=0;
       AvgRange=0;
                for (counter=i ;counter<=i+9;counter++)
                {
                AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
                }
       Range=AvgRange/10;
    
    fasterMAnow = iMA(NULL, 0, FasterMA, 0, FasterMode, PRICE_CLOSE,i);
    fasterMAprevious = iMA(NULL, 0, FasterMA, 0, FasterMode,PRICE_CLOSE, i+1);
    fasterMAafter = iMA(NULL, 0, FasterMA, 0, FasterMode,PRICE_CLOSE, i-1);
    slowerMAnow = iMA(NULL, 0, SlowerMA, 0, SlowerMode, PRICE_CLOSE,i);
    slowerMAprevious = iMA(NULL, 0, SlowerMA, 0, SlowerMode,PRICE_CLOSE, i+1);
    slowerMAafter = iMA(NULL, 0, SlowerMA, 0, SlowerMode,PRICE_CLOSE, i-1);
    
       
       
       if ( (fasterMAnow > slowerMAnow) && (fasterMAprevious <slowerMAprevious) && (fasterMAafter > slowerMAafter)) 
       {
       CrossUp[i] = Low[i] - Range*0.5;
       son=1;
       
       }else if ((fasterMAnow < slowerMAnow) && (fasterMAprevious >slowerMAprevious) && (fasterMAafter < slowerMAafter)) 
       {
       CrossDown[i] = High[i] + Range*0.5;
       son=-1;
       
       }
     if (newbar())
     {
         if (son==1)
         {
         PlaySound("news.wav");// buy wav
         Alert(Symbol()," M",Period()," MA cross BUY");
         son=0;
         }
         if (son==-1)
         {
         PlaySound("news.wav"); //sell wav
         Alert(Symbol()," M",Period()," MA cross SELL");
         son=0:
         }
     }
     
    }
    return(0);
    } 
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    //+ New bar                                                          +
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    bool newbar()
    {
       static datetime lastbar;
       datetime curbar = Time[0];
       if(lastbar!=curbar)
       {
          lastbar=curbar;
          return (true);
       }
       else
       {
          return(false);
       }
    }
    hop ...
    Dernière modification par Pacamo ; 07/12/2011 à 14h13.
    La véritable augmentation survient quand l'homme réalise en lui-même les conditions qu'elle exige

  3. #3
    Nouveau membre flodoom est sur la route de la réputation...
    Date d'inscription
    August 2011
    Messages
    8
    Pouvoir de réputation
    2

    Merci beaucoup Pacamo
    Je vais tester tout ça

  4. #4
    Nouveau membre flodoom est sur la route de la réputation...
    Date d'inscription
    August 2011
    Messages
    8
    Pouvoir de réputation
    2

    Encore un peu d'aide car quand je compile, il y a une erreur.
    Merci d'avance

  5. #5
    Membre lvl 50 Pacamo deviendra bientot célèbre... Avatar de Pacamo
    Date d'inscription
    February 2011
    Localisation
    Suisse
    Messages
    64
    Pouvoir de réputation
    4

    Bonsoir
    Je vais regarde ça demain car je n'ai pas mon ordi sous la main...
    La véritable augmentation survient quand l'homme réalise en lui-même les conditions qu'elle exige

  6. #6
    Nouveau membre flodoom est sur la route de la réputation...
    Date d'inscription
    August 2011
    Messages
    8
    Pouvoir de réputation
    2

    Merci Pacamo
    J'aurais peut être pu trouver l'erreur mais je suis vraiment trop nul ...

  7. #7
    Membre lvl 50 Pacamo deviendra bientot célèbre... Avatar de Pacamo
    Date d'inscription
    February 2011
    Localisation
    Suisse
    Messages
    64
    Pouvoir de réputation
    4

    Bonjour voilà

    Code:
    #property copyright "Copyright © 2005, Jason Robinson (jnrtrading)"
    #property link "http://www.jnrtrading.co.uk"
    
    #property indicator_chart_window
    #property indicator_buffers 2
    #property indicator_color1 Lime
    #property indicator_color2 Red
    
    double CrossUp[];
    double CrossDown[];
    extern int FasterMode = 1; //0=sma, 1=ema, 2=smma, 3=lwma
    extern int FasterMA = 5;
    extern int SlowerMode = 1; //0=sma, 1=ema, 2=smma, 3=lwma
    extern int SlowerMA = 10;
    datetime  alertTag;
    int son,blocb,blocs;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //---- indicators
    SetIndexStyle(0, DRAW_ARROW, EMPTY);
    SetIndexArrow(0, 233);
    SetIndexBuffer(0, CrossUp);
    SetIndexStyle(1, DRAW_ARROW, EMPTY);
    SetIndexArrow(1, 234);
    SetIndexBuffer(1, CrossDown);
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----
    
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function |
    //+------------------------------------------------------------------+
    int start() {
    int limit, i, counter;
    double fasterMAnow, slowerMAnow, fasterMAprevious, slowerMAprevious,fasterMAafter, slowerMAafter;
    double Range, AvgRange;
    int counted_bars=IndicatorCounted();
       //---- check for possible errors
       if(counted_bars<0) return(-1);
       //---- last counted bar will be recounted
       if(counted_bars>0) counted_bars--;
    
       limit=Bars-counted_bars;
    
       for(i = 0; i <= limit; i++)
       {
    
       counter=i;
       Range=0;
       AvgRange=0;
                for (counter=i ;counter<=i+9;counter++)
                {
                AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
                }
       Range=AvgRange/10;
    
    fasterMAnow = iMA(NULL, 0, FasterMA, 0, FasterMode, PRICE_CLOSE,i);
    fasterMAprevious = iMA(NULL, 0, FasterMA, 0, FasterMode,PRICE_CLOSE, i+1);
    fasterMAafter = iMA(NULL, 0, FasterMA, 0, FasterMode,PRICE_CLOSE, i-1);
    slowerMAnow = iMA(NULL, 0, SlowerMA, 0, SlowerMode, PRICE_CLOSE,i);
    slowerMAprevious = iMA(NULL, 0, SlowerMA, 0, SlowerMode,PRICE_CLOSE, i+1);
    slowerMAafter = iMA(NULL, 0, SlowerMA, 0, SlowerMode,PRICE_CLOSE, i-1);
    
    
       
       if ( (fasterMAnow > slowerMAnow) && (fasterMAprevious <slowerMAprevious) && (fasterMAafter > slowerMAafter)) 
       {
       CrossUp[i] = Low[i] - Range*0.5;
       son=1;
       
       }else if ((fasterMAnow < slowerMAnow) && (fasterMAprevious >slowerMAprevious) && (fasterMAafter < slowerMAafter)) 
       {
       CrossDown[i] = High[i] + Range*0.5;
       son=-1;
       
       }
     if (newbar())
     {
         if (son==1&& blocb==0)
         {
         PlaySound("news.wav");// buy wav
         Alert(Symbol()," M",Period()," MA cross BUY");
         son=0;
         blocb=1;
         blocs=0;
         }
         if (son==-1 && blocs==0)
         {
         PlaySound("news.wav"); //sell wav
         Alert(Symbol()," M",Period()," MA cross SELL");
         son=0;
         blocb=0;
         blocs=1;
         }
     }
     
    }
    return(0);
    } 
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    //+ New bar                                                          +
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    bool newbar()
    {
       static datetime lastbar;
       datetime curbar = Time[0];
       if(lastbar!=curbar)
       {
          lastbar=curbar;
          return (true);
       }
       else
       {
          return(false);
       }
    }

    bien a vous
    La véritable augmentation survient quand l'homme réalise en lui-même les conditions qu'elle exige

  8. #8
    Nouveau membre flodoom est sur la route de la réputation...
    Date d'inscription
    August 2011
    Messages
    8
    Pouvoir de réputation
    2

    Encore merci d'avoir répondu à ma question

Discussions similaires

  1. besoin d'aide
    Par sigmound dans le forum Novice sur le Forex
    Réponses: 3
    Dernier message: 22/02/2010, 23h02
  2. J'ai besoin d'aide
    Par sigmound dans le forum Novice sur le Forex
    Réponses: 4
    Dernier message: 22/02/2010, 22h12
  3. j ai besoin d aide
    Par helene dans le forum Novice sur le Forex
    Réponses: 1
    Dernier message: 07/02/2010, 11h12
  4. besoin d'aide
    Par irnosimao dans le forum Présentation des membres
    Réponses: 4
    Dernier message: 05/03/2009, 12h32

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