33_M3





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

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Orange

extern int CountBars=500;
extern int t3_period=14;
extern int mom=10;

double buf1[];
double buf2[];

double value1=0;
int AccountedBars=0,numBars=0;
double value2=0; 
double t3=0,t30=0,X1=0,X10=0,e10=0,e20=0,e30=0,e40=0,e50=0,e60=0; 
double e1=0,e2=0,e3=0,e4=0,e5=0,e6=0,c1=0,c2=0,c3=0,c4=0; 
double n=0,w1=0,w2=0,b=0,b2=0,b3=0; 

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,buf1);
   SetIndexStyle(1,DRAW_HISTOGRAM);
   SetIndexBuffer(1,buf2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int shift,cnt;
//----
b=0.7; 
b2=b*b; 
b3=b2*b; 
c1=-b3; 
c2=(3*(b2+b3)); 
c3=-3*(2*b2+b+b3); 
c4=(1+3*b+b3+3*b2); 
n=t3_period; 

if(n<1) n=1; 
n = 1 + 0.5*(n-1); 
w1 = 2 / (n + 1); 
w2 = 1 - w1; 

if(AccountedBars==0) AccountedBars = Bars-CountBars; 

for(cnt=AccountedBars;cnt<Bars;cnt++)
{
   shift = Bars - 1 - cnt; 

   buf1[shift]=0; 

   e1 = w1*iMomentum(Symbol(),0,mom,PRICE_CLOSE,shift) + w2*e1; e10 = w1*iMomentum(Symbol(),0,mom,PRICE_CLOSE,(shift+1)) + w2*e10; 
   e2 = w1*e1 + w2*e2; e20 = w1*e10 + w2*e20; 
   e3 = w1*e2 + w2*e3; e30 = w1*e20 + w2*e30; 
   e4 = w1*e3 + w2*e4; e40 = w1*e30 + w2*e40; 
   e5 = w1*e4 + w2*e5; e50 = w1*e40 + w2*e50; 
   e6 = w1*e5 + w2*e6; e60 = w1*e50 + w2*e60; 

   t3 = c1*e6 + c2*e5 + c3*e4 + c4*e3; 
   t30 = c1*e60 + c2*e50 + c3*e40 + c4*e30; 
   X1 = (t3-100)*100;
   X10 = (t30-100)*100;

   if(X1>X10) buf1[shift]=X1; 
   if(X1<X10) buf2[shift]=X10;
   AccountedBars=AccountedBars+1; 

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



Sample





Analysis



Market Information Used:



Indicator Curves created:

Implements a curve of type DRAW_HISTOGRAM


Indicators Used:

Momentum indicator


Custom Indicators Used:

Order Management characteristics:

Other Features: