//+------------------------------------------------------------------+
//| Stohastic With Flat.mq4 |
//| Powered byStep |
//| 04/03/14 |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
extern string Stohastic = "Stohastic With Flat";
extern int K = 5;
extern int D = 3;
extern int slow = 3;
extern int avg_meth = 0;
extern int price = 1;
extern int BB = 20;
extern double flat =0.0009;
double Buf_0[],Buf_1[];
int init()
{
SetIndexBuffer(0,Buf_0);
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(1,Buf_1);
SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1);
return(0);
}
//--------------------------------------------------------------------
int start()
{
int i,
Counted_bars;
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-1;
while(i>=0)
{
if ((iBands(NULL,0,BB,2,0,PRICE_MEDIAN,MODE_UPPER,i)-
iBands(NULL,0,BB,2,0,PRICE_MEDIAN,MODE_MAIN,i)) < flat)
{ if (iStochastic(NULL,0,K,D,slow,avg_meth,price,MODE_MAIN,i) >
iStochastic(NULL,0,K,D,slow,avg_meth,price,MODE_SIGNAL,i))
{Buf_0[i] = 55;Buf_1[i] = 45;}
if (iStochastic(NULL,0,K,D,slow,avg_meth,price,MODE_MAIN,i) <
iStochastic(NULL,0,K,D,slow,avg_meth,price,MODE_SIGNAL,i))
{Buf_0[i] = 45;Buf_1[i] = 55;}
}
else
{
Buf_0[i]=iStochastic(NULL,0,K,D,slow,avg_meth,price,MODE_MAIN,i);
Buf_1[i]=iStochastic(NULL,0,K,D,slow,avg_meth,price,MODE_SIGNAL,i);
}
i--;
}
//--------------------------------------------------------------------
return(0);
}