Kwan_indicator





#property copyright "Metatrader4 Code by jjk2. Based on MBA Thesis from Simon Fraser University written by C.E. ALDEA."
#property link      ""
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
 
extern int Count_Bars=1000;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double Formula[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicator drawing
   IndicatorBuffers(4);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,3);
   SetIndexBuffer(1,ExtMapBuffer3);
 
   SetIndexStyle(2,DRAW_NONE,STYLE_SOLID,3,Yellow);//DRAW_NONE,EMPTY,EMPTY);
   SetIndexBuffer(2,ExtMapBuffer2);
   SetIndexBuffer(3,Formula);
 
   
///-----Name of Indicator 
   string short_name = "ZigZag BETA    Current value calculated by indicator:";
   IndicatorShortName(short_name);

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int pos=0;
   if (Count_Bars>Bars) {pos=Bars;}else{pos=Count_Bars;}
   int temp=pos;
   while(pos>=0)
    {
         
         //string xxx = "pos"; 
               
         double Stoch = iStochastic(NULL,0,9,6,2,MODE_SMA,1,0,pos);
         double RSI = iRSI(NULL,0,9,PRICE_CLOSE,pos);
         double moment = (iMomentum(NULL,0,9,PRICE_CLOSE,pos));
       
         //Main Forumla
         //double preFormula = (/Momentum);
         if (moment != 0)
          ExtMapBuffer2[pos] = Stoch*(RSI)/moment;       
         
         //Alert("MACD: ", MACD," ","Stoch: ", Stoch," ", "RSI: ", RSI," ","Momentum: ", momentum," ","Volume: ", Volu);
       
         //Alert(Stoch*(RSI)/Roc);
       
         pos--;
     }
        
         while (temp >=0) {
          ExtMapBuffer1[temp]=EMPTY_VALUE;
          ExtMapBuffer3[temp]=EMPTY_VALUE;
          Formula[temp] = iMAOnArray(ExtMapBuffer2,0,2,0,MODE_SMA,temp);
          if (Formula[temp]>Formula[temp+1]){
            ExtMapBuffer1[temp] = Formula[temp];
            if (ExtMapBuffer1[temp+1]==EMPTY_VALUE) ExtMapBuffer1[temp+1]=Formula[temp+1];
          }else{
            ExtMapBuffer3[temp] = Formula[temp];
            if (ExtMapBuffer3[temp+1]==EMPTY_VALUE) ExtMapBuffer3[temp+1]=Formula[temp+1];
          }
          temp--; }
//----
   return(0);
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:



Indicator Curves created:

Implements a curve of type DRAW_LINE

Implements a curve of type DRAW_NONE

Indicators Used:

Stochastic oscillator
Relative strength index
Momentum indicator
Moving average indicator


Custom Indicators Used:

Order Management characteristics:

Other Features: