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
0 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

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---