A variation on my answer here: double tilde symbol under letter. Here, \tsup
takes an optional argument specifying the number of symbols to overset (default 2).
\documentclass{article}
\usepackage{stackengine}
\stackMath
\newcommand\tsup[2][2]{%
\def\useanchorwidth{T}%
\ifnum#1>1%
\stackon[-.5pt]{\tsup[\numexpr#1-1\relax]{#2}}{\scriptscriptstyle\sim}%
\else%
\stackon[.5pt]{#2}{\scriptscriptstyle\sim}%
\fi%
}
\begin{document}
\[
\tsup[1]{z}\neq\tsup{\Lambda}\neq\tsup[3]{\Delta}\neq\tsup[4]{\psi}
\]
\end{document}
Here's a version that uses the proper tilde glyph and works across 10-12pt fontsize range:
\documentclass[10pt]{article}
\usepackage{stackengine}
\stackMath
\newcommand\tsup[2][2]{%
\def\useanchorwidth{T}%
\ifnum#1>1%
\stackon[-1.3ex]{\tsup[\numexpr#1-1\relax]{#2}}{\mathchar"307E}%
\else%
\stackon[-1ex]{#2}{\mathchar"307E}%
\fi%
}
\begin{document}
\[
\tilde z=\tsup[1]{z}\neq\tsup{\Lambda}\neq\tsup[3]{\Delta}\neq\tsup[4]{\psi}
\]
\fontsize{12pt}{14pt}\selectfont
\[
\tilde z=\tsup[1]{z}\neq\tsup{\Lambda}\neq\tsup[3]{\Delta}\neq\tsup[4]{\psi}
\]
\end{document}
In both MWE's the only issue missing is the italic kerning of the overset. That could be somewhat addressed globally (not for each particular character) with a little \kern
\newcommand\tsup[2][2]{%
\def\useanchorwidth{T}%
\ifnum#1>1%
\stackon[-1.3ex]{\tsup[\numexpr#1-1\relax]{#2}}{\mathchar"307E\kern-.5pt}%
\else%
\stackon[-1ex]{#2}{\mathchar"307E\kern-.5pt}%
\fi%
}
amsmath
package?