Percent levels

 
Hi again.

Maybe this is a simple question for too many but for me that I´m doing mi first steps into programming it´s a little hard.

I´m looking the way for make the levels for the indicator attached indicator which is not restricted in a range (0 to 100 like rsi) looks like CCI levels.

With CCI, the 100/-100 levels are always in the right place on every TF.

My first idea was to move the decimal number to a round number but without success.

Thanks in advance.

//+------------------------------------------------------------------+
//|                                  Detrended Price Oscillator.mq4  |
//|                                       Ramdass - Conversion only  |
//+------------------------------------------------------------------+
 
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 MediumBlue
#property indicator_level1 0
#property indicator_levelcolor Green
#property indicator_levelstyle 1
//----
extern int x_prd = 14;
extern int CountBars = 300;
//---- buffers
double dpo[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   SetIndexStyle(0, DRAW_LINE);
   SetIndexBuffer(0, dpo);
//---- name for DataWindow and indicator subwindow label
   short_name = "DPO(" + x_prd + ")";
   IndicatorShortName(short_name);
   SetIndexLabel(0, short_name);
   SetLevelValue(0,0);
   SetLevelStyle(STYLE_SOLID,1,Green);
//----
   if(CountBars >= Bars) 
   CountBars = Bars;
   SetIndexDrawBegin(0, Bars - CountBars + x_prd + 1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| DPO                                                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, counted_bars=IndicatorCounted();
   double t_prd;
//----
   if(Bars <= x_prd) 
       return(0);
//---- initial zero
   if(counted_bars < x_prd)
     {
       for(i = 1; i <= x_prd; i++) 
           dpo[CountBars-i] = 0.0;
     }
//----
   i = CountBars - x_prd - 1;
   t_prd = x_prd / 2 + 1;
//----
   while(i >= 0)
     {
       dpo[i] = Close[i] - iMA(NULL, 0, x_prd, t_prd, MODE_SMA, PRICE_CLOSE, i);
       i--;
     }
   return(0);
  }
//+------------------------------------------------------------------+
Reason: