Zerolagstochs_v4





//+------------------------------------------------------------------+
//|                                                Zerolagstochs.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link      "perky_z@yahoo.com"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
double stok1 = 0, stok2 = 0, stok3 = 0, stok4 = 0, stok5 = 0, mov = 0,
       stoksmoothed = 0, smoothing = 15;
int shift = 0, MAType = 1, cnt = 0,  prevbars = 0, loopbegin = 0;
bool first = true;
//---- buffers
double TrendBuffer[];
double LoBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicator buffers
    SetIndexBuffer(0, TrendBuffer);
    SetIndexBuffer(1, LoBuffer);
//----   
    SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
    SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);
//---- name for DataWindow and indicator subwindow label
    IndicatorShortName("ZeroLagStocs");
//----
    return(0);
  }
//+------------------------------------------------------------------+
//|  Zero Lag Stocs                                                  |
//+------------------------------------------------------------------+
int start()
  {
   // initial checkings
   // check for additional bars loading or total reloading
    if(Bars < prevbars )  
        first = true;
    if(Bars - prevbars > 1) 
        first = true;
    prevbars = Bars;
    if(first) 
      {
	       // loopbegin prevent couning of counted bars exclude current
	       loopbegin = Bars - 1;
	       if(loopbegin < 0) 
	           return(0);      // not enough bars for counting
	       first = False;
      }
    loopbegin = loopbegin+1; 
// current bar is to be recounted too
    for(shift = loopbegin; shift >= 0 ; shift--)
	     {
        stok1 = iStochastic(NULL, 0, 8, 3, 3, MODE_SMA,NULL, MODE_MAIN, shift)*0.05;
        stok2 = iStochastic(NULL, 0, 89, 21, 3, MODE_SMA, NULL, MODE_MAIN, shift)*0.43;
        stok3 = iStochastic(NULL, 0, 55, 13, 3, MODE_SMA, NULL, MODE_MAIN, shift)*0.26;
        stok4 = iStochastic(NULL, 0, 34, 8, 3, MODE_SMA, NULL, MODE_MAIN, shift)*0.16;
        stok5 = iStochastic(NULL, 0, 21, 5, 3, MODE_SMA, NULL, MODE_MAIN, shift)*0.10;
        mov   = stok1 + stok2 + stok3 + stok4 + stok5;
        stoksmoothed = mov / smoothing + LoBuffer[shift+1]*(smoothing - 1) / smoothing;
	       TrendBuffer[shift] = mov;
	       LoBuffer[shift] =	stoksmoothed;
	       loopbegin = loopbegin - 1;     
	     }
	   return(0);
	 }

	    





Sample





Analysis



Market Information Used:



Indicator Curves created:


Implements a curve of type DRAW_LINE

Indicators Used:

Stochastic oscillator


Custom Indicators Used:

Order Management characteristics:

Other Features: