It's very easy with the e argument type for xparse:
\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}
\let\amsmathsum\sum
\RenewDocumentCommand{\sum}{e{_^}}{%
\amsmathsum
\IfValueT{#1}{_{#1}}%
\IfValueT{#2}{^{#2}}%
\hspace{20pt}% exaggerated to show the effect
}
\begin{document}
\begin{gather*}
\amsmathsum_{i=1}^{n} x_i % original
\\
\sum_{i=1}^n x_i % modified
\\
\sum x_i % no limits
\\
\sum_{1\le i\le n} x_i % only subscript
\\
\end{gather*}
\end{document}
With e{_^} one specifies two arguments of the form _{...} and ^{...} (in either order; if one or both are missing, \IfValueT will do nothing.
The value 20pt is exaggerated just in order to show the wanted effect is achieved.

mtpro2package? It seems the definition ofsumis different from the usual. I have tried but could not make it. – Muhsin Nov 07 '17 at 08:32