Job finished


Specification
Please can anyone help me convert this simple Indicator from MT4
to MT5.
Please its really a very few lines of codes, and I will appreciate the MT5 to be a as much lines of code.
I do not like complicated and unnecessary lines of code. Kindly delete any useful codes. Thanks
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_level1 0 //middle line
#property indicator_color1 Blue
// ==== External / Internal Input ======= //
int InpFastEMA = 10;
int InpSlowEMA = 20;
int hist = 1000; //to reduce the number of candles to compute for
// ==== Declaring the arrays
double Meter[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
IndicatorBuffers(1);
//--- indicator buffers mapping
SetIndexBuffer(0,Meter);
SetIndexStyle(0,DRAW_HISTOGRAM);
//--- indicator name / Labels
IndicatorShortName("Index Meter ");
SetIndexLabel(0,"Index Meter"); // name on Data window
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
// === Calculate the Meter values
MeterCalc();
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Calculating the Meter for Any Currency pair |
//+------------------------------------------------------------------+
int MeterCalc()
{
// double rsi,macd;
//Locally find your own tickers, and compare with what is in IndexArray
string ccu1 = StringSubstr(_Symbol,0,3);
string ccu2 = StringSubstr(_Symbol,3,3);
int countB = IndicatorCounted();
int limitt = Bars - countB;
if(limitt>hist)limitt=hist;
for(int i=0;i<limitt;i++) // iterating backwards
{
int count=0;
// ==== Next, focus on this chart, and calculate "count"
double fma1=NormalizeDouble(iMA(_Symbol,0,InpFastEMA,0,MODE_EMA,PRICE_CLOSE,i),Digits);
double sma1=NormalizeDouble(iMA(_Symbol,0,InpSlowEMA,0,MODE_EMA,PRICE_CLOSE,i),Digits);
double Macd1=NormalizeDouble(iMACD(NULL,0,12,26,9,0,MODE_MAIN,i),6);
double rsi1=iRSI(_Symbol,0,14,0,i);
if(fma1>sma1)count+=10;
else if(fma1<sma1) count-=10;
if(Macd1>0) count+=10;
else if(Macd1<0) count-=10;
if(rsi1>50) count+=10;
else if(rsi1<50) count-=10;
// ===== sum all the count
Meter[i]=count;
}
return(0);
}