Download MetaTrader 5
To add comments, please log in or register
Interested in earning money via MQL5 Cloud Network? Enter your profile!
Kintu Dave
779
Kintu Dave 2015.09.15 13:12 

Any pro in coding?  I have email alert for set but this indicator sending me non stop emails. So many that my email did not have any more storage capacity and bouncing back. Can anyone modify or advise how to? I would like to have only 1 alert when the criteria met. Its and MFI indicator. Partial code is below

 Thank you in advance.

 

 

 int start()

  {

   int    i,j,nCountedBars;

   double dPositiveMF,dNegativeMF,dCurrentTP,dPreviousTP;

//---- insufficient data

   if(Bars<=MFIPeriod) return(0);

//---- bars count that does not changed after last indicator launch.

   nCountedBars=IndicatorCounted();

//----

   i=Bars-MFIPeriod-1;

   if(nCountedBars>MFIPeriod) 

      i=Bars-nCountedBars-1;

   while(i>=0)

     {

      dPositiveMF=0.0;

      dNegativeMF=0.0;

      dCurrentTP=(High[i]+Low[i]+Close[i])/3;

      for(j=0; j<MFIPeriod; j++)

        {

         dPreviousTP=(High[i+j+1]+Low[i+j+1]+Close[i+j+1])/3;

         if(dCurrentTP>dPreviousTP)

            dPositiveMF+=Volume[i+j]*dCurrentTP;

         else

           {

            if(dCurrentTP<dPreviousTP)

                dNegativeMF+=Volume[i+j]*dCurrentTP;

           }

          dCurrentTP=dPreviousTP;      

        }

      //----

      if(dNegativeMF!=0.0)      

         MFIBuffer[i]=100-100/(1+dPositiveMF/dNegativeMF);

      else

         MFIBuffer[i]=100;

      //----

      i--;

     }

   if(AlertMode)

   {

      if(MFIBuffer[1]<OverBought && MFIBuffer[0]>=OverBought)

         Alert("MFI "+MFIPeriod+ ", Sell @ Level "+OverBought+" - "+Symbol()+" M"+Period()+" @ "+DoubleToStr(Bid,Digits)+"");

      else if(MFIBuffer[1]>OverSold && MFIBuffer[0]<=OverSold)

         Alert("MFI "+MFIPeriod+ ", Buy @ Level "+OverSold+" - "+Symbol()+" M"+Period()+" @ "+DoubleToStr(Bid,Digits)+"");

   }

//----

   return(0);

  }

//+------------------------------------------------------------------+

whroeder1
14457
whroeder1 2015.09.15 17:26  
kintu11: r sending me non stop emails.
  1. Don't paste code
    Play video
    Please edit your post.
    For large amounts of code, attach it.

  2. Don't check for a signal.
    if(MFIBuffer[1]<OverBought && MFIBuffer[0]>=OverBought)
       Alert("MFI ...
    Check for a change in signal.
    static bool isBuy=false;
    bool wasBuy = isBuy;
    isBuy = MFIBuffer[1]<OverBought && MFIBuffer[0]>=OverBought)
    if(isBuy && !wasBuy)
       Alert("MFI ...
/
To add comments, please log in or register