Need help to understand this please

I need some advice for the below code if you please,

Period_MA is an external variable and I set it to 20, but when I am testing my code by changing

for(x=i; x<i+Period_MA; x++)

to

for(x=i; x<=i+Period_MA; x++)

the moving average widen like below, so I just need to know how it was calculated just by adding an equal sign so that will be the outcome, how to add one candle to the calculation would result in such huge variance

   int Counted_Bars = IndicatorCounted();

int Uncounted_Bars = Bars - Counted_Bars;
Uncounted_Bars++;

for(int i=0; i<=Uncounted_Bars; i++)
{
double Total = 0;
for(x=i; x<i+Period_MA; x++)
{
Total = Total + iClose(NULL,0,x);
}

   Closing_Price_Array[i] = Total / Period_MA;
 }


Moving Average Manually constructed.rar (836 Bytes)