//+------------------------------------------------------------------+
//|                                              Bears&Bulls_mod.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//Не судите строго,набросал в меру своих способностей-vaas04
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Yellow

//---- input parameters
extern int BearsPeriod=84;
extern int SignalSMA=1;
extern int SignalSMA2=32;

//---- buffers
double BearsBuffer[];
double BearsSignal[];
double BearsSignal1[];
double TempBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- 1 additional buffer used for counting.
   IndicatorBuffers(5);
   IndicatorDigits(Digits);
//---- indicator line
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,BearsBuffer);
   SetIndexBuffer(1,BearsSignal);
   SetIndexBuffer(2,BearsSignal1);
   SetIndexBuffer(4,TempBuffer);
//---- name for DataWindow and indicator subwindow label
   short_name="Bears&Bulls_mod("+BearsPeriod+")";
   IndicatorShortName(short_name);
   SetIndexLabel(0,short_name);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Bears Power                                                      |
//+------------------------------------------------------------------+
int start()
  {
   int i,counted_bars=IndicatorCounted();
//----
   if(Bars<=BearsPeriod) return(0);
//----
   int limit=Bars-counted_bars;
   if(counted_bars>0) limit++;
   for(i=0; i<limit; i++)
      TempBuffer[i]=iMA(NULL,0,BearsPeriod,0,MODE_LWMA,PRICE_CLOSE,i);
//----
   i=Bars-counted_bars-1;
   while(i>=0)
     {
      BearsBuffer[i]=((Open[i]-TempBuffer[i])+(Close[i]-TempBuffer[i]))/2;
      i--;
     }
     
     //----
   i=Bars-counted_bars-1;
   while(i>=0)
     {      
      BearsSignal[i]=iMAOnArray(BearsBuffer,Bars,SignalSMA,0,MODE_LWMA,i);
      BearsSignal1[i]=iMAOnArray(BearsSignal,Bars,SignalSMA2,0,MODE_LWMA,i);     
      i--;
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
