Trend_Analysis_Alternative

Author: Copyright � 2010, ���� ���������
Price Data Components
Series array that contains open time of each bar
Indicators Used
Moving average indicatorMovement directional indexBears Power indicatorBulls Power indicator Commodity channel indexDeMarker indicatorForce indexMACD HistogramMomentum indicatorRelative strength indexStochastic oscillator
Miscellaneous
Implements a curve of type %1It issuies visual alerts to the screen
2 Views
0 Downloads
0 Favorites
Trend_Analysis_Alternative
//+------------------------------------------------------------------+
//|                                   Trend Analysis Alternative.mq4 |
//|                                 Copyright © 2010, Èâàí Òðåòüÿêîâ |
//|                                             tretyak-off@inbox.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Èâàí Òðåòüÿêîâ"
#property link      "tretyak-off@inbox.ru"

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

extern int Change=50;
extern bool UseM15D1Metod=true;//Else - UseH4D1Metod
extern bool SoundON=true;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int flagval1=0;
int flagval2=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,217);//ââåðõ
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,218);//âíèç
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit,i,counter;
   double tmp=0;
   double Range,AvgRange;

   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   if(counted_bars==0) limit-=1+9;

//---- îñíîâíîé ìîìåíò
   for(i=1; 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;
      int SumUpsH4D1=0; int SumUpsM15D1=0;
      //---Ìîæåò áûòü èçåíèòü òóò êîä???
      if(iMA(NULL,PERIOD_M15,20,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_M15,20,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMA(NULL,PERIOD_H1,20,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_H1,20,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMA(NULL,PERIOD_H4,20,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_H4,20,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iMA(NULL,PERIOD_D1,20,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_D1,20,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}

      if(iMA(NULL,PERIOD_M15,50,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_M15,50,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMA(NULL,PERIOD_M30,50,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_M30,50,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMA(NULL,PERIOD_H1,50,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_H1,50,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMA(NULL,PERIOD_H4,50,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_H4,50,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iMA(NULL,PERIOD_D1,50,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_D1,50,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}

      if(iMA(NULL,PERIOD_M15,100,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_M15,100,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMA(NULL,PERIOD_M30,100,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_M30,100,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMA(NULL,PERIOD_H1,100,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_H1,100,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMA(NULL,PERIOD_H4,100,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_H4,100,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iMA(NULL,PERIOD_D1,100,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,PERIOD_D1,100,0,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      //---Ìîæåò áûòü èçåíèòü òóò êîä???
      if(iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,MODE_MAIN,i)>iADX(NULL,PERIOD_M15,14,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;}
      if(iADX(NULL,PERIOD_M30,14,PRICE_CLOSE,MODE_MAIN,i)>iADX(NULL,PERIOD_M30,14,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;}
      if(iADX(NULL,PERIOD_H1,14,PRICE_CLOSE,MODE_MAIN,i)>iADX(NULL,PERIOD_H1,14,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;}
      if(iADX(NULL,PERIOD_H4,14,PRICE_CLOSE,MODE_MAIN,i)>iADX(NULL,PERIOD_H4,14,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iADX(NULL,PERIOD_D1,14,PRICE_CLOSE,MODE_MAIN,i)>iADX(NULL,PERIOD_D1,14,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}

      if(iBearsPower(NULL,PERIOD_M15,13,PRICE_CLOSE,i)>iBearsPower(NULL,PERIOD_M15,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iBearsPower(NULL,PERIOD_M30,13,PRICE_CLOSE,i)>iBearsPower(NULL,PERIOD_M30,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iBearsPower(NULL,PERIOD_H1,13,PRICE_CLOSE,i)>iBearsPower(NULL,PERIOD_H1,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iBearsPower(NULL,PERIOD_H4,13,PRICE_CLOSE,i)>iBearsPower(NULL,PERIOD_H4,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iBearsPower(NULL,PERIOD_D1,13,PRICE_CLOSE,i)>iBearsPower(NULL,PERIOD_D1,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}

      if(iBullsPower(NULL,PERIOD_M15,13,PRICE_CLOSE,i)>iBullsPower(NULL,PERIOD_M15,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iBullsPower(NULL,PERIOD_M30,13,PRICE_CLOSE,i)>iBullsPower(NULL,PERIOD_M30,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iBullsPower(NULL,PERIOD_H1,13,PRICE_CLOSE,i)>iBullsPower(NULL,PERIOD_H1,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iBullsPower(NULL,PERIOD_H4,13,PRICE_CLOSE,i)>iBullsPower(NULL,PERIOD_H4,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iBullsPower(NULL,PERIOD_D1,13,PRICE_CLOSE,i)>iBullsPower(NULL,PERIOD_D1,13,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      //---Ìîæåò áûòü èçåíèòü òóò êîä???
      if(iCCI(NULL,PERIOD_M15,14,PRICE_CLOSE,i)>iCCI(NULL,PERIOD_M15,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iCCI(NULL,PERIOD_M30,14,PRICE_CLOSE,i)>iCCI(NULL,PERIOD_M30,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iCCI(NULL,PERIOD_H1,14,PRICE_CLOSE,i)>iCCI(NULL,PERIOD_H1,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iCCI(NULL,PERIOD_H4,14,PRICE_CLOSE,i)>iCCI(NULL,PERIOD_H4,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iCCI(NULL,PERIOD_D1,14,PRICE_CLOSE,i)>iCCI(NULL,PERIOD_D1,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}

      if(iDeMarker(NULL,PERIOD_M15,13,i)>iDeMarker(NULL,PERIOD_M15,13,i+1))
        {SumUpsM15D1++;}
      if(iDeMarker(NULL,PERIOD_M30,13,i)>iDeMarker(NULL,PERIOD_M30,13,i+1))
        {SumUpsM15D1++;}
      if(iDeMarker(NULL,PERIOD_H1,13,i)>iDeMarker(NULL,PERIOD_H1,13,i+1))
        {SumUpsM15D1++;}
      if(iDeMarker(NULL,PERIOD_H4,13,i)>iDeMarker(NULL,PERIOD_H4,13,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iDeMarker(NULL,PERIOD_D1,13,i)>iDeMarker(NULL,PERIOD_D1,13,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}

      if(iForce(NULL,PERIOD_M15,13,MODE_SMA,PRICE_CLOSE,i)>iForce(NULL,PERIOD_M15,13,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iForce(NULL,PERIOD_M30,13,MODE_SMA,PRICE_CLOSE,i)>iForce(NULL,PERIOD_M30,13,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iForce(NULL,PERIOD_H1,13,MODE_SMA,PRICE_CLOSE,i)>iForce(NULL,PERIOD_H1,13,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iForce(NULL,PERIOD_H4,13,MODE_SMA,PRICE_CLOSE,i)>iForce(NULL,PERIOD_H4,13,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iForce(NULL,PERIOD_D1,13,MODE_SMA,PRICE_CLOSE,i)>iForce(NULL,PERIOD_D1,13,MODE_SMA,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}

      if(iMACD(NULL,PERIOD_M15,12,26,9,PRICE_CLOSE,MODE_MAIN,i)>iMACD(NULL,PERIOD_M15,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;}
      if(iMACD(NULL,PERIOD_M30,12,26,9,PRICE_CLOSE,MODE_MAIN,i)>iMACD(NULL,PERIOD_M30,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;}
      if(iMACD(NULL,PERIOD_H1,12,26,9,PRICE_CLOSE,MODE_MAIN,i)>iMACD(NULL,PERIOD_H1,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;}
      if(iMACD(NULL,PERIOD_H4,12,26,9,PRICE_CLOSE,MODE_MAIN,i)>iMACD(NULL,PERIOD_H4,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iMACD(NULL,PERIOD_D1,12,26,9,PRICE_CLOSE,MODE_MAIN,i)>iMACD(NULL,PERIOD_D1,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      //---Ìîæåò áûòü èçåíèòü òóò êîä???
      if(iMomentum(NULL,PERIOD_M15,14,PRICE_CLOSE,i)>iMomentum(NULL,PERIOD_M15,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMomentum(NULL,PERIOD_M30,14,PRICE_CLOSE,i)>iMomentum(NULL,PERIOD_M30,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMomentum(NULL,PERIOD_H1,14,PRICE_CLOSE,i)>iMomentum(NULL,PERIOD_H1,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iMomentum(NULL,PERIOD_H4,14,PRICE_CLOSE,i)>iMomentum(NULL,PERIOD_H4,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iMomentum(NULL,PERIOD_D1,14,PRICE_CLOSE,i)>iMomentum(NULL,PERIOD_D1,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      //---Ìîæåò áûòü èçåíèòü òóò êîä???
      if(iRSI(NULL,PERIOD_M15,14,PRICE_CLOSE,i)>iRSI(NULL,PERIOD_M15,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iRSI(NULL,PERIOD_M30,14,PRICE_CLOSE,i)>iRSI(NULL,PERIOD_M30,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,i)>iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;}
      if(iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,i)>iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,i)>iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}

      if(iStochastic(NULL,PERIOD_M15,5,3,3,MODE_SMA,0,MODE_MAIN,i)>iStochastic(NULL,PERIOD_M15,5,3,3,MODE_SMA,0,MODE_MAIN,i+1))
        {SumUpsM15D1++;}
      if(iStochastic(NULL,PERIOD_M30,5,3,3,MODE_SMA,0,MODE_MAIN,i)>iStochastic(NULL,PERIOD_M30,5,3,3,MODE_SMA,0,MODE_MAIN,i+1))
        {SumUpsM15D1++;}
      if(iStochastic(NULL,PERIOD_H1,5,3,3,MODE_SMA,0,MODE_MAIN,i)>iStochastic(NULL,PERIOD_H1,5,3,3,MODE_SMA,0,MODE_MAIN,i+1))
        {SumUpsM15D1++;}
      if(iStochastic(NULL,PERIOD_H4,5,3,3,MODE_SMA,0,MODE_MAIN,i)>iStochastic(NULL,PERIOD_H4,5,3,3,MODE_SMA,0,MODE_MAIN,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}
      if(iStochastic(NULL,PERIOD_D1,5,3,3,MODE_SMA,0,MODE_MAIN,i)>iStochastic(NULL,PERIOD_D1,5,3,3,MODE_SMA,0,MODE_MAIN,i+1))
        {SumUpsM15D1++;SumUpsH4D1++;}

      double UpPerH4D1=NormalizeDouble(SumUpsH4D1*100/26,1);
      double DownPerH4D1=NormalizeDouble(100-UpPerH4D1,1);

      double UpPerM15D1=NormalizeDouble(SumUpsM15D1*100/65,1);
      double DownPerM15D1=NormalizeDouble(100-UpPerM15D1,1);

      int MainTrendH4D1;
      if(UpPerH4D1>DownPerH4D1)
        {MainTrendH4D1=1;}else{MainTrendH4D1=-1;}

      int MainTrendM15D1;
      if(UpPerM15D1>DownPerM15D1)
        {MainTrendM15D1=1;}else{MainTrendM15D1=-1;}

      int SumMyUps1=0;

      if(iMA(NULL,0,20,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,0,20,0,MODE_SMA,PRICE_CLOSE,i+1)){SumMyUps1++;}
      if(iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,i+1)){SumMyUps1++;}
      if(iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,i)>iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,i+1)){SumMyUps1++;}
      if(iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,i)>iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,i+1)){SumMyUps1++;}
      if(iBearsPower(NULL,0, 13,PRICE_CLOSE,i)>iBearsPower(NULL,0, 13,PRICE_CLOSE,i+1)){SumMyUps1++;}
      if(iBullsPower(NULL,0, 13,PRICE_CLOSE,i)>iBullsPower(NULL,0, 13,PRICE_CLOSE,i+1)){SumMyUps1++;}
      if(iCCI(NULL,0,14,PRICE_CLOSE,i)>iCCI(NULL,0,14,PRICE_CLOSE,i+1)){SumMyUps1++;}
      if(iDeMarker(NULL,0,13,i)>iDeMarker(NULL,0,13,i+1)){SumMyUps1++;}
      if(iForce(NULL,0,13,MODE_SMA,PRICE_CLOSE,i)>iForce(NULL,0,13,MODE_SMA,PRICE_CLOSE,i+1)){SumMyUps1++;}
      if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i)>iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1)){SumMyUps1++;}
      if(iMomentum(NULL,0,14,PRICE_CLOSE,i)>iMomentum(NULL,0,14,PRICE_CLOSE,i+1)){SumMyUps1++;}
      if(iRSI(NULL,0,14,PRICE_CLOSE,i)>iRSI(NULL,0,14,PRICE_CLOSE,i+1)){SumMyUps1++;}
      if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i+1)){SumMyUps1++;}

      int SumMyUps2=0;
      if(iMA(NULL,0,20,0,MODE_SMA,PRICE_CLOSE,         i+1)>iMA(NULL,0,20,0,MODE_SMA,PRICE_CLOSE,         i+2)){SumMyUps2++;}
      if(iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,         i+1)>iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,         i+2)){SumMyUps2++;}
      if(iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,        i+1)>iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,        i+2)){SumMyUps2++;}
      if(iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,         i+1)>iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,         i+2)){SumMyUps2++;}
      if(iBearsPower(NULL,0, 13,PRICE_CLOSE,           i+1)>iBearsPower(NULL,0, 13,PRICE_CLOSE,           i+2)){SumMyUps2++;}
      if(iBullsPower(NULL,0, 13,PRICE_CLOSE,           i+1)>iBullsPower(NULL,0, 13,PRICE_CLOSE,           i+2)){SumMyUps2++;}
      if(iCCI(NULL,0,14,PRICE_CLOSE,                   i+1)>iCCI(NULL,0,14,PRICE_CLOSE,                   i+2)){SumMyUps2++;}
      if(iDeMarker(NULL,0, 13,                         i+1)>iDeMarker(NULL,0, 13,                         i+2)){SumMyUps2++;}
      if(iForce(NULL,0,13,MODE_SMA,PRICE_CLOSE,        i+1)>iForce(NULL,0,13,MODE_SMA,PRICE_CLOSE,        i+2)){SumMyUps2++;}
      if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,   i+1)>iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,   i+2)){SumMyUps2++;}
      if(iMomentum(NULL,0,14,PRICE_CLOSE,              i+1)>iMomentum(NULL,0,14,PRICE_CLOSE,              i+2)){SumMyUps1++;}
      if(iRSI(NULL,0,14,PRICE_CLOSE,                   i+1)>iRSI(NULL,0,14,PRICE_CLOSE,                   i+2)){SumMyUps2++;}
      if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i+1)>iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i+2)){SumMyUps2++;}

      double UpPerMyUps1=NormalizeDouble(SumMyUps1*100/13,1);
      double DownPerMyUps1=NormalizeDouble(100-UpPerMyUps1,1);

      double UpPerMyUps2=NormalizeDouble(SumMyUps2*100/13,1);
      double DownPerMyUps2=NormalizeDouble(100-UpPerMyUps2,1);

      ExtMapBuffer1[i]=EMPTY_VALUE;
      ExtMapBuffer2[i]=EMPTY_VALUE;

      if(UseM15D1Metod)
        {
         if((MainTrendM15D1==1) && ((UpPerMyUps2<Change) && (UpPerMyUps1>=Change)))
           {
            if(i==1 && flagval1==0)
              {
               flagval1=1;
               flagval2=0;
               if(SoundON) Alert("BUY signal at Ask=",Ask,"\n Bid=",Bid,"\n Time=",TimeToStr(CurTime(),TIME_DATE)," ",TimeHour(CurTime()),":",TimeMinute(CurTime()),"\n Symbol=",Symbol()," Period=",Period());
              }

            ExtMapBuffer1[i]=Low[i] - Range*0.5;
            ExtMapBuffer2[i]=EMPTY_VALUE;
           }
         if((MainTrendM15D1==-1) && ((DownPerMyUps2<Change) && (DownPerMyUps1>=Change)))
           {
            if(i==1 && flagval2==0)
              {
               flagval2=1;
               flagval1=0;
               if(SoundON) Alert("SELL signal at Ask=",Ask,"\n Bid=",Bid,"\n Date=",TimeToStr(CurTime(),TIME_DATE)," ",TimeHour(CurTime()),":",TimeMinute(CurTime()),"\n Symbol=",Symbol()," Period=",Period());
              }
            ExtMapBuffer2[i]=High[i] + Range*0.5;
            ExtMapBuffer1[i]=EMPTY_VALUE;
           }
        }
      else
        {
         if((MainTrendH4D1==1) && ((UpPerMyUps2<Change) && (UpPerMyUps1>=Change)))
           {
            ExtMapBuffer1[i]=Low[i] - Range*0.5;
            ExtMapBuffer2[i]=EMPTY_VALUE;
           }
         if((MainTrendH4D1==-1) && ((DownPerMyUps2<Change) && (DownPerMyUps1>=Change)))
           {
            ExtMapBuffer2[i]=High[i] + Range*0.5;
            ExtMapBuffer1[i]=EMPTY_VALUE;
           }
        }
     }

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

Comments